.. _01_pre2022: 事前準備 (2022年度:arduino-cli + VSCode) ============================================== `M5StickC Plus <https://www.switch-science.com/catalog/6470>`_ に、プログラムを書き込むには、 おもに以下の方法があります。 1. Arduino IDE #. arduino-cli (Command-Line Interface) #. PlatformIO 2021年度は1. の方法を用いましたが、初期設定が若干面倒なのと、エディタの編集機能が弱いので、今年は arduino-cli を用いる方法を推奨します。 ただし、arduino-cli はビルドと書き込みのみで、ファイル編集ができませんので、別途エディタとして Visual Studio Code を導入します。 余力がある人は、Visual Studio Code に Arduino拡張機能を追加して設定すると、ボタン一つで書き込みできる(Arduino IDEに近い)操作感を得ることができます。 .. note:: M5StickC Plusは、2017年に発売されたM5StickC の後継版です。ディスプレイサイズと解像度、バッテリ容量が向上しています。また、ブザーも追加されているため、簡単な音を本体のみで鳴らすことができます。 .. note:: UIFlowという、Webベースのブロックプログラミング環境もありますが、本実験では柔軟性と拡張性を重視し、Arduino/arduino-cli を使用します。Arduino/arduino-cli ではC言語でプログラムを記述します。 以下、こまかいですが、 1. arduino-cli のインストール #. arduino-cli でボード情報とライブラリのインストール #. サンプルファイルのコンパイルと転送 #. Visual Studio Code のインストール #. Arduino拡張機能の追加と設定 の順に、説明します。 (1) arduino-cli のインストール ---------------------------------------------------------------------------- `arduino-cli <https://arduino.github.io/arduino-cli/0.21/installation>`_ をインストールします。 Windows の場合 ~~~~~~~~~~~~~~~~~ 1. `Git for Windows <https://gitforwindows.org>`_ をインストールしてください。Setup時にいろいろ訊かれますが、すべてそのまま「Next」を押して進めて大丈夫です。 #. Git Bash を起動して、ターミナルに以下のコマンドを入力してください(:numref:`fig_cli_inst` )。(この下の灰色のテキストエリアの右端の四角アイコンを押すと、コマンドをコピーできます。) :: curl -fsSL https://raw.githubusercontent.com/arduino/arduino-cli/master/install.sh | sh .. _fig_cli_inst: .. figure:: img/22_0323_144455.png :scale: 90% :alt: arduino-cli インストールコマンド実行後の画面(例) :name: f_cli_inst arduino-cli インストールコマンド実行後の画面(例) Mac の場合 ~~~~~~~~~~~~~~~~~~ 1. `Homebrew パッケージマネージャ <https://brew.sh/index_ja>`_ をまだ入れていない場合は、インストールしてください。ターミナルを開き、以下のコマンドを実行します。 :: /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" #. 続けて、ターミナルで、以下のコマンドを実行してください。 :: brew update brew install git arduino-cli (2) arduino-cli でボード情報とライブラリのインストール ---------------------------------------------------------------------------------------------------- .. _writetom5: (3) サンプルファイルのコンパイルと書き込み ---------------------------------------------------------------------------------------------------- 1. ここで (2) と (3) を行う準備として、サンプルファイルと設定ファイルを `三浦の Git リポジトリ <https://git.istlab.info/miura250/M5StickCPlus_FactoryTest2022>`_ からダウンロードします。ターミナル (or Git Bash) で以下のコマンドを実行してください。 :: git clone https://git.istlab.info/git/miura250/M5StickCPlus_FactoryTest2022.git cd M5StickCPlus_FactoryTest2022 ls -al (cd のあとのフォルダ名が長いので、途中でTabキーを押して補完することをおすすめします。) ``ls -al`` の結果は、:numref:`fig_factory2022` のようになります。 .. _fig_factory2022: .. figure:: img/22_0323_151537.png :scale: 90% :alt: サンプルファイルの中身を確認 :name: f_factory2022 サンプルファイルの中身を確認 2. 以下のコマンドを入力すると、(2) arduino-cli でM5StickCPlusの開発をするための準備として、「ボード情報とライブラリのインストール」 を行います。 :: ./setup.sh .. note:: setup.sh は事前準備のときの 1回だけ実行すればOKです。その後、ライブラリが必要となり、追加でダウンロードするときは、arduino-cli lib install XXXX コマンドを実行してください。 3. 以下のコマンドを入力すると、(3) のサンプルファイル(FactoryTest2022)の「コンパイル」 を行います(:numref:`fig_compileupload`)。 :: ./compile.sh .. warning:: **M5StickCPlus本体がない事前準備の段階で、できるのは、ここまでです。** 以下の「書き込み」は、本体をUSB接続したあとで、行う作業になります。**次のステップとして、(4)のVisual Studio Code のインストール に進んでください。** 4. 以下のコマンドを入力すると、(3) の「書き込み」 を行います(:numref:`fig_compileupload`)。 **ただし「書き込み」は、M5StickCPlus本体をUSB接続していないと失敗します。** :: ./upload.sh .. note:: 今後、ソースコード(ここでは、FactoryTest2022.ino)を編集していくと、「コンパイル」と「書き込み」 を頻繁に実行することになります。その場合、以下のように && でつなげて1回のコマンド入力でも実行できます。 :: ./compile.sh && ./upload.sh .. _fig_compileupload: .. figure:: img/22_0323_154834.png :scale: 80% :alt: コンパイルと書き込み(upload)を行っている様子 :name: f_compileupload コンパイルと書き込み(upload)を行っている様子 (4) Visual Studio Code のインストール -------------------------------------------------------------------------------------------- Windows の場合は、Microsoft Store で、Visual Studio Code のインストールができます。Mac の場合は、`インストーラー <https://code.visualstudio.com/download>`_ でダウンロードしてください。 (5) Arduino拡張機能の追加と設定 -------------------------------------------------------------------------------------------- 必須ではないですが、できれば次のページを参考に、 `Arduino拡張機能の追加と設定 <https://ss.istlab.info/presens/dview/361/1cd086be8751d458a35b9ccec79a6b20#>`_ をしておくとよいでしょう。 この設定をしておくと、ソースコード編集→保存→右上のボタン で、書き込みができます。 .. note:: この設定をしない場合でも、(3) のコマンドライン(またはシェルスクリプト)を修正・実行すれば、書き込みができます。