色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

3天內不再提示

使用Adafruit IO作為MQTT控制Raspberry Pi GPIO的AC設備

科技觀察員 ? 來源:circuitdigest ? 作者:Rishabh Jain ? 2022-09-01 16:30 ? 次閱讀

在本教程中,我們將使用 Adafruit IO 作為 MQTT 代理來控制連接到 Raspberry Pi GPIO 的 AC 設備。

所需組件

安裝了 Raspbian Stretch 的 Raspberry Pi。

繼電器模塊

電燈泡

跳線

在這里,我們將使用 SSH 訪問筆記本電腦上的 Raspberry Pi。您可以在筆記本電腦上使用 VNC 或遠程桌面連接,或者可以將您的 Raspberry pi 連接到顯示器。

電路原理

這個帶有 MQTT 云和樹莓派物聯網控制家電的電路圖很簡單,只需在樹莓派的 GPIO 引腳 35 上連接一個帶有繼電器模塊的燈泡。

poYBAGMQbOiARbUtAAEGtMapGzc982.png

pYYBAGMQbOSACJgVAAOv-ZWko8o183.png

在樹莓派上安裝 MQTT 云庫

這里Adafruit IO 平臺與 Raspberry Pi 一起用作 MQTT 代理。正如我們在之前的教程中多次使用Adafruit IO平臺一樣,我們可以在 Raspberry Pi 中使用它。

制作儀表板后,在 Raspberry Pi 中安裝一些庫以開始使用 MQTT。

1.首先,通過發出以下命令更新您的 Pi 和 Python

sudo apt-get update

sudo apt-get upgrade

sudo pip3 install --upgrade setuptools

2. 現在,使用以下命令安裝 Rpi.gpio 和 Adafruit blink 庫

sudo pip3 install RPI.GPIO

sudo pip3 install adafruit-blinka

3. 使用以下命令安裝 Adafruit IO 庫

sudo pip3 安裝 adafruit-io

4. 使用以下命令從 github 克隆 adafruit 示例

git 克隆 https://github.com/adafruit/Adafruit_IO_Python.git

5. 然后,通過在終端中輸入以下命令導航到示例文件夾:

cd Adafruit_IO_Python/examples/basics

如果你不確定你在哪個目錄,你可以通過運行 pwd來檢查。

6. 對于此文件夾中的所有示例,您需要設置 ADAFRUIT_IO_KEY 和 ADAFRUIT_IO_USERNAME,這可以從 Adafruit 儀表板中找到。如下所示

poYBAGMQbOCAQUxJAAEBbrfIwWY757.png

切換 Adafruit IO 儀表板上的按鈕,您應該在 Pi 的終端中看到以下內容。

7. 現在,使用nano編輯器打開subscribe.py文件。輸入以下命令打開它

須藤納米訂閱.py

我們必須修改這個程序來控制儀表板上的任何 GPIO。

MQTT控制樹莓派GPIO的編碼說明

首先,導入所有必需的庫以使用 GPIO 引腳和 Adafruit MQTT 客戶端。

將 RPi.GPIO 導入為 GPIO
從 Adafruit_IO 導入sys導入 MQTTClient

現在,設置 GPIO 模式并定義 LED 引腳號并設置為輸出。

GPIO.setmode(GPIO.BOARD) 
GPIO.setwarnings(False) 
ledPin = 12 
GPIO.setup(ledPin, GPIO.OUT)

接下來,我們必須設置在創建儀表板時找到的 AIO 密鑰和用戶名。

ADAFRUIT_IO_KEY = 'YOUR_AIO_KEY' 
ADAFRUIT_IO_USERNAME = 'YOUR_AIO_USERNAME'

輸入您為打開和關閉燈而提供的提要名稱。在這里,它是“光”。

FEED_ID = '光'

現在,定義一個在有事件發生時將被調用的函數。因此,我們將使用client.subscribe(FEED_ID)訂閱 Feed

def connected(client): 
    client.subscribe(FEED_ID) 
    print('Waiting for feed data...')

訂閱提要后,我們必須檢查新值并將其存儲到有效負載變量中。為此消息函數被調用。因此,每當有效載荷變量中有“1”時,將 LED 引腳設為高電平,“0”將其設為低電平。

def message(client, feed_id, payload): 
  print('Feed {0} received new value: {1}'.format(feed_id, payload)) 
  if payload == 1: 
       GPIO.output(ledPin, GPIO.HIGH) 
else :
      GPIO.輸出(ledPin,GPIO.LOW)

現在,創建一個 MQTT 客戶端來連接 Adafruit IO 平臺并來回發送消息。

client = MQTTClient(ADAFRUIT_IO_USERNAME, ADAFRUIT_IO_KEY) 
client.on_connect = 已連接
client.on_disconnect = 已斷開

另外,請注意代碼中的正確縮進,否則會顯示錯誤。教程末尾給出了完整的 Python 代碼。

最后,使用 ctrl+x 保存程序并回車。現在,我們必須運行腳本才能訂閱消息。所以在終端輸入python subscribe.py并回車。

python訂閱.py

您將看到一條消息正在等待 Feed 數據。..,如下圖所示。

現在,確保繼電器模塊與 Raspberry Pi 的 GPIO 引腳連接,然后轉到 Adafruit IO 儀表板并更改光饋。收到“ 1”時燈泡應打開,收到“0”時應關閉,如下圖所示。

pYYBAGMQbNmAHuEqAAGeFeUC9uw276.png

通過這種方式,我們可以使用 Raspberry Pi 和 MQTT 云從世界任何地方控制任何設備

將 RPi.GPIO 作為 GPIO

導入 sys

從 Adafruit_IO 導入 MQTTClient

GPIO.setmode(GPIO.BOARD)

GPIO.setwarnings(False)

ledPin = 12

GPIO.setup(ledPin, GPIO.OUT)

ADAFRUIT_IO_KEY = 'YOUR_AIO_KEY'

ADAFRUIT_IO_USERNAME = 'YOUR_AIO_USERNAME'

FEED_ID = 'light'

def connected(client):

# 訂閱名為 Counter 的提要的更改。

print('訂閱 Feed {0}'.format(FEED_ID))

client.subscribe(FEED_ID)

print('正在等待 Feed 數據...')


def 斷開連接(客戶端):

sys.exit(1)


def message(client, feed_id, payload):

print('Feed {0} received new value: {1}'.format(feed_id, payload))

if payload == 1:

GPIO.output(ledPin, GPIO.HIGH)

else :

GPIO.output(ledPin, GPIO.LOW)

# 創建一個 MQTT 客戶端實例。

client = MQTTClient(ADAFRUIT_IO_USERNAME, ADAFRUIT_IO_KEY)

# 設置上面定義的回調函數。

client.on_connect = 已連接

client.on_disconnect = 已斷開

client.on_message = 消息


# 連接到 Adafruit IO 服務器。

client.connect()

client.loop_blocking()

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

    關注

    16

    文章

    1213

    瀏覽量

    52193
  • MQTT
    +關注

    關注

    5

    文章

    652

    瀏覽量

    22573
收藏 人收藏

    評論

    相關推薦

    基于Amazon?Echo?和?Raspberry?Pi?的自動窗簾控制

    GPIO 的水晶頭網線一塊 Raspberry Pi 開發板與Raspberry Pi GPIO
    發表于 08-23 16:04

    黑科技!使用Raspberry Pi和Python GUI控制伺服電機(原理圖、源碼、項目教程)

    教程中,我們將介紹如何使用Raspberry Pi和Python TK GUI精確控制伺服。硬件組件:Raspberry Pi 3型號B.×
    發表于 10-16 16:49

    使用raspberry pi Pico的原因

    使用raspberry pi Pico的原因在硬件產品(單片機)的開發中我們往往需要借助一些額外的儀器/設備進行產品的輔助測試, 假設我們需要一個IO+ADC類型輔助
    發表于 02-07 09:16

    Raspberry Pi上的IO引腳編號有幾種方法

    一. 導入RPI.GPIOimport RPi.GPIO as GPIO二. 指定引腳編號方式RPi.GPIO中的Raspberry Pi
    發表于 02-17 06:33

    帶超頻冷卻孔徑的Raspberry Pi GPIO

    描述Raspberry Pi GPIO 帽,帶超頻冷卻孔徑這是一個 Raspberry Pi 帽子,它允許
    發表于 09-12 06:14

    如何使用ESP-01板通過MQTT和OpenHab使用Raspberry Pi控制LED?

    在這里寫了一篇非常基本的文章 ,但如果它對某人有用,我很樂意嘗試寫更多關于使用 ESP-01 板通過 MQTT 和 OpenHab 使用 Raspberry Pi 控制 LED 的正式
    發表于 05-24 07:34

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

    為簡化此說明,我們在每個Thingboard安裝中可用的演示數據中都包含了“ Raspberry PI GPIO演示儀表板”。當然,您可以修改此儀表板:調整,添加,刪除小部件等。您可以通過以租戶管理員身份登錄來訪問此儀表板。
    的頭像 發表于 10-12 14:32 ?1.7w次閱讀
    如何使用Thingsboard通過<b class='flag-5'>MQTT</b>進行<b class='flag-5'>Raspberry</b> <b class='flag-5'>Pi</b> <b class='flag-5'>GPIO</b><b class='flag-5'>控制</b>

    Raspberry Pi GPIO帽開源分享

    電子發燒友網站提供《Raspberry Pi GPIO帽開源分享.zip》資料免費下載
    發表于 08-18 11:01 ?2次下載
    <b class='flag-5'>Raspberry</b> <b class='flag-5'>Pi</b> <b class='flag-5'>GPIO</b>帽開源分享

    用于40針Raspberry Pi型號的GPIO分線板

    電子發燒友網站提供《用于40針Raspberry Pi型號的GPIO分線板.zip》資料免費下載
    發表于 08-19 09:35 ?2次下載
    用于40針<b class='flag-5'>Raspberry</b> <b class='flag-5'>Pi</b>型號的<b class='flag-5'>GPIO</b>分線板

    Raspberry Pi上安裝和測試MQTT進行IoT通信

    在本教程中,我們將更多地了解 MQTT 及其相關術語。在這里,我們將使用Raspberry Pi 作為本地 MQTT 代理,并通過
    的頭像 發表于 09-06 15:14 ?3061次閱讀
    在<b class='flag-5'>Raspberry</b> <b class='flag-5'>Pi</b>上安裝和測試<b class='flag-5'>MQTT</b>進行IoT通信

    從Alexa控制Raspberry Pi(Linux設備

    電子發燒友網站提供《從Alexa控制Raspberry Pi(Linux設備).zip》資料免費下載
    發表于 12-09 16:18 ?0次下載
    從Alexa<b class='flag-5'>控制</b><b class='flag-5'>Raspberry</b> <b class='flag-5'>Pi</b>(Linux<b class='flag-5'>設備</b>)

    如何使用GPIO引腳將按鈕連接到Raspberry Pi

    電子發燒友網站提供《如何使用GPIO引腳將按鈕連接到Raspberry Pi.zip》資料免費下載
    發表于 12-23 17:04 ?0次下載
    如何使用<b class='flag-5'>GPIO</b>引腳將按鈕連接到<b class='flag-5'>Raspberry</b> <b class='flag-5'>Pi</b>

    Raspberry Pi Pico作為HID鼠標

    電子發燒友網站提供《Raspberry Pi Pico作為HID鼠標.zip》資料免費下載
    發表于 02-01 10:17 ?1次下載
    <b class='flag-5'>Raspberry</b> <b class='flag-5'>Pi</b> Pico<b class='flag-5'>作為</b>HID鼠標

    Raspberry Pi GPIO引腳介紹

    近年來,Raspberry Pi因其可以用作可用于媒體和復古視頻游戲的廉價、兼容的Linux機器以及網絡設備而備受喜愛。
    的頭像 發表于 02-24 18:08 ?3485次閱讀
    <b class='flag-5'>Raspberry</b> <b class='flag-5'>Pi</b> <b class='flag-5'>GPIO</b>引腳介紹

    IO設備接入MQTT

    隨著物聯網的迅速發展,越來越多的IO設備需要與云平臺進行通信,以實現遠程監控和控制。本文將基于EsDA開發套件快速實現將IO設備接入
    的頭像 發表于 09-28 08:26 ?760次閱讀
    <b class='flag-5'>IO</b><b class='flag-5'>設備</b>接入<b class='flag-5'>MQTT</b>
    主站蜘蛛池模板: 欧美激情性AAAAA片欧美| 99久久久免费精品国产| 亚洲免费国产| 99国内精品| 国产精品一区二区人妻无码| 久久www成人看片| 色拍拍噜噜噜啦啦新网站| 永久免费在线看mv| 高挑人妻无奈张开腿| 久色乳综合思思在线视频| 我的好妈妈BD免费观看| 在线 | 果冻国产传媒61国产免费| 父皇轻点插好疼H限| 恋夜秀场1234手机视频在线观看| 侮辱丰满美丽的人妻| 波多野结衣 无码片| 亚洲乱亚洲乱妇13p| hdsex老太婆70| 久久免费精品一区二区| 亚洲 欧美 国产 综合不卡| 成人国内精品久久久久影院| 明星三级电影| 116美女写真午夜电影z| 精品国产午夜福利在线观看蜜月| 甜宠溺H宝贝嗯撞PLAY啊| 不卡一区二区高清观看视频| 免费观看成人www精品视频在线| 在线欧美 精品 第1页| 交换娇妻呻吟声不停中文字幕 | 99热久久视频只有精品6| 久久精品天天中文字幕| 亚洲精品一区国产欧美| 国产精品一区二区AV97| 四虎国产精品永久免费入口| 东京热无码中文字幕av专区| 啪啪激情婷婷久久婷婷色五月| 97午夜精品| 欧美videqsdesex0| 99久久精品国产高清一区二区| 免费人成视频19674不收费| 99精品视频在线免费观看|