電子發(fā)燒友App

硬聲App

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

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>電子資料>用植物溫度監(jiān)測系統(tǒng)建造智能花園

用植物溫度監(jiān)測系統(tǒng)建造智能花園

2022-12-26 | zip | 2.37 MB | 次下載 | 免費(fèi)

資料介紹

描述

如今,我們忘記了滋養(yǎng)和澆灌讓我們的家變得干凈舒適的植物。如果植物能夠說話并根據(jù)溫度告訴他們需要多少水,那就太好了。如果我們在手機(jī)上收到有關(guān)植物健康和需求的通知,那將非常有幫助。考慮到這一點(diǎn),我們想到了用植物溫度監(jiān)測系統(tǒng)建造一個智能花園的想法。它定期檢查落在植物上的陽光強(qiáng)度。處理完數(shù)據(jù)后,會發(fā)送一條關(guān)于植物健康狀況的短信。它將使我們的生活變得簡單和輕松,也將幫助我們更好地照顧我們的植物。讓我們開始吧!

注意:如果超過閾值水平,我們使用 TWILIO 為我們提供消息服務(wù)。TWILIO 為我們提供了“SID NO”、“AUTH TOKEN”、用于通信的號碼、“API KEY”。

代碼說明:

在代碼中,我們首先必須導(dǎo)入包含所有憑據(jù)的 conf 文件。Python JSON 和時間庫也在同一行中導(dǎo)入。由于我們已經(jīng)用 .py 擴(kuò)展名保存了我們的 conf 文件,所以我們可以直接導(dǎo)入它。

導(dǎo)入 conf、json、時間

JSON 是一個 Python 庫,用于處理對 JSON 對象的所有操作。JSON只不過是一種在互聯(lián)網(wǎng)上廣泛使用的數(shù)據(jù)通信格式,用于在客戶端和服務(wù)器之間發(fā)送/接收數(shù)據(jù)。可以在此處找到有關(guān) JSON 的更多信息。請記住,“json”是用于處理 JSON 對象的 Python 庫,而 JSON 是一種數(shù)據(jù)通信格式。

現(xiàn)在我們將導(dǎo)入 Bolt Python 庫,它可以讓我們獲取存儲在 Bolt Cloud 中的數(shù)據(jù)。要發(fā)送 SMS,還導(dǎo)入 Sms 庫。下面的代碼行導(dǎo)入所需的庫。

從 boltiot 導(dǎo)入 Sms, Bolt

SMS 將用于發(fā)送 SMS 警報,另一個是 Bolt,它用于從您的 Bolt 設(shè)備訪問數(shù)據(jù),例如在此處完成溫度讀數(shù)。

最大和最小變量用于設(shè)置閾值。

如果溫度讀數(shù)低于最低限值或高于最高限值,這將發(fā)出警報。

minimum_limit = 400, maximum_limit = 500

為了從 Bolt Cloud 獲取數(shù)據(jù),我們將創(chuàng)建一個名為“mybolt”的對象,您可以使用它訪問 Bolt 上的數(shù)據(jù)。

為了讓 Bolt Cloud 識別您的設(shè)備,您需要在創(chuàng)建 mybolt 對象時提供 API 密鑰和設(shè)備 ID。由于 conf 文件包含 API 密鑰和設(shè)備 ID 變量,您可以按如下方式使用它們,

mybolt = Bolt(conf.API_KEY, conf.DEVICE_ID)

上面的代碼將自動獲取您在 conf.py 文件中初始化的 API 密鑰和設(shè)備 ID。

現(xiàn)在要發(fā)送短信,我們將創(chuàng)建一個相同的對象。

短信=短信(conf.SID,conf.AUTH_TOKEN,conf.TO_NUMBER,conf.FROM_NUMBER)

上面的代碼將自動獲取您在 conf.py 文件中初始化的 SID、AUTH_TOKEN、TO_NUMBER 和 FROM_NUMBER。確保您在 conf.py 文件中提供了正確的值。

無限循環(huán) while 用于定期和連續(xù)地獲取數(shù)據(jù)。

while True:     print ("Reading sensor value")    response = mybolt.analogRead('A0')     data = json.loads(response)     print("Sensor value is: " + str(data['value']))    try:         sensor_value = int(data['value'])         if sensor_value > maximum_limit or sensor_value < minimum_limit:            print("Making request to Twilio to send a SMS")            response = sms.send_sms("The Current temperature sensor value is " +str(sensor_value))            print("Response received from Twilio is: " + str(response))            print("Status of SMS at Twilio is :" + str(response.status))    except Exception as e:         print ("Error occured: Below are the details")        print (e)    time.sleep(10)

?

代碼使用“analogRead”函數(shù)連續(xù)獲取溫度值。由于傳感器連接到 Bolt 的 A0 引腳,我們將在引腳 A0 上執(zhí)行 analogRead() 函數(shù)。

Bolt Cloud 使用 analogRead() 函數(shù)的響應(yīng)是 JSON 格式,因此我們需要使用 Python 的 json 庫加載云發(fā)送的 JSON 數(shù)據(jù)。

溫度值位于響應(yīng)中標(biāo)記為“值”的字段內(nèi)。我們可以使用語句 `sensor_value = int(data['value'])` 訪問 JSON 值。此行還將傳感器讀數(shù)轉(zhuǎn)換為整數(shù)數(shù)據(jù)類型以比較溫度范圍。

它包含在 try-except 塊中,用于處理代碼中可能出現(xiàn)的任何錯誤。此處給出了 try-except 代碼塊的更多解釋。

下一行代碼檢查溫度讀數(shù)是高于最高限值還是低于最低限值。如果超過,則將發(fā)送 SMS。

要發(fā)送的 SMS 將包含文本“The Current temperature sensor value is”,后跟溫度值。

來自 Twilio 的響應(yīng)將存儲在“response”變量中。

發(fā)送溫度讀數(shù)后,我們需要等待 10 秒才能獲得下一個讀數(shù)。為此,我們將在每次循環(huán)迭代時讓程序休眠一次。

語句 time.sleep(10) 將程序執(zhí)行暫停 10 秒。這意味著該程序?qū)⒃?10 秒內(nèi)不執(zhí)行。

在上面的代碼中,我們每 10 秒獲取一次數(shù)據(jù)。您可以更改該值,但理想情況下,如果 2 個數(shù)據(jù)點(diǎn)之間的時間間隔超過 10 秒應(yīng)該是好的。


下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

查看更多

下載排行

本周

  1. 1山景DSP芯片AP8248A2數(shù)據(jù)手冊
  2. 1.06 MB  |  532次下載  |  免費(fèi)
  3. 2RK3399完整板原理圖(支持平板,盒子VR)
  4. 3.28 MB  |  339次下載  |  免費(fèi)
  5. 3TC358743XBG評估板參考手冊
  6. 1.36 MB  |  330次下載  |  免費(fèi)
  7. 4DFM軟件使用教程
  8. 0.84 MB  |  295次下載  |  免費(fèi)
  9. 5元宇宙深度解析—未來的未來-風(fēng)口還是泡沫
  10. 6.40 MB  |  227次下載  |  免費(fèi)
  11. 6迪文DGUS開發(fā)指南
  12. 31.67 MB  |  194次下載  |  免費(fèi)
  13. 7元宇宙底層硬件系列報告
  14. 13.42 MB  |  182次下載  |  免費(fèi)
  15. 8FP5207XR-G1中文應(yīng)用手冊
  16. 1.09 MB  |  178次下載  |  免費(fèi)

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費(fèi)
  3. 2555集成電路應(yīng)用800例(新編版)
  4. 0.00 MB  |  33566次下載  |  免費(fèi)
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費(fèi)
  7. 4開關(guān)電源設(shè)計(jì)實(shí)例指南
  8. 未知  |  21549次下載  |  免費(fèi)
  9. 5電氣工程師手冊免費(fèi)下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費(fèi)
  11. 6數(shù)字電路基礎(chǔ)pdf(下載)
  12. 未知  |  13750次下載  |  免費(fèi)
  13. 7電子制作實(shí)例集錦 下載
  14. 未知  |  8113次下載  |  免費(fèi)
  15. 8《LED驅(qū)動電路設(shè)計(jì)》 溫德爾著
  16. 0.00 MB  |  6656次下載  |  免費(fèi)

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費(fèi)
  3. 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
  4. 78.1 MB  |  537798次下載  |  免費(fèi)
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420027次下載  |  免費(fèi)
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費(fèi)
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費(fèi)
  11. 6電路仿真軟件multisim 10.0免費(fèi)下載
  12. 340992  |  191187次下載  |  免費(fèi)
  13. 7十天學(xué)會AVR單片機(jī)與C語言視頻教程 下載
  14. 158M  |  183279次下載  |  免費(fèi)
  15. 8proe5.0野火版下載(中文版免費(fèi)下載)
  16. 未知  |  138040次下載  |  免費(fèi)