91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

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

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

如何使用Thingsboard通過(guò)MQTT進(jìn)行Raspberry Pi GPIO控制

454398 ? 來(lái)源:wv ? 2019-10-12 14:32 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

步驟1:先決條件和接線圖

如何使用Thingsboard通過(guò)MQTT進(jìn)行Raspberry Pi GPIO控制

服務(wù)器設(shè)置

您將需要訪問(wèn)Thingsboard服務(wù)器。使用Live Demo或《安裝指南》來(lái)安裝Thingsboard。

硬件和插腳列表

Raspberry Pi-我們將使用Raspberry Pi 3 Model B,但您也可以使用其他任何型號(hào)

引線和相應(yīng)的電阻

陰陽(yáng)跳線

接線圖

將允許控制所有可用GPIO引腳的狀態(tài),我們建議在這些引腳上連接一些LED以提高可視性。您可以使用此步驟所附的基本架構(gòu)。您也可以為每個(gè)LED添加一個(gè)電阻。

步驟2:對(duì)Raspberry Pi進(jìn)行編程

MQTT庫(kù)安裝

以下命令將安裝MQTT Python庫(kù):

$ sudo pip install paho-mqtt

應(yīng)用程序源代碼

我們的應(yīng)用程序由經(jīng)過(guò)注釋的單個(gè)python腳本組成。源代碼可在此處獲取。

您將需要修改 THINGSBOARD_HOST 常量以匹配Thingsboard服務(wù)器安裝IP地址或主機(jī)名。如果您正在使用實(shí)時(shí)演示服務(wù)器,請(qǐng)使用“ demo.thingsboard.io” 。

ACCESS_TOKEN 常量的值對(duì)應(yīng)于預(yù)先配置的演示數(shù)據(jù)中的示例Raspberry Pi設(shè)備。 。如果您正在使用實(shí)時(shí)演示服務(wù)器,請(qǐng)獲取預(yù)配置的“ Raspberry Pi演示設(shè)備” 的訪問(wèn)令牌。

import paho.mqtt.client as mqtt

import RPi.GPIO as GPIO

import json

THINGSBOARD_HOST = ‘YOUR_THINGSBOARD_IP_OR_HOSTNAME’

ACCESS_TOKEN = ‘RASPBERRY_PI_DEMO_TOKEN’

# We assume that all GPIOs are LOW

gpio_state = {7: False, 11: False, 12: False, 13: False, 15: False, 16: False, 18: False, 22: False, 29: False,

31: False, 32: False, 33: False, 35: False, 36: False, 37: False, 38: False, 40: False}

# The callback for when the client receives a CONNACK response from the server.

def on_connect(client, userdata, rc):

print(‘Connected with result code ’ + str(rc))

# Subscribing to receive RPC requests

client.subscribe(‘v1/devices/me/rpc/request/+’)

# Sending current GPIO status

client.publish(‘v1/devices/me/attributes’, get_gpio_status(), 1)

# The callback for when a PUBLISH message is received from the server.

def on_message(client, userdata, msg):

print ‘Topic: ’ + msg.topic + ‘ Message: ’ + str(msg.payload

# Decode JSON request

data = json.loads(msg.payload)

# Check request method

if data[‘method’] == ‘getGpioStatus’:

# Reply with GPIO status

client.publish(msg.topic.replace(‘request’, ‘response’), get_gpio_status(), 1)

elif data[‘method’] == ‘setGpioStatus’:

# Update GPIO status and reply

set_gpio_status(data[‘params’][‘pin’], data[‘params’][‘enabled’])

client.publish(msg.topic.replace(‘request’, ‘response’), get_gpio_status(), 1)

client.publish(‘v1/devices/me/attributes’, get_gpio_status(), 1)

def get_gpio_status():

# Encode GPIOs state to json

return json.dumps(gpio_state)

def set_gpio_status(pin, status):

# Output GPIOs state

GPIO.output(pin, GPIO.HIGH if status else GPIO.LOW)

# Update GPIOs state

gpio_state[pin] = status

# Using board GPIO layout

GPIO.setmode(GPIO.BOARD)

for pin in gpio_state:

# Set output mode for all GPIO pins

GPIO.setup(pin, GPIO.OUT)

client = mqtt.Client()

# Register connect callback

client.on_connect = on_connect

# Registed publish message callback

client.on_message = on_message

# Set access token

client.username_pw_set(ACCESS_TOKEN)

# Connect to Thingsboard using default MQTT port and 60 seconds keepalive interval

client.connect(THINGSBOARD_HOST, 1883, 60)

try:

client.loop_forever()

except KeyboardInterrupt:

GPIO.cleanup()

運(yùn)行應(yīng)用程序

此簡(jiǎn)單命令將啟動(dòng)應(yīng)用程序:

python gpio.py

步驟3:數(shù)據(jù)可視化

為簡(jiǎn)化此說(shuō)明,我們?cè)诿總€(gè)Thingboard安裝中可用的演示數(shù)據(jù)中都包含了“ Raspberry PI GPIO演示儀表板”。當(dāng)然,您可以修改此儀表板:調(diào)整,添加,刪除小部件等。您可以通過(guò)以租戶管理員身份登錄來(lái)訪問(wèn)此儀表板。

在本地安裝的情況下:

登錄名:tenant@thingsboard.org

密碼:租戶

如果是實(shí)時(shí)演示服務(wù)器:

登錄名:您的實(shí)時(shí)演示用戶名(電子郵件)

密碼:您的實(shí)時(shí)演示密碼

有關(guān)如何獲取帳戶的更多詳細(xì)信息,請(qǐng)參見(jiàn)實(shí)時(shí)演示頁(yè)面。/p》

登錄后,打開(kāi) Dashboards-》 Raspberry PI GPIO Demo Dashboard 頁(yè)面。您應(yīng)觀察帶有GPIO控制和狀態(tài)面板的演示儀表板。現(xiàn)在,您可以使用控制面板切換GPIO的狀態(tài)。結(jié)果,您將在設(shè)備和狀態(tài)面板上看到LED狀態(tài)更改。

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

    關(guān)注

    122

    文章

    2079

    瀏覽量

    110489
  • MQTT
    +關(guān)注

    關(guān)注

    5

    文章

    734

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    昉·星光開(kāi)發(fā)板智能家居遠(yuǎn)程控制

    的消息,并呈現(xiàn)到對(duì)應(yīng)的控件上。 點(diǎn)擊半亮、全亮、熄滅按鈕,就能通過(guò)mqtt發(fā)布控制指令到星光開(kāi)發(fā)板,從而控制LED亮度。 八、總結(jié) 在本次課程中,我們學(xué)習(xí)了結(jié)合使用
    發(fā)表于 03-10 06:24

    Banana Pi BPI-CM6 – 一款與 Raspberry Pi CM4/CM5 載板兼容的 SpacemiT K1 RISC-V 系統(tǒng)模塊

    、MIPI DSI、三個(gè) MIPI CSI、五個(gè) PCIe 2.1 通道、USB 3.2/2.0 接口等等。雖然它可以通過(guò)兩個(gè)板對(duì)板連接器與 Raspberry Pi CM4/CM5 載板配合使用,但
    發(fā)表于 11-28 16:59

    Banana Pi BPI-CM6 – 一款與 Raspberry Pi CM4/CM5 載板兼容的 SpacemiT K1 RISC-V 系統(tǒng)模塊

    Banana Pi BPI-CM6 系統(tǒng)模塊 (SoM) 采用 SpacemiT K1 8 核 RISC-V 處理器,并且與大多數(shù)為 Raspberry Pi CM4 或 CM5 設(shè)計(jì)的載板兼容
    的頭像 發(fā)表于 11-28 16:57 ?2351次閱讀
    Banana <b class='flag-5'>Pi</b> BPI-CM6 – 一款與 <b class='flag-5'>Raspberry</b> <b class='flag-5'>Pi</b> CM4/CM5 載板兼容的 SpacemiT K1 RISC-V 系統(tǒng)模塊

    ESP32-C3 mqtt操作實(shí)踐

    IDF的編程模型中,對(duì)于GPIO控制也是通過(guò)API接口進(jìn)行控制。 最基本的操作 gpio_r
    發(fā)表于 10-31 06:52

    工業(yè)智能網(wǎng)關(guān)可以通過(guò)MQTT協(xié)議對(duì)接到哪些平臺(tái)

    、規(guī)則引擎等功能。 典型應(yīng)用:工業(yè)設(shè)備數(shù)據(jù)實(shí)時(shí)上傳至阿里云,結(jié)合大數(shù)據(jù)分析優(yōu)化生產(chǎn)流程。 華為云IoT平臺(tái) 通過(guò)MQTT協(xié)議實(shí)現(xiàn)設(shè)備與云端的雙向通信,支持海量設(shè)備連接。 典型應(yīng)用:能源管理場(chǎng)景中,傳感器數(shù)據(jù)經(jīng)網(wǎng)關(guān)轉(zhuǎn)換后上傳至華為云,進(jìn)行
    的頭像 發(fā)表于 09-29 11:29 ?681次閱讀

    Banana Pi BPI-R4 Lite:新型單板計(jì)算機(jī)比 Raspberry Pi 5 更具優(yōu)勢(shì)

    Raspberry Pi 5(亞馬遜售價(jià) 66 美元起)的替代品。 然而,它的側(cè)重點(diǎn)略有不同,尤其適合網(wǎng)絡(luò)應(yīng)用。例如,它可以作為 OpenWrt 路由器的基礎(chǔ)。Banana Pi 最新的 SBC
    的頭像 發(fā)表于 08-26 16:46 ?1456次閱讀
    Banana <b class='flag-5'>Pi</b> BPI-R4 Lite:新型單板計(jì)算機(jī)比 <b class='flag-5'>Raspberry</b> <b class='flag-5'>Pi</b> 5 更具優(yōu)勢(shì)

    技能+1!如何在樹(shù)莓派上使用C++控制GPIO

    在使用樹(shù)莓派時(shí),你會(huì)發(fā)現(xiàn)Python和Scratch是許多任務(wù)(包括GPIO編程)中最常用的編程語(yǔ)言。但你知道嗎,你也可以使用C++進(jìn)行GPIO編程,而且這樣做還有不少好處。借助WiringPi
    的頭像 發(fā)表于 08-06 15:33 ?4171次閱讀
    技能+1!如何在樹(shù)莓派上使用C++<b class='flag-5'>控制</b><b class='flag-5'>GPIO</b>?

    GraniStudio :MQTT 協(xié)議的深度剖析

    平臺(tái)的首選協(xié)議。從傳感器數(shù)據(jù)采集到設(shè)備遠(yuǎn)程控制,從車間級(jí)監(jiān)控到跨廠區(qū)協(xié)同,MQTT 正在重塑工業(yè)通信架構(gòu)。GraniStudio 軟件通過(guò)對(duì) MQTT 協(xié)議的全場(chǎng)景整合,將其復(fù)雜的連接
    的頭像 發(fā)表于 08-04 09:48 ?1043次閱讀
    GraniStudio :<b class='flag-5'>MQTT</b> 協(xié)議的深度剖析

    【RA4L1-SENSOR】+ 一直被模仿從未被超越 + 使用MQTT上傳RA4L1開(kāi)發(fā)板溫度到云端,并通過(guò)控制RA4L1反向點(diǎn)燈

    互聯(lián)網(wǎng)遠(yuǎn)程數(shù)據(jù)上傳,同樣的,通過(guò)手機(jī)連接云端,就可以反向點(diǎn)燈,控制RA4L1上面的LED1,LED2,LDE3進(jìn)行點(diǎn)燈控制了,這可以進(jìn)階做成很多有創(chuàng)意的項(xiàng)目。目前還沒(méi)有任何人做過(guò)這方面
    發(fā)表于 06-15 17:07

    貿(mào)澤開(kāi)售Raspberry Pi用于嵌入式和IIoT應(yīng)用的RP2350微控制

    RP2350 微控制器。RP2350建立在Raspberry PI RP2040的成功基礎(chǔ)上,旨在以實(shí)惠的價(jià)格提供更高的性能和安全性,非常適合嵌入式計(jì)算和工業(yè)物聯(lián)網(wǎng)應(yīng)用。 ? Raspberr
    發(fā)表于 05-27 14:50 ?1512次閱讀

    如何在Raspberry Pi OS上安裝SDK?

    Raspberry Pi OS 上安裝 SDK
    發(fā)表于 04-30 06:45

    基于小凌派RK2206開(kāi)發(fā)板:OpenHarmony如何使用IoT接口控制GPIO中斷

    1、實(shí)驗(yàn)簡(jiǎn)介本實(shí)驗(yàn)將演示如何在小凌派-RK2206開(kāi)發(fā)板上使用IOT庫(kù)的GPIO中斷模式,進(jìn)行GPIO編程開(kāi)發(fā)。例程將創(chuàng)建一個(gè)任務(wù),通過(guò)配置GPIO
    的頭像 發(fā)表于 04-21 10:39 ?1125次閱讀
    基于小凌派RK2206開(kāi)發(fā)板:OpenHarmony如何使用IoT接口<b class='flag-5'>控制</b><b class='flag-5'>GPIO</b>中斷

    基于小凌派RK2206開(kāi)發(fā)板:OpenHarmony如何使用IoT接口控制GPIO外設(shè)

    1、案例簡(jiǎn)介本案例主要是如何在小凌派-RK2206開(kāi)發(fā)板上使用IOT庫(kù)的GPIO接口,進(jìn)行GPIO編程開(kāi)發(fā)。例程將創(chuàng)建一個(gè)任務(wù),通過(guò)配置GPIO
    的頭像 發(fā)表于 04-11 15:36 ?2072次閱讀
    基于小凌派RK2206開(kāi)發(fā)板:OpenHarmony如何使用IoT接口<b class='flag-5'>控制</b><b class='flag-5'>GPIO</b>外設(shè)

    貿(mào)澤開(kāi)售適用于AI和嵌入式應(yīng)用的 全新Raspberry Pi Compute Module 5

    2025 年 3 月 20 日 – 專注于推動(dòng)行業(yè)創(chuàng)新的知名新品引入 (NPI) 代理商?貿(mào)澤電子 (Mouser Electronics) 即日起供應(yīng)Raspberry Pi的全新Compute
    發(fā)表于 03-24 15:09 ?544次閱讀

    MQTT物聯(lián)網(wǎng)平臺(tái)有哪些?有哪些功能?

    (IoT)。關(guān)于MQTT物聯(lián)網(wǎng)平臺(tái)及其功能,可以歸納如下: MQTT物聯(lián)網(wǎng)平臺(tái) MQTT物聯(lián)網(wǎng)平臺(tái)通過(guò)提供一種標(biāo)準(zhǔn)化的協(xié)議和平臺(tái),實(shí)現(xiàn)了消息的可靠傳輸、設(shè)備連接管理、數(shù)據(jù)存儲(chǔ)和分析等功
    的頭像 發(fā)表于 03-15 14:23 ?1484次閱讀
    <b class='flag-5'>MQTT</b>物聯(lián)網(wǎng)平臺(tái)有哪些?有哪些功能?