0x6A Logbook

ESP32
程式開發

Deep Sleep(深度睡眠)完整教學:從原理到 STM32/ESP32 實作

前言 如果有人問我「電池供電的 IoT 裝置,最關鍵的一行程式碼是什麼」,我大概會回答 esp_deep_sleep_start()。這行看起來什麼都沒做的函式,決定了你的感測器節點是一天就沒電,還是能撐好幾個月。 數字攤開來很有感:一顆 2000 mAh 的電池,讓裝置 24/7 全速跑,大概一天就見底;但只要讓它在 99% 的時間裡睡覺,續航力就是幾個月、甚至幾年的事。同一顆電池、同一塊電路,差別只在「什麼時候醒、醒多久」。 這篇我打算從硬體架構講起,把 ESP32 與 STM32 的多級低功耗模式拆開來看,再...

2026 年 6 月 2 日 0條評論 771點熱度 0人點贊 shi6a 閱讀全文
程式開發

BLE(藍牙低功耗)通訊協定完整教學:從原理到 ESP32 實作

前言 先講結論:如果你在做物聯網,遲早會撞上 BLE。從小米手環、智慧門鎖、感測器信標到醫療設備,背後幾乎都是同一套東西 —— BLE(藍牙低功耗,Bluetooth Low Energy),它用極低的功耗就把可靠的資料交換做完了。 而我手上的 ESP32 剛好內建雙模藍牙(Classic + BLE),支援藍牙 5.0 標準。老實說,這大概是它最被低估的一塊能力,很多人的 ESP32 買回來只拿它跑 WiFi。 這篇我照自己的學習順序寫:先看協定棧的架構,再拆廣播/掃描/連線這三個機制,接著進到 GATT 服務模...

2026 年 6 月 1 日 0條評論 965點熱度 0人點贊 shi6a 閱讀全文
程式開發

硬體定時器(Timer)完整教學:從計數原理到 STM32/ESP32 PWM 與輸入捕捉實作

前言:先說為什麼你該把 delay() 戒掉 大部分人寫 MCU 的第一支程式都是 delay(1000) 讓 LED 每秒閃一次。問題是那一秒裡 CPU 什麼都不能做 —— 按鍵不理你、序列埠不回應、通訊直接斷。 硬體定時器就是來解決這件事的:它是一個由硬體時鐘驅動的計數器,時間到了自己發中斷或輸出波形,CPU 從頭到尾不用等。 它有三個讓人離不開的特性: 精準:由專屬硬體電路驅動,不受 CPU 負載影響 無阻塞:計數期間 CPU 可以做任何事 多功能:同一個計數器可同時產生中斷、PWM、捕捉外部訊號 核心只有三...

2026 年 5 月 31 日 0條評論 536點熱度 0人點贊 shi6a 閱讀全文
程式開發

Watchdog Timer(看門狗計時器)完整教學:從原理到 STM32/ESP32 實作

前言:為什麼量產產品幾乎都有一顆看門狗 在實驗室裡,程式當掉最糟的結果就是「重開就好」。但只要這個裝置被裝在客戶的機房、變電箱或屋頂上,一次死機就代表一次客訴、一趟出差、甚至一次賠償。 看門狗計時器(Watchdog Timer)就是為了這種情境存在的:它是一個獨立於主程式之外的硬體計時器,會在最壞的情況下把系統重新拉起來。 它的設計哲學很粗暴,但非常有效 —— 因為它假設「軟體終究會壞」,而硬體不會陪著一起壞。 看門狗的邏輯只有三步 正常運作時你甚至感覺不到它的存在:主迴圈結尾餵一次狗,計數器就一直被歸零。真正有...

2026 年 5 月 30 日 0條評論 819點熱度 0人點贊 shi6a 閱讀全文
自動化技巧

ESP32 I2C 通訊實戰:連接 BME280 溫濕度氣壓感測器

前言:兩條線,接一堆感測器 I2C 是 1982 年 Philips(現在的 NXP)發明的協定,目標只有一個:用最少的引腳完成裝置間通訊。它做到了 —— 兩條線(SDA + SCL)就能掛一整排感測器。 但它的規則比 UART、SPI 都細:Start 與 Stop 定義在「SCL 高電位時 SDA 的變化」,資料採樣在上升緣、變化在下降緣,而且每一個 byte 後面都要跟一個 ACK。搞懂這幾件事,你的 I2C 就不會再出現「掃不到裝置」的鬼故事。 兩條線與五個階段 訊號線 全名 說明 SDA Serial D...

2026 年 5 月 21 日 0條評論 725點熱度 0人點贊 shi6a 閱讀全文
自動化技巧

ESP32 MQTT 實戰教學:從 DHT22 感測器到 Node-RED 儀表板完整搭建

前言:為什麼 IoT 專案最後都會選 MQTT 如果你做過「把感測器資料丟上網頁」的專案,大概都經歷過同一段掙扎:要嘛讓 ESP32 開一個網頁(但你不在同一個網段就看不到),要嘛用 HTTP 定時打 API(但每次都要重新連線,耗電又慢)。 MQTT 解決的正是這件事:它讓裝置「講話」而不是「被問話」。資料一有變化就發布出去,有興趣的人自然會收到。 MQTT 跟 HTTP 差在哪 關鍵差別在「解耦」:發布者和訂閱者完全不需要知道彼此的存在,甚至不需要同時在線。這對電池供電、偶爾上線的裝置來說是決定性的優勢。 三個...

2026 年 5 月 21 日 0條評論 919點熱度 0人點贊 shi6a 閱讀全文

近期文章

  • USLink 水下通訊模組(中):OOK 軟體設計與除錯歷程
  • USLink 水下通訊模組(上):項目發想與電路設計
  • ESP32 伺服馬達 SG90 控制完整教學:PWM 脈衝控制、LEDC 多軸同步、平滑運動與梯形加減速
  • ESP32 SD 卡讀寫完整教學:SPI 模式、SDMMC 4-bit 初始化序列、FAT32 檔案系統與 Data Logging
  • ESP32 藍牙傳統 SPP(Serial Port Profile)完整教學:BT Classic 通訊、RFCOMM 框架、主從架構與 HC-05 相容

近期留言

尚無留言可供顯示。

彙整

  • 2026 年 9 月
  • 2026 年 6 月
  • 2026 年 5 月

分類

  • 未分類
  • 程式開發
  • 自動化技巧

COPYRIGHT © 2026 0x6A Logbook. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang