精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

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

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

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

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

454398 ? 來源:wv ? 2019-10-12 14:32 ? 次閱讀

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

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

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

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

硬件和插腳列表

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

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

陰陽跳線

接線圖

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

步驟2:對Raspberry Pi進行編程

MQTT庫安裝

以下命令將安裝MQTT Python庫:

$ sudo pip install paho-mqtt

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

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

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

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

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īng)用程序

此簡單命令將啟動應(yīng)用程序:

python gpio.py

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

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

在本地安裝的情況下:

登錄名:tenant@thingsboard.org

密碼:租戶

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

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

密碼:您的實時演示密碼

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

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

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

    關(guān)注

    116

    文章

    1699

    瀏覽量

    105537
  • MQTT
    +關(guān)注

    關(guān)注

    5

    文章

    649

    瀏覽量

    22439
收藏 人收藏

    評論

    相關(guān)推薦

    新品來襲!Raspberry Pi Compute Module 5

    今天,我們很高興地宣布推出備受期待的Raspberry Pi計算模塊5,這是我們旗艦Raspberry Pi 5單板計算機的模塊化版本,售價僅為45美元。 意外之旅 我們在2008年成
    的頭像 發(fā)表于 11-27 18:21 ?215次閱讀
    新品來襲!<b class='flag-5'>Raspberry</b> <b class='flag-5'>Pi</b> Compute Module 5

    Raspberry Pi Pico 2 W 發(fā)布

    樹莓派官方今日宣布推出支持無線連接的新款 MCU(微控制器)主板 Raspberry Pi Pico 2 W,售價 7 美元, 較此前的有線版本高出 2 美元 。 ? ? Raspberry
    的頭像 發(fā)表于 11-25 18:25 ?260次閱讀
    <b class='flag-5'>Raspberry</b> <b class='flag-5'>Pi</b> Pico 2 W 發(fā)布

    Raspberry Pi Pico 2

    、可選的RISC?V內(nèi)核、增強的安全特性,以及升級的接口功能。該器件由RP235x微控制器平臺提供支持,此平臺也由Raspberry Pi設(shè)計。Pico 2將RP2350與4MB板載QSPI閃存配對
    的頭像 發(fā)表于 11-25 15:10 ?324次閱讀
    <b class='flag-5'>Raspberry</b> <b class='flag-5'>Pi</b> Pico 2

    Banana Pi M5 與 Raspberry Pi 4 – 基準(zhǔn)測試

    Banana Pi M5 基準(zhǔn)測試已成為我的網(wǎng)站上最受歡迎的作品之一,而且似乎人們真正想看到的是它與其 Raspberry 口味的表親之間的直接比較,所以這里就是 Banana Pi M5 與
    的頭像 發(fā)表于 10-28 10:28 ?286次閱讀
    Banana <b class='flag-5'>Pi</b> M5 與 <b class='flag-5'>Raspberry</b> <b class='flag-5'>Pi</b> 4 – 基準(zhǔn)測試

    樹莓派gpio有什么用,樹莓派gpio接口及編程方法

    /Output,通用輸入/輸出)是樹莓派提供的一組可編程的引腳,是樹莓派與外部世界進行交互的重要橋梁。通過GPIO,用戶可以控制外部電路,讀取外部信號,實現(xiàn)與外部電路的交互,從而開發(fā)出
    的頭像 發(fā)表于 10-22 18:09 ?522次閱讀

    e絡(luò)盟開售Raspberry Pi AI 攝像頭

    安富利旗下全球電子元器件產(chǎn)品與解決方案分銷商e絡(luò)盟開售全新 Raspberry Pi AI攝像頭,這是 Raspberry Pi 的最新產(chǎn)品,擴大了 e絡(luò)盟的人工智能設(shè)備范圍。
    的頭像 發(fā)表于 10-10 10:09 ?190次閱讀
    e絡(luò)盟開售<b class='flag-5'>Raspberry</b> <b class='flag-5'>Pi</b> AI 攝像頭

    使用串行連接通過 Raspberry Pi 增強您的 XRP 項目

    指南更為高級。通過本指南,您將能夠?qū)?Raspberry Pi 連接到您的 XRP,從而使您的 XRP 項目更上一層樓。 傳輸數(shù)據(jù): 在 Raspberry
    的頭像 發(fā)表于 10-02 15:28 ?204次閱讀
    使用串行連接<b class='flag-5'>通過</b> <b class='flag-5'>Raspberry</b> <b class='flag-5'>Pi</b> 增強您的 XRP 項目

    名單公布!樹莓派5(Raspberry Pi 5)開發(fā)板免費試用?。。?/a>

    緩存,可擴展應(yīng)用范圍。它還支持雙頻Wi-Fi和藍(lán)牙5.0連接。RP1 I/O控制器芯片由 Raspberry Pi自主設(shè)計,大大提升了其接口性能。 Raspberry
    發(fā)表于 06-27 15:40

    樹莓派5,Raspberry Pi 5 評測

    )連接器,可用于之前發(fā)布的Raspberry Pi Pico Debug kit調(diào)試,或用于與其他微控制器建立UART連接。 眼尖的同學(xué)會注意到 Pi 5 的USB和以太網(wǎng)接口位置發(fā)
    發(fā)表于 06-19 14:51

    無縫集成工業(yè)4.0:ThingsBoard網(wǎng)關(guān)

    Thingsboard網(wǎng)關(guān)BL104 ThingsBoard物聯(lián)網(wǎng)網(wǎng)關(guān)是一個指可以將數(shù)據(jù)采集轉(zhuǎn)發(fā)至ThingsBoard平臺的物聯(lián)網(wǎng)網(wǎng)關(guān),它使用且僅使用MQTT協(xié)議與
    的頭像 發(fā)表于 05-24 15:22 ?450次閱讀
    無縫集成工業(yè)4.0:<b class='flag-5'>ThingsBoard</b>網(wǎng)關(guān)

    如何將CYKIT-028 TFT模塊與Raspberry Pi和ESP32微控制器結(jié)合使用?

    我目前正在探索如何將 CYKIT-028 TFT 模塊與 Raspberry Pi 和 ESP32 微控制器結(jié)合使用。 不過,在選擇集成開發(fā)環(huán)境(IDE)和使用 PSOC Creator 的必要性
    發(fā)表于 05-21 07:36

    Raspberry Pi樹莓派使用Python實現(xiàn)MQTT通信設(shè)計

    這次的例子,主要講述如何基于PYTHON的 MQTT 客戶端的使用方法
    的頭像 發(fā)表于 03-14 11:45 ?757次閱讀
    <b class='flag-5'>Raspberry</b> <b class='flag-5'>Pi</b>樹莓派使用Python實現(xiàn)<b class='flag-5'>MQTT</b>通信設(shè)計

    如何通過mqtt實現(xiàn)光自動化?

    一個樹莓派,我想用它來與 20 esp 01bords 進行通信。我決定使用 MQTT 協(xié)議進行 raspberry Pi 和 esp 01
    發(fā)表于 01-31 08:30

    震驚!居然有人給 Raspberry Pi 5 做 X 射線!

    ? Jeff Geerling 會做一些莫名其妙的怪事,比如用信鴿來對抗網(wǎng)速,不過這也是我們喜歡他視頻的原因。最近,杰夫?qū)?Raspberry Pi 5 進行了 X 光透視,揭示了
    的頭像 發(fā)表于 01-10 16:42 ?463次閱讀
    震驚!居然有人給 <b class='flag-5'>Raspberry</b> <b class='flag-5'>Pi</b> 5 做 X 射線!

    使用STM32 HAL庫進行GPIO控制的實例

    在基于STM32微控制器的嵌入式系統(tǒng)開發(fā)中,GPIO(GeneralPurposeInput/Output)控制是其中最基本、最常見的操作之一。通過使用STM32的HAL庫,可以輕松地
    的頭像 發(fā)表于 12-21 15:22 ?3195次閱讀