在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

3天內不再提示

如何使用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引腳的狀態,我們建議在這些引腳上連接一些LED以提高可視性。您可以使用此步驟所附的基本架構。您也可以為每個LED添加一個電阻。

步驟2:對Raspberry Pi進行編程

MQTT庫安裝

以下命令將安裝MQTT Python庫:

$ sudo pip install paho-mqtt

應用程序源代碼

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

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

ACCESS_TOKEN 常量的值對應于預先配置的演示數據中的示例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:數據可視化

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

在本地安裝的情況下:

登錄名:tenant@thingsboard.org

密碼:租戶

如果是實時演示服務器:

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

密碼:您的實時演示密碼

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

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

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

    關注

    121

    文章

    1964

    瀏覽量

    107093
  • MQTT
    +關注

    關注

    5

    文章

    673

    瀏覽量

    23547
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    貿澤開售Raspberry Pi用于嵌入式和IIoT應用的RP2350微控制

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

    如何在Raspberry Pi OS上安裝SDK?

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

    OpenVINO?是否與TensorFlow集成支持Raspberry Pi

    無法確定OpenVINO?是否與 TensorFlow* 集成支持 Raspberry Pi
    發表于 03-05 08:26

    無法在Raspberry Pi 4中通過PyPI OpenVINO?安裝2022年運行時軟件包,為什么?

    無法在 Raspberry* Pi 4 中通過 PyPI* 安裝OpenVINO? 2022 運行時軟件包。
    發表于 03-05 07:31

    Raspberry Pi樹莓派新手指南

    電子發燒友網站提供《Raspberry Pi樹莓派新手指南.pdf》資料免費下載
    發表于 12-23 17:05 ?2次下載

    新品來襲!Raspberry Pi Compute Module 5

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

    Raspberry Pi Pico 2 W 發布

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

    Raspberry Pi Pico 2

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

    Banana Pi M5 與 Raspberry Pi 4 – 基準測試

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

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

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

    e絡盟開售Raspberry Pi新款產品

    安富利旗下全球電子與工業系統設計、維護和維修產品及技術分銷商 e絡盟 現為客戶供應小巧、快速、多功能的 Raspberry Pi Pico 2。
    的頭像 發表于 10-12 16:57 ?970次閱讀

    e絡盟開售Raspberry Pi AI 攝像頭

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

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

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

    Modbus RTU、Modbus TCP轉MQTT網關實現Modbus設備與云平臺的無縫通信

    鋇錸Modbus轉MQTT網關,簡而言之,就是通過將Modbus協議(包括Modbus RTU和Modbus TCP)的數據轉換為MQTT協議的數據格式,從而實現設備數據的上傳和云端控制
    的頭像 發表于 07-23 16:58 ?4355次閱讀
    Modbus RTU、Modbus TCP轉<b class='flag-5'>MQTT</b>網關實現Modbus設備與云平臺的無縫通信

    名單公布!樹莓派5(Raspberry Pi 5)開發板免費試用!!!

    緩存,可擴展應用范圍。它還支持雙頻Wi-Fi和藍牙5.0連接。RP1 I/O控制器芯片由 Raspberry Pi自主設計,大大提升了其接口性能。 Raspberry
    發表于 06-27 15:40
    主站蜘蛛池模板: 163黄页网又粗又长又舒服 | 欧美大片xxxxbbbb | 国产一级影院 | 国产乱子伦一区二区三区 | 亚综合 | se01亚洲 | 香港澳门a级三级三级全黄 香港经典a毛片免费观看爽爽影院 | 国产精品久久久久天天影视 | 中国高清性色生活片 | ww久久| 久久综合免费视频 | 真人实干一级毛片aa免费 | 亚洲国产成人久久99精品 | 99久久免费精品视频 | 康熙古代高h细节肉爽文全文 | 99久久无色码中文字幕 | 午夜骚| 丁香婷五月| 2021国产精品久久 | 四虎影院观看视频在线观看 | bt天堂资源在线种子 | 操操操操网 | 四虎影院成人在线观看 | 四虎国产精品永久在线播放 | 欧美激情第一欧美在线 | 午夜国产福利 | 性生生活三级视频在线观看 | 天天插夜夜 | 国产91丝袜在线播放九色 | 免费一级网站 | 4438x五月天 4438x亚洲最大 | 欧美日韩一区二区不卡 | 男人日女人免费视频 | 超碰v| 四虎国产精品免费观看 | 好黄好硬好爽好刺激 | 天天做天天爱天天做天天吃中 | xx性欧美| 欧美一区二区高清 | 国产精品福利一区 | 亚洲午夜精品久久久久久成年 |