娇小w搡bbbb搡bbb,《第一次の人妻》,中国成熟妇女毛茸茸,边啃奶头边躁狠狠躁视频免费观看

首頁(yè) > 微機(jī)單片機(jī) >單片機(jī)制作 > 使用Adafruit IO作為MQTT控制Raspberry Pi GPIO的AC設(shè)備

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

來(lái)源:互聯(lián)網(wǎng)發(fā)布者:司馬缸砸光 關(guān)鍵詞: GPIO MQTT 更新時(shí)間: 2024/05/17

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

所需組件

安裝了 Raspbian Stretch 的 Raspberry Pi。

繼電器模塊

電燈泡

跳線

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

電路原理圖

這個(gè)帶有 MQTT 云和樹(shù)莓派的物聯(lián)網(wǎng)控制家電的電路圖很簡(jiǎn)單,只需在樹(shù)莓派的 GPIO 引腳 35 上連接一個(gè)帶有繼電器模塊的燈泡。

poYBAGMQbOiARbUtAAEGtMapGzc982.png

pYYBAGMQbOSACJgVAAOv-ZWko8o183.png

在樹(shù)莓派上安裝 MQTT 云庫(kù)

這里Adafruit IO 平臺(tái)與 Raspberry Pi 一起用作 MQTT 代理。正如我們?cè)谥暗慕坛讨卸啻问褂肁dafruit IO平臺(tái)一樣,我們可以在 Raspberry Pi 中使用它。

制作儀表板后,在 Raspberry Pi 中安裝一些庫(kù)以開(kāi)始使用 MQTT。

1.首先,通過(guò)發(fā)出以下命令更新您的 Pi 和 Python

sudo apt-get update

sudo apt-get upgrade

sudo pip3 install --upgrade setuptools

2. 現(xiàn)在,使用以下命令安裝 Rpi.gpio 和 Adafruit blink 庫(kù)

sudo pip3 install RPI.GPIO

sudo pip3 install adafruit-blinka

3. 使用以下命令安裝 Adafruit IO 庫(kù)

sudo pip3 安裝 adafruit-io

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

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

5. 然后,通過(guò)在終端中輸入以下命令導(dǎo)航到示例文件夾:

cd Adafruit_IO_Python/examples/basics

如果你不確定你在哪個(gè)目錄,你可以通過(guò)運(yùn)行 pwd來(lái)檢查。

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

poYBAGMQbOCAQUxJAAEBbrfIwWY757.png

切換 Adafruit IO 儀表板上的按鈕,您應(yīng)該在 Pi 的終端中看到以下內(nèi)容。

7. 現(xiàn)在,使用nano編輯器打開(kāi)subscribe.py文件。輸入以下命令打開(kāi)它

須藤納米訂閱.py

我們必須修改這個(gè)程序來(lái)控制儀表板上的任何 GPIO。

MQTT控制樹(shù)莓派GPIO的編碼說(shuō)明

首先,導(dǎo)入所有必需的庫(kù)以使用 GPIO 引腳和 Adafruit MQTT 客戶端。

將 RPi.GPIO 導(dǎo)入為 GPIO
從 Adafruit_IO 導(dǎo)入sys導(dǎo)入 MQTTClient

現(xiàn)在,設(shè)置 GPIO 模式并定義 LED 引腳號(hào)并設(shè)置為輸出。

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

接下來(lái),我們必須設(shè)置在創(chuàng)建儀表板時(shí)找到的 AIO 密鑰和用戶名。

ADAFRUIT_IO_KEY = ’YOUR_AIO_KEY’ 
ADAFRUIT_IO_USERNAME = ’YOUR_AIO_USERNAME’

輸入您為打開(kāi)和關(guān)閉燈而提供的提要名稱。在這里,它是“光”。

FEED_ID = ’光’

現(xiàn)在,定義一個(gè)在有事件發(fā)生時(shí)將被調(diào)用的函數(shù)。因此,我們將使用client.subscribe(FEED_ID)訂閱 Feed

def connec

訂閱提要后,我們必須檢查新值并將其存儲(chǔ)到有效負(fù)載變量中。為此消息函數(shù)被調(diào)用。因此,每當(dāng)有效載荷變量中有“1”時(shí),將 LED 引腳設(shè)為高電平,“0”將其設(shè)為低電平。

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)

現(xiàn)在,創(chuàng)建一個(gè) MQTT 客戶端來(lái)連接 Adafruit IO 平臺(tái)并來(lái)回發(fā)送消息。

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

另外,請(qǐng)注意代碼中的正確縮進(jìn),否則會(huì)顯示錯(cuò)誤。教程末尾給出了完整的 Python 代碼。

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

python訂閱.py

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

現(xiàn)在,確保繼電器模塊與 Raspberry Pi 的 GPIO 引腳連接,然后轉(zhuǎn)到 Adafruit IO 儀表板并更改光饋。收到“ 1”時(shí)燈泡應(yīng)打開(kāi),收到“0”時(shí)應(yīng)關(guān)閉,如下圖所示。

pYYBAGMQbNmAHuEqAAGeFeUC9uw276.png

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

將 RPi.GPIO 作為 GPIO

導(dǎo)入 sys

從 Adafruit_IO 導(dǎo)入 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 數(shù)據(jù)...’)


def 斷開(kāi)連接(客戶端):

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)

# 創(chuàng)建一個(gè) MQTT 客戶端實(shí)例。

client = MQTTClient(ADAFRUIT_IO_USERNAME, ADAFRUIT_IO_KEY)

# 設(shè)置上面定義的回調(diào)函數(shù)。

client.on_connect = 已連接

client.on_disconnect = 已斷開(kāi)

client.on_message = 消息


# 連接到 Adafruit IO 服務(wù)器。

client.connect()

client.loop_blocking()

提問(wèn)/討論

這里還沒(méi)有內(nèi)容,您有什么問(wèn)題嗎?

我要提問(wèn)/討論

電子電路資源推薦

推薦帖子 最新更新時(shí)間:2025-04-10 15:18

EE TALK——你的第一個(gè)藍(lán)牙設(shè)備是什么?
與WiFi無(wú)線網(wǎng)絡(luò)技術(shù)相比, 藍(lán)牙 的優(yōu)勢(shì)是小巧、省電,非常適合體積較小、運(yùn)行功率很低、通信距離不長(zhǎng)的設(shè)備。之前藍(lán)牙標(biāo)準(zhǔn)的版本最高到4.1,而較為普及的是4.0。近日,藍(lán)牙技術(shù)聯(lián)盟(Bluetooth SIG)公布藍(lán)牙4.2核心技術(shù)標(biāo)準(zhǔn),據(jù)悉,新技術(shù)可以增強(qiáng)隱私保護(hù)
 eric_wang消費(fèi)電子
【LPC54100】+ 刷仿真器固件
昨天為了刷套件上的仿真器的固件,我重裝了系統(tǒng) ,原因是一直安裝不上的 net framework 4.5.1, 。如下圖的提示: 我嘗試了各種方法也不行,最總還是痛下心來(lái)重裝了系統(tǒng),最后成功安裝了軟件并升級(jí)的板子上自帶的仿真器的固件。這次的用到刷固件的軟件是 LPC-
 強(qiáng)仔00001NXP MCU
dsp寫外部的sram
dsp寫外部的sram,通過(guò)ccs中的memory來(lái)觀察寫進(jìn)去的結(jié)果。 但是現(xiàn)在的問(wèn)題是: 對(duì)一個(gè)地址寫操作,但是所有的地址內(nèi)容都變化。 例如:給地址0寫數(shù)據(jù)0x20,memory中顯示的是所有地址內(nèi)容都變成20。 可能是什么原因啊 希望大家提點(diǎn)意見(jiàn) dsp寫外部的sram 感
 lilove751嵌入式系統(tǒng)
TI的NFC參考設(shè)計(jì)電路圖
TI的NFC參考設(shè)計(jì)電路圖
 dontium無(wú)線連接
請(qǐng)幫忙推薦一個(gè)PIC單片機(jī)
之前用過(guò)PIC16系列16PIN的單片機(jī), 現(xiàn)在做一個(gè)新項(xiàng)目,要用到28PIN的單片機(jī),請(qǐng)高手指點(diǎn), 要求: 1.PIC16系列,28PIN, 2.10位AD,最多用3個(gè), 3.EEPROM不用, 4.價(jià)格在5RMB以下,方便采購(gòu) 請(qǐng)幫忙推薦一個(gè)PIC單片機(jī) 既然用過(guò),直接找代理
 opal11Microchip MCU
【學(xué)習(xí)Sitara™ AM335x】- booting linux
【學(xué)習(xí)Sitara™ AM335x】- booting linux 這個(gè)PPT是從哪下載的 我想要一份 請(qǐng)版主成全
 chenzhuflyDSP 與 ARM 處理器

 
EEWorld訂閱號(hào)

 
EEWorld服務(wù)號(hào)

 
汽車開(kāi)發(fā)圈

 
機(jī)器人開(kāi)發(fā)圈

About Us 關(guān)于我們 客戶服務(wù) 聯(lián)系方式 器件索引 網(wǎng)站地圖 最新更新 手機(jī)版 版權(quán)聲明

EEWORLD 電路圖 站點(diǎn)相關(guān): 下載中心 Datasheet 參考設(shè)計(jì)

北京市海淀區(qū)中關(guān)村大街18號(hào)B座15層1530室 電話:(010)82350740 郵編:100190

電子工程世界版權(quán)所有 京B2-20211791 京ICP備10001474號(hào)-1 電信業(yè)務(wù)審批[2006]字第258號(hào)函 京公網(wǎng)安備 11010802033920號(hào) Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
主站蜘蛛池模板: 大冶市| 湖口县| 鱼台县| 漯河市| 山阴县| 濮阳县| 新疆| 新河县| 高雄市| 华池县| 双城市| 泉州市| 乌审旗| 自治县| 和平区| 靖西县| 眉山市| 自治县| 华宁县| 昌邑市| 和硕县| 铜鼓县| 青铜峡市| 泾川县| 陕西省| 铁岭市| 泾川县| 如东县| 方正县| 介休市| 怀仁县| 铁岭县| 新郑市| 桓台县| 桓仁| 威远县| 泌阳县| 高州市| 博爱县| 洛宁县| 余江县|