2017年10月13日 星期五

ESP32的SPIFFS

最近發現ESP32也有支援SPIFF, 打開範例 SPIFFS_Test 就可以看到, 但是測試了一下卻發現無法使用:
  
經日本網友協助實測發現需要修改一下才能使用在這邊紀錄一下:

    if(!SPIFFS.begin(true)){
        Serial.println("SPIFFS Mount Failed");
        return;
    }


據日本網友測試,有的板子Serial無法使用Baud到1152000,可以改成9600 試試。

2017年8月18日 星期五

[Java] 抓取RMT圖存檔的程式

這是寫給 RMT 地震研究用的 Java 程式, 功能是抓取 RMT 圖檔作為紀錄, 存檔後可以用 ffmpeg 轉成影片. 使用這個程式需先安裝兩個必要程式: 

2017年7月9日 星期日

[ESP32] 改寫自ESP8266的WebServer 類別

ESP8266 的範例 (程式庫) 提供一個 WebServer 類別可以在 web client 連線時分析其 request 字串取出 url 以及 key-value 參數ESP32 至目前為止並無提供此函數 
本專案改寫自 ESP8266 的程式庫,因 ESP8266 有提供 SPIFF 的檔案系統ESP32 的檔案系統則是在 SD 卡上原來的 ESP8266 的程式庫版本有使用 FS 直接將檔案內容作為回應的 method 因為我實驗用的 ESP32 devkit 板沒有 SD 卡插槽,因此目前這個改寫的版本沒有 FS 的功能

完整程式碼在 https://github.com/ghostyguo/ESP32_WebServer_Test

2017年7月4日 星期二

[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後的畫面如下:

2017年6月17日 星期六

在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 的設定

2017年6月13日 星期二

[ESP32] arduino環境下的ADC test

經測試發現原本ESP3216CHADCWiFI啟動後, 只剩下GPIO 36393435 32336隻腳可以用,這6隻腳都是屬於ADC1的channel, esp-idf 環境尚未測試,所以規劃時可以將這6隻腳對應到原本 arduino 的A0~A5
測試程式如下

2017年6月4日 星期日

ESP32 使用 I2C LCD

ESP32 晶片原本有 2 組 I2C 介面, 它的 Arduino Core 預設支援一組I2C, IO21為SDA, IO22為SCL, 要注意的是:
  1. 須選用3.3V的LCD模組
  2. 因為 ESP32 使用 4 組 timer 去支援 16ch 的 PWM, 且須先使用 attach 將某個 ch 與 pin 連接, 因此沒有原生的 AnalogWrite(), 而是使用ledcAnalogWrite(), 導致某些版本的 I2CLCD 程式庫編譯時會發生錯誤, 因此須使用直接呼叫Wire程式庫的版本, 例如 https://github.com/esp8266/Basic/tree/master/libraries/LiquidCrystal