2018年4月25日水曜日

[M5Stack]そうだ、M5Stack-idfで開発しよう

最近みなさんの大好物であるM5Stack、私も触ってるんですよ。


これ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 に一通りセットアップ方法書いてあります
    • 地雷な細かい設定も含めてすべて書かれているので、ぜひ一読を。

セットアップ

  1. M5Stack-IDF をClone
  2. 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 ../.. 
  3. 設定する
    • 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を待つ
  4. build して書き込む
    • esp-idfでいつもお馴染みのbuildコマンドを叩きましょう!
    • $ make -j8 flash monitor

つくってみる

TODO:githubにコード上げる
TODO:markdownで書き直す

0 件のコメント:

コメントを投稿