2017年1月16日 星期一

DIY - ESP8266:ESP8266 開發平台和環境(六)

DIY - ESP8266:ESP8266 開發平台和環境(六): 

筆者使用 ESP8266 ESP-12E 模塊主要是開發應用程式,希望使用在雙足人形機械人(Humanoid Robot)機械人上,所以需要搭建 ESP8266 ESP-12E 模塊開發平台來編程,在綱上找尋到有 Linux 和 Windows 的搭建方法,資料非常多和非常亂,很難找出正確方法,祇可以作出多方面嘗試!

lubuntu 操作系統
筆者感覺上是使用 Linux 操作系統平台比較靠譜,因為在 開發 OpenWrt 也是使用 Debian Linux 操作系統平台,但搭建 Ubuntu Linux 操作系統是要花較長的時間,所以筆者希望先搭建簡單的開發環境,成功後,才搭建 Linux 開發平台。

ESP8266 開發程序
ESP8266 ESP-12E 模塊開發環境(Software Development Platform):
  • 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
開源 SDK (Open Source Software Development Kits):
  • 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
升級時使用
主程序,編譯代碼生成。
※ FOTA (Firmware Over-The-Air 支援雲端升級) 和 Non-FOTA (不支援雲端升級)

2017年 1月 16日 天氣報告
氣溫:17.6@ 22:40
相對濕度:百分之 76%
天氣:多雲

沒有留言:

張貼留言