HarmonyOS系统中内核实现MQTT协议开发的方法

      大家好,今天主要来聊一聊,如何使用鸿蒙开始实现MQTT协议开发的方法

 

第一:MQTT基本原理   

在MQTT协议通讯中,有两个最为重要的角色。它们分别是服务端客户端。首先我们来初步了解一下它们。

MQTT服务端

MQTT服务端通常是一台服务器。它是MQTT信息传输的枢纽,负责将MQTT客户端发送来的信息传递给MQTT客户端。MQTT服务端还负责管理MQTT客户端。确保客户端之间的通讯顺畅,保证MQTT消息得以正确接收和准确投递。

MQTT客户端

MQTT客户端可以向服务端发布信息,也可以从服务端收取信息。我们把客户端发送信息的行为成为“发布”信息。而客户端要想从服务端收取信息,则首先要向服务端“订阅”信息。“订阅”信息这一操作很像我们在视频网站订阅某一部电视剧。当这部电视剧上新后,视频网站会向订阅了该剧的用户发送信息,告诉他们有新剧上线了。

MQTT主题

刚刚我们在讲解MQTT客户端订阅信息时,使用了用户在视频网站订阅电视剧这个例子。在MQTT通讯中,客户端所订阅的肯定不是一部部电视剧,而是一个个“主题”。MQTT服务端在管理MQTT信息通讯时,就是使用“主题”来控制的。

第二:下载MQTT消息代理工具Mosquitto

    点击下载Mosquitto 工具

 下载后双击安装包,安装工具,安装完毕后,打开电脑设备管理器,在“服务”中开启mosquitto服务。

修改安装路径下的mosquitto.conf文件 修改515行附近代码

 修改216行附近代码,其中192.168.0.173为自己的电脑的IP地址

第三:下载Eclipse Paho MQTT 工具

    点击下载Eclipse Paho MQTT 工具

    

 解压缩后,双击paho.exe,打开后的Eclipse Paho UI开始界面,点击上图中的 十字图标,就能新建一个MQTT的客户端的连接,如下图所示。

输入正确的MQTT服务端的连接地址,比如,本例中的连接地址是tcp://localhost:1883,然后点击“连接”按钮,这个时候,如果MQTT服务端没有设置密码(默认情况是没有密码的)的话,这个时候,我们就能看到连接得到状态是“已连接”,如下图所示: 

 这个时候我们就能订阅消息了。选择“订阅”下方的绿色十字图标,就可以输入订阅的主题(topic)的名字,比如我们设置主题名称为

 第四:修改对接IP

    将代码中对接的IP修改为电脑在命令行窗口里输入 ipconfig 查询的电脑的本地IP。

 

第五:修改BUILD.gn文件

      修改 applications\sample\BearPi\BearPi-HM_Nano路径下 BUILD.gn 文件,指定 iot_mqtt 参与编译。

#"D1_iot_wifi_sta:wifi_sta",
#"D2_iot_wifi_sta_connect:wifi_sta_connect",       
#"D3_iot_udp_client:udp_client",
#"D4_iot_tcp_server:tcp_server",
"D5_iot_mqtt:iot_mqtt",        
#"D6_iot_cloud_oc:oc_mqtt",
#"D7_iot_cloud_onenet:onenet_mqtt",

第六: 编译号代码并烧写到开发板

     示例代码编译烧录代码后,按下开发板的RESET按键,Eclipse Paho MQTT 工具上会接收到开发板发布的消息。

 往开发板发送一条消息主题为“substopic”,内容为“Hello HarmoayOS!”的MQTT消息。然后点击“发布”按钮,这个时候,我们就能看到消息已经发送成功。

 且开发板的串口上也打印出接收消息成功的信息。

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/35346.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

荣耀30能用鸿蒙系统吗,华为荣耀30 Pro开始测试使用鸿蒙OS系统!

据系统之家了解 最近荣耀30 Pro手机已经开始测试使用鸿蒙OS系统。虽然之前因为多方原因,华为不得已将荣耀转让出去,但是就目前来说两者联系还是非常的大的。 此外,他还透露荣耀 30 系列、V30 系列、Play4 Pro 下个月将升级到华为鸿蒙系统。 荣…

HarmonyOS系统中内核实现UART串口通信方法

大家好,今天主要聊一聊,如何使用鸿蒙系统实现UART数据的读写方法。 目录 第一:串口通信基本原理 第二:鸿蒙UART API分析 第三:硬件设计 第四:软件设计 第五:编译调试 第六&#xff1a…

HarmonyOS鸿蒙开发入门 :鸿蒙系统介绍

系统定位 HarmonyOS是一款面向万物互联时代的、全新的分布式操作系统。 在传统的单设备系统能力基础上,HarmonyOS提出了基于同一套系统能力、适配多种终端形态的分布式理念,能够支持手机、平板、智能穿戴、智慧屏、车机等多种终端设备,提供全…

鸿蒙系统(HarmonyOS)体验怎么样

华为鸿蒙系统体验几天后,真的非常好用,首先华为比较聪明的地方,没有改变人们使用习惯。当然被竞争对手吐槽,说界面和安卓一样。这些喷子们以为华为用户都是菜鸟吗?里面很多都是懂手机的人,很多都是第一代玩…

鸿蒙系统是否可以用来做服务器,小米手机也能使用鸿蒙系统?国内厂商使用鸿蒙热情高涨...

原标题:小米手机也能使用鸿蒙系统?国内厂商使用鸿蒙热情高涨 自从6月2日HarmonyOS 2正式发布以来,国内针对鸿蒙系统的热议一直不减。对于新买的华为手机用户来说,能第一批次使用上国产的手机系统,也确实过了一把瘾。本次手机系统更新,华为采用分批次更新。 一是因为手机系…

为什么要学习鸿蒙,HarmonyOS不只是操作系统

前些天发现了十分不错的人工智能学习网站,通俗易懂,风趣幽默,没有广告,分享给大家,大家可以自行看看。(点击跳转人工智能学习资料) 前言 对于IT行业,头部力量或者已经形成生态的东西…

华为HarmonyOS鸿蒙系统介绍,华为鸿蒙OS系统怎么样 华为HarmonyOS鸿蒙系统介绍

华为鸿蒙OS系统怎么样?华为在8月9日的2019华为开发者大会上正式发布了华为HarmonyOS鸿蒙系统,大家知道这个系统具体是用在哪些产品上的吗?有哪些功能呢?能兼容别的系统吗?下面小编为大家带来了华为HarmonyOS鸿蒙系统介绍,一起来看看吧。 华为HarmonyOS鸿蒙系统介绍 在8月…

华为鸿蒙系统HarmonyOS学习之十:鸿蒙HarmonyOS微内核技术

华为鸿蒙系统HarmonyOS学习之十:鸿蒙HarmonyOS微内核技术 一、前言 把操作系统中更多的成分和功能放到更高的层次(即用户模式)中去运行,而留下一个尽量小的内核,用它来完成操作系统最基本的核心功能,称这种…

鸿蒙存储系统文件系统,鸿蒙liteWearable操作文件系统的正确姿势

10月20号我在官方论坛提了一个问题,请问文件存储接口的根路径是什么? 原因是在看官方文档学习时测试文件存储的API 作为一个有经验(一点点)的开发人员,把代码贴到onShow()中直接执行。最终报错301,文件不存在。报错了那一定是我没…

华为鸿蒙harmony操作系统 安装使用及下载地址

目录 鸿蒙harmony系统 安装方式 选择我已复制该虚拟机 登录系统 系统界面 下载地址 鸿蒙harmony系统 鸿蒙系统是华为基于Ubuntu linux发行版定制化开发的一款操作系统,将主要应用于Android系统的定制化开发。 已将鸿蒙系统在VMware虚拟机上成功进行了安装&a…

华为鸿蒙系统HarmonyOS学习之十四:方舟编译器

华为鸿蒙系统HarmonyOS学习之十四:方舟编译器 方舟编译器是华为自研的一个支持多种编程语言,多种芯片平台的联合编译编程平台,而经过方舟编译器编译适配后的APP,运行效率会大大提高,拥有更为流畅的体验,足以…

念一句咒语 AI 就帮我写一个应用,我人麻了...

原文链接:https://forum.laf.run/d/232 作为人类,我们时常会有自己独特的想法和脑洞大开的创意。然而,这些想法往往因为成本过高而无法实现,毕竟每个人的能力和精力都是有限的,尤其是对于程序员而言,不可能…

念一句咒语 AI 就帮我写一个应用,我人麻了…

作为人类,我们时常会有自己独特的想法和脑洞大开的创意。然而,这些想法往往因为成本过高而无法实现,毕竟每个人的能力和精力都是有限的,尤其是对于程序员而言,不可能擅长所有技术栈。为了实现一个想法去花费大量的精力…

UML 简易使用教程

最近刚好有空,遂决定对应 UML 常用的一些图进行整理,供自己以及需要的人查阅。 UML 分为静态模型与动态模型。静态模型描述一个系统的静态特征,固定的框架结构。包括用例图、类图、对象图、组件图、部署图;动态模型包括时序图、协…

设计模式中的UML类图

在线绘图工具: https://app.diagrams.net/ https://www.processon.com/ 第一个需要挂梯子,但很好用,本文用它绘制样例图 最近在看Head First一书,即使在软件工程的课程中学习过UML类图如何绘制,但显然已经忘掉很多了…

面向对象分析之UML

大一的时候就已经接触过UML图,当时也只是懵懵懂懂,结合项目代码大概知道这是一种类似流程图的东西。如今要软考了,重新接触UML才知道这不仅仅只是流程图那么简单。 简介 UML,也就是所谓的统一建模语言,这是一种被广泛接受的面向对象的分析方法。说是一种语言,可它并不像…

介绍一个生成流程图工具—解放生产力

ChatGPT生成流程图 ChatGPTPlantUML生成流程图 ChatGPTPlantUML生成流程图 环境: 科学上网(或者有其他渠道可以直接访问chatgpt)PlantUML在线生成地址:链接: PlantUML 首先来到GPT,生成指令,下面我直接让…

Idea+PlantUML自动生成UML图(最详教学)

目录 一、下载idea插件 二、安装Graphviz 三、idea结合Graphviz 四、PlantUML结合ChatGPT ​ 五、无ChatGPT 一、下载idea插件 idea从 FIle-->Settings-->Plugins-->Marketplace 进入到插件下载界面,搜索PlantUML,点击"install"下载…

使用 PlantUML 绘制的 UML——代码画时序图

使用 PlantUML 绘制的 UML——代码画时序图 前言 在看源码的时候,看见有些大佬画的各种图,能更加方便可视的理解源码逻辑。就想着学习自己画,但是在找了一些画UML图的工具,但是不仅难画,而且难看(仅仅表示…

chatgpt赋能Python-pythonuml图

Python UML图:如何使用UML图来提高Python程序员的效率? 如果你是一位Python程序员,那么你一定知道Python是一种高效的编程语言,被广泛用于各种领域,如机器学习、人工智能、Web开发等。然而,对于复杂的程序…