目前分類:ESP32 (9)

瀏覽方式: 標題列表 簡短摘要

有個 HMI OS 的構想, 買了一片 ESP32-S2-Kaluga-1 Kit 來用, 這片是 ESP32-S2, ES_IDF 預設是 ESP32, 如果沒有設定 target, 編譯後無法上傳. 紀錄一下設定/編譯/燒錄的指令:ESP

進入 example project 目錄後 (例如 C:\Espressif\frameworks\esp-idf-v4.4.1\examples\get-started\blink) :

文章標籤

ghostyguo 發表在 痞客邦 留言(0) 人氣()

今天有人問題一個問題, 覺得有點意思, 所以動手做了一下, 如何在ESP32上同時使用RFID跟SD卡. 兩個介面都是使用 SPI 通訊, 所以重點是在於如何切換 CS 腳. 以前的經驗是, SD 會跟 W5100 網卡衝突, 要自行切換 CS 腳, 不過新版的 SD 驅動已經沒有這個問題了.

使用 arduino 的 SD 範例 ReadWrite 測試, 發現原本在 UNO 可用, 在 ESP32 即使配合更改 CS 接腳, 也是無法使用, 查看編譯過程, 可以看到以下訊息:

文章標籤

ghostyguo 發表在 痞客邦 留言(0) 人氣()

最近發現ESP32也有支援SPIFF, 打開範例 SPIFFS_Test 就可以看到, 但是測試了一下卻發現無法使用:

文章標籤

ghostyguo 發表在 痞客邦 留言(0) 人氣()

ESP8266 的範例 (程式庫) 提供一個 WebServer 類別可以在 web client 連線時分析其 request 字串取出 url 以及 key-value 參數ESP32 至目前為止並無提供此函數 

本專案改寫自 ESP8266 的程式庫,因 ESP8266 有提供 SPIFF 的檔案系統ESP32 的檔案系統則是在 SD 卡上原來的 ESP8266 的程式庫版本有使用 FS 直接將檔案內容作為回應的 method 因為我實驗用的 ESP32 devkit 板沒有 SD 卡插槽,因此目前這個改寫的版本沒有 FS 的功能

文章標籤

ghostyguo 發表在 痞客邦 留言(0) 人氣()

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, 不是自己做的東西沒必要佔空間, 所以我改了地方放)

文章標籤

ghostyguo 發表在 痞客邦 留言(0) 人氣()

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

測試程式如下

文章標籤

ghostyguo 發表在 痞客邦 留言(1) 人氣()

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

以下為主程式:

文章標籤

ghostyguo 發表在 痞客邦 留言(0) 人氣()

要在ESP32上使用mqtt, 需先到 Sketch>Include Library>Manage 下載安裝 PubSubClient 程式庫, 以下為 ESP32 的程式



文章標籤

ghostyguo 發表在 痞客邦 留言(3) 人氣()

最近在測試ESP32他的SimepleWiFiServer範例直接使用WiFiServer類別建立server,ESP8266則直接提供WebServer類別,server.on()函數可以根據url後面的字串自動呼叫處理函數,這功能在ESP32目前尚無法使用因此撰寫了 HttpRequestString 類別用來支援參數分析只要將GET後面的字串帶入就可得到 Uri與參數的Name-Value該類別使用了 String 類別WString.hESP32提供的如果用於其他Core須自行修改例如 #include <String.h>

以下getClientRequest(),是參考ESP32DNS_Web_Server的範例, client連線時,取的GET後面的request字串:

文章標籤

ghostyguo 發表在 痞客邦 留言(0) 人氣()

Close

您尚未登入,將以訪客身份留言。亦可以上方服務帳號登入留言

請輸入暱稱 ( 最多顯示 6 個中文字元 )

請輸入標題 ( 最多顯示 9 個中文字元 )

請輸入內容 ( 最多 140 個中文字元 )

reload

請輸入左方認證碼:

看不懂,換張圖

請輸入驗證碼