| 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 顯示器來實現一個簡單的 OLED C...
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。
Mosquitto MQTT Broker 在 v2.0 版後,更改了參數設定,預設值變成僅限定本機可以進行連線與操作,因此這篇來分享如何修改mosquitto conf 設定檔,啟動遠端連線機制,並加入使用者帳號與密碼,最後透過 Client 端軟體 MQTT Explorer 測試 publish 和 subscribe 功能,用以確認架設的 MQTT Broker 運作正常。
MQTT 是個物聯網領域中常用 3 種網路通訊協定之一,最大特色就是輕量化,相較於 HTTP 協定,除訊息架構簡潔,可 1 對多的訊息傳遞外,亦可實現在低效能的硬體控制器,相當適合遠端少量的資料收集應用,今天這篇來簡單介紹 MQTT 通訊協定,讓各位不瞭解的朋友可以快速掌握 MQTT 的相關設定,並在安裝 Mosquitto Windows 平台的MQTT Server 進行相關測試。
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 來實際操作顯示文字或數字。
前篇文章提到如果想要上傳 Arduino 程式碼到 ATtiny85 的晶片內的話,最直覺的方法就是透過『Arduino ISP』達成(將 Uno 硬體改成燒錄用韌體),但畢竟想要更新功能時,都需要將此燒錄工具連接上目標板,稍嫌不方便,那是否有更方便的方法更新軟體呢? 有!答案就是先預載 Bootloader 程式在晶片內,透過這樣的機制,就可以透過 Serial 連接或 USB 介面,直接將程式碼『傳到』晶片內更新,這篇就來分享如何透過 ATtiny85 USB 介面上傳程式的方法。