还未设置个性签名
成为VIP会员 享9项特权: 开通会员

完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>

3天内不再提示

小凌派RK2206开发板:实现基于OpenHarmony的本地MQTT协议

海阔天空的专栏 来源: 凌智电子 作者: 凌智电子 2022-05-27 09:33 次阅读


一、MQTT协议简介

MQTT(消息队列遥测传输)是一个基于客户端-服务器的消息发布/订阅传输协议,是ISO标准(ISO/IEC PRF 20922)下基于发布/订阅范式的消息协议。MQTT工作在TCP/IP协议栈上,是为硬件性能低下的远程设备以及网络状况不理想的情况下而设计的发布/订阅型消息协议。由于MQTT协议的轻量、简便、开放的特点使它适用范围非常广泛。在很多情况下,包括受限的环境中使用,广泛应用于物联网IoT)。MQTT协议在卫星链路通信传感器、医疗设备、智能家居、及一些小型化设备中已广泛使用。

本文使用小凌派RK2206开发板实现基于OpenHarmony的本地MQTT服务。小凌派RK2206开发板采用瑞芯微高性能、高性价比的RK2206芯片。RK2206芯片是一款低功耗、高集成的MCU无线局域网处理器,它可以应用于不同的应用领域,如物联网、可穿戴设备、家庭自动化、云连接等。小凌派RK2206开发板内置WIFI模块,外部接口丰富,使用一个小凌派RK2206开发板就能够轻松实现MQTT物联网多种应用。

二、硬件电路设计

如图1所示,为小凌派RK2206开发板支持的外部接口,本文使用小凌派RK2206开发板内置的WIFI和MQTT服务器通信。

图片

图1 小凌派RK2206开发板

三、软件设计

1、主程序设计

在iot_mqtt_example函数中,通过LOS_TaskCreate函数创建iot_mqtt_thread线程,并设置线程优先级、线程堆栈大小等参数。

poYBAGKQJ3eAeIcXAAByrZFB5QA643.png


2、MQTT服务程序设计

iot_mqtt_thread函数中,开发板先连接WIFI,通过WIFI和PC端的MQTT服务器通信;WIFI连接成功后,初始化网络,初始化MQTT客户端;初始化完成后,连接MQTT服务端,注册消息接收函数message_receive;函数进入循环,5s向PC端MQTT服务器发送一次消息。

poYBAGKQJ62AMs_EAAHJorWKJF0077.png

3、MQTT消息接收程序设计

MQTT消息接收程序主要用于接收MQTT服务端下发的消息,接收到消息后,打印接收的信息。

pYYBAGKQJ9mAfpWTAAApi15Wo2c334.png



四、编译测试

1、修改MQTT服务端IP

PC端按键WIN + R键打开命令行CMD,执行命令ipconfig获取PC端的IP地址,如图2所示,PC端的IP地址为:192.168.1.164。

图片

图2 获取PC端IP地址

对应修改代码中的MQTT_SERVER_IP为查询到PC端IP地址192.168.1.164,MQTT_SERVER_PORT修改为MQTT服务器端口号1883。代码如下所示:

pYYBAGKQKACABI6NAAAOkPL14Hs023.png


2、下载MQTT代理工具mosquitto

根据PC电脑位数选择对应的安装包,32位系统下载x86后缀的安装包,64位系统下载x64后缀的安装包,本文选择mosquitto-2.0.9a-install-windows版本进行测试。

32位系统下载地址:https://mosquitto.org/files/binary/win32/,如图3所示。

图片

图3 32位系统安装包

64位系统下载地址:https://mosquitto.org/files/binary/win64/,如图4所示。

图片

图4 64位系统安装包

下载mosquitto安装包后,点击安装mosquitto工具;安装完毕后,需要配置mosquitto,修改mosquitto安装路径下的mosquitto.conf文件,如图5所示。

图片

图5 mosquitto配置文件

在mosquitto.conf文件末尾增加如下配置,其中,192.168.1.164为PC端IP地址,1883为MQTT服务器端口号,allow_anonymous为允许匿名登录。

pYYBAGKQKBmAE9K5AAAOvHcsYzo485.png

mosquitto安装配置完成后,需要开启mosquitto服务,右击打开我的电脑-管理-服务和应用程序-服务,找到Mosquitto Broker服务,如图6所示。

图片

图6 mosquitto服务

双击打开Mosquitto Broker服务,点击启动,开启Mosquitto服务,如图7所示。

图片

图7 开启mosquitto服务

3、下载Eclipse Paho MQTT 工具

Paho MQTT工具下载地址:

https://repo.eclipse.org/content/repositories/paho-releases/org/eclipse/paho/org.eclipse.paho.ui.app/1.1.1/。

下载Paho软件包:org.eclipse.paho.ui.app-1.1.1-win32.win32.x86_64.zip。如图8所示。

图片

图8 Eclipse Paho MQTT工具下载地址

下载Paho软件包后,解压软件包,双击打开Paho.exe;进入Paho软件界面,点击右上角加号按键,添加一个MQTT服务器连接,如图9所示。

图片

图9 Eclipse Paho MQTT软件界面

4、WIFI连接

修改代码中的SSID和PASSWORD为使用WIFI的SSID和密匙,用于连接网络,设备通过WIFI访问PC端MQTT服务器。代码如下所示:

poYBAGKQKDaABk6rAAALr5AHfAU588.png


5、运行结果

例程代码编译烧写到开发板后,按下开发板的RESET按键,通过串口软件查看日志,串口打印MQTT初始化、连接等日志。

pYYBAGKQKEqAG4kPAAAOVkTCLWw221.png

连接

打开paho软件,点击连接,当连接成功时,连接状态显示为已连接;需要注意的是,如果出现连接失败,请尝试关闭PC防火墙再进行连接。

订阅

点击订阅添加按键,新增主题IOT_MQTT(主题名称需要与例程代码MQTTPublish函数传参的主题名称一致),点击订阅按键,此时,历史记录页面就开始显示接收的开发板上报信息,如图10所示。

图片

图10 订阅消息

发布

在发布主题栏,输入主题名称substopic(主题名称需要与例程代码MQTTSubscribe函数传参的主题名称一致),在消息栏输入消息hello world,点击发布,此时,历史记录页面显示已发布出的消息,如图11所示。

图片

图11 发布消息

同时,开发板串口会同步显示接收到的消息日志,如下所示。

poYBAGKQKGSAbvZdAAAPpfuwCZ0630.png

来源:凌智电子

  • MQTT
    +关注

    关注

    4

    文章

    216

    浏览量

    19148
  • OpenHarmony
    +关注

    关注

    8

    文章

    1239

    浏览量

    10407
  • RK2206
    +关注

    关注

    0

    文章

    15

    浏览量

    976
  • 小凌派
    +关注

    关注

    0

    文章

    17

    浏览量

    609
收藏 人收藏

    评论

    相关推荐

    如何在RK2206开发板上使用I2C控制OLED液晶屏显示

    硬件接口说明 引脚名称开发者可在硬件资源图中查看,也可在oled模块正面面查看。 硬件连接 程序设计 API分析 oled_i...
    发表于 08-11 17:07 173次 阅读

    在RK2206开发板上实现LCD液晶屏显示的设计

    1、如何在小凌派-RK2206开发板上LCD液晶屏显示 硬件接口说明 引脚名称开发者可在硬件资源图中查看,也可在2.4寸液晶模块背...
    发表于 08-11 17:00 192次 阅读

    如何在RK2206开发板上使用I2C控制EEPROM读写呢

    程序设计 API分析 eeprom_init() unsigned int eeprom_init(); 描述: EEPROM初始化,包括i2c初始化。 参数: ...
    发表于 08-11 16:47 170次 阅读

    我为 OpenHarmony 写代码,战“码”先锋第二期正式开启!

    为鼓励开发者积极参与OpenHarmony开源社区共建,OpenHarmony开源贡献者计划-战“码”先锋二期正式启动。在战“码”先锋一期...
    发表于 08-11 15:29 355次 阅读

    30分钟成为Contributor|共建测试子系统,赋能提升项目代码质量

    30分钟成为Contributor|共建测试子系统,赋能提升项目代码质量如何优雅地参与开源贡献,向顶级开源项目提交 PR(Pull Requ...
    发表于 08-11 15:02 321次 阅读
    30分钟成为Contributor|共建测试子系统,赋能提升项目代码质量

    拓维信息加速推进OpenHarmony场景化落地

    自国家“十四五”规划首次将开源纳入以来,开源正式上升为国家战略,自此迎来了历史性的发展机遇。政策强力....
    的头像 科技见闻网 发表于 08-11 11:30 109次 阅读

    每日推荐 | 原创征文夏季学习大礼包,RT-Thread信号采集器设计

    大家好,以下为电子发烧友推荐每日好帖,欢迎留言点评讨论~ 1、【社区之星】祁佳琳:学习应当向下扎根,才能汲取向上生长的力量...
    发表于 08-11 10:15 492次 阅读

    OpenHarmony应用/服务开发前配置开发环境

    在进行OpenHarmony应用/服务开发前,需要提前在DevEco Studio中下载对应版本的SDK。下载OpenHarmony SDK需要连接网...
    发表于 08-10 16:59 456次 阅读

    本周四晚19:00知识赋能第六期第5课丨OpenHarmony WiFi子系统

    本周四晚19:00知识赋能第六期第5课丨OpenHarmony  WiFi子系统OpenAtom OpenHarmony(以下简称“OpenHarmony...
    发表于 08-10 16:55 269次 阅读
    本周四晚19:00知识赋能第六期第5课丨OpenHarmony WiFi子系统

    如何在小凌派RK2206开发板控制NFC模块呢

    程序设计 头文件 /vendor/lockzhiner/lingpi/samples/b0_nfc/include/nfc.h API分析 nfc_init() unsigned int nfc_ini...
    发表于 08-10 16:41 1584次 阅读

    如何在小凌派RK2206开发板上使用ADC做按键测试

    程序设计 API分析 adc_dev_init() static unsigned int adc_dev_init(); 描述: 初始化ADC端口和引脚。 参数: 无...
    发表于 08-10 16:37 1526次 阅读

    OpenHarmony赋能千行百业数字化转型

    2022开放原子全球开源峰会OpenAtom OpenHarmony分论坛在北京成功举办。本次论坛以....
    的头像 OpenAtom OpenHarmony 发表于 08-10 10:09 160次 阅读

    使用ESP8266 01的MQTT wifi墙壁开关

    电子发烧友网站提供《使用ESP8266 01的MQTT wifi墙壁开关.zip》资料免费下载
    发表于 08-09 14:42 10次 阅读
    使用ESP8266 01的MQTT wifi墙壁开关

    深开鸿揽获OpenHarmony多项荣誉 成为开源事业领跑者

    7月27日-29日, 以“软件定义世界 开源共筑未来”为主题的2022开放原子全球开源峰会在北京顺利....
    的头像 深开鸿 发表于 08-05 11:27 299次 阅读

    新SCADA 系统:集成边缘计算、MQTT 和云平台

    作者 | Jim Meyers 通过升级新的监控和数据采集(SCADA)系统,可再生能源公司在运营和....
    的头像 人工智能君 发表于 08-04 11:24 98次 阅读

    基于OpenHarmony极简操作的MiniCanvas

    基于OpenHarmony的Cavas组件封装了一版极简操作的MiniCanvas,屏蔽了原有Can....
    的头像 冬至配饺子 发表于 08-04 11:07 358次 阅读
    基于OpenHarmony极简操作的MiniCanvas

    博泰车联网基于OpenHarmony在汽车行业的产业创新机会与应用前景

    近日,2022开放原子全球开源峰会 OpenAtom OpenHarmony 分论坛在北京亦创国际会....
    的头像 PATEO博泰车联网 发表于 08-04 10:13 1357次 阅读

    万里红发布首个面向移动办公形态的Openharmony发行版移动OS1.0

    7月,以“软件定义世界 开源共筑未来”为主题的2022全球数字经济大会开放原子全球开源峰会在北京举行....
    的头像 万里红 Superred 发表于 08-02 14:51 376次 阅读

    OpenHarmony在千行百业的落地成果

    7月,2022开放原子全球开源峰会OpenAtom OpenHarmony分论坛在北京成功举办。本次....
    的头像 OpenAtom OpenHarmony 发表于 08-02 10:10 174次 阅读

    润和软件发布HiHopeOS面向金融行业的发行版

    2022开放原子全球开源峰会在北京举行,本次峰会由开放原子开源基金会、北京市经济和信息化局、北京经济....
    的头像 HiHope社区 发表于 08-01 14:09 182次 阅读

    OpenHarmony高校技术俱乐部计划发布

    7月27日,开放原子开源基金会主办的2022年开放原子全球开源峰会以“软件定义世界 开源共筑未来”为....
    的头像 科技观点 发表于 08-01 10:40 179次 阅读
    OpenHarmony高校技术俱乐部计划发布

    OpenHarmony生态领航贡献单位公布

    2022开放原子全球开源峰会OpenAtom OpenHarmony分论坛在北京成功举办。本次论坛以....
    的头像 OpenAtom OpenHarmony 发表于 07-30 11:08 270次 阅读

    中软国际携手深开鸿发布(1+1) x N 战略,以OpenHarmony底座赋能数字化、智慧化

    2022开放原子全球开源峰会于7月27-29日在北京亦创国际会展中心正式召开,中软国际有限公司(以下....
    的头像 中软国际 发表于 07-30 10:55 294次 阅读

    软通动力成为开源生态建设领跑者

    7月27-29日,以“软件定义世界 开源共筑未来”为主题的2022开放原子全球开源峰会在北京举行。本....
    的头像 软通动力 发表于 07-30 10:18 239次 阅读

    鸿湖万联扬帆富设备开发板正式合入OpenHarmony主干

    近日,软通动力旗下子公司鸿湖万联(江苏)科技发展有限公司(以下简称“鸿湖万联”)基于RK3399芯片....
    的头像 科技观点 发表于 07-30 09:56 277次 阅读
    鸿湖万联扬帆富设备开发板正式合入OpenHarmony主干

    开放原子开源基金会为 OpenHarmony 应用到千行百业提供支持与服务

    OpenHarmony技术指导委员会(TSC)承担定义和维护 OpenHarmony 技术愿景及技术....
    的头像 OpenAtom OpenHarmony 发表于 07-30 09:07 577次 阅读

    深开鸿携手行业生态伙伴持续探索OpenHarmony商业落地新模式

    全球数字化革命不断深入,5G、云计算、人工智能等技术迭代加速,在经历了PC时代、移动互联网时代后,人....
    的头像 深开鸿 发表于 07-29 14:50 186次 阅读

    深开鸿深度参与OpenHarmony开源共建和行业落地成果

    2022开放原子全球开源峰会通过一场盛大的开幕式和高峰论坛、10多场精彩纷呈的主题论坛分享以及内容丰....
    的头像 深开鸿 发表于 07-29 14:43 263次 阅读

    软通动力在OpenHarmony生态建设上的成果

    7月28日,2022全球数字经济大会在北京开幕。本届大会以“启航数字文明——新要素、新规则、新格局”....
    的头像 软通动力 发表于 07-29 11:56 253次 阅读

    OpenHarmony行业落地成果惠及千行百业

    7月27日,一场聚焦 OpenHarmony与产业融合的开源成果交流大会 —— 2022开放原子全球....
    的头像 OpenAtom OpenHarmony 发表于 07-29 11:51 390次 阅读

    OpenHarmony在各行各业的优秀落地成果

    一场聚焦 OpenHarmony与产业融合的开源成果交流大会 —— 2022开放原子全球开源峰会Op....
    的头像 OpenAtom OpenHarmony 发表于 07-29 11:44 319次 阅读

    积极参与开源共建,华秋电子助力OpenHarmony创新

    7月27日,《2022开放原子全球开源峰会——开源技术应用与治理分论坛》在北京成功举办。论坛以“开源....
    的头像 jf_32813774 发表于 07-29 11:43 186次 阅读

    华秋电子一站式设计和制造服务加速OpenHarmony创新

    本次论坛聚焦软件产业开源化趋势下技术创新、产业链依存、安全合规、生态建设、国际合作等焦点议题,并打造....
    的头像 华秋电子 发表于 07-29 10:44 171次 阅读

    开放原子开源基金会黄金捐赠人优博讯携手合作伙伴

    7月27日~7月29日,由开放原子开源基金会举办的“2022开放原子全球开源峰会”在北京盛大召开,本....
    的头像 焦点讯 发表于 07-29 09:15 603次 阅读
    开放原子开源基金会黄金捐赠人优博讯携手合作伙伴

    深开鸿:万物智联的大江上,升起一轮开源鸿蒙月

    相信我们的读者对几个关键词特别熟悉,其中之一就是:鸿蒙。 一路走来,我们报道与分析过鸿蒙操作系统的方....
    的头像 脑极体 发表于 07-29 09:13 2868次 阅读

    OpenAtom OpenHarmony分论坛圆满召开

    7月27日,2022开放原子全球开源峰会OpenAtom OpenHarmony分论坛在北京成功举办....
    的头像 物联网星球 发表于 07-28 14:27 770次 阅读
    OpenAtom OpenHarmony分论坛圆满召开

    赛昉科技与开放原子开源基金会签署OpenHarmony开源项目谅解备忘录

    OpenHarmony是由开放原子开源基金会孵化及运营的开源项目,目标是面向全场景、全连接、全智能时....
    的头像 StarFive 发表于 07-28 14:16 380次 阅读

    深开鸿携手行业伙伴助力公路数字化转型升级

    第二十四届中国高速公路信息化大会在长沙国际会展中心正式开幕。本届大会以“数字化·网络化·智慧化”为主....
    的头像 深开鸿 发表于 07-28 09:22 245次 阅读

    软通动力亮相2022开放原子全球开源峰会

    开放原子全球开源峰会教育分论坛在北京亦创国际会展中心成功举办。2022 开放原子全球开源峰会由开放原....
    的头像 软通动力 发表于 07-28 09:18 272次 阅读

    软通动力亮相OpenAtom OpenHarmony分论坛

    7月27日下午,2022开放原子全球开源峰会 OpenAtom OpenHarmony 分论坛在北京....
    的头像 软通动力 发表于 07-28 09:16 191次 阅读

    OpenAtom OpenHarmony分论坛成功举办

    2022开放原子全球开源峰会OpenAtom OpenHarmony分论坛在北京成功举办。本次论坛以....
    的头像 OpenAtom OpenHarmony 发表于 07-28 09:12 382次 阅读

    CS600-4G扫码支付终端设备和Q181云喇叭设备均通过OpenHarmony兼容性测评!

    CS600-4G扫码支付终端设备,主要针对中小微商户推出的一款手持移动支付终端,可为商户提供主扫(C....
    的头像 OpenAtom OpenHarmony 发表于 07-26 10:57 162次 阅读

    深开鸿完成OpenHarmony3.1Release版本的适配

    内嵌KaihongOS的开发板具备高性能、低功耗、高速接口功能,给开发者提供业务丰富、高集成度的便捷....
    的头像 深开鸿 发表于 07-25 14:35 237次 阅读

    分布式软总线实现设备无感发现和高效传输

    分布式软总线是OpenHarmony社区开源的分布式设备通信基座,为设备之间的互通互联提供统一的分布....
    发表于 07-23 16:04 204次 阅读

    鸿湖万联开发板合入OpenHarmony社区主干

    近日,软通动力旗下子公司鸿湖万联(江苏)科技发展有限公司(以下简称“鸿湖万联”)基于RK3399芯片....
    的头像 OpenAtom OpenHarmony 发表于 07-21 10:20 262次 阅读

    使用Tasmota和HomeAssistant自制Sonoff触控模块

    电子发烧友网站提供《使用Tasmota和HomeAssistant自制Sonoff触控模块.zip》....
    发表于 07-21 09:54 17次 阅读
    使用Tasmota和HomeAssistant自制Sonoff触控模块

    奥思维开发板合入OpenHarmony社区主干

    近日,北京奥思维科技有限公司(以下简称“奥思维”)基于恩智浦芯片 i.MX 8M Mini 打造的开....
    的头像 OpenAtom OpenHarmony 发表于 07-19 15:44 289次 阅读

    两款金融终端产品通过OpenHarmony兼容性测评

    近日,搭载深圳开鸿数字产业发展有限公司(以下简称“深开鸿”) KaihongOS的CS600-4G扫....
    的头像 深开鸿 发表于 07-19 11:42 254次 阅读

    鸿湖万联商业邀您见证SwanLinkOS商显及交通发行版发布

    “鸿湖万联”是软通动力全资子公司,于今年3月成立,专注于智能物联网操作系统研发和产业化服务。当前,鸿....
    的头像 科讯视点 发表于 07-18 17:01 364次 阅读
    鸿湖万联商业邀您见证SwanLinkOS商显及交通发行版发布

    九联科技开发板正式合入OpenHarmony主干

    近日,九联科技Unionpi系列Unionpi Tiger(A311D)开发板,正式合入OpenAt....
    的头像 科技观点 发表于 07-15 17:57 572次 阅读
    九联科技开发板正式合入OpenHarmony主干

    鸿湖万联致远开发板正式合入OpenHarmony主干

    近日,软通动力全资子公司鸿湖万联(江苏)科技发展有限公司(以下简称“鸿湖万联”)推出的致远开发板正式....
    的头像 科技观点 发表于 07-15 17:50 617次 阅读
    鸿湖万联致远开发板正式合入OpenHarmony主干

    鸿湖万联致远开发板支持OpenHarmony操作系统

    近日,软通动力全资子公司鸿湖万联(江苏)科技发展有限公司(以下简称“鸿湖万联”)推出的致远开发板正式....
    的头像 OpenAtom OpenHarmony 发表于 07-15 10:38 275次 阅读

    九联科技突破完成A311D芯片对OpenHarmony 3.1 Release 的适配

    近日,九联科技Unionpi系列Unionpi Tiger(A311D)开发板,正式合入OpenAt....
    的头像 OpenAtom OpenHarmony 发表于 07-14 10:36 397次 阅读

    开鸿智谷Niobe 407开发板正式并入OpenHarmony

    近期,拓维信息旗下湖南开鸿智谷数字产业发展有限公司(简称“开鸿智谷”)推出基于 STM32F407I....
    的头像 科技观点 发表于 07-13 17:18 459次 阅读
    开鸿智谷Niobe 407开发板正式并入OpenHarmony

    泰凌微电子B91通用开发板合入OpenHarmony社区主干

    近日,由泰凌微电子(上海)股份有限公司(以下简称:泰凌微电子)推出的基于 TLSR9 系列 SoC ....
    的头像 科技观点 发表于 07-13 17:04 395次 阅读
    泰凌微电子B91通用开发板合入OpenHarmony社区主干

    干货分享|瑞迅科技「小张说OpenHarmony」乘风而来!

    从第一次发布拥抱开源鸿蒙系统内容,有许多朋友都给予持续地关注与支持,为了让大家更了解这款软件开发以及....
    的头像 瑞迅科技嵌入式 发表于 07-13 11:39 106次 阅读
    干货分享|瑞迅科技「小张说OpenHarmony」乘风而来!

    鸿元智通工业级HM-3568主控模组获颁OpenHarmony生态产品兼容性证书

    鸿元智通 HM-3568 工业级主控模组及开发板顺利通过 OpenAtom OpenHarmony(....
    的头像 OpenAtom OpenHarmony 发表于 07-13 11:15 277次 阅读

    纪念给OpenHarmony提交代码 成为首个DAYU200三方demo贡献者

    记一次给OpenHarmony提交代码【序】-静态检查失败 今天我在这个仓库下提交了一个Pr   h....
    的头像 鸿蒙实验室 发表于 07-13 09:26 302次 阅读
    纪念给OpenHarmony提交代码 成为首个DAYU200三方demo贡献者

    OpenHarmony应用场景 鸿蒙智能家居【1.0】

    应用场景: 智能家居。 今天打造的这一款全新智能家庭控制系统,凸显应用在智能控制和用户体验的特点,开....
    的头像 鸿蒙实验室 发表于 07-13 09:24 1475次 阅读
    OpenHarmony应用场景 鸿蒙智能家居【1.0】

    OpenHarmony DaYu200开发板示例 鸿蒙智联汽车【1.0】

    应用场景: 智慧出行。 智能汽车是集环境感知、规划决策、多等级辅助驾驶等功能于一体的智能网联综合系统....
    的头像 鸿蒙实验室 发表于 07-13 09:22 2265次 阅读
    OpenHarmony  DaYu200开发板示例 鸿蒙智联汽车【1.0】