— noria (@noria901) 2018年4月18日
これArduinoで開発したんですが、
他にはMicroPythonも主流ですね。
そこで時代に逆行してM5Stack-idfで開発しましょう。
前提条件
- OS:Ubuntu16.04
- IDFのBuild時間が段違いです。
- Windows10のWSL試したけど。。うん。
- なので文中のExampleはUbuntuベースで書かれてます。
- esp-idf : https://github.com/espressif/esp-idf
- これがないと始まらない
- Setting Up ESP-IDF に一通りセットアップ方法書いてあります
- 地雷な細かい設定も含めてすべて書かれているので、ぜひ一読を。
セットアップ
- M5Stack-IDF をClone
- $ git clone https://github.com/m5stack/M5Stack-IDF
- $ cd ./M5Stack-IDF
- Componentsにarduino-esp32をClone
- $ cd components
- $ rm arduino
- $ git clone https://github.com/espressif/arduino-esp32.git arduino
- $ cd arduino
- $ git submodule update --init --recursive
- $ cd ../..
- 設定する
- idfの設定です。気をつけるのは以下3つ。
- $ make menuconfig
- "Autostart Arduino setup and loop on boot"
- enable 選択時: main.cpp はArduino風
- //file: main.cpp
- #include "Arduino.h"
- void setup(){
- Serial.begin(115200);
- }
- void loop(){
- Serial.println("loop");
- delay(1000);
- }
- disable選択時: esp-idf風。app_main()で initArduino()呼ぶ必要がある
- //file: main.cpp
- #include "Arduino.h"
- extern "C" void app_main()
- {
- initArduino();
- pinMode(4, OUTPUT);
- digitalWrite(4, HIGH);
- //do your own thing
- }
- "Disable mutex locks for HAL"
- enable選択時:ドライバが他のスレッド/割り込み/コアからのアクセスを防ぐことができない。enable推奨。
- "Autoconnect WiFi on boot"
- enabled選択時;WiFiは前回の設定で自動起動する
- disable 選択時:自動起動せずWiFi.beginを待つ
- build して書き込む
- esp-idfでいつもお馴染みのbuildコマンドを叩きましょう!
- $ make -j8 flash monitor
つくってみる
TODO:githubにコード上げる
TODO:markdownで書き直す
TODO:markdownで書き直す
0 件のコメント:
コメントを投稿