
Jun 09 2022
使用Clion搭配platformio開發esp8266
最近想把家中的電器可以跟apple homekit結合在一起省去一些麻煩順便可以帶來生活更好的狀態,但apple homekit的冷氣控制一個就要3700原, 對於家中有六台冷氣的我有點小貴,所以決定自己開發這樣的產品...順便也改造一下不太好用的窗簾機器人,讓他可以直接支援apple homekit,不需要再透過捷徑的方式來支援homekit
在開始之前研究了一下許多arduino與Raspberry Pi兩者之間的選擇,發現了arduino在整個生態系來說完整不少,缺點是他基本上只支援C/C++的開發... Raspberry Pi 倒是可以使用.net或是node.js等等的語言,但許多的控制器或是傳感器支援的數量較少,並且價格也比較昂貴所以最後選擇了arduino, arduino中也有許多不同的板子,在選擇的時候的非常的困擾...後來我選擇了由樂鑫開發的ESP系列的板子好處是他已經內建了wifi功能, 所以可以直接使用不需要再加上wifi模組!
CLion Plugin設定
JetBrains開發工具真的都不錯所以我開發iot時我也選用了JetBrains的工具,在研究的時候也有人使用vs code跟arduino IDE來開發,CLion的安裝過程就不在這邊說了
CLion在開發arduino必要安裝的套件有兩個,一個是Arduino Support另一個是PlatformIO for CLion這兩個就是圖片中第一個與第五個plugin,其他的你可以選用來安裝。

PlatformIO cli 安裝
系統安裝需要有python3,在mac中已經有內建的python3,所以透過pip安裝platformio就可以或是透過Homebrew安裝也可以
透過python安裝時,一定要使用python 3.8以上的版本,不然會失敗
新增專案
ESP8266是NodeMCU ESP-12E的版本,所以這邊選擇NodeMCU下的ESP-12E的專案類型

建立完成後就會看到下面這張圖片的狀態一樣,接下來只要把程式碼寫到src/main.cpp就可以上傳到ESP8266的板子上了!
