背景知識視訊教程
本教程介紹了如何使用MicroPython固件将DS18B20溫度傳感器與ESP32和ESP8266結合使用。 您将學習如何從一個DS18B20傳感器和多個傳感器同時讀取溫度。 您還将建立一個網絡伺服器來顯示您的傳感器讀數。
前提
要遵循本教程,您需要在ESP32或ESP8266闆上安裝MicroPython固件。您還需要一個IDE來編寫代碼并将其上傳到闆上。我們建議使用Thonny IDE或uPyCraft IDE:
Thonny IDE安裝和重新整理固件
uPyCraft IDE安裝和重新整理固件
DS18B20溫度傳感器
DS18B20溫度傳感器是單線數字溫度傳感器。這意味着隻需要一條資料線(和GND)即可與ESP32或ESP8266通訊。
它可以由外部電源供電,也可以從資料線供電(稱為“寄生模式”),進而無需外部電源。
每個DS18B20溫度傳感器都有一個唯一的64位串行代碼。這使您可以将多個傳感器連接配接到同一條資料線上。是以,您可以僅使用一個GPIO從多個傳感器獲得溫度。
以下是DS18B20溫度傳感器最相關規格的摘要:
通過單線總線通信
電源範圍:3.0V至5.5V
工作溫度範圍:-55ºC至+125ºC
精度+/- 0.5ºC(介于-10ºC至85ºC之間)
欲了解更多資訊,請參考DS18B20資料手冊。
零件需求
您需要以下部分:
原理圖
如前所述,DS18B20溫度傳感器可以通過VDD引腳供電(正常模式),也可以從資料線擷取功率(寄生模式)。您可以選擇任何一種模式。
ESP32接線示意
寄生模式
正常模式
ESP8266接線示意
寄生模式
正常模式
源代碼
将以下代碼複制到main.py檔案中,并将其上傳到您的電路闆上。該代碼僅從DS18B20溫度傳感器擷取溫度,并在shell上顯示讀數。
>
代碼分解
示範
擷取多個DS18B20溫度傳感器溫度
多個DS18B20源代碼
上載代碼後,應該在Shell中顯示所有溫度讀數。
>
網頁顯示溫度
現在您知道如何從DS18B20傳感器擷取溫度和濕度,我們将在網絡伺服器上顯示讀數,您可以在本地網絡上通路該伺服器。