国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

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

這篇具有很好參考價(jià)值的文章主要介紹了Linux MQTT智能家居(ubantu和ARM中使用MQTT)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。


前言

本篇文章將會(huì)帶大家在ubantu和ARM中使用MQTT。
源碼地址已經(jīng)告訴大家了,大家可以去git上面將源碼下載下來。

一、在ubantu中使用MQTT

1.安裝cmake

使用sudo apt-get install cmake g++命令來安裝cmake。
Linux MQTT智能家居(ubantu和ARM中使用MQTT),Linux MQTT智能家居項(xiàng)目,linux,智能家居,arm開發(fā),原力計(jì)劃

2.編譯MQTT庫

使用./build.sh命令執(zhí)行腳本編譯MQTT的庫:

Linux MQTT智能家居(ubantu和ARM中使用MQTT),Linux MQTT智能家居項(xiàng)目,linux,智能家居,arm開發(fā),原力計(jì)劃

在build/bin目錄下生成了4個(gè)可執(zhí)行程序:

使用這些可執(zhí)行程序可以連接到阿里云,百度云,emqx,onenet等云平臺(tái)。
Linux MQTT智能家居(ubantu和ARM中使用MQTT),Linux MQTT智能家居項(xiàng)目,linux,智能家居,arm開發(fā),原力計(jì)劃

使用./build/bin/emqx執(zhí)行程序可以連接到emqx。Linux MQTT智能家居(ubantu和ARM中使用MQTT),Linux MQTT智能家居項(xiàng)目,linux,智能家居,arm開發(fā),原力計(jì)劃

二、在ARM中使用MQTT

創(chuàng)建文件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智能家居項(xiàng)目,linux,智能家居,arm開發(fā),原力計(jì)劃
修改build.sh:

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

執(zhí)行:

./build.sh

這樣我們就生成了對(duì)應(yīng)ARM平臺(tái)上的可執(zhí)行文件了:
Linux MQTT智能家居(ubantu和ARM中使用MQTT),Linux MQTT智能家居項(xiàng)目,linux,智能家居,arm開發(fā),原力計(jì)劃
使用file命令可以查看到文件的格式

三、使用自己的服務(wù)器

安裝mosquitto軟件:
Linux MQTT智能家居(ubantu和ARM中使用MQTT),Linux MQTT智能家居項(xiàng)目,linux,智能家居,arm開發(fā),原力計(jì)劃
這個(gè)軟件安裝是非常簡單的,只需要點(diǎn)擊下一步即可安裝成功。

修改配置文件設(shè)置端口號(hào):

Linux MQTT智能家居(ubantu和ARM中使用MQTT),Linux MQTT智能家居項(xiàng)目,linux,智能家居,arm開發(fā),原力計(jì)劃
啟動(dòng)MQTT服務(wù)器:

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

Linux MQTT智能家居(ubantu和ARM中使用MQTT),Linux MQTT智能家居項(xiàng)目,linux,智能家居,arm開發(fā),原力計(jì)劃

四、ARM板 服務(wù)器 MQTTX三者關(guān)系

Linux MQTT智能家居(ubantu和ARM中使用MQTT),Linux MQTT智能家居項(xiàng)目,linux,智能家居,arm開發(fā),原力計(jì)劃
ARM Linux可以發(fā)布消息給服務(wù)器(例如:傳感器的數(shù)據(jù)),也可以訂閱消息(控制LED,風(fēng)扇等模塊的開啟關(guān)閉)

MQTTX也可以作為一個(gè)客戶端,訂閱來自開發(fā)板上的傳感器數(shù)據(jù),也可以發(fā)布控制模塊開關(guān)的消息。

五、MQTTX的使用

首先需要安裝MQTTX,安裝步驟很簡單,一直點(diǎn)擊下一步即可,這里就不做介紹。

做完下面的配置后點(diǎn)擊連接即可連接上服務(wù)器:Linux MQTT智能家居(ubantu和ARM中使用MQTT),Linux MQTT智能家居項(xiàng)目,linux,智能家居,arm開發(fā),原力計(jì)劃
在這里我們可以添加訂閱和發(fā)布一些消息:
Linux MQTT智能家居(ubantu和ARM中使用MQTT),Linux MQTT智能家居項(xiàng)目,linux,智能家居,arm開發(fā),原力計(jì)劃

這里可以添加訂閱的主題和服務(wù)的質(zhì)量:
Linux MQTT智能家居(ubantu和ARM中使用MQTT),Linux MQTT智能家居項(xiàng)目,linux,智能家居,arm開發(fā),原力計(jì)劃

這里也可以選擇發(fā)布消息的格式和服務(wù)的質(zhì)量:
Linux MQTT智能家居(ubantu和ARM中使用MQTT),Linux MQTT智能家居項(xiàng)目,linux,智能家居,arm開發(fā),原力計(jì)劃

六、ARM使用MQTT的方法

1.修改MQTT源碼

將端口號(hào)和IP地址進(jìn)行對(duì)應(yīng)的修改:
Linux MQTT智能家居(ubantu和ARM中使用MQTT),Linux MQTT智能家居項(xiàng)目,linux,智能家居,arm開發(fā),原力計(jì)劃
修改對(duì)應(yīng)的發(fā)布主題線程和訂閱主題:
Linux MQTT智能家居(ubantu和ARM中使用MQTT),Linux MQTT智能家居項(xiàng)目,linux,智能家居,arm開發(fā),原力計(jì)劃
Linux MQTT智能家居(ubantu和ARM中使用MQTT),Linux MQTT智能家居項(xiàng)目,linux,智能家居,arm開發(fā),原力計(jì)劃
修改完成后將源碼上傳到mqtt的源碼當(dāng)中:
Linux MQTT智能家居(ubantu和ARM中使用MQTT),Linux MQTT智能家居項(xiàng)目,linux,智能家居,arm開發(fā),原力計(jì)劃
執(zhí)行./build.sh命令重新編譯源碼并上傳到開發(fā)板:
Linux MQTT智能家居(ubantu和ARM中使用MQTT),Linux MQTT智能家居項(xiàng)目,linux,智能家居,arm開發(fā),原力計(jì)劃
這樣就可以運(yùn)行程序了。

2.使用庫

直接修改源碼的方式是非常方便,但是這是在別人的代碼寫來寫程序的,我們需要編寫出屬于自己的程序,那么這個(gè)時(shí)候我們可以使用庫的方式來完成。

使用./make-libmqttclient.sh編譯出庫文件:
Linux MQTT智能家居(ubantu和ARM中使用MQTT),Linux MQTT智能家居項(xiàng)目,linux,智能家居,arm開發(fā),原力計(jì)劃
這里生成了這個(gè)庫文件我們把庫文件放到ubantu中的庫文件目錄和板子上的lib目錄下。

同時(shí)還需要將頭文件放入ubantu中的頭文件目錄下:

使用下面的命令查看頭文件和庫文件的目錄:

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

Linux MQTT智能家居(ubantu和ARM中使用MQTT),Linux MQTT智能家居項(xiàng)目,linux,智能家居,arm開發(fā),原力計(jì)劃
將include 和 lib文件都放入對(duì)應(yīng)的目錄即可。

將庫文件拷貝到板子:
Linux MQTT智能家居(ubantu和ARM中使用MQTT),Linux MQTT智能家居項(xiàng)目,linux,智能家居,arm開發(fā),原力計(jì)劃
那么這樣的話就可以脫離MQTT源碼進(jìn)行編譯和執(zhí)行了。

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

當(dāng)我們需要對(duì)程序進(jìn)行調(diào)試的時(shí)候上面的兩種方法都不是很適合的,那么這個(gè)時(shí)候就需要將MQTT的源碼加入自己的工程當(dāng)中,這樣就方便我們進(jìn)行代碼的調(diào)試。

那么這里的話我就使用Makefile來進(jìn)行項(xiàng)目代碼的管理(不熟悉Makefile的同學(xué)可以去看百問網(wǎng)的視頻或者看我之前寫的文章)

Linux MQTT智能家居(ubantu和ARM中使用MQTT),Linux MQTT智能家居項(xiàng)目,linux,智能家居,arm開發(fā),原力計(jì)劃

從mqtt源碼中留下一些有用的代碼,刪除不需要的代碼:
Linux MQTT智能家居(ubantu和ARM中使用MQTT),Linux MQTT智能家居項(xiàng)目,linux,智能家居,arm開發(fā),原力計(jì)劃

在makefile中需要指定對(duì)應(yīng)的庫和頭文件:
Linux MQTT智能家居(ubantu和ARM中使用MQTT),Linux MQTT智能家居項(xiàng)目,linux,智能家居,arm開發(fā),原力計(jì)劃
完成移植后就可以將整個(gè)工程上傳到虛擬機(jī)進(jìn)行編譯了。
Linux MQTT智能家居(ubantu和ARM中使用MQTT),Linux MQTT智能家居項(xiàng)目,linux,智能家居,arm開發(fā),原力計(jì)劃
最后編譯成功就可以上傳到開發(fā)板進(jìn)行測(cè)試了。

總結(jié)

這篇文章就講解到這里,那么下篇文章我們將講解如何添加各種傳感器模塊。文章來源地址http://www.zghlxwxcb.cn/news/detail-694252.html

到了這里,關(guān)于Linux MQTT智能家居(ubantu和ARM中使用MQTT)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • QT使用MQTT協(xié)議連接ONENET云平臺(tái):智能家居PC客戶端開發(fā)筆記-2 項(xiàng)目開發(fā)

    QT使用MQTT協(xié)議連接ONENET云平臺(tái):智能家居PC客戶端開發(fā)筆記-2 項(xiàng)目開發(fā)

    這篇文章主要是分享QT智能家居項(xiàng)目的代碼 在我看來,QT MQTT的使用主要難點(diǎn)就是對(duì)于環(huán)境的搭建,在我們把環(huán)境搭建完之后,接下來就是傳統(tǒng)手藝了,我們只要知道相應(yīng)的庫函數(shù),調(diào)用它,就能實(shí)現(xiàn)我們所需要的功能了。 所以,在這里我也只是簡單的分享一下我寫的第一版

    2024年02月16日
    瀏覽(23)
  • Linux MQTT智能家居(溫度,濕度,環(huán)境監(jiān)測(cè),攝像頭等界面布局設(shè)置)

    Linux MQTT智能家居(溫度,濕度,環(huán)境監(jiān)測(cè),攝像頭等界面布局設(shè)置)

    本篇文章來完成另外三個(gè)界面的布局設(shè)置。 這里會(huì)使用到 feiyangqingyun的一些控件庫。 TempHumtiy.h: TempHumtiy.cpp: 運(yùn)行效果: Illumination.h: Illumination.cpp: 運(yùn)行效果: 將QWidget提升為QVideoWidget,這個(gè)界面用于顯示攝像頭的圖形。 Camera.h: Camera.cpp: 運(yùn)行效果: 本篇文章就講解到這里。

    2024年02月13日
    瀏覽(29)
  • 合肥中科深谷嵌入式項(xiàng)目實(shí)戰(zhàn)——基于ARM語音識(shí)別的智能家居系統(tǒng)(三)

    合肥中科深谷嵌入式項(xiàng)目實(shí)戰(zhàn)——基于ARM語音識(shí)別的智能家居系統(tǒng)(三)

    我們上一篇,我們實(shí)現(xiàn)在Linux系統(tǒng)下編譯程序,我們首先通過兩個(gè)小練習(xí)來熟悉一下如何去編譯。今天,我們來介紹一下LCD屏幕基本使用。 如何使用LCD屏幕? ?? ?1、打開開發(fā)板LCD設(shè)備驅(qū)動(dòng)文件。 ?(/dev/fb0) ?? ?2、準(zhǔn)備顏色數(shù)據(jù)。 ?? ?3、寫入顏色像素點(diǎn)數(shù)據(jù)。 ?? ?4、關(guān)閉

    2024年02月04日
    瀏覽(96)
  • 合肥中科深谷嵌入式項(xiàng)目實(shí)戰(zhàn)——基于ARM語音識(shí)別的智能家居系統(tǒng)(二)

    合肥中科深谷嵌入式項(xiàng)目實(shí)戰(zhàn)——基于ARM語音識(shí)別的智能家居系統(tǒng)(二)

    目錄 基于ARM語音識(shí)別的智能家居系統(tǒng) 練習(xí)一 一、程序編譯 練習(xí)二: 二、文件IO 三、文件IO常用API接口函數(shù) 1、打開文件 open() 2、將數(shù)據(jù)內(nèi)容寫入文件 write() 3、關(guān)閉(保存)文件 四、編程示例 總結(jié) 我們上一篇講了,關(guān)于Linux系統(tǒng)的一些質(zhì)量,今天,我們實(shí)現(xiàn)在Linux系統(tǒng)

    2024年02月04日
    瀏覽(648)
  • 【智能家居項(xiàng)目】RT-Thread版本——DHT11獲取溫濕度 | MQTT上傳到服務(wù)器 | 服務(wù)器控制外設(shè)

    【智能家居項(xiàng)目】RT-Thread版本——DHT11獲取溫濕度 | MQTT上傳到服務(wù)器 | 服務(wù)器控制外設(shè)

    ??作者:一只大喵咪1201 ??專欄:《智能家居項(xiàng)目》 ??格言: 你只管努力,剩下的交給時(shí)間! 這篇文章中,本喵將使用 RT-Thread Studio 來實(shí)現(xiàn)這個(gè)智能家居的項(xiàng)目,最終效果和前面的裸機(jī)版本以及 FreeRTOS 版本一樣。在這里本喵將讓大家體驗(yàn)到 RT-Thread Studio 的便利。 首先打開

    2024年04月17日
    瀏覽(44)
  • 【雕爺學(xué)編程】Arduino智能家居之使用Arduino發(fā)送溫濕度數(shù)據(jù)到MQTT頻道(使用PubSubClient庫)

    【雕爺學(xué)編程】Arduino智能家居之使用Arduino發(fā)送溫濕度數(shù)據(jù)到MQTT頻道(使用PubSubClient庫)

    Arduino是一個(gè)開放源碼的電子原型平臺(tái),它可以讓你用簡單的硬件和軟件來創(chuàng)建各種互動(dòng)的項(xiàng)目。Arduino的核心是一個(gè)微控制器板,它可以通過一系列的引腳來連接各種傳感器、執(zhí)行器、顯示器等外部設(shè)備。Arduino的編程是基于C/C++語言的,你可以使用Arduino IDE(集成開發(fā)環(huán)境)來

    2024年02月04日
    瀏覽(20)
  • QT使用MQTT協(xié)議連接ONENET云平臺(tái):智能家居PC客戶端開發(fā)筆記-1 環(huán)境搭建

    QT使用MQTT協(xié)議連接ONENET云平臺(tái):智能家居PC客戶端開發(fā)筆記-1 環(huán)境搭建

    前端時(shí)間做了一個(gè)項(xiàng)目,要求在PC端使用QT制作一個(gè)客戶端,用來接收從單片機(jī)上傳到Onennet的數(shù)據(jù),并且還要下發(fā)指令。當(dāng)時(shí)弄了好幾天,中途遇見了非常多的問題,所以寫下這篇文章記錄一下,同時(shí)分享一下自己的經(jīng)驗(yàn)。 我的環(huán)境:QT 5.12.6 總結(jié)下我遇見的難點(diǎn): 1,環(huán)境配

    2024年02月11日
    瀏覽(29)
  • Linux嵌入式項(xiàng)目-智能家居

    Linux嵌入式項(xiàng)目-智能家居

    一、資料下載 ?二、框架知識(shí) ?三、MQTT通信協(xié)議 1、上位機(jī)APP主要工作? ? ? ? 1.wait for msg? / while(1)訂閱等待消息 ? ? ? ?2.處理消息 客戶端創(chuàng)建了兩個(gè)線程,一個(gè)線程用于發(fā)布消息,一個(gè)線程用于監(jiān)聽訂閱消息 (那我的仿真系統(tǒng)也可以啊,一個(gè)發(fā)送處理數(shù)據(jù)線程。一個(gè)監(jiān)聽

    2024年02月16日
    瀏覽(25)
  • 基于STM32+ESP8266+FreeRTOS+安卓App上位機(jī)+MQTT連接OneNET的智能家居項(xiàng)目(軟件開源篇附百度網(wǎng)盤鏈接)

    ? 本篇文章主要是分享智能家居項(xiàng)目中的下位機(jī)STM32+FreeRTOS的代碼部分。以下是項(xiàng)目最終的效果 stm32 esp8266 語音控制智能家居_嗶哩嗶哩_bilibili ? 另外附上main函數(shù)中的部分代碼,完整代碼會(huì)在文章末尾放上百度網(wǎng)盤鏈接,可以自行下載。 鏈接:https://pan.baidu.com/s/1IS-OMLy2_pyWyM

    2024年02月08日
    瀏覽(24)
  • Python智能家居系統(tǒng)后端源碼,基于Django+MQTT+ESP8266的智能家居系統(tǒng)源碼

    代碼下載地址:Python智能家居系統(tǒng)后端源碼 服務(wù)器硬件環(huán)境: 處理器:Intel? Xeon? CPU E5-2680 v4 @ 2.40GHz 1核 內(nèi)存:2GB 硬盤空間:60GB 單片機(jī)環(huán)境: 單片機(jī):ESP8266-12E NodeMCU 開發(fā)環(huán)境:Arduino IDE(1.8.19) 軟件環(huán)境: 操作系統(tǒng):Ubuntu 18.04 LTS 編程語言:Python(3.7.9) Web后端框架:

    2024年02月02日
    瀏覽(43)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包