[OpenHarmony轻量系统]润和HiHopePegasus 3861实现UDP广播温湿度

描述

  • 笔者最近拿润和HiHope Pegasus(也叫做wifiiot_hispark_pegasus)开发套件开始轻量系统的学习,以此篇文章分享学习经验。

  • 本文实现了UDP广播温湿度数据,样例demo下载链接:https://gitee.com/from-north-to-north/open-armony-north/tree/master/%E6%B6%A6%E5%92%8C3861%E8%BD%BB%E9%87%8F%E7%B3%BB%E7%BB%9FUDP%E5%B9%BF%E6%92%AD

    • 样例运行的OpenHarmony源码环境下载:https://gitee.com/HiSpark/hi3861_hdu_iot_application
  • 通过本文您将了解:

    1、HiHopePegasus 3861 连接wifi

    2、HiHopePegasus 3861 温湿度

    3、HiHopePegasus 3861 UDP广播

1. OpenHarmony 轻量系统开发源码选择

  • 1.1 笔者刚开始接触轻量系统开发。因为之前都接触的是标准系统(开发板是DAYU200),所以笔者开始在源码的选择还是和标准系统一样,直接拿OpenHarmony 3.2 release来编译出wifiiot_hispark_pegasus的固件。
    • 但是等到笔者学习后发现,作为初学者的笔者拿到一些大佬的样例demo在OpenHarmony 3.2 release源码中根本编译不过(要么是一些函数名变了,要么是头文件路径变化了)。

    • 3.2release 中的轻量系统源码,很多目录结构变化了。然后一些函数名称也有很大变化。后来咨询徐思维老师得知,因为有一些 xxx_lite 的组件退休了,和标准系统合并到一起了。(早期版本中很多组件有 xxx_lite 和 xxx,或者 xxx_lite 和 xxx_std 两个版本,xxx_lite 就是 轻量、小型 的版本。退休的组件在这个组织下面能找到: https://gitee.com/openharmony-retired)

    • OpenHarmony 1.x Releases也已经全部停止维护了,参见公告

      https://gitee.com/openharmony/release-management/blob/master/OpenHarmony%201.0.1-Release%E5%88%86%E6%94%AF%E5%81%9C%E6%AD%A2%E7%BB%B4%E6%8A%A4%E5%85%AC%E5%91%8A.md#https://gitee.com/openharmony/docs/tree/master/zh-cn/release-notesHiHope

      • 详细可参见OpenHarmony版本生命周期管理 https://gitee.com/openharmony/release-management/blob/master/OpenHarmony%E7%94%9F%E5%91%BD%E5%91%A8%E6%9C%9F%E5%8F%91%E5%B8%83%E5%85%AC%E5%91%8A.md
  • 1.2 所以我选择了从海思的仓库中下载HiHope Pegasus套件的OpenHarmony轻量系统源码,下载链接:https://gitee.com/HiSpark/hi3861_hdu_iot_application (里面的样例demo是能够跑通的)

2. UDP广播温湿度

  • UDP广播温湿度 样例demo下载:https://gitee.com/from-north-to-north/open-armony-north/tree/master/%E6%B6%A6%E5%92%8C3861%E8%BD%BB%E9%87%8F%E7%B3%BB%E7%BB%9FUDP%E5%B9%BF%E6%92%AD

2.1 运行步骤:

  • 把样例demo下载后放置在例applications/sample/wifi-iot/app文件夹下,HiHope
  • 在样例demo中设置要连接的wifiHiHope
  • 修改applications/sample/wifi-iot/app/BUILD.gn文件把样例demo加入编译HiHope
  • 修改//device/soc/hisilicon/hi3861v100/sdk_liteos/build/config/usr_config.mk文件: # CONFIG_I2C_SUPPORT is not set行,修改为:CONFIG_I2C_SUPPORT=y
  • 进行编译,然后把固件烧录到润和HiHope Pegasus开发套件中(这个部分可以参考网上大佬的文章,笔者不多叙述)

2.2 运行效果:

  • 将电脑连接同样的wifi,在电脑端打开socket调试工具,创建UDP组播,组播地址为255.255.255.255,组播端口为8080

    HiHope

  • 开发板连接串口工具,按下开发板上reset键 HiHope

3. 样例demo源码分析

  • UDP广播温湿度 样例demo下载:https://gitee.com/from-north-to-north/open-armony-north/tree/master/%E6%B6%A6%E5%92%8C3861%E8%BD%BB%E9%87%8F%E7%B3%BB%E7%BB%9FUDP%E5%B9%BF%E6%92%AD
├── BUILD.gn 
├── aht20.c   # 温湿度实现文件
├── aht20.h   # 温湿度实现头文件
├── main.c    # UDP广播温湿度实现文件
├── wifi_connecter.c  # wifi连接实现文件
└── wifi_connecter.h  # wifi连接实现头文件
  • 温湿度实现源码来自 https://gitee.com/HiSpark/hi3861_hdu_iot_application/tree/master/src/vendor/hihope/hispark_pegasus/demo/10_i2caht20

  • wifi连接实现源码来自

    https://gitee.com/asd1122/hi3861_hdu_iot_application_cy/tree/master/demo/wifi_control

  • kernel/liteos_m/cmsis/cmsis_os2.h的中文注释

    https://gitee.com/openharmony-sig/interface_native_header/blob/master/zh-cn/kernel/liteos_m/cmsis/cmsis_os2.h

  • 轻量级系统内核

    https://gitee.com/openharmony/docs/tree/58040d7d4d34a2176b12d08059d8d295cc821983/zh-cn/device-dev/kernel

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分