OpenHarmony 3.0对接华为云

举报
星辰27 发表于 2021/11/05 15:28:07 2021/11/05
【摘要】 本文主要基于OpenHarmony 3.0使用huaweicloud_iot_link SDK通过BearPi-HM_Nano开发板对接华为云的简单流程简介,后续流程会持续打磨,文章持续更新。

1 环境搭建

1.1硬件环境

BearPi-HM_Nano开发板、Type-C数据线、PC

1.2软件环境

参考如下链接:

https://gitee.com/openharmony/docs/tree/master/zh-cn/device-dev/quick-start


图1.png


图1

注意

(1)如果想要使用DevDevEco Device Tool参与调试的需要安装windows环境

(2)获取源码:如果不使用Docker方式(Docker方式从1.2链接中可以找到),强烈建议采用获取方式一:从码云仓库获取,但是在最新的OpenHarmony 3.0,本人还没有发现如何获取到最小系统源码,因此使用其命令也会下载的是全量代码。方式二:本人没有玩转(也有可能是本人环境搭建的没有那么好),方式三:镜像站点速度虽然比较快,但是部分三方库代码还没有合入。方式四:github实在是下不动。以上纯属个人操作建议。

(3)在安装开发板中的环境的安装gcc_riscv32步骤时,强烈建议直接下载gcc_riscv32镜像,否则可能出现某些插件安装失败(下载失败)具体如下图2所示。


2.png


图2

2     Huaweicloud_iotlink SDK使用

(1)下载源码见附件: https://gitee.com/xingli_chen/oh3.0_hwcloud_iotlink.git

(2)将上述源码直接拷贝到OpenHarmony源码的third-party文件目录下,此处需要注意的是OpenHarmony和Huaweicloud_iotlink SDK共同具备的三方库直接使用OpenHarmony的库文件,如CJSON和mbedtls。

(3)在OpenHarmony 3.0源码device\bearpi\bearpi_hm_nano\app\BUILD.gn中添加如下代码,根据#是否注释来决定具体编译demo的选择。

 # "//third_party/hwcloud_iotlink/demos/test_iotlink:test_iotlink",

 "//third_party/hwcloud_iotlink/demos/mqtt_tiny_v5_agriculture_demo:mqtt_tiny_v5_agriculture_demo",


3.png


图3

图3中1为单元测试代码,可以根据修改test_main.c文件中最后一行代码中,APP_FEATURE_INIT()中的入口函数,来进行不同的测试用例的执行,分别测试OSAL层不同的组件适配,包括任务、互斥锁、信号量、队列、以及SDK本身队列等一系列验证,部分内容可以对比BearPi-HM_Nano开发板的官方样例代码进行对比验证程序结果的正确性,具体如图4。

4.png

图4

图3中2为使用MQTT对接华为云的demo,看一下该demo的BUILD.gn文件,具体如图5所示,其中A区域包含开发板硬件和wifi相关的库文件,B区域包括MQTT对接华为云必须的一些库文件,如cJson,mqtt相关、osal相关以及配置库文件,C区域表示编译该文件时需要编译hwcloud_iotlink库,编译是会按照指定路径找到该文件所必要的库以及C文件进行编译。

5.png

图5

图6中A区域表示MQTT对接华为云所必须的一些库文件以及dtls的库文件,入口函数IoTMainTaskEntry()中务必先调用link_main_task_entry()函数,来确保osal的安装以及其他配置的初始化。

 6.png

图6

注意如果需要对接上云需要根据自己的设备修改配网信息,wifi热点账号以及密码以及自己在云端注册的设备ID和设备秘钥,注意设备仅支持2.4G频段的wifi。

7.png

图7

之后烧录到设备,重启设备(首次使用记得重启两次,第一次烧录的时候可能需要配置一下内部信息),从第二次设备重启之后可以正常对接华为云,具体日志信息如下图8所示。

8.png

图8

登录平台可以看见数据上报的具体信息,也可以进行命令下发等操作控制设备,设备也会及时响应,具体如图9。

20211119-173909(WeLinkPC).png

图9

 

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。