CB2201_MQTT_User_Guide

简介:

C-SKY IoT开发板(CB2201)快速上阿里云指南

本文基于 AliOS Things 1.3.x版本,手把手教你在C-SKY CB2201开发板上使用MQTT通道上云

1 硬件环境搭建

1.1 开发板准备

1.1.1 CB2201开发板介绍

 CB2201开发板是杭州中天微自主设计的一款用于开发 IoT 应用的开发板。

 板上集成 CH2201 芯片,集成 CPU 调试器CKLink,只需要一根 USB 线就可以进行供电、调试、下载等操作。

 集成两个子板接口,每个子板接口中都集成了UART/SPI/IIC/ADC/PWM/GPIO等外设,可以连接各类接口兼容的功能子板,包括中天微设计的ENC28J60 SPI有线网卡子板,ESP8266-WiFi子板,传感器子板等。

1.1.2 CH2201芯片介绍

 内置32BIT C-SKY CK802T CPU@up to 48MHz

 256KB XIP eFlash,80KB SRAM

 REE/TEE运行环境隔离

 硬件加解密引擎,支持AES、RSA、SHA、TRNG等算法

 34个独立可编程、复用通用输入输出接口,包括:SPI×2, UART×3, I2C×2, ADC×16, PWM×4, GPIO×34, I2S×1, ACMP×1

 定时器相关资源:CoreTIM×1, RTC×2, Timer×2, WDT×1

 待机功耗 <3uA

 使用QFP-64-0.4mm封装

CB2201

1.1.3 ESP8266 WiFi子板

WiFi子板介绍:略

ESP8266_evb

1.1.4 开发板获取:

https://item.taobao.com/item.htm?id=570014022304

1.2 开发板连接方法

1.2.1 WiFi子板连接

CB2201_ESP8266_evb

1.2.2 串口线连接

USB_Serial

1.2.3 电源连接

通过USB线供电,图略

2 云端和通道环境搭建

2.1 在云端主要包括以下几步

参考链接( https://github.com/alibaba/AliOS-Things/wiki/Manual-Channel-MQTT ),做如下操作:

1、创建阿里云账号

2、创建测试产品,拿到ProductKey

3、创建测试设备,拿到DeviceName和DeviceSecret

4、下载测试工具

注意:请无视该文档中关于linuxhost的示例,编译方式请参考下面章节。

2.2 三要素设置

修改./framework/protocol/linkkit/iotkit/sdk-encap/imports/iot_import_product.h 中三个宏定义,修改为上一步骤中创建产品和设备时拿到的三要素(ProductKey、DeviceName和DeviceSecret),如下:


#elif  MQTT_TEST

#define PRODUCT_KEY    "......"

#define DEVICE_NAME    "......"

#define DEVICE_SECRET  "......"

#define PRODUCT_SECRET ""

#else

注:mqttapp程序所在源码为AliOS-Things/example/mqttapp/mqtt-example.c ( https://github.com/alibaba/AliOS-Things/blob/master/example/mqttapp/mqtt-example.c )。

此时在云端获取的三个参数ProductKey,DeviceName和DeviceSecret分别对应代码中的PRODUCT_KEY,DEVICE_NAME和DEVICE_SECRET三个宏,宏PRODUCT_SECRET无需理会。

3 mqttapp编译

AliOS-Things可以通过命令行和AliOS-Things IDE开发,详见下面说明。

3.1 命令行编译

1、命令行环境搭建:

     参考https://github.com/alibaba/AliOS-Things/wiki/Quick-Start

2、命令行编译方式如下:

     $ aos make mqttapp@cb2201

     build完成后可在out/mqttapp@cb2201/binary/ 目录找到生成的bin文件和hex文件。

3.2 AliOS-Things IDE编译

1、AliOS-Things IDE环境搭建:

     参考https://github.com/alibaba/AliOS-Things/wiki/Starter-Kit-Tutorial

2、开发环境搭建好后,导入Alios-Things源码。

     导入方法1:鼠标直接拖入;

     导入方法2:点击菜单栏 “文件(F)” -> “打开文件夹(F)”。

3、Build如下图,选中mqttapp@cb2201,点击右侧"√"

     build完成后可在out/mqttapp@cb2201/binary/ 目录找到生成的bin文件。

4 固件烧录

4.1 安装烧录软件

1、烧录软件获取:链接:https://pan.baidu.com/s/1CcbCXZ3SJwfBL13_MP9SIg 密码:s6j5

2、解压后,双击CSKYFlashProgrammer.exe打开烧录软件

4.2 烧录

1、选择User Config: AliOS-Things-CB2201-MQTTAPP,并更改AliOS-Things存放路径(即修改下图中“G:\”)

FLASH_PROGRAMMER_Config

2、开发板首次烧录程序需要选择 “Chip Erase” 用以擦除eFlash,之后开发则选择 “Erase Sectors” 即可。

FLASH_PROGRAMMER_Advance_Chip_Erase

3、点击下方 "Start Program" 按钮烧写(注意:烧写前需要先退出CskyDebugServer)

5 WiFi配网及数据连接阿里云

5.1 WiFi配网

烧录完成后,点击开发板复位键重启,串口打印如下图所示:

在串口命令行中敲入如下配网命令:

# netmgr connect <ssid> <password>

PeiWang

正常联网后,mqttapp会真正开始运行。下图为mqttapp运行日志:

mqttapp_log

5.2 查看设备是否在线

点击下面链接,登录阿里云账户查看:

http://iot.console.aliyun.com/#/product/newlist/region/cn-shanghai

AliYun_Device_information

6 调试

6.1 CskyDebugServer安装和使用

1、获取CskyDebugServer(若已安装CDS/CDK,则可略过1和2的步骤)

     链接:https://pan.baidu.com/s/1lT7gIoJZylQEOUvXnrpFUg 密码:6bu9

2、安装

     解压后双击默认安装。

3、端口设置,如下图:

CskyDebugserver_port

4、连接开发板

     点击 “红色三角形” 按钮,连接成功后,“红色三角形” 按钮会变成 “红色圆形” 按钮,如下图:

CskyDebugServer_connect

6.2 VS Code调试设置

根据已编译并烧录的app@board信息,更新 AliOS-Things/.vscode/launch.json 调试配置文件,比如:已编译并烧录 mqttapp@cb2201以后,更改相关配置如下图:

VSCode_launch

6.3 开始调试

1、点击 VSCode_Debug_Page_Button 按钮,进入调试界面。

2、选择 “CSKY DEBUG @ Windows/Linux”:VSCode_CSKYDebug_Button

3、点击左上方的 VSCode_Continue 按钮(或F5)启动调试。

4、启动调试以后会自动停到已设置的断点 application_start 函数处;

     同时上方会出现调试工具栏,提供常用的单步调试功能;

     左侧边栏可以查看变量和函数调用栈。

VSCode_debug

相关实践学习
快速体验阿里云云消息队列RocketMQ版
本实验将带您快速体验使用云消息队列RocketMQ版Serverless系列实例进行获取接入点、创建Topic、创建订阅组、收发消息、查看消息轨迹和仪表盘。
消息队列 MNS 入门课程
1、消息队列MNS简介 本节课介绍消息队列的MNS的基础概念 2、消息队列MNS特性 本节课介绍消息队列的MNS的主要特性 3、MNS的最佳实践及场景应用 本节课介绍消息队列的MNS的最佳实践及场景应用案例 4、手把手系列:消息队列MNS实操讲 本节课介绍消息队列的MNS的实际操作演示 5、动手实验:基于MNS,0基础轻松构建 Web Client 本节课带您一起基于MNS,0基础轻松构建 Web Client
相关文章
|
前端开发 JavaScript API
uniapp 目录结构
uniapp 目录结构
1049 0
|
算法 物联网 开发工具
开放下载!《平头哥剑池CDK快速上手指南》
自定义自己平台的 SDK,平头哥芯片开放社区第三本系列电子书《平头哥剑池CDK快速上手指南》现已开放下载,立即下载阅读吧!
30413 0
开放下载!《平头哥剑池CDK快速上手指南》
|
分布式计算 物联网 虚拟化
《深度揭秘:软总线如何实现异构网络组网及其独特优势》
软总线技术是解决异构网络组网难题的关键力量,通过协议抽象与归一化、总线中枢智能解析、动态拓扑构建及设备虚拟化管理等方式,实现高效互联。它降低开发复杂度,提升设备兼容性与扩展性,保障数据传输的高效性与稳定性,为万物互联提供坚实支撑。在智能家居、智能工厂和交通等领域,软总线展现出强大优势,推动多设备协同与智能化发展,助力数字化转型与未来创新。
692 3
|
Windows
Qt实现telnet服务【记录】
Qt实现telnet服务【记录】
807 0
|
存储 Apache 开发工具
apache的主要目录结构及常见的配置选项的详细说明(图例展示)
apache的主要目录结构及常见的配置选项的详细说明(图例展示)
624 1
|
安全 Ubuntu 网络协议
在Linux中,如何配置DHCP服务器?
在Linux中,如何配置DHCP服务器?
|
存储 算法 安全
FreeMQTT:一款Python语言实现的开源MQTT Server
FreeMQTT 是一款用 Python 语言并基于 Tornado 开发的开源 MQTT 服务器,支持 MQTT3.1.1 和 MQTT5.0 协议,提供多租户安全隔离、高效 Topic 匹配算法及实时上下线通知等功能,适用于 IoT 场景。快速启动仅需克隆仓库、安装依赖并运行服务。
1959 0
|
定位技术 项目管理
5W2H分析法:全面思考和解决问题的实用工具
5W2H分析法又叫七问分析法,创于二战中美国陆军兵器修理部。发明者用五个以W开头的英语单词和两个以H开头的英语单词进行设问,发现解决问题的线索,寻找发明思路,进行设计构思,从而搞出新的发明项目。5W2H简单、方便,易于理解,实用,富有启发意义,广泛用于企业管理和技术活动,对于决策和执行性的活动措施也非常有帮助,也有助于弥补考虑问题的疏漏。
2205 0
|
数据处理 开发工具 C++
Qt C++ 扫码枪使用数据处理
Qt C++ 扫码枪使用数据处理
|
设计模式 开发框架 算法
【QML 创建界面】QML界面的动态创建及其其他方法 (Dynamic Creation of QML Interfaces and Other Methods)
【QML 创建界面】QML界面的动态创建及其其他方法 (Dynamic Creation of QML Interfaces and Other Methods)
1905 0