CB2201_MQTT_User_Guide

本文涉及的产品
云原生多模数据库 Lindorm,多引擎 多规格 0-4节点
Lindorm AIGC体验服务,AIGC 体验服务
简介:

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版的基础消息收发功能,涵盖实例创建、Topic、Group资源创建以及消息收发体验等基础功能模块。
消息队列 MNS 入门课程
1、消息队列MNS简介 本节课介绍消息队列的MNS的基础概念 2、消息队列MNS特性 本节课介绍消息队列的MNS的主要特性 3、MNS的最佳实践及场景应用 本节课介绍消息队列的MNS的最佳实践及场景应用案例 4、手把手系列:消息队列MNS实操讲 本节课介绍消息队列的MNS的实际操作演示 5、动手实验:基于MNS,0基础轻松构建 Web Client 本节课带您一起基于MNS,0基础轻松构建 Web Client
相关文章
|
5月前
【Azure Function App】在ADF(Azure Data Factory)中调用 Azure Function 时候遇见 Failed to get MI access token
【Azure Function App】在ADF(Azure Data Factory)中调用 Azure Function 时候遇见 Failed to get MI access token
|
SQL 安全 数据库
MS SQL Could not obtain information about Windows NT group/user &#39;domain\login&#39;, error code 0x5. [SQLSTATE 42000] (Error 15404)
最近碰到一个有趣的错误:海外的一台数据库服务器上某些作业偶尔会报错,报错信息如下所示: ---------------------------------------------------------------------------------------------------------...
1248 0
my.httpReqeust安卓出现Alipay-Mobile-Proxy-Server(502_BAD_GATEWAY)的解决方案
报错原因: 出现Alipay-Mobile-Proxy-Server(502_BAD_GATEWAY)是因为目前 Android设备有安全代理,不允许请求非公网地址,如局域网 解决方案: 请使用公网请求地址。
803 0
|
安全 数据安全/隐私保护 .NET
Identity Server 4 预备知识 -- OpenID Connect 简介
我之前的文章简单的介绍了OAuth 2.0 (在这里: https://www.cnblogs.com/cgzl/p/9221488.html), 还不是很全. 这篇文章我要介绍一下 OpenID Connect.
1738 0
|
Web App开发 安全 API
Identity Server 4 预备知识 -- OAuth 2.0 简介
OAuth 2.0 简介 OAuth有一些定义: OAuth 2.0是一个委托协议, 它可以让那些控制资源的人允许某个应用以代表他们来访问他们控制的资源, 注意是代表这些人, 而不是假冒或模仿这些人. 这个应用从资源的所有者那里获得到授权(Authorization)和access token, 随后就可以使用这个access token来访问资源. (这里提到的假冒或模仿就是指在客户端复制一份用户名和密码,从而获取相应的权限)。
1720 0

热门文章

最新文章