天天看點

micropythonesp8266的溫度濕度,MicroPython網絡伺服器使用ESP32/ESP8266讀取溫度

背景知識視訊教程

本教程介紹了如何使用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傳感器擷取溫度和濕度,我們将在網絡伺服器上顯示讀數,您可以在本地網絡上通路該伺服器。