| ESP32 教學 | MicroPython | ESP32 WebServer 實現遠端控制 | 308 |
在上一篇中我們已經知道如何使用 socket ,來建立一個可以實現遠端控制 IO 的 Tcp Sever,但以使用者介面來說,TCP的操作並不是那麼直覺,如果可以將 ESP32 架設成網頁伺服器的話,無論是移動裝置或電腦,就可以利用瀏覽器軟體進行操作,所以這篇就來分享如何透過 ESP32 WebServer 實現遠端控制功能。
*** 機器人知識分享與教學 ***
吉米哥 分享機器人專業程式教學 有趣產品
在上一篇中我們已經知道如何使用 socket ,來建立一個可以實現遠端控制 IO 的 Tcp Sever,但以使用者介面來說,TCP的操作並不是那麼直覺,如果可以將 ESP32 架設成網頁伺服器的話,無論是移動裝置或電腦,就可以利用瀏覽器軟體進行操作,所以這篇就來分享如何透過 ESP32 WebServer 實現遠端控制功能。
socket 是什麼?socket 是在 TCP/IP 傳輸重要的環節,透過這樣的介面 API,讓我們不用去處理 TCP/UDP 通訊協議的底層,進而執行網路通信。micropython 也移植電腦平台 python 的 socket 方法,這篇就來瞭解如何使用 usocket 類別來做最基礎的 tcp 訊息傳送。
本文接續簡易 OLED Clock 網路時鐘的上篇
這篇使用小型 OLED 顯示器來實現一個簡單的 O
ESP32 內部提供了 RTC(real time clock) 實時時鐘的功能,可以讓我們設定與讀取時間,這篇來瞭解如何利用 Micropython 提供的方法建立一個內部參考時間。
由於 ESP32 內建了 Wifi 無線通訊,在正常無線通訊運作下,耗電流也是不小的數值,以電池供電的環境下,就需要低功耗模式的支援,讓 MCU 在閒置或處理輕量工作時,可以更省電,同時提升電池續航力。ESP32 晶片本身設計了多種的省電模式選擇,今天這篇就來看一下在 micropython ESP32 平台上,要怎麼進入所謂的休眠 DeepSleep 模式。
當我們的 ESP32 可以連上網後,便可以開始透過雲端服務來體驗不同的應用,結合我們生活常用的 Line 就是其中一種。Line Notify 為 Line 推出的訊息通知服務,它可以連動 IFTTT、Github 等來傳送所需要的訊息,這篇文章就來分享如何將 ESP32 DHT11溫濕度透過 IFTTT – Line Notify 服務,傳送訊息到我們手機上的 LINE,實現智慧化通知的功能。
一般雲端平台除了可以用我們先前提到的 mqtt 協定上傳資料,通常也可以用 http 協定上傳或讀取資料,今天這篇分享如何使用 micropython 內建的 HTTP 請求 urequests 模組,結合 Thingspeak Http API 方法來上傳 DHT11 的溫濕度資料。
當各類感測器或裝置都能夠連網時,如何將這些資料進行分析或整合,就變成一個關鍵的環節,所謂雲端 IoT 資料庫因此存在。ThingSpeak 是很多人會使用的雲端服務平台,藉由這類的雲端資料庫,我們可以將感測原始資料上傳並儲存,再搭配應用演算法進行後端控制,今天這篇就來講一下如何使用 ThingSpeak MQTT 協定, 將 DHT11 的感測資料發佈並即時監看。
MQTT 是在物聯網很常見的通訊協定,micropython 內也有個輕量化的 MQTT Client模組可以來 pubish 發佈訊息或 subscribe 訂閱主題,這篇將介紹 umqtt.simple 的用法,並將 DHT11 感測器的溫濕度資料透過 MQTT Publish 上傳到私有 MQTT Broker。
DHT11 或 DHT22 這兩顆感測器是我們在進行濕度感測應用時,最常使用的模組,不僅設計簡單,其規格也很符合日常生活使用,今天這篇就來試試如何利用 DHT11 與 OLED 顯示器結合,架設簡易的 ESP32 的溫濕度感測平台。
Neopixel 是很多 maker 愛用的 RGB 七彩燈條,不管在 arduino、microbit 或數莓派的平台上,都有廣泛的應用,甚至可以輕易找到對應的函示庫應用,這篇來聊聊 NeoPixel RGB 燈條原理與在 ESP32 平台上怎麼使用。
我們都知道 micropython 與 PC 平台上的 python 一樣都提供 REPL 模式與程式開發者互動,大部分都是使用 實際 UART 介面來進行傳輸,其實還有另一無線傳輸的 REPL 模式,也就是 webREPL,一旦啟動後,就可以透過特殊的網頁進行遠端的檔案傳送接收與互動,少掉實體連接的麻煩,今天這篇就來看看如何操作與需要注意的地方吧!
選擇 ESP32 核心為主控制器其中一個重要原因就是內建了 wifi networking 的功能,無須連接外部的網路硬體來進行,在物聯網應用尤為重要,這篇就來瞭解如何使用 micropython 語法,將 ESP32 透過家中的無線基地台上網,並設定開機就自動連線。
上篇提到可以透過 Micropython 內建的 ssd1306 模組在顯示文字,這次就來分享透過 I2C OLED Image 圖片的顯示過程,雖然 OLED 螢幕只能單色顯示,但如果可以顯示 LOGO 或一些圖示,對於使用者體驗來說,還是有明顯加分的作用,各位就來好好研究一下囉~
OLED 顯示模組也是在嵌入式系統中很多人會使用的顯示模組,通常傳輸介面會有 I2C 與 SPI 兩種,本文就來瞭解一下如何在 MicroPython 的平台上,實際透過 I2C OLED 模組顯示文字或數字。
I2C 的應用與 SPI 很類似,差別在於 I2C 只需要兩支線路 SDA 與 SCL 即可完成訊息通訊,在 ESP32 平台的 micropython 語言也已建立 I2C 的類別,當然也分了硬體與軟體的 I2C 機制,所以今天就來看看相關的語法如何使用,文末會用一個 I2C LCD1602 來實際操作顯示文字或數字。
在上篇的內容介紹了利用 Micropython 的 SPI 通訊與 max7219 做簡單的底層訊息溝通後,本篇就來分享直接使用網路上現成的 Max7219 Spi Module,快速應用到我們的 ESP32 硬體平台。
SPI 是在 MCU 系統中常用的通訊協定,跟 I2C使用相比,雖然所需線路較多,但傳輸速度快,架構上可同時接收與傳送訊息,所以常出現在 EEPROM、SD記憶體等元件上。MicroPython 在 ESP32平台的 SPI 介面,可以使用硬體 SPI 或 IO腳位模擬的SPI,本文就來分享如何使用 SPI Function,並透過 SPI 介面的 MAX7219 為例,操作 8×8 矩陣的LED。
類比訊號轉換(ADC)對控制器領域來說是非常重要的機制,它可以將真實世界的訊號,利用數位的方式進行轉換,使其變成系統較易判讀的標準,後續得進行控制或保存。而影響 ADC 的數值的因素眾多,像解析度、輸入電壓範圍等,今天這篇主要來分享如何使用 ADC Function,並針對我們的需求,對相關設定進行調整。