中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

基于Python和JavaScript怎樣編寫物聯網溫度計程序

發布時間:2021-11-16 17:11:56 來源:億速云 閱讀:212 作者:柒染 欄目:web開發

這篇文章將為大家詳細講解有關基于Python和JavaScript怎樣編寫物聯網溫度計程序,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。

Zerynth作為Android和iOS手機端應用程序,在物聯網項目中,可以對圖形界面進行快速原型設計。

借助Zerynth可以把任何手機作為智能對象加入控制器組成物聯網系統。尤其是通過建立雙向通信信道,可以管理和控制與它連接的手機設備。

我們將介紹使用單片機微控制器連接Zerynth,開發一個簡單但強大的物聯網溫度計。

準備工作

首先你需要一塊電路板,選擇 Zerynth支持的32位微控制器設備 即可。我們選擇的是 Flip&Click Mikroelektronika  ,它擁有許多和Arduino平臺產品一樣的屬性,其中就包括作為Arduino Due核心的32位AT91SAM3X8E微芯片。

接著選擇帶有溫度(HTS221)和相對濕度傳感器的 Temp&Hum Click 來測量溫度。

然后采用 WiFi PLUS Click 將電路板連接到互聯網, WiFi PLUS Click  具有MRF24WB0MA-2.4GHz特性,能兼容IEEE std  802.11微芯片模塊,并且是車載TCP/IP棧和802.11連接管理器匹配的MCW1001的控制器。

 Zerynth下載也是最重要的一點,你需要

  • Zerynth Studio,為物聯網服務的強大的開發工具,能使用Python嵌入式編程。 點擊下載 。

  • Zerynth APP 。

組裝物聯網溫度計

Flip&Click是Arduino的衍生品,一方面它屬于Arduino產品,但另一方面,你會發現它身上包含“單機電路板”才有的四個開放mikroBUS套接字的模塊。從本質上講,這些模塊是組裝Arduino原型的附加模塊,但如果縮減去掉,Flip&Click也能勉強適用,只是需要在電路板上的A槽和B槽分別加入Temp&Hum和Wifi  Plus clicks。

使用Python來編程物聯網溫度計

參考示例

一旦你 安裝Zerynth Studio 并 創建Zerynth用戶 ,就可以克隆“Zerynth應用示波器”示例。請參考以下 學習如何克隆一個示例  。

基于Python和JavaScript怎樣編寫物聯網溫度計程序

main.py

  1. ################################################################################  

  2. # IoT Thermometer  

  3. ################################################################################  

  4. from wireless import wifi

  5. # this example is based on Particle Photon  

  6. # change the following line to use a different wifi driver  

  7. from broadcom.bcm43362 import bcm43362 as wifi_driver  

  8. import streams  

  9. import adc  

  10. # Import the Zerynth APP library  

  11. from zerynthapp import zerynthapp  

  12. streams.serial()  

  13. sleep(1000)  

  14. print("STARTING...")  

  15. try:  

  16. # Device UID and TOKEN can be created in the ADM panel  

  17. zapp = zerynthapp.ZerynthApp("DEVICE UID", "DEVICE TOKEN", log=True)  

  18. # connect to the wifi network (Set your SSID and password below)  

  19. wifi_driver.auto_init() 

  20.  for i in range(0,5):  

  21. try:  

  22. wifi.link("SSID",wifi.WIFI_WPA2,"PASSWORD")  

  23. break  

  24. except Exception as e:  

  25. print("Can't link",e)  

  26. else:  

  27. print("Impossible to link!")  

  28. while True:  

  29. sleep(1000)  

  30. # Start the Zerynth app instance!  

  31. # Remember to create a template with the files under the "template" folder you just cloned  

  32. # upload it to the ADM and associate it with the connected device  

  33. zapp.run()  

  34. # Read ADC and send values to the ADM  

  35. while True:  

  36. sleep(1000)  

  37. x = (adc.read(A4)*100)//4096  

  38. zapp.event({"data":x})  

  39. if x>95:  

  40. # send mobile notification  

  41. # (there is a limit of one notification per minute per device on the ADM sandbox)  

  42. zapp.notify("ALARM!","The value is greater than 95!")  

  43. except Exception as e:  

  44. print(e) 

這個示例中,Zerynth將從相連的電路板獲取的數據轉變成可視化的圖形示波器,這些模擬傳感器的數據通過“模擬”pin A4產生。

導入正確的wifi驅動程序和傳感器庫

正如你在注釋中看到的,示例是基于 粒子光子板 和wifi驅動的。想要使用WiFi Plus Click,必須修改以下幾行:

from broadcom.bcm43362 import bcm43362 as wifi_driver

修改為

from microchip.mcw1001a import mcw1001a as wifi_driver

同時

wifi_driver.auto_init()

修改為

wifi_driver.init(SERIAL2,D24) # slot B

為了使用Temp&Hum Click溫度傳感器,需要添加以下幾行代碼來導入庫并設置傳感器,這些可以在 幫助文檔 里面看到。

# Import the HTS221 library  from stm.hts221 import hts221  temp_hum = hts221.HTS221(I2C0, D21) # sl

同時為了讀取到傳感器,有必要編寫下面一行。

tmp, hum = temp_hum.get_temp_humidity() # Read tmp and hum

設置SSID名稱和密碼

當然,你還需要編輯想要連接的wifi網絡的SSID名稱和密碼:

wifi.link("SSID",wifi.WIFI_WPA2,"PASSWORD")

創建并設置一個連接設備

現在我們要創建一個“連接裝置”以便關聯“zerynth”的實例。請看下面截圖中的步驟。查看 文檔 了解更多的技術細節。

基于Python和JavaScript怎樣編寫物聯網溫度計程序

設備的證書(UID和TOKEN)可以從開發工具Zerynth Studio的ADM面板直接復制粘貼過來。

“IP”是Zerynth ADM的IP地址。當網絡驅動不支持主機名解析時填寫的這些參數可以派上用場。

基于Python和JavaScript怎樣編寫物聯網溫度計程序

創建、上傳和設置模板

Zerynth可以直接運行由HTML、CSS和JavaScript構成的漂亮的圖形用戶界面,根本不需要Android或iOS代碼!

此外,每個裝置的圖形界面托管于 Zerynth ADM sandbox  ,并由一些列可在App上加載并顯示的HTML5、Javascript、Css和圖片文件組成。Zerynth添加模板后 ADM Javascript庫  允許應用程序與連接設備互相通信。

單擊相應的“Plus”圖標來添加模板。

基于Python和JavaScript怎樣編寫物聯網溫度計程序

然后從包含模板目錄上傳模板。注意,你可以修改模板定義文件“index.html”進行自定義。這里我們保留原樣。

基于Python和JavaScript怎樣編寫物聯網溫度計程序

部署腳本

經過幾次修改后,代碼大概是這樣:

 # Zerynth App Oscilloscope    from wireless import wifi  from microchip.mcw1001a import mcw1001a as wifi_driver  import streams import adc  streams.serial()  # Import the Zerynth APP library  from zerynthapp import zerynthapp  # Import the HTS221 library  from stm.hts221 import hts221  temp_hum = hts221.HTS221(I2C0, D21) # slot A  sleep(1000)  print("STARTING...")  try:  # Device UID and TOKEN can be created in the ADM panel  zapp = zerynthapp.ZerynthApp("DEVICE UID", "DEVICE TOKEN",ip = "178.22.65.123", log=True)  # connect to the wifi network (Set your SSID and password below)  wifi_driver.init(SERIAL2,D24) # slot B  for i in range(0,5):  try:  wifi.link("SSID",wifi.WIFI_WPA2,"PASSWORD")  break  except Exception as e:  print("Can't link",e)  else:  print("Impossible to link!")  while True:  sleep(1000)  # Start the Zerynth app instance!  # Remember to create a template with the files under the "template" folder you just cloned  # upload it to the ADM and associate it with the connected device  zapp.run()  # Read the sensor and send values to the ADM  while True:  sleep(1000)  tmp, hum = temp_hum.get_temp_humidity() # Read tmp and hum  print("Temp is:", tmp, "Humidity is:", hum)  try:  zapp.event({"data":tmp})  except Exception as e:  print(e)  if tmp>30:  # send mobile notification  # (there is a limit of one notification per minute per device on the ADM sandbox)  try:  zapp.notify("ALARM!","High Temperature!")  except Exception as e:  print(e)  except Exception as e:  print(e)

切記“設備UID”、“設備令牌”、“名稱”和“密碼”必須符合自己的參數。

編寫完成即可 部署腳步到你的設備 。

在Zerynth應用上查看物聯網溫度計儀表板

在這個 極簡教程 里,你只需打開Zerynth應用,登錄并選擇指定的設備即可查看對應的物聯網溫度計指示板。Zerynth也可以通過連接設備接收  推送通知 。比如當溫度大于閾值時,就會出現通知。

關于基于Python和JavaScript怎樣編寫物聯網溫度計程序就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

宁明县| 平舆县| 高清| 福贡县| 永吉县| 金沙县| 迁西县| 崇阳县| 衡山县| 南部县| 定结县| 同心县| 英吉沙县| 兴业县| 信阳市| 西乡县| 巴彦县| 新野县| 宁波市| 澄江县| 浦江县| 喀什市| 福清市| 霞浦县| 商河县| 永川市| 叶城县| 依安县| 汽车| 阜新市| 大安市| 德保县| 滨州市| 舞钢市| 绥化市| 阳泉市| 屏南县| 衡水市| 米脂县| 龙口市| 九台市|