99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

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

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

3天內不再提示

「行空板Python入門教程」第九課-智慧農業(yè)物聯網系統(tǒng)2

創(chuàng)客生活 ? 來源:創(chuàng)客生活 ? 作者:創(chuàng)客生活 ? 2022-06-23 11:19 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

5G元年的列車早已駛出,人工智能、大數據的浪潮還在涌動,云辦公、云問診成為防疫期間的熱詞。

現如今,物聯網技術正處于時代發(fā)展的風口,相較于傳統(tǒng)的硬件設備,物聯網技術使得各種硬件設備能夠通過信息傳輸設備與互聯網連接起來,繼而進行信息的傳遞,以實現智能化識別與管理,為人們的日常生活帶來便捷。

在上節(jié)課中,我們利用行空板設計了一個智慧農業(yè)可視化系統(tǒng),模擬了對農業(yè)中莊稼生長環(huán)境的實時監(jiān)測和改善,然而,在這其中,監(jiān)測到的數據只能顯示在行空板的屏幕上,我們必須走近行空板方能進行觀察,很不方便。那有什么辦法能讓我們待在家中,遠程就能知曉實時的環(huán)境數據呢?

這節(jié)課,就讓我們試著利用強大的物聯網技術,用DFRobot的行空板來模擬一個智慧農業(yè)物聯網系統(tǒng),解決這個問題吧!

任務目標

將通過土壤濕度傳感器檢測到的濕度值顯示在屏幕上,同時,開啟SIoT物聯網系統(tǒng),將數據同步傳輸到物聯網平臺以便進行查看,當觀察到的土壤濕度值不佳時,通過在物聯網平臺的網頁端輸入指定字符“on”和“off”來控制繼電器和水泵澆水。

poYBAGKz27uAIIjKAABjCvK7ygQ945.pngpYYBAGKz27uAc3tTAAAvIpTXni8654.jpg

知識點

1、認識物聯網、MQTT、SIoT

2、學習使用SIoT庫連接物聯網平臺的方法

3、學習使用SIoT庫向物聯網平臺發(fā)送消息的方法

4、學習使用SIoT庫接收物聯網平臺消息的方法

材料清單

硬件清單:

poYBAGKz27yAL5SNAACYj3bik98971.jpg

軟件使用:Mind+編程軟件x1

其他:

1、帶植物的花盆 x1

2、盛有水的燒杯 x1

3、十字/一字兩用螺絲刀 x1

知識儲備

1、物聯網

物聯網(Internet of Things,簡稱IoT)是借助互聯網、傳統(tǒng)電信網等信息承載體,讓所有能行使獨立功能的普通物體實現互聯互通的網絡。

物聯網是互聯網的一個延伸,互聯網的終端是計算機(PC、服務器),而物聯網的終端是硬件設備(手機、電腦、傳感器等等)。通過物聯網,我們可以用中心計算機將各種機器、設備連接起來,進行集中管理,實現物物相連。比如,將家中的燈、風扇、空調等電器連入物聯網中后可以通過手機來控制它們開關。

2、MQTT

計算機為了聯網,就必須規(guī)定通信協(xié)議,就好比一群不同國家的人在一塊兒,只有說同一種語言才能實現互相交流。同樣地,要想實現萬物互聯,也需要一套協(xié)議。事實上,物聯網系統(tǒng)的搭建可通過很多協(xié)議來實現,常用的物聯網應用層協(xié)議包括MQTT、HTTP、XMPP、CoAP等。這里我們采用的是MQTT,通過該協(xié)議,我們可以在物聯網上傳輸消息。

MQTT是一個基于客戶端-服務器的消息發(fā)布/訂閱傳輸協(xié)議,服務器就是我們要搭建的物聯網平臺的載體??蛻舳丝梢允切畔l(fā)布者或訂閱者。每個客戶端都可以連接到服務器。舉個例子,郵局大家都不陌生,我們可以到郵局寄信和收信。當我們寄信時,對于郵局而言我們就是信息發(fā)布者,當收信時我們就成了訂閱者。同時,無論是寄信者還是收信者,我們都是客戶。而郵局這個收寄信的平臺就是所謂的服務器,為我們提供收信和寄信的服務。

poYBAGKz27yAeXLAAAAaiqqVk7E452.jpg

當發(fā)布者具有要分發(fā)的新數據時,它會將包含數據的控制消息發(fā)送到服務器。然后,服務器將信息分發(fā)給已訂閱該主題的任何客戶端。發(fā)布者不需要有關于訂閱者數量或位置的任何數據,而訂閱者又不必配置有關發(fā)布者的任何數據。

pYYBAGKz27yAOvPyAAAUxagNfwM691.jpg

另外,MQTT傳輸的消息可分為:Topic和payload兩部分

(1)Topic,可以理解為消息的類型,訂閱者訂閱后,就會收到該主題的消息內容(Payload);

(2)payload,可以理解為消息的內容,是指訂閱者具體要接收的內容。

3、SIoT

SIoT是一個為教育定制的跨平臺的開源MQTT服務器程序,S指科學(science)、簡單(simple)的意思。SIoT支持Win10、Win7、Mac、Linux操作系統(tǒng),一鍵啟動,無需用戶注冊或者系統(tǒng)設置即可使用。

SIoT也是為了幫助中小學生理解物聯網原理,并且能夠基于物聯網技術開發(fā)各種創(chuàng)意應用。因為其重點關注物聯網數據的收集和導出,是采集科學數據的最好選擇之一。

poYBAGKz272ADCciAAAh671VJ18089.png

這里,于行空板而言,SIoT應用程序已經被內置在了板子上,因此在使用時,我們可直接在應用開關內通過點擊它來開啟服務。同時,為了便于它的使用,我們開發(fā)了名為“SIoT”的Python庫,旨在通過編寫Python程序來連接MQTT服務器以及實現消息的傳輸。

在實際使用時,開啟SIoT服務的行空板我們就可以當作一臺服務器,連接傳感器以檢測數據的行空板(設備)我們可以當作客戶端。

pYYBAGKz272AH4xzAAAZIea2ZdI331.jpg

而如果在同一塊板子上既開啟SIoT服務,又連接傳感器來檢測數據,那么它既是客戶端又是服務器。

poYBAGKz272ABMc3AAAfYgXyt-s726.jpg

Tips:在這節(jié)課上,我們將通過一塊板子來實現物聯網功能,而下節(jié)課中,我們將使用三塊板子來模擬多節(jié)點的物聯網系統(tǒng)。

4、SIoT庫常見函數

(1)init()、connect()、loop()函數初始化并連接物聯網平臺

SIoT庫中的init()函數可以用來初始化與物聯網平臺的連接,使用前,我們首先需要導入庫,之后設定好連接物聯網平臺所需的參數,包括服務器IP地址、物聯網平臺的賬號用戶名、賬號對應的密碼,接著使用init()函數進行連接驗證,驗證成功后再通過connect()和loop()函數進行與平臺的連接。

import siot # 導入SIoT庫

SERVER = "10.1.2.3" # MQTT服務器IP,輸入個人實際Ip

CLIENT_ID = "" # 在SIoT上,CLIENT_ID可以留空

IOT_UserName = 'siot' # 用戶名

IOT_PassWord = 'dfrobot' # 密碼

siot.init(CLIENT_ID, SERVER, user=IOT_UserName,password=IOT_PassWord) # 初始化,確定輸入的用戶名和密碼正確

siot.connect() # 連接SIoT物聯網平臺

siot.loop() # 循環(huán)

其中,SERVER指的是開啟siot服務用以連接的服務器的IP地址;CLIENT_ID指的是客戶端標識符,它是客戶端到服務器的唯一標識,這里我們可以不輸入內容; user指的是物聯網平臺賬戶的用戶名;password指賬號對應的密碼。

(2)publish()函數向物聯網平臺發(fā)送消息

在連接上SIoT物聯網平臺后,通過SIoT庫的publish函數可以實現將消息發(fā)送到平臺,使用時需要先后指定發(fā)送的主題Topic(目的地)和發(fā)送的消息內容。

IOT_pubTopic = '智慧農業(yè)物聯網系統(tǒng)/Soil_moisture_value' # 濕度topic,“項目名稱/設備名稱”

Soil_moisture_value = adc0.read_analog() # 讀取模擬值

siot.publish(IOT_pubTopic, Soil_moisture_value) # 發(fā)布信息至物聯網平臺

其中,IOT_pubTopic指主題Topic,包括項目ID和設備名稱;Soil_moisture_value指要發(fā)送的土壤濕度數據消息。

Tips:SIoT平臺上同時用Topic表示了項目ID和設備名稱,因此Topic中需要有“/”符號將兩者分開,否則物聯網平臺看不到項目。

(3)subscribe()函數訂閱物聯網平臺消息

在連接上SIoT物聯網平臺后,通過SIoT庫的subscribe()函數可以訂閱平臺發(fā)送來的消息,使用時需要先后指定發(fā)送的主題Topic(目的地)以及接收到平臺消息后所要執(zhí)行的操作。

IOT_pubTopic = '智慧農業(yè)物聯網系統(tǒng)/Soil_moisture_value' # 濕度topic,“項目名稱/設備名稱”

def sub_relay(client, userdata, msg):

topic = msg.topic

payload = msg.payload.decode()

'''定義接收到指令時的操作'''

print("\nTopic:" + topic + " Message:" + payload) # 打印接收到的信息

if payload == 'on': # 如果接收到“on”

img.config(w=240, h=320, image='img/澆水1.png')

relay.write_digital(1) # 繼電器輸出高電平

elif payload == 'off': # 如果接收到“off”

img.config(w=240, h=320, image='img/關水1.png')

relay.write_digital(0) # 繼電器輸出低電平

siot.subscribe(IOT_pubTopic, sub_relay) # 訂閱消息

其中,IOT_pubTopic指主題Topic,包括項目ID和設備名稱;sub_relay是定義的接收到平臺消息后所要執(zhí)行的功能函數;msg.topic指的是消息中的Topic主題;msg.payload指的是消息的內容;decode()是將消息內容轉換為字符串方便后續(xù)條件判斷。

動手實踐

任務描述1:發(fā)送濕度數據至SIoT物聯網平臺

啟動SIoT物聯網系統(tǒng),通過外接土壤濕度傳感器檢測濕度值后,將數據顯示在屏幕上的同時也發(fā)送至SIoT物聯網平臺并在平臺網頁端查看。

1、硬件搭建

STEP1:通過USB連接線將行空板連接到計算機

STEP2:將土壤濕度傳感器接入行空板的P21引腳

pYYBAGKz272AIUahAAAicM-7Ogo230.jpg

STEP3:將土壤濕度傳感器插入花盆中

poYBAGKz272AKfwJAAAbW_A0de0902.jpg

STEP4:啟動SIoT服務

按下HOME鍵進入菜單,單擊“應用開關”,找到SIoT應用后點擊啟用,如下圖所示。

pYYBAGKz272Ad7wZAABkKA1Zmg8215.jpg

STEP5:查看ip并記錄

按下HOME鍵進入菜單,單擊“查看網絡信息”,找到SIoT應用后點擊啟用,如下圖所示。

Tips:“10.1.2.3”為板子通過USB線連接電腦后的固定IP地址。這里我們將它記錄下來,后續(xù)有用。

poYBAGKz276AOJ2XAABcNiW1rNk388.jpg

2、程序編寫

STEP1:創(chuàng)建與保存項目文件

啟動Mind+,另存項目并命名為“009、智慧農業(yè)物聯網系統(tǒng)”。

STEP2:創(chuàng)建與保存Python文件

創(chuàng)建一個Python程序文件“main1.py”,雙擊打開。

STEP3:導入圖片文件夾

在項目文件夾中導入背景圖文件夾。(圖片文件夾與程序文件同在項目文件夾中,下載鏈接見附錄1)

STEP4:程序編寫

(1) 導入所需功能庫

在這個任務中,我們需要使用Pinpong庫來使土壤濕度傳感器讀取數值并顯示在屏幕上,因此,我們需要導入Pinpong庫和unihiker庫中的GUI模塊,同時,為了能將數據實時發(fā)送至SIoT物聯網平臺,我們還需導入SIoT庫。

from unihiker import GUI # 導入unihiker庫GUI模塊from pinpong.board import Board, Pin # 導入pinpong庫下的Board, Pin模塊import time # 導入time庫import siot # 導入SIoT庫

(2) 實例化GUI類并初始化板子和引腳

之后我們創(chuàng)建gui對象并初始化板子和引腳以便后續(xù)能使用屏幕功能和控制傳感器工作。

gui = GUI() # 實例化gui對象 Board().begin() # 初始化行空板adc0 = Pin(Pin.P21, Pin.ANALOG) # 初始化21引腳為模擬輸入模式

(3) 設置參數并連接SIoT平臺

接下來,我們將創(chuàng)建與SIoT物聯網平臺的連接,在這之前,我們先設定好連接時所需要的參數,包括ip地址,CLIENT_ID,用戶名,密碼以及topic,之后進行連接并保持連接狀態(tài)。

Tips:這里的IP地址為之前記錄的“10.1.2.3”。

SERVER = "10.1.2.3" # MQTT服務器IP,輸入個人實際Ip CLIENT_ID = "" # 在SIoT上,CLIENT_ID可以留空IOT_UserName = 'siot' # 用戶名IOT_PassWord = 'dfrobot' # 密碼IOT_pubTopic = '智慧農業(yè)物聯網系統(tǒng)/Soil_moisture_value' # 濕度topic,“項目名稱/設備名稱” siot.init(CLIENT_ID, SERVER, user=IOT_UserName,password=IOT_PassWord) # 初始化,確定輸入的用戶名和密碼正確siot.connect() # 連接SIoT物聯網平臺siot.loop() # 循環(huán)

(4) 顯示背景圖、填充矩形和初始文字

緊接著,我們在行空板的屏幕上顯示一張背景圖,并添加填充矩形和初始文字,以便后續(xù)直接在此更新數據顯示。

# 顯示背景圖片img = gui.draw_image(w=240, h=320, image='img/關水1.png') # 繪制填充矩形并在矩形框內顯示文字gui.fill_rect(x=65, y=35, w=70, h=30, color="white") # 繪制矩形“濕度值”gui.fill_rect(x=148, y=35, w=55, h=30, color="white") # 繪制矩形以顯示濕度值數據 text_1 = gui.draw_text(x=68, y=36, color="red", text='濕度值:') # 顯示"濕度值:"text_value = gui.draw_text(x=155, y=36, color="red", text="") # 顯示濕度值數據

(5) 檢測土壤濕度并將數據顯示在屏幕及發(fā)送到SIoT物聯網平臺

最后,我們設置通過傳感器來讀取檢測數據,將濕度值發(fā)送到物聯網平臺的同時也顯示在屏幕上,而為了使得上述操作能每隔一秒不停地執(zhí)行,這里,我們使用while語句。

while True: # 循環(huán) Soil_moisture_value = adc0.read_analog() # 讀取模擬值 print(Soil_moisture_value) # 打印顯示濕度值 siot.publish(IOT_pubTopic, Soil_moisture_value) # 發(fā)布信息至物聯網平臺 text_value.config(text=Soil_moisture_value) # 更新濕度值 time.sleep(1) # delay1秒

Tips:完整示例程序如下:

from unihiker import GUI # 導入unihiker庫GUI模塊from pinpong.board import Board, Pin # 導入pinpong庫下的Board, Pin模塊import time # 導入time庫import siot # 導入SIoT庫 gui = GUI() # 實例化gui對象 Board().begin() # 初始化行空板adc0 = Pin(Pin.P21, Pin.ANALOG) # 初始化21引腳為模擬輸入模式 SERVER = "10.1.2.3" # MQTT服務器IP,輸入個人實際Ip CLIENT_ID = "" # 在SIoT上,CLIENT_ID可以留空IOT_UserName = 'siot' # 用戶名IOT_PassWord = 'dfrobot' # 密碼IOT_pubTopic = '智慧農業(yè)物聯網系統(tǒng)/Soil_moisture_value' # 濕度topic,“項目名稱/設備名稱” siot.init(CLIENT_ID, SERVER, user=IOT_UserName,password=IOT_PassWord) # 初始化,確定輸入的用戶名和密碼正確siot.connect() # 連接SIoT物聯網平臺siot.loop() # 循環(huán) # 顯示背景圖片img = gui.draw_image(w=240, h=320, image='img/關水1.png') # 繪制填充矩形并在矩形框內顯示文字gui.fill_rect(x=65, y=35, w=70, h=30, color="white") # 繪制矩形“濕度值”gui.fill_rect(x=148, y=35, w=55, h=30, color="white") # 繪制矩形以顯示濕度值數據 text_1 = gui.draw_text(x=68, y=36, color="red", text='濕度值:') # 顯示"濕度值:"text_value = gui.draw_text(x=155, y=36, color="red", text="") # 顯示濕度值數據 while True: # 循環(huán) Soil_moisture_value = adc0.read_analog() # 讀取模擬值 print(Soil_moisture_value) # 打印顯示濕度值 siot.publish(IOT_pubTopic, Soil_moisture_value) # 發(fā)布信息至物聯網平臺 text_value.config(text=Soil_moisture_value) # 更新濕度值 time.sleep(1) # delay1秒

3、程序運行

STEP1:遠程連接行空板,運行程序并觀察效果

觀察行空板,可以看到在智慧農業(yè)的背景圖上,每隔一秒顯示著檢測到的土壤濕度值。

pYYBAGKz276AZX60AACiCzAfvHg284.png

STEP2:平臺網頁端查看消息

(1)打開瀏覽器,輸入“10.1.2.3”后回車,進入行空板的網頁菜單,找到應用開關下的SIoT服務,點擊“打開頁面”。

poYBAGKz276ADYz4AABPBumLAbM709.jpg

(2)輸入默認的賬號“siot”,密碼“dfrobot”,點擊登錄

pYYBAGKz27-ASkajAAAZGX6rmDo194.jpgpoYBAGKz27-AZ60sAAAZKgMo3Us500.jpg

(3)點擊“智慧農業(yè)物聯網系統(tǒng)”項目下的“查看設備列表”

pYYBAGKz27-ALOLNAAAbIdXI0ns075.jpg

可以看到“項目ID”、“名稱”分別對應為程序中“IOT_pubTopic”的信息

poYBAGKz27-AXPaCAAAZuvNa3h0081.jpg

(4)點擊“查看消息”

pYYBAGKz27-ARrtFAAAZXE65uBE181.jpg

隨后我們就可以查看到“智慧農業(yè)物聯網系統(tǒng)/Soil_moisture_value”這個Topic的MQTT消息記錄啦,并伴有具體的消息內容及發(fā)送時間,這就是我們檢測到的該時刻的土壤濕度值,如下圖。

poYBAGKz27-AcVGUAAAk1rtONp0523.jpg

(5)點擊“自動刷新消息”

pYYBAGKz27-AWQTsAAAeEOxdo6M874.jpg

通過刷新消息,我們發(fā)現土壤濕度數據每隔一秒進行了更新,如下圖,

poYBAGKz28CAZWFTAABYD3OZGI0800.jpg

(6)點擊“隱藏/顯示圖標”

點擊后,我們可以發(fā)現數據以圖表的形式呈現了出來,如下圖。

pYYBAGKz28CANjBBAABAk3zjMWw815.jpg

(7)點擊“導出查詢結果”

這里我們可以將數據以表格的形式下載下來以便后續(xù)作進一步分析。

poYBAGKz28CAQXsdAAAvFEFPWHI138.jpg

任務描述2:平臺網頁端控制澆水

在上一任務中,我們實現了將土壤濕度傳感器檢測到的數據上傳到SIoT物聯網平臺,并從平臺的網頁端實時查看濕度值,接下來,我們給板子添加訂閱平臺消息的功能,使得我們能夠在土壤較干燥的時候通過SIoT物聯網平臺的網頁端來及時控制澆水。

1、硬件搭建

STEP1:將繼電器接入行空板的P23引腳

pYYBAGKz28CAaRjoAAA84ZZKeVg667.jpg

STEP2:利用螺絲刀將水泵正負線與轉接頭連接起來,具體步驟同上節(jié)課。

poYBAGKz28CAHcEgAAAaHpddjSw287.jpg

STEP3:利用繼電器將12V電源開關與水泵的轉接頭連接起來

pYYBAGKz28CAJi2mAAAsmk0O7Xk902.jpg

STEP4:將繼電器開關撥至NC端

poYBAGKz28GAT1XoAAAxKj_zTs4038.png

STEP5:將水泵固定在滿水的燒杯中

pYYBAGKz28GAIuJ9AAB_FoUDTOw655.png

STEP6:將水管插入花盆中

poYBAGKz28GAb2iQAAAdIPMyAvc464.jpg

2、程序編寫

STEP1:創(chuàng)建與保存項目文件

新建一個Python程序文件“main2.py”,雙擊打開。

Step2:程序編寫

(1)初始化引腳

這里,由于我們將使用繼電器控制水泵進行澆水,因此我們需要補充對繼電器引腳的初始化操作,設置其23號引腳為數字輸出模式。

relay = Pin(Pin.P23, Pin.OUT) # 初始化23引腳為數字輸出模式

(2)定義接收到平臺消息后的操作

由于后續(xù)我們將接收平臺發(fā)送的消息,當消息為“on”時,控制繼電器輸出高電平來澆水,當消息為“off”時,控制繼電器輸出低電平停止?jié)菜R虼嗽谶@里,我們補充定義一個回調函數,來表示接收到平臺消息后需執(zhí)行的操作,以便在后續(xù)調用。

def sub_relay(client, userdata, msg): topic = msg.topic payload = msg.payload.decode() '''定義接收到指令時的操作''' print("\nTopic:" + topic + " Message:" + payload) # 打印接收到的信息 if payload == 'on': # 如果接收到“on” img.config(w=240, h=320, image='img/澆水1.png') relay.write_digital(1) # 繼電器高電平 elif payload == 'off': # 如果接收到“off” img.config(w=240, h=320, image='img/關水1.png') relay.write_digital(0) # 繼電器低電平

(3)訂閱平臺發(fā)送的消息

最后,為了能接收到物聯網平臺發(fā)送的消息,這里,我們在連接上平臺后補充一下對消息的訂閱。

siot.subscribe(IOT_pubTopic, sub_relay) # 訂閱消息

Tips:完整示例程序如下:

from unihiker import GUI # 導入unihiker庫GUI模塊from pinpong.board import Board, Pin # 導入pinpong庫下的Board, Pin模塊import time # 導入time庫import siot # 導入SIoT庫 gui = GUI() # 實例化gui對象 Board().begin() # 初始化行空板adc0 = Pin(Pin.P21, Pin.ANALOG) # 初始化21引腳為模擬輸入模式relay = Pin(Pin.P23, Pin.OUT) # 初始化23引腳為數字輸出模式 SERVER = "10.1.2.3" # MQTT服務器IP,輸入個人實際IP CLIENT_ID = "" # 在SIoT上,CLIENT_ID可以留空IOT_UserName = 'siot' # 用戶名IOT_PassWord = 'dfrobot' # 密碼IOT_pubTopic = '智慧農業(yè)物聯網系統(tǒng)/Soil_moisture_value' # 濕度topic,“項目名稱/設備名稱” def sub_relay(client, userdata, msg): topic = msg.topic payload = msg.payload.decode() '''定義接收到指令時的操作''' print("\nTopic:" + topic + " Message:" + payload) # 打印接收到的信息 if payload == 'on': # 如果接收到“on” img.config(w=240, h=320, image='img/澆水1.png') relay.write_digital(1) # 繼電器輸出高電平 elif payload == 'off': # 如果接收到“off” img.config(w=240, h=320, image='img/關水1.png') relay.write_digital(0) # 繼電器輸出低電平 siot.init(CLIENT_ID, SERVER, user=IOT_UserName,password=IOT_PassWord) # 初始化,確定輸入的用戶名和密碼正確siot.connect() # 連接SIoT物聯網平臺siot.subscribe(IOT_pubTopic, sub_relay) # 訂閱消息siot.loop() # 循環(huán) # 顯示背景圖片img = gui.draw_image(w=240, h=320, image='img/關水1.png') # 繪制填充矩形并在矩形框內顯示文字gui.fill_rect(x=65, y=35, w=70, h=30, color="white") # 繪制矩形“濕度值”gui.fill_rect(x=148, y=35, w=55, h=30, color="white") # 繪制矩形以顯示濕度值數據 text_1 = gui.draw_text(x=68, y=36, color="red", text='濕度值:') # 繪制矩形“濕度值”text_value = gui.draw_text(x=155, y=36, color="red", text="") # 顯示濕度值數據 while True: # 循環(huán) Soil_moisture_value = adc0.read_analog() # 讀取模擬值 print(Soil_moisture_value) # 打印顯示濕度值 siot.publish(IOT_pubTopic, Soil_moisture_value) # 發(fā)布信息至物聯網平臺 text_value.config(text=Soil_moisture_value) # 更新濕度值 time.sleep(1) # delay1秒

3、程序運行

STEP1:將12V電源開關插上220V電源插座

STEP2:遠程連接行空板,運行程序并觀察效果

觀察行空板,可以發(fā)現濕度值依舊不停得更新顯示在屏幕上。

pYYBAGKz276AZX60AACiCzAfvHg284.png

STEP3:平臺發(fā)送消息

觀察檢測到的突然濕度數據,當濕度值過低時,我們在網頁端指定位置輸入“on”,并點擊發(fā)送,可以發(fā)現繼電器開始工作,控制水泵不斷將燒杯中的水抽入花盆中。

pYYBAGKz27uAc3tTAAAvIpTXni8654.jpgpYYBAGKz28GAfhjIAAAgQPomPJw129.jpg

之后,當水量合適后,我們再在消息框中輸入“off”,點擊發(fā)送后,可以發(fā)現水泵停了下來。

poYBAGKz28GASw4NAAAvN_tJVUc889.jpgpYYBAGKz28GAeIfAAAAhD1OCioE241.jpg

挑戰(zhàn)自我

想一想,在農業(yè)系統(tǒng)中,還有哪些因素是會影響莊稼生長的呢,我們有何方法來檢測它嗎,自己來研究一下吧,并結合物聯網平臺,試著以遠程的方式分析一下它對莊稼的影響規(guī)律吧!

更多行空板Python入門教程學習請關注“蘑菇云創(chuàng)造”公眾號。

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

    關注

    2931

    文章

    46264

    瀏覽量

    392931
  • 溫濕度傳感器

    關注

    5

    文章

    601

    瀏覽量

    36543
  • python
    +關注

    關注

    56

    文章

    4827

    瀏覽量

    86830
  • 智慧農業(yè)

    關注

    4

    文章

    820

    瀏覽量

    20502
  • DFRobot
    +關注

    關注

    4

    文章

    1161

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    智慧農業(yè)聯網解決方案以及應用場景

    隨著科技的不斷進步與農業(yè)現代化的深入發(fā)展,傳統(tǒng)農業(yè)生產模式逐漸暴露出效率低、資源浪費嚴重、環(huán)境可控性差等問題。智慧農業(yè)
    的頭像 發(fā)表于 06-27 11:23 ?191次閱讀

    聯網的應用范圍有哪些?

    與及時維護,提高醫(yī)院的運營效率。 農業(yè)生產:智慧農業(yè)利用聯網實現精準種植與養(yǎng)殖。在農業(yè)種植中,
    發(fā)表于 06-16 16:01

    明晚七點!手把手教你做PC第九課:全功能TypeC驅動框架適配

    《手把手教你做PC》系列直播再度開播!《KaihongOS筆記本電腦開發(fā)實戰(zhàn)第九課:全功能TypeC驅動框架適配》將于5月21日19:00開播↑掃碼入群,領課程講義資料包↑深開鴻資深工程師親臨直播
    的頭像 發(fā)表于 05-20 08:07 ?144次閱讀
    明晚七點!手把手教你做PC<b class='flag-5'>第九課</b>:全功能TypeC驅動框架適配

    KaihongOS筆記本電腦開發(fā)實戰(zhàn)第九節(jié):全功能TypeC驅動框架適配

    《手把手教你做PC》系列直播再度開播 !《 KaihongOS筆記本電腦開發(fā)實戰(zhàn)第九節(jié):全功能TypeC驅動框架適配》將于5月21日19:00開播 ↑掃碼入群,領課程講義資料包↑ 深開鴻資深
    發(fā)表于 05-19 18:29

    明遠智睿SSD2351開發(fā):儀器儀表與智慧農業(yè)的創(chuàng)新利器

    在儀器儀表和智慧農業(yè)領域,對設備的精度、穩(wěn)定性和智能化程度有著較高的要求。明遠智睿的SSD2351開發(fā)以其獨特的優(yōu)勢,成為這兩個領域的創(chuàng)新利器。 在儀器儀表方面,SSD2351開發(fā)
    發(fā)表于 05-09 19:09

    智慧消防聯網平臺

    本人想建立一個聯網智慧消防平臺,想找懂技術的有合伙意愿的共同投資開發(fā),有感興趣的聯系我13633612945
    發(fā)表于 04-15 22:18

    智慧農業(yè)LoRa遠程監(jiān)控聯網解決方案

    適宜的生長環(huán)境,從而提高農作物的產量和品質,降低生產成本,實現農業(yè)生產的智能化、信息化和高效化。 基于聯網、云計算與LoRa無線通信等技術,通博聯提供
    的頭像 發(fā)表于 01-15 16:16 ?682次閱讀
    <b class='flag-5'>智慧</b><b class='flag-5'>農業(yè)</b>LoRa遠程監(jiān)控<b class='flag-5'>物</b><b class='flag-5'>聯網</b>解決方案

    OFweek2024 第九聯網產業(yè)大會圓滿收官!

    OFweek?2024 第九聯網產業(yè)大會圓滿收官! 2024年12 月19日,由OFweek維科網主辦,OFweek聯網承辦的“OFw
    的頭像 發(fā)表于 12-26 14:51 ?757次閱讀
    OFweek2024 <b class='flag-5'>第九</b>屆<b class='flag-5'>物</b><b class='flag-5'>聯網</b>產業(yè)大會圓滿收官!

    農業(yè)聯網:助力智慧農業(yè)發(fā)展

    在科技日新月異的今天,農業(yè)聯網作為智慧農業(yè)的重要組成部分,正在改變著傳統(tǒng)農業(yè)的面貌。
    的頭像 發(fā)表于 12-12 15:13 ?432次閱讀

    智慧農業(yè)平臺:推動農業(yè)現代化的科技力量

    的信息化支持。 智慧農業(yè)平臺的定義 智慧農業(yè)平臺是一種基于現代信息技術和智能化設備的農業(yè)管理系統(tǒng)
    的頭像 發(fā)表于 10-15 16:25 ?665次閱讀

    智慧農業(yè)聯網網關是什么

    隨著科技的飛速發(fā)展,智慧農業(yè)的概念正逐步從理論走向實踐,其中聯網技術扮演了至關重要的角色。智慧農業(yè)
    的頭像 發(fā)表于 09-20 14:36 ?789次閱讀
    <b class='flag-5'>智慧</b><b class='flag-5'>農業(yè)</b><b class='flag-5'>物</b><b class='flag-5'>聯網</b>網關是什么

    基于聯網網關的智慧農業(yè)數據采集與管理系統(tǒng)方案

    數據隨后被聯網網關集成并優(yōu)化傳輸至數據處理中心,利用數據分析工具和智能算法進行深度剖析。 對此,通博聯提供基于聯網網關的
    的頭像 發(fā)表于 09-20 10:50 ?891次閱讀
    基于<b class='flag-5'>物</b><b class='flag-5'>聯網</b>網關的<b class='flag-5'>智慧</b><b class='flag-5'>農業(yè)</b>數據采集與管理<b class='flag-5'>系統(tǒng)</b>方案

    智慧農業(yè)旱澇災害監(jiān)測聯網解決方案

    隨著全球氣候變化的加劇,極端天氣事件如干旱與洪澇頻發(fā),對農業(yè)生產構成了嚴峻挑戰(zhàn)。為了有效應對這些自然災害,提高農業(yè)生產的穩(wěn)定性和可持續(xù)性,智慧農業(yè)中的旱澇災害監(jiān)測
    的頭像 發(fā)表于 09-18 15:18 ?597次閱讀
    <b class='flag-5'>智慧</b><b class='flag-5'>農業(yè)</b>旱澇災害監(jiān)測<b class='flag-5'>物</b><b class='flag-5'>聯網</b>解決方案

    農業(yè)聯網:結合聯網技術的智慧農業(yè)

    農業(yè)聯網是指將聯網技術應用于農業(yè)領域,通過傳感器、無線通信、云計算等新技術手段,實現對
    的頭像 發(fā)表于 09-14 17:07 ?767次閱讀

    精準洞察農田生態(tài),智慧農業(yè)聯網環(huán)境監(jiān)測與數據采集系統(tǒng)來襲

    智慧農業(yè)聯網環(huán)境監(jiān)測傳感器數據采集系統(tǒng)是一套集成了先進技術的農業(yè)監(jiān)測解決方案,旨在為農田提供精
    的頭像 發(fā)表于 08-05 18:42 ?966次閱讀
    精準洞察農田生態(tài),<b class='flag-5'>智慧</b><b class='flag-5'>農業(yè)</b><b class='flag-5'>物</b><b class='flag-5'>聯網</b>環(huán)境監(jiān)測與數據采集<b class='flag-5'>系統(tǒng)</b>來襲