一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何在單板電腦上設(shè)置MQTT代理

易絡(luò)盟電子 ? 來源:易絡(luò)盟電子 ? 作者:易絡(luò)盟電子 ? 2022-10-21 09:30 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

我們?cè)诰W(wǎng)頁上享受的大部分服務(wù)都是由網(wǎng)站數(shù)據(jù)庫應(yīng)用程序提供的。

要構(gòu)建一個(gè)現(xiàn)代網(wǎng)站,您需要開發(fā)一個(gè)數(shù)據(jù)庫應(yīng)用程序。MySQL 數(shù)據(jù)庫適用于各種案例,包括關(guān)鍵任務(wù)應(yīng)用程序、動(dòng)態(tài)網(wǎng)站,以及作為軟件、硬件和設(shè)備的嵌入式數(shù)據(jù)庫。

像AWS、Google 和 IBM 在內(nèi)的許多 IOT 平臺(tái)都支持 MQTT,但大多數(shù)在線代理(例如 Mosquitto)無法將傳入的消息存儲(chǔ)在數(shù)據(jù)庫中。大多數(shù)解決方案是我們訂閱主題并接收所有傳入主題的消息,然后將傳入消息存儲(chǔ)在數(shù)據(jù)庫中。

b30dca16-507e-11ed-a3b6-dac502259ad0.jpg

帶有 MySQL 數(shù)據(jù)庫的 MQTT

在本篇文章中,您將學(xué)習(xí)如何使用 EMQ 代理將 MQTT 消息存儲(chǔ)在數(shù)據(jù)庫中。使用 EMQ 代理,您可以編寫插件,這些插件可用于通過“掛鉤”點(diǎn)擊傳入和傳出消息。掛鉤是發(fā)生特定事件時(shí)調(diào)用的函數(shù)。

讓我們開始在 Amazon AWS 控制臺(tái)上創(chuàng)建一個(gè)名為 EMQ 的新Ubuntu 實(shí)例。創(chuàng)建實(shí)例后,為該實(shí)例分配 IP 地址。

b3358d94-507e-11ed-a3b6-dac502259ad0.jpg

b3779b9e-507e-11ed-a3b6-dac502259ad0.jpg

更新 AWS 中的安全組。添加入站規(guī)則以授予對(duì)運(yùn)行 MQTT 代理的端口的訪問權(quán)限。

b3b1a97e-507e-11ed-a3b6-dac502259ad0.jpg

現(xiàn)在打開putty 并通過 SSH 訪問 AWS 服務(wù)器上的Ubuntu,方法是提供分配給實(shí)例的 IP 地址。默認(rèn)用戶名是 Ubuntu。

b3f2c94a-507e-11ed-a3b6-dac502259ad0.jpg

登錄后我們開始安裝EMQ 代理。輸入以下命令以安裝依賴項(xiàng)和代理

$ sudo apt-get update
$ sudo apt-get install build-essential
$ Sudo apt-get install erlang
$ git clone https://github.com/emqtt/emq-relx.git
$ cd emq-relx && make
$ cd _rel /emqttd && ./bin/emqttd console

安裝 EMQ 代理后,我們可以按照以下步驟安裝 MySQL

$ sudo apt-get update
$ sudo apt-get install mysql-server
$ mysql_secure_installation
$ sudo apt-get install git curl zip unzip
$ sudo add-apt-repository ppa:ondrej/php
$ sudo apt-get install php7.4-fpm php7.4-common php7.4-xml php7.4-cli php7.4-curl php7.4-json php7.4-mcrypt php7.4-mysqlnd php7.4-sqlite php7.4-soap php7.4-mbstring php7.4-zip php7.4-bcmath
$ sudo nano /etc/php/7.4/fpm/php.ini

找到讀取 cgi.fix_pathinfo=1 的行并將其更改為讀取 cgi.fix_pathinfo=0

$ cd ~
$ mkdir bin
$ php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
$ php composer-setup.php --install-dir=/home/ubuntu/bin --filename=composer
$ mysql –u root –p
Mysql>CREATE DATABASE dreamfactory;
Mysql>GRANT ALL PRIVILEGES ON dreamfactory.* to 'dfadmin'@'localhost' IDENTIFIED BY 'YOUR_PASSWORD_HERE';
Mysql>FLUSH PRIVILEGES;
Mysql> quit

b402fb3a-507e-11ed-a3b6-dac502259ad0.jpg

$ sudo mkdir /opt/dreamfactory
$ sudo chown -R ubuntu /opt/dreamfactory
$ cd /opt/dreamfactory
$ git clone https://github.com/dreamfactorysoftware/dreamfactory.git
$ composer install --no-dev --ignore-platform-reqs
$ php artisan df:env

如下圖所示配置dreamfactory。用戶名和密碼是 dfadmin。

b4237d1a-507e-11ed-a3b6-dac502259ad0.jpg

$nano.env
Uncomment(removethe##)thetwolinesthatread##DB_CHARSET=utf8and##DB_COLLATION=utf8_unicode_ci
$ php artisan df:setup

回答屏幕提示為系統(tǒng)創(chuàng)建您的第一個(gè)管理員用戶

$ sudo chown -R www-data:ubuntu storage/ bootstrap/cache/
$ sudo chmod -R 2775 storage/ bootstrap/cache/
$ php artisan cache:clear
$ sudo apt-get install nginx
$ cd /etc/nginx/sites-available
$ sudo cp default default.bak
$ sudo nano default
Copyandpastefromthefileattachedandexiteditor
$ sudo service php7.4-fpm restart && sudo service nginx restart

至此,dreamfactory 應(yīng)用程序就安裝好了。

DreamFactory 是一個(gè)開源 REST API 中間件平臺(tái),為構(gòu)建手機(jī)、網(wǎng)站和 IoT 應(yīng)用程序提供 RESTful 服務(wù)。

接下來我們?nèi)グ惭bmySql數(shù)據(jù)庫并創(chuàng)建新用戶以便dreamfactory可以訪問它。

使用在設(shè)置過程中輸入的默認(rèn)用戶名和密碼登錄dreamfactory。我們必須創(chuàng)建角色,這些角色是設(shè)備的權(quán)限。輸入創(chuàng)建 EMQ 實(shí)例時(shí)生成的 ip 地址,例如 35.172.132.132/dreamfacrory/dist/index.html

b4457532-507e-11ed-a3b6-dac502259ad0.jpg

b46ebec4-507e-11ed-a3b6-dac502259ad0.jpg

轉(zhuǎn)到應(yīng)用程序并為設(shè)備生成遠(yuǎn)程訪問密鑰的 API 密鑰。輸入詳細(xì)信息如下圖所示

b49c4dbc-507e-11ed-a3b6-dac502259ad0.jpg

b4b20378-507e-11ed-a3b6-dac502259ad0.jpg

生成 API 密鑰后,我們將連接到 MySQL 數(shù)據(jù)庫,單擊服務(wù)并創(chuàng)建,然后選擇 MySQL 數(shù)據(jù)庫。填寫用戶名、端口號(hào)數(shù)據(jù)庫、用戶名和密碼。

b4d3f212-507e-11ed-a3b6-dac502259ad0.jpg

b4f73c40-507e-11ed-a3b6-dac502259ad0.jpg

API 密鑰需要在 emq_plugin_template 中更新 ,以便將數(shù)據(jù)發(fā)送到 MySQL 數(shù)據(jù)庫,如下所示。

b5196ba8-507e-11ed-a3b6-dac502259ad0.jpg

b553421a-507e-11ed-a3b6-dac502259ad0.jpg

我們現(xiàn)在可以從任何客戶端發(fā)送數(shù)據(jù)并將其保存在數(shù)據(jù)庫中。我們以連接了溫度、壓力和濕度等傳感器樹莓派為例:樹莓派上運(yùn)行的 paho-mqtt 客戶端將數(shù)據(jù)發(fā)送到 MySQL 數(shù)據(jù)庫。

在終端輸入樹莓派安裝 paho mqtt。

$ pip3 install paho-mqtt

要連接到服務(wù)器,我們可以鍵入

client = mqtt.Client()
client.on_connect = on_connect
client.connect("35.172.132.132", 1883, 60)

下面的命令會(huì)將主題發(fā)送到代理并保存在 MySQL 數(shù)據(jù)庫中。

client.publish('raspberry/topic', payload=i, qos=0, retain=False)

審核編輯:湯梓紅
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 數(shù)據(jù)庫
    +關(guān)注

    關(guān)注

    7

    文章

    3926

    瀏覽量

    66214
  • MySQL
    +關(guān)注

    關(guān)注

    1

    文章

    860

    瀏覽量

    27929
  • 單板電腦
    +關(guān)注

    關(guān)注

    0

    文章

    10

    瀏覽量

    7788
  • MQTT
    +關(guān)注

    關(guān)注

    5

    文章

    682

    瀏覽量

    23715

原文標(biāo)題:e教程 | 如何在單板電腦上設(shè)置MQTT代理

文章出處:【微信號(hào):易絡(luò)盟電子,微信公眾號(hào):易絡(luò)盟電子】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    PSoC6的Wi-fi_mqtt_Client出現(xiàn)MQTT連接錯(cuò)誤的原因?

    我在使用 PSoC6 板的 Wi-Fi_MQTT_Client 示例時(shí)遇到了一個(gè)問題。 Wi-Fi 連接成功了,但在嘗試連接 MQTT 代理(test.mositto.org)時(shí)卻出
    發(fā)表于 07-04 07:25

    MQTT協(xié)議介紹之二:連接

    。這基本都是從MQTT客戶端連接到MQTT代理所需的所有信息。每個(gè)MQTT庫通常都會(huì)有其他選項(xiàng),可以進(jìn)行具體配置。
    發(fā)表于 08-25 19:57

    求分享SoftAP的獨(dú)立MQTT代理?

    任何人都可以給我一個(gè)例子或者只是一個(gè)工作流+庫來實(shí)現(xiàn)這個(gè): 我想要一個(gè) ESP8266 的獨(dú)立 MQTT 代理。ESP8266 還必須有一個(gè) SoftAP,以便其他 MQTT 客戶端
    發(fā)表于 04-28 07:40

    何在menuconfig中為rtos mqtt示例設(shè)置代理url?

    的“示例配置”部分默認(rèn)為一些云 mqtt url,但我希望它使用在我的一個(gè) linux 機(jī)器運(yùn)行的 mosquitto 代理。所以我將代理 url 指定為 192.168.88.1
    發(fā)表于 06-08 06:00

    講解如何設(shè)置新型單板RIO系統(tǒng)的步驟

    本視頻教您如何設(shè)置新型單板RIO系統(tǒng)。
    的頭像 發(fā)表于 06-25 06:12 ?3003次閱讀
    講解如何<b class='flag-5'>設(shè)置</b>新型<b class='flag-5'>單板</b>RIO系統(tǒng)的步驟

    講解如何設(shè)置單板RIO嵌入式控制系統(tǒng)

    如何設(shè)置單板RIO系統(tǒng)
    的頭像 發(fā)表于 06-25 05:51 ?4208次閱讀
    講解如何<b class='flag-5'>設(shè)置</b><b class='flag-5'>單板</b>RIO嵌入式控制系統(tǒng)

    NodeMCU板的基本MQTT協(xié)議用法

    上傳完成后,如果wifi熱點(diǎn)名稱和密碼設(shè)置正常,并且連接了MQTT代理,請(qǐng)打開“串行監(jiān)視器”,
    的頭像 發(fā)表于 11-13 10:05 ?5086次閱讀

    何在LoRaWAN網(wǎng)關(guān)的網(wǎng)頁設(shè)置MQTT的訂閱的Topic

    為接下來采用MQTT訂閱獲取到LoRa節(jié)點(diǎn)數(shù)據(jù)建立基礎(chǔ)。 本文介紹在RAK的LoRa網(wǎng)關(guān)的網(wǎng)頁,如何設(shè)置MQTT的Topic參數(shù),以獲取到某應(yīng)用下的某個(gè)LoRa節(jié)點(diǎn)或所有LoRa節(jié)點(diǎn)
    發(fā)表于 06-12 17:29 ?1762次閱讀

    何在LoRaWAN網(wǎng)關(guān)上設(shè)置MQTT的Topic

    當(dāng)我們將LoRaWAN網(wǎng)關(guān)設(shè)置為NS模式時(shí),可參見文章如何將LoRaWAN網(wǎng)關(guān)設(shè)置為NS模式,我們就可以在LoRaWAN網(wǎng)關(guān)的網(wǎng)頁上進(jìn)行操作,以設(shè)置該網(wǎng)關(guān)的MQTT訂閱的topic,從
    發(fā)表于 08-20 10:10 ?1324次閱讀

    何在java代碼中使用HTTP代理IP

    何在java代碼中使用HTTP代理IP。
    的頭像 發(fā)表于 08-04 15:38 ?2498次閱讀

    何在python代碼中使用HTTP代理IP

    何在python代碼中使用HTTP代理IP。
    的頭像 發(fā)表于 08-04 15:46 ?1495次閱讀

    何在PHP代碼中使用HTTP代理IP

    何在PHP代碼中使用HTTP代理IP。
    的頭像 發(fā)表于 08-04 16:08 ?2697次閱讀

    何在Windows設(shè)置Pico RP2040

    電子發(fā)燒友網(wǎng)站提供《如何在Windows設(shè)置Pico RP2040.zip》資料免費(fèi)下載
    發(fā)表于 06-15 09:35 ?4次下載
    如<b class='flag-5'>何在</b>Windows<b class='flag-5'>上</b><b class='flag-5'>設(shè)置</b>Pico RP2040

    何在Python中使用MQTT

    本文主要介紹如何在 Python 項(xiàng)目中使用?paho-mqtt?客戶端庫 ,實(shí)現(xiàn)客戶端與?MQTT?服務(wù)器的連接、訂閱、取消訂閱、收發(fā)消息等功能。
    的頭像 發(fā)表于 12-22 10:41 ?1.1w次閱讀
    如<b class='flag-5'>何在</b>Python中使用<b class='flag-5'>MQTT</b>

    何在MQTT中發(fā)布和訂閱實(shí)體

    消息發(fā)送到MQTT代理(Broker)的特定主題(Topic)。發(fā)布者無需知道有哪些客戶端訂閱了該主題,只需將消息發(fā)送到代理即可。 訂閱(Subscribe):客戶端向
    的頭像 發(fā)表于 05-20 17:21 ?327次閱讀