国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

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狀態更改。

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

    關注

    122

    文章

    2078

    瀏覽量

    110455
  • MQTT
    +關注

    關注

    5

    文章

    733

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

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

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

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

    Banana Pi BPI-CM6 系統模塊 (SoM) 采用 SpacemiT K1 8 核 RISC-V 處理器,并且與大多數為 Raspberry Pi CM4 或 CM5 設計的載板兼容
    的頭像 發表于 11-28 16:57 ?2321次閱讀
    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 系統模塊

    ESP32-C3 mqtt操作實踐

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

    工業智能網關可以通過MQTT協議對接到哪些平臺

    、規則引擎等功能。 典型應用:工業設備數據實時上傳至阿里云,結合大數據分析優化生產流程。 華為云IoT平臺 通過MQTT協議實現設備與云端的雙向通信,支持海量設備連接。 典型應用:能源管理場景中,傳感器數據經網關轉換后上傳至華為云,進行
    的頭像 發表于 09-29 11:29 ?662次閱讀

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

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

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

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

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

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

    如何在Raspberry Pi OS上安裝SDK?

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

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

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

    Raspberry Pi上使用IR v11及OpenVINO? 2021.3后不兼容怎么辦?

    PYTHONPATH=\"$PWD\" && python export.py --weights--img 512 --include openvino 轉換后的 IR v11 模型與 Raspberry Pi 上的 OpenVINO? 2021.3
    發表于 03-06 07:14

    Raspberry Pi上從源代碼構建OpenVINO? ARM插件失敗了,怎么解決?

    Raspberry Pi* 上從源代碼構建OpenVINO? ARM 插件。 cmake -DCMAKE_BUILD_TYPE=Release -DOPENVINO_EXTRA_MODULES
    發表于 03-06 06:19

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

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

    Raspberry Pi 4上為OpenVINO? 2021.4.2安裝DL工作臺,加載人臉檢測-0200模型時遇到錯誤怎么解決?

    Raspberry Pi* 4 上為 OpenVINO? 2021.4.2 安裝的 DL 工作臺 加載人臉檢測-0200 模型時遇到錯誤: Unknown model format
    發表于 03-05 07:57

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

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

    安裝OpenVINO?適用于Raspberry Pi64位操作系統的工具套件2022.3.1,配置英特爾?NCS2時出錯怎么解決?

    安裝OpenVINO?適用于 Raspberry Pi* 64 位操作系統的工具套件 2022.3.1。 配置英特爾? NCS2時出錯: CMake Error at CMakeLists.txt
    發表于 03-05 07:27