Linux MQTT智能家居(ubantu和ARM中使用MQTT)

这篇具有很好参考价值的文章主要介绍了Linux MQTT智能家居(ubantu和ARM中使用MQTT)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


前言

本篇文章将会带大家在ubantu和ARM中使用MQTT。
源码地址已经告诉大家了,大家可以去git上面将源码下载下来。

一、在ubantu中使用MQTT

1.安装cmake

使用sudo apt-get install cmake g++命令来安装cmake。
Linux MQTT智能家居(ubantu和ARM中使用MQTT),Linux MQTT智能家居项目,linux,智能家居,arm开发,原力计划

2.编译MQTT库

使用./build.sh命令执行脚本编译MQTT的库:

Linux MQTT智能家居(ubantu和ARM中使用MQTT),Linux MQTT智能家居项目,linux,智能家居,arm开发,原力计划

在build/bin目录下生成了4个可执行程序:

使用这些可执行程序可以连接到阿里云,百度云,emqx,onenet等云平台。
Linux MQTT智能家居(ubantu和ARM中使用MQTT),Linux MQTT智能家居项目,linux,智能家居,arm开发,原力计划

使用./build/bin/emqx执行程序可以连接到emqx。Linux MQTT智能家居(ubantu和ARM中使用MQTT),Linux MQTT智能家居项目,linux,智能家居,arm开发,原力计划

二、在ARM中使用MQTT

创建文件arm-linux.cmake
在文件中添加:

set(CMAKE_SYSTEM_NAME Linux)
set(CMAKE_C_COMPILER arm-buildroot-linux-gnueabihf-gcc)
set(CMAKE_CXX_COMPILER arm-buildroot-linux-gnueabihf-g++)

Linux MQTT智能家居(ubantu和ARM中使用MQTT),Linux MQTT智能家居项目,linux,智能家居,arm开发,原力计划
修改build.sh:

cmake .. "-DCMAKE_TOOLCHAIN_FILE=../arm-linux.cmake"

执行:

./build.sh

这样我们就生成了对应ARM平台上的可执行文件了:
Linux MQTT智能家居(ubantu和ARM中使用MQTT),Linux MQTT智能家居项目,linux,智能家居,arm开发,原力计划
使用file命令可以查看到文件的格式

三、使用自己的服务器

安装mosquitto软件:
Linux MQTT智能家居(ubantu和ARM中使用MQTT),Linux MQTT智能家居项目,linux,智能家居,arm开发,原力计划
这个软件安装是非常简单的,只需要点击下一步即可安装成功。

修改配置文件设置端口号:

Linux MQTT智能家居(ubantu和ARM中使用MQTT),Linux MQTT智能家居项目,linux,智能家居,arm开发,原力计划
启动MQTT服务器:

.\mosquitto.exe -c mosquitto.conf -v

Linux MQTT智能家居(ubantu和ARM中使用MQTT),Linux MQTT智能家居项目,linux,智能家居,arm开发,原力计划

四、ARM板 服务器 MQTTX三者关系

Linux MQTT智能家居(ubantu和ARM中使用MQTT),Linux MQTT智能家居项目,linux,智能家居,arm开发,原力计划
ARM Linux可以发布消息给服务器(例如:传感器的数据),也可以订阅消息(控制LED,风扇等模块的开启关闭)

MQTTX也可以作为一个客户端,订阅来自开发板上的传感器数据,也可以发布控制模块开关的消息。

五、MQTTX的使用

首先需要安装MQTTX,安装步骤很简单,一直点击下一步即可,这里就不做介绍。

做完下面的配置后点击连接即可连接上服务器:Linux MQTT智能家居(ubantu和ARM中使用MQTT),Linux MQTT智能家居项目,linux,智能家居,arm开发,原力计划
在这里我们可以添加订阅和发布一些消息:
Linux MQTT智能家居(ubantu和ARM中使用MQTT),Linux MQTT智能家居项目,linux,智能家居,arm开发,原力计划

这里可以添加订阅的主题和服务的质量:
Linux MQTT智能家居(ubantu和ARM中使用MQTT),Linux MQTT智能家居项目,linux,智能家居,arm开发,原力计划

这里也可以选择发布消息的格式和服务的质量:
Linux MQTT智能家居(ubantu和ARM中使用MQTT),Linux MQTT智能家居项目,linux,智能家居,arm开发,原力计划

六、ARM使用MQTT的方法

1.修改MQTT源码

将端口号和IP地址进行对应的修改:
Linux MQTT智能家居(ubantu和ARM中使用MQTT),Linux MQTT智能家居项目,linux,智能家居,arm开发,原力计划
修改对应的发布主题线程和订阅主题:
Linux MQTT智能家居(ubantu和ARM中使用MQTT),Linux MQTT智能家居项目,linux,智能家居,arm开发,原力计划
Linux MQTT智能家居(ubantu和ARM中使用MQTT),Linux MQTT智能家居项目,linux,智能家居,arm开发,原力计划
修改完成后将源码上传到mqtt的源码当中:
Linux MQTT智能家居(ubantu和ARM中使用MQTT),Linux MQTT智能家居项目,linux,智能家居,arm开发,原力计划
执行./build.sh命令重新编译源码并上传到开发板:
Linux MQTT智能家居(ubantu和ARM中使用MQTT),Linux MQTT智能家居项目,linux,智能家居,arm开发,原力计划
这样就可以运行程序了。

2.使用库

直接修改源码的方式是非常方便,但是这是在别人的代码写来写程序的,我们需要编写出属于自己的程序,那么这个时候我们可以使用库的方式来完成。

使用./make-libmqttclient.sh编译出库文件:
Linux MQTT智能家居(ubantu和ARM中使用MQTT),Linux MQTT智能家居项目,linux,智能家居,arm开发,原力计划
这里生成了这个库文件我们把库文件放到ubantu中的库文件目录和板子上的lib目录下。

同时还需要将头文件放入ubantu中的头文件目录下:

使用下面的命令查看头文件和库文件的目录:

echo 'main(){}'| arm-buildroot-linux-gnueabihf-gcc -E -v -

Linux MQTT智能家居(ubantu和ARM中使用MQTT),Linux MQTT智能家居项目,linux,智能家居,arm开发,原力计划
将include 和 lib文件都放入对应的目录即可。

将库文件拷贝到板子:
Linux MQTT智能家居(ubantu和ARM中使用MQTT),Linux MQTT智能家居项目,linux,智能家居,arm开发,原力计划
那么这样的话就可以脱离MQTT源码进行编译和执行了。

3.把MQTT源码加入到自己的工程

当我们需要对程序进行调试的时候上面的两种方法都不是很适合的,那么这个时候就需要将MQTT的源码加入自己的工程当中,这样就方便我们进行代码的调试。

那么这里的话我就使用Makefile来进行项目代码的管理(不熟悉Makefile的同学可以去看百问网的视频或者看我之前写的文章)

Linux MQTT智能家居(ubantu和ARM中使用MQTT),Linux MQTT智能家居项目,linux,智能家居,arm开发,原力计划

从mqtt源码中留下一些有用的代码,删除不需要的代码:
Linux MQTT智能家居(ubantu和ARM中使用MQTT),Linux MQTT智能家居项目,linux,智能家居,arm开发,原力计划

在makefile中需要指定对应的库和头文件:
Linux MQTT智能家居(ubantu和ARM中使用MQTT),Linux MQTT智能家居项目,linux,智能家居,arm开发,原力计划
完成移植后就可以将整个工程上传到虚拟机进行编译了。
Linux MQTT智能家居(ubantu和ARM中使用MQTT),Linux MQTT智能家居项目,linux,智能家居,arm开发,原力计划
最后编译成功就可以上传到开发板进行测试了。

总结

这篇文章就讲解到这里,那么下篇文章我们将讲解如何添加各种传感器模块。文章来源地址https://www.toymoban.com/news/detail-694252.html

到了这里,关于Linux MQTT智能家居(ubantu和ARM中使用MQTT)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • QT使用MQTT协议连接ONENET云平台:智能家居PC客户端开发笔记-2 项目开发

    这篇文章主要是分享QT智能家居项目的代码 在我看来,QT MQTT的使用主要难点就是对于环境的搭建,在我们把环境搭建完之后,接下来就是传统手艺了,我们只要知道相应的库函数,调用它,就能实现我们所需要的功能了。 所以,在这里我也只是简单的分享一下我写的第一版

    2024年02月16日
    浏览(33)
  • Linux MQTT智能家居(温度,湿度,环境监测,摄像头等界面布局设置)

    本篇文章来完成另外三个界面的布局设置。 这里会使用到 feiyangqingyun的一些控件库。 TempHumtiy.h: TempHumtiy.cpp: 运行效果: Illumination.h: Illumination.cpp: 运行效果: 将QWidget提升为QVideoWidget,这个界面用于显示摄像头的图形。 Camera.h: Camera.cpp: 运行效果: 本篇文章就讲解到这里。

    2024年02月13日
    浏览(31)
  • 合肥中科深谷嵌入式项目实战——基于ARM语音识别的智能家居系统(三)

    我们上一篇,我们实现在Linux系统下编译程序,我们首先通过两个小练习来熟悉一下如何去编译。今天,我们来介绍一下LCD屏幕基本使用。 如何使用LCD屏幕?     1、打开开发板LCD设备驱动文件。  (/dev/fb0)     2、准备颜色数据。     3、写入颜色像素点数据。     4、关闭

    2024年02月04日
    浏览(34)
  • 合肥中科深谷嵌入式项目实战——基于ARM语音识别的智能家居系统(二)

    目录 基于ARM语音识别的智能家居系统 练习一 一、程序编译 练习二: 二、文件IO 三、文件IO常用API接口函数 1、打开文件 open() 2、将数据内容写入文件 write() 3、关闭(保存)文件 四、编程示例 总结 我们上一篇讲了,关于Linux系统的一些质量,今天,我们实现在Linux系统

    2024年02月04日
    浏览(31)
  • 【智能家居项目】RT-Thread版本——DHT11获取温湿度 | MQTT上传到服务器 | 服务器控制外设

    🐱作者:一只大喵咪1201 🐱专栏:《智能家居项目》 🔥格言: 你只管努力,剩下的交给时间! 这篇文章中,本喵将使用 RT-Thread Studio 来实现这个智能家居的项目,最终效果和前面的裸机版本以及 FreeRTOS 版本一样。在这里本喵将让大家体验到 RT-Thread Studio 的便利。 首先打开

    2024年04月17日
    浏览(36)
  • 【雕爷学编程】Arduino智能家居之使用Arduino发送温湿度数据到MQTT频道(使用PubSubClient库)

    Arduino是一个开放源码的电子原型平台,它可以让你用简单的硬件和软件来创建各种互动的项目。Arduino的核心是一个微控制器板,它可以通过一系列的引脚来连接各种传感器、执行器、显示器等外部设备。Arduino的编程是基于C/C++语言的,你可以使用Arduino IDE(集成开发环境)来

    2024年02月04日
    浏览(28)
  • QT使用MQTT协议连接ONENET云平台:智能家居PC客户端开发笔记-1 环境搭建

    前端时间做了一个项目,要求在PC端使用QT制作一个客户端,用来接收从单片机上传到Onennet的数据,并且还要下发指令。当时弄了好几天,中途遇见了非常多的问题,所以写下这篇文章记录一下,同时分享一下自己的经验。 我的环境:QT 5.12.6 总结下我遇见的难点: 1,环境配

    2024年02月11日
    浏览(52)
  • Linux嵌入式项目-智能家居

    一、资料下载  二、框架知识  三、MQTT通信协议 1、上位机APP主要工作        1.wait for msg  / while(1)订阅等待消息        2.处理消息 客户端创建了两个线程,一个线程用于发布消息,一个线程用于监听订阅消息 (那我的仿真系统也可以啊,一个发送处理数据线程。一个监听

    2024年02月16日
    浏览(33)
  • 基于STM32+ESP8266+FreeRTOS+安卓App上位机+MQTT连接OneNET的智能家居项目(软件开源篇附百度网盘链接)

      本篇文章主要是分享智能家居项目中的下位机STM32+FreeRTOS的代码部分。以下是项目最终的效果 stm32 esp8266 语音控制智能家居_哔哩哔哩_bilibili   另外附上main函数中的部分代码,完整代码会在文章末尾放上百度网盘链接,可以自行下载。 链接:https://pan.baidu.com/s/1IS-OMLy2_pyWyM

    2024年02月08日
    浏览(30)
  • Python智能家居系统后端源码,基于Django+MQTT+ESP8266的智能家居系统源码

    代码下载地址:Python智能家居系统后端源码 服务器硬件环境: 处理器:Intel® Xeon® CPU E5-2680 v4 @ 2.40GHz 1核 内存:2GB 硬盘空间:60GB 单片机环境: 单片机:ESP8266-12E NodeMCU 开发环境:Arduino IDE(1.8.19) 软件环境: 操作系统:Ubuntu 18.04 LTS 编程语言:Python(3.7.9) Web后端框架:

    2024年02月02日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包