Category: iot

大家還記得我的定時炸彈造型電子鐘嗎?為延長電池續航力,我陸續加了光敏電阻改成浴室開燈才顯示、也試過擴充成三顆 18650 電池,第三版則啟用 EPS 晶片特有的 DeepSleep 功能在關燈期間休眠,每隔五秒喚醒偵測燈光決定啟動或繼續休眠,但效果仍不夠理想,主要原因是休眠期間 5V、3.3V PI...

ESP 開發板目前有 ESP8266 與 ESP32 兩個世代,新一代的 ESP32 標榜雙核心、CPU 頻率翻倍、SRAM、Flash、GPIO/I2C/SPI/UART 都加倍,還內建藍牙、觸控電容、溫度感測器、霍爾(磁力)感測器,規格上完全輾壓 ESP8266。但 ESP8266 也是有個強大...

玩了一陣子 SSD1306 OLED 顯示器,也玩了幾回點陣中文字型,是時侯把它們結合在一起 - 試試在單色 OLED 上顯示中文。 之前我主要用 Adafruit 驅動程式庫接 SSD1306 OLED,其文字顯示侷限在 ASCII 字元集,要顯示 Unicode 字元,大部分人會使用 U8g2 ...

前兩週用 VSCode 寫 Arduino C++ 完成 OLED 顯示器 I2C vs SPI 效能評測,得到 9.8s vs 1.2s 的評測結果。得到 I2C 的效能數據,下一個我最想知道的便是「改用 nanoFramework / C# 會慢多少?」。 基於語言特性,要拼效能,Python、...

前陣子買了 Arduino/ESP 用的 TFT 彩色螢幕時,發現通訊介面清一色都是 SPI,不像之前買的 0.96" 128x64 單色 OLED 有 I2C 跟 SPI 兩種規格可選。我大概知道二者的差別是 SPI 要接的訊號線較多,但速度快;I2C 最大的好處是只需要兩條線就可串接一...

618 免運優惠失心瘋買了一堆 Arduino/ESP 零件,裡面有兩塊 TFT 彩色螢幕,想玩玩彩色顯示。 花了點時間,總算試出來在 TFT 顯示彩色圖片,做法是將圖檔轉成所謂的 RGB565 格式點陣資料,以 16 Bit 代表一個像素顏色(R、G、B 各佔 5、6、5 Bits,合計 16 B...

陸續用 VSCode + PlatformIO 寫了幾個 ESP 開發板 C++ 程式,琢磨出有效率寫出 Web 控制介面的開發模式,尋找及安裝硬體元件程式庫已難不倒我,自己算是符合「拿到新東西能讓它動起來」的基本要求。 經過這段時間磨練,雖勉強能用 C++ 拼湊出會動的程式,但身為跨界的資深 .N...

如前幾天所說,接觸新語言、新工具或新平台,在正式投入生產前,我習慣先做好幾件事:確立專案通用框架並研究如何讓「修改程式 -> 編譯 -> 部署 -> 測試 -> 修改程式 -> ...」開發循環最佳化,消除無意義的重複手工及等待,讓思緒專中在程式碼本身,以享受 Codi...

寫好 ESP WiFi 設定程式庫,再也不必為了是否要把 WiFi SSID 跟密碼寫進程式天人交戰,在 ESP8266/ESP32 寫 Web 介面控制硬體的基本框架成形,馬上來個小練習。 四年前買新冰箱,當時曾用 DHT11 + Raspberry Pi + Python 搞過 24 小時溫度監...

ESP32 開發板有多種版本,有些版本有整合 CH340 或 CP2102 USB-to-UART 晶片,開發板上有 Micro USB 孔可以連電腦,除了供電還能從 COM 序列埠上傳程式跟接收 Serial.print() 回傳訊息,開發測試方便許多。 我目前玩過兩塊 ESP8266 及四塊 E...

上回聊到程式開發的老鳥魔咒,提到我在寫 ESP32/ESP8266 程式時有個心魔無法克服 - 幾乎所有 Arduino 範例都把 WiFi 基地台的 SSID 跟密碼寫死在程式裡,讓我頻頻呼喊花惹發?把密碼用明碼寫進程式有安全疑慮並有改密碼要重新編譯的後遺症,嚴重違背了我的信仰。如果是 C#,我用...

Arduino/ESP 程式執行期間要顯示訊息,開發測試期間時可用 Serial.print() 走 USB 線傳回電腦端。實務執行時不可能永遠連著電腦只為了收訊息,一般會外接個小螢幕,古早時代最常用的是照片裡的 1602 液晶螢幕: 內建 I2C 模組的版本只要接四條電線就能動,但它最多只能顯示...

話說前陣子買了 ESP32 開發板來玩,一併入手了 32x8 的 LED 矩陣顯示器,成功用 Arduino 跟 ESP8266 做出跑馬燈後,下一步當然要試試用新玩具做跑馬燈。結果,入手第二天我就摔進大坑,掙扎了十天才爬出來... Orz 依爬文查到的資料,有現成的程式範例通吃 Arduino /...

前幾天提到 ESP 開發板,至於開發工具則大推 VSCode + PlatformIO,我會陸續分享使用技巧與心得。 有用過 Visual Studio Code 又有 Arduino/ESP 開發經驗的同學,憑著 PlatformIO 關鍵字及直覺,應該能自己摸索出安裝及操作方式(至少我自己是如此...

從小我就對電子有濃厚興趣,無奈自己的聯考分數不給力,唸不了電子電機。 上專科後有了第一台電腦(CPU 是 8088 4.77MHz + 640K RAM),意外地寫程式的時間比打電動多(但很多時候在寫 BASIC 程式破解遊戲 XD),有一天,我發現搖桿的 X/Y 軸其實是兩個可變電阻,推向不同角度...

前陣子入手 Mini PC,主要目的是跑 CentOS 當家用伺服器。利用週末 Coding For Fun,完成我的第一項應用,結合 WiFi Aruduino (ESP2688) + MFRC522 RFID 卡片應感模組,我寫了一個家用打卡鐘,「協助」小閃光與小木頭改掉賴床的壞習慣。(怎麼協助...