筆者使用 ESP8266 ESP-12E 模塊主要是開發應用程式,希望使用在雙足人形機械人(Humanoid Robot)機械人上,所以需要搭建 ESP8266 ESP-12E 模塊開發平台來編程,在綱上找尋到有 Linux 和 Windows 的搭建方法,資料非常多和非常亂,很難找出正確方法,祇可以作出多方面嘗試!
lubuntu 操作系統 |
ESP8266 開發程序 |
- Windows 操作系統平台 IDE(整合開發環境)
- Windows Virtual Machine (Linux虛擬機)
- ESPlorer
- Linux 操作系統平台 Ubuntu Linux 64-bit
- Mac操作系統平台 Xcode command line tools
除了選擇開發平台外,還要選擇用那款 SDK 來開發, ESP8266 也有很多不同的 SDK 供開發者選用,開發者可以根據喜好或條件來選擇。
Espressif IOT RTOS NONOS SDK |
- Espressif SDK / FreeRTOS - GCC Toolchain,C/C++
- NodeMCU - Lua Script base
- Arduino - C/C++
- MicroPython - Python
- ESP8266 BASIC - Basic
- Mongoose Firmware - C/C++
- AT 指令 - Hayes AT comment
筆者是會選擇 C / C++ 語言來作編程,因為可以配合已往的製作和 MCU 連接,而 C / C++ 語言提供較佳的效率和功能,所以會選用上海樂鑫(Espressif Systems)的 SDK 和 FreeRTOS兩個版本作軟件開發基礎。
Espressif Non-OS SDK:
- Non-OS SDK 是不基於作業系統的 SDK,提供 IOT_Demo 和 AT 的編譯。
- Non-OS SDK 主要使用計時器和回調函數的方式實現各個功能事件的嵌套,達到特定條件下觸發特定功能函數的目的。Non-OS SDK 使用 espconn 介面實現網路操作,用戶需要按照 espconn 介面的使用規則進行軟體發展。
Espressif RTOS SDK:
- FreeRTOS 系統,在 Github 上開源,引入 OS 多工處理的機制,用戶可以使用 FreeRTOS 的標準介面實現資源管理、迴圈操作、任務內延時、任務間資訊傳遞和同步等面向任務流程的設計方式。具體介面使用方法參考 FreeRTOS 官方網站的使用說明或者 USING THE FreeRTOS REAL TIME KERNEL - A Practical Guide 介紹。
- RTOS 版本 SDK 的網路操作介面是標準 lwIP API,同時提供了 BSD Socket API 介面的封裝實現,用戶可以直接按照 Socket API 的使用方式來開發軟體應用,也可以直接編譯運行其他平臺的標準 Socket 應用,有效降低平台切換的學習成本。
- RTOS 版本 SDK 引入了 cJSON 庫,使用該庫函數可以更加方便的實現對 JSON 資料包的解析。
- RTOS 版本相容 Non-OS SDK 中的 Wi-Fi 介面、Smart Config 介面、Sniffer 相關介面、系統介面、計時器介面、FOTA 介面和週邊驅動介面,不支援 AT 實現。
ESP8266 FW (Firmware) :
文件列表
|
選擇
|
說明
|
Non-FOTA
|
FOTA
|
master_device_key.bin
|
可選
|
用戶在 Espressif Cloud 申請,依此享受樂鑫雲端服務。
|
✔
|
✔
|
esp_init_data_default.bin
|
必選
|
初始化射頻參數,在 SDK 根目錄中提供。
|
✔
|
✔
|
blank.bin
|
必選
|
初始化射頻參數,在 SDK 根目錄中提供。
|
✔
|
✔
|
eagle.flash.bin
|
必選
|
主程序,編譯代碼生成。
|
✔
|
✖
|
eagle.irom0text.bin
|
必選
|
主程序,編譯代碼生成。
|
✔
|
✖
|
user1.bin
|
初次使用必選
|
主程序,編譯代碼生成。
|
✖
|
✔
|
user2.bin
|
升級時使用
|
主程序,編譯代碼生成。
|
✖
|
✔
|
2017年 1月 16日 天氣報告
氣溫:17.6度 @ 22:40
相對濕度:百分之 76%
天氣:多雲
沒有留言:
張貼留言