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

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

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

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

如何使用Thingsboard通過MQTT進行Raspberry Pi GPIO控制

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

掃碼添加小助手

加入工程師交流群

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

如何使用Thingsboard通過MQTT進行Raspberry Pi GPIO控制

服務器設置

您將需要訪問Thingsboard服務器。使用Live Demo或《安裝指南》來安裝Thingsboard。

硬件和插腳列表

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

引線和相應的電阻

陰陽跳線

接線圖

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

步驟2:對Raspberry Pi進行編程

MQTT庫安裝

以下命令將安裝MQTT Python庫:

$ sudo pip install paho-mqtt

應用程序源代碼

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

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

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

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()

運行應用程序

此簡單命令將啟動應用程序:

python gpio.py

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

為簡化此說明,我們在每個Thingboard安裝中可用的演示數(shù)據(jù)中都包含了“ Raspberry PI GPIO演示儀表板”。當然,您可以修改此儀表板:調(diào)整,添加,刪除小部件等。您可以通過以租戶管理員身份登錄來訪問此儀表板。

在本地安裝的情況下:

登錄名:tenant@thingsboard.org

密碼:租戶

如果是實時演示服務器:

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

密碼:您的實時演示密碼

有關如何獲取帳戶的更多詳細信息,請參見實時演示頁面。/p》

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

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

    關注

    122

    文章

    2079

    瀏覽量

    110485
  • MQTT
    +關注

    關注

    5

    文章

    734

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

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

    、MIPI DSI、三個 MIPI CSI、五個 PCIe 2.1 通道、USB 3.2/2.0 接口等等。雖然它可以通過兩個板對板連接器與 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 設計的載板兼容
    的頭像 發(fā)表于 11-28 16:57 ?2348次閱讀
    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操作實踐

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

    工業(yè)智能網(wǎng)關可以通過MQTT協(xié)議對接到哪些平臺

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

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

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

    技能+1!如何在樹莓派上使用C++控制GPIO?

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

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

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

    如何通過上位機來控制USB3014的GPIO引腳?

    我想咨詢一下,怎么通過上位機來控制usb3014的GPIO引腳呢?(只需要實現(xiàn)通過上位機控制USB3014的
    發(fā)表于 07-22 07:04

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

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

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

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

    如何在Raspberry Pi OS上安裝SDK?

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

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

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

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

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

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

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

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

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