华为云openCPU智联模组_wifi_BL602(RISC-V)_MQTT:上电即上华为云
一、wifi BL602(RISC-V)基础SDK
二、华为云智联patch
补丁包 |
patch_hwcloud_ BL602(RISC-V)_mqtt_20210118-1956.rar |
二、使用步骤
验证编译环境 |
(1)编译环境ubuntu 64位20.4 LTS。 【问1】怎么安装ubuntu编译环境? 【答1】解压基础SDK,里面有bl_iot_sdk/docs/html/Quickstart_Guide/Linux/Quickstart_Linux_ubuntu.html。讲的非常详细,一步一步操作就行。 
(2)解压基础SDK。 (3)cd进入bl_iot_sdk/customer_app/bl602_demo_wifi目录下,然后输入./genromap,回车运行 
(4)确保bl602_demo_wifi工程,编译成功。出现“Building Finish. To flash build output.”。 【答】如果基础sdk编译OK,打补丁后不能ok,需要删除bl_iot_sdk\customer_app\bl602_demo_wifi\build_out文件夹,重新编译下。 
|
打补丁 |
(1)打上华为云智联补丁包。 patch_hwcloud_ BL602(RISC-V)_mqtt_20210118-1956 |
配置项目 |
(1)打开hwcloud_iot_link_config.mk配置文件。 components\3rdparty\hwcloud_iot_link\hwcloud_iot_link_config.mk (2)OSAL、TCPIP等基础能力,都选中。 
(3)MQTT区域的配置项,全部选中。 
(4)user demo选中CONFIG_USERDEMO_MQTT_ENABLE。 
(5)保存hwcloud_iot_link_config.mk文件。 |
华为云设置 |
(1)云端的配置。选择产品:设备接入 IoTDA。 https://www.huaweicloud.com/product/iothub.html (2)选择北京四。 
(3)创建产品。注意协议类型,选择MQTT。 
(5)模型定义,直接使用平台定义好的WaterMeter。 
(6)bl602_mqtt产品创建成功。 
(7)注册设备。 
(8)设备创建成功。 注意:设备ID需要保存,代码中需要用到。 
(9)在设备列表中,可以看到设备未激活。
 |
修改代码 |
(1)修改wifi热点和接入密码。 components\3rdparty\hwcloud_iot_link\iot_link\network\tcpip\lwip_bl_socket\lwip_bl_socket_imp.c #define HWCLOUD_SSID "maxsussid" #define HWCLOUD_PWD "12345678" (2)修改设备ID和接入密码。 components\3rdparty\hwcloud_iot_link\iot_link\demos\oc_mqtt_demo\oc_mqtt_water_meter.c #define CN_EP_DEVICEID "60056c19aaafca02dbd25786_bl602_mqtt_12345678" #define CN_EP_PASSWD "12345678" |
编译下载 |
(5)在bl_iot_sdk/customer_app/bl602_demo_wifi目录下,运行./genromap (6)等着编译完成。 (7)出现“Building Finish. To flash build output.”,标识编译完成。 
(8)打开BouffaloLabDevCube-1.4.7-win32\ BLDevCube.exe。先点Open UART,再点Create & Download。出现“Success”表示下载成功。 
【答】BLDevCube提供了windows版本、Linux版本。都可以下载。 【答】下面是windows版本,如果选择Linux版本,请对应相应文件。 Partition Table选择BouffaloLabDevCube-1.4.7-win32\bl602\partition\partition_cfg_2M.toml Boot2 Bin选择BouffaloLabDevCube-1.4.7-win32\bl602\builtin_imgs\blsp_boot2_release.bin Firmware Bin选择bl_iot_sdk\customer_app\bl602_demo_wifi\build_out\bl602_demo_wifi.bin 【答】如果下载不成功,bl_iot_sdk/docs/html/Developer_Environment/BLFlashEnv/BLFlashEnv.html 请参考这个文档。 
(1)摁开发板reset键。打开串口调试助手,可以查看运行LOG。注意波特率选择2000000。 【答】下载代码,开发板需要短接4和5脚。如果运行时,开发板需要短接3和4脚。  
|
云端效果 |
(1)代码运行后,在华为云可以看到设备在线。 
(2)设备详情可以看到上报的水表参数。 
|
数据上报 |
(1)MQTT向华为云上报data的函数。 ret = oc_mqtt_profile_propertyreport(NULL,&s_device_service); |
接收华为云命令下发 |
(1)进入华为云API Explorer。 https://apiexplorer.developer.huaweicloud.com/apiexplorer/debug?product=IoTDA&api=CreateCommand (2)选择CreateCommand 下发设备命令。 (3)填入设备ID等参数。参数区写入{"cmd_value":"hi2021"}。点击调试。 
(4)页面显示调试成功。 
(5)wifi模组的串口调试助手,显示收到hi2021的命令。 
|
完成 |
ok。 |
源码获取 |
weixin关注公众号gugongbei,或者扫描下方二维码。 回复wifi_BL602(RISC-V)_mqtt,获取源码下载链接。  
|
相关 |
【上电即上华为云】华为云openCPU智联模组_wifi_8720_MQTT https://bbs.huaweicloud.com/blogs/233458 |
|
【上电即上华为云】华为云openCPU智联模组_wifi_8720_LwM2M https://bbs.huaweicloud.com/blogs/236198 |
|
|
|
|
|
|
|
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
蜗牛慢慢爬2021/04/01 11:59:221楼编辑删除举报
{
paho_mqtt_cb_t *cb;
cb = arg;
while((NULL != cb) && (cb->stop == 0))
{
if((NULL != cb) && MQTTIsConnected(&cb->client))
{
(void) MQTTYield(&cb->client, CONFIG_PAHO_LOOPTIMEOUT);
}
///< for some operation system ,the task could not be awake when release,so do some wait to give up the cpu
osal_task_sleep(1);///< when disconnect, this has been killed
}
cb->stoped =1;
return 0;
}
此函数退出后程序会跑飞,设备死机
Exception Entry--->>>
mcause 38000001, mepc 00000000, mtval 00000000
Exception code: 1
msg: Instruction access fault
能否指导下是什么原因