- Oct 13 Fri 2017 12:45
ESP32的SPIFFS
- Aug 17 Thu 2017 09:53
[Java] 抓取RMT圖存檔的程式
這是寫給 RMT 地震研究用的 Java 程式, 功能是抓取 RMT 圖檔作為紀錄, 存檔後可以用 ffmpeg 轉成影片. 使用這個程式需先安裝兩個必要程式:
Java JDK : 提供 Java 執行環境, 下載位置是 http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html , 先點選下方的 Accept License Agreement, 然後再選擇 win32 或 win64 版本, 直接安裝即可.
- Jul 09 Sun 2017 17:28
[ESP32] 改寫自ESP8266的WebServer 類別
ESP8266 的範例 (程式庫) 提供一個 WebServer 類別,可以在 web client 連線時分析其 request 字串,取出 url 以及 key-value 參數,ESP32 至目前為止並無提供此函數。
本專案改寫自 ESP8266 的程式庫,因 ESP8266 有提供 SPIFF 的檔案系統,ESP32 的檔案系統則是在 SD 卡上,原來的 ESP8266 的程式庫版本有使用 FS 直接將檔案內容作為回應的 method ,因為我實驗用的 ESP32 devkit 板沒有 SD 卡插槽,因此目前這個改寫的版本沒有 FS 的功能。
- Jul 04 Tue 2017 01:02
[Linkit7697] BLE SimplePeripheral 範例研究
最近剛出爐的7697,具有BLE功能,SimplePeripheral範例中使用BLE點亮LED,在範例目錄…\Arduino15\packages\LinkIt\hardware\linkit_rtos\0.7.11\libraries\LBLE\examples\SimplePeripheral之下有個aia檔,它用了實驗性的Bluetooth LE extension,匯入AppInventor後的畫面如下:
- Jun 17 Sat 2017 23:28
在mac OSX下設定ESP32的發展環境
idf 環境, 原廠設定的說明文件: https://esp-idf.readthedocs.io/en/latest/get-started/index.html#setup-toolchain , 有以下要修正與注意的地方:
環境變數設定在 ~/.profile
, 應為 ~/.bash_profile 才對- 原廠 esp32 dev board 使用 cp2102 晶片, 所以在 mac 上需安裝 CP2102 的 driver
- make menuconfig 時 (在檔案 sdkconfig 裡面) 設定的通訊 port (CONFIG_ESPTOOLPY_PORT) 為 /dev/cu.SLAB_USBtoUAR
arduino 環境, 原廠設定的說明文件: https://github.com/espressif/arduino-esp32#instructions-for-mac , 如果重新啟動 arduino 後找不到 esp32, 要到 Preference 裡面去修改 Sketchbook location 的設定 (因為預設的 /Documents 會自動備份到 iCloud Drive, 不是自己做的東西沒必要佔空間, 所以我改了地方放)
- Jun 13 Tue 2017 18:57
[ESP32] arduino環境下的ADC test
經測試發現,原本ESP32有16CH的ADC,當WiFI啟動後, 只剩下GPIO 36、39、34、35、 32、33等6隻腳可以用,esp-idf 環境尚未測試,所以規劃時可以將這6隻腳對應到原本 arduino 的A0~A5 。
測試程式如下:
- Jun 04 Sun 2017 00:40
ESP32 使用 I2C LCD
ESP32 晶片原本有 2 組 I2C 介面, 它的 Arduino Core 預設支援一組I2C, IO21為SDA, IO22為SCL, 要注意的是:
- 須選用3.3V的LCD模組
- 因為 ESP32 使用 4 組 timer 去支援 16ch 的 PWM, 且須先使用 attach 將某個 ch 與 pin 連接, 因此沒有原生的 AnalogWrite(), 而是使用ledcAnalogWrite(), 導致某些版本的 I2CLCD 程式庫編譯時會發生錯誤, 因此須使用直接呼叫Wire程式庫的版本, 例如 https://github.com/esp8266/Basic/tree/master/libraries/LiquidCrystal
以下為主程式:
- May 30 Tue 2017 22:33
在ESP32使用mqtt publish與subscribe
- May 30 Tue 2017 21:21
在RPi3上安裝mosquitto (mqtt broker)
- May 08 Mon 2017 11:54
適用於ESP32 server應用的HttpRequestString類別
最近在測試ESP32,他的SimepleWiFiServer範例直接使用WiFiServer類別建立server,ESP8266則直接提供WebServer類別,server.on()函數可以根據url後面的字串自動呼叫處理函數,這功能在ESP32目前尚無法使用,因此撰寫了 HttpRequestString 類別,用來支援參數分析,只要將GET後面的字串帶入,就可得到 Uri與參數的Name-Value。該類別使用了 String 類別,WString.h是ESP32提供的,如果用於其他Core須自行修改,例如 #include <String.h>。
以下getClientRequest(),是參考ESP32的DNS_Web_Server的範例,當 client連線時,取的GET後面的request字串: