「App:IDE:Arduino IDE」の版間の差分

提供: robot-jp wiki
ナビゲーションに移動検索に移動
 
(同じ利用者による、間の173版が非表示)
1行目: 1行目:
=== Arduino IDE[編集 | ソースを編集] ===
+
= インストール =
・Arduino IDEをダウンロード&インストール (Windows10)
+
・Arduino IDEをダウンロード&解凍
 +
<blockquote>
  
   https://www.arduino.cc/en/software
+
 
 +
解凍先のフォルダにあるファイルを使う事になるため、実行したい場所に解凍して下さい。<BR />
 +
</blockquote>
 +
・インストール開始 
 +
<blockquote>
 +
【Windows7〜10】
 +
:'''Winowss Store版'''
 +
:   直接インストールされます。
 +
:   ショートカットも自動で作られます。
 +
:<strong style="color:#0000bb">Zip版</strong>:https://www.arduino.cc/en/software  
 +
:   ダウンロード後に手作業で解凍。
 +
:   手作業で"C:\Program Files\"に保存
 +
:   arduino.exeを実行すると起動します。
 +
:   ショートカットは自分で作りましょう。<BR />
 +
【linux】
 +
:<strong style="color:#0000bb">ver2.0.1 download版</strong><strong>:arduino.cc (https://arduino.cc)</strong>
 +
::インストールは面倒ですが、使うだけなら簡単です。
 +
::arduino.cc からアプリケーション版をダウンロード。解凍作業はありません。
 +
:: 実行権限を付与    chmod 655 arduino-ide_2.0.1_Linux_64bit.AppImage
 +
:: そのフォルダ内で実行 ./chmod 655 arduino-ide_2.0.1_Linux_64bit.AppImage
 +
::これだけです。
 +
::desktop entry(ショートカット)を作る場合、
 +
:: <syntaxhighlight lang="c++" style="border:1px lightgray;">cd ~/snap/
 +
mkdir arduino
 +
cd arduino
 +
cp -r ~/ダウンロード/arduino-ide_2.0.1_Linux_64bit.AppImage .
 +
cd ~/.local/share/applications
 +
gedit arduino.desktop</syntaxhighlight>
 +
::<syntaxhighlight lang="C++" style="border:1px dashed gray;">
 +
[Desktop Entry]
 +
Type=Application
 +
Name=Arduino IDE
 +
Exec=/home/■/snap/arduino/arduino-ide_2.0.1_Linux_64bit.AppImage
 +
Path=/home/■/snap/arduino/
 +
Icon=/home/■/snap/arduino/arduino.png
 +
Terminal=false
 +
Categories=
 +
Comment=Arduino IDE 2.0.1
 +
</syntaxhighlight>
 +
::こんな感じです。
 +
::"/home/■/"の部分を"~"のように書く事がありますが、このファイルは受け付けないためフルパスで書くのが必須です。
 +
::他には、下記"Permissions"に相当する設定を全部手作業で行う必要がありますが、おそらくシリアルポートを有効化する程度だと思います。
 +
 
 +
: <strong style="color:#0000bb">ver1.8.19 ubuntu store版</strong>
 +
::簡単なのでオススメです。実行するだけで完了です。
 +
::この手段ではLinux特有のこれだけのPermissionsの設定を全部自動で設定してくれます。
 +
::[[ファイル:ArduinoIDE-Permissions.png|500px]]
 +
::{| class="wikitable"
 +
|
 +
インストールフォルダ(本体)
 +
:~/.arduino15
 +
実行ファイル(アプリで指定した場所)
 +
:~/Arduino/Projects/
 +
default folder(プログラムとライブラリを入れるフォルダ)
 +
:Project : "~/snap/arduino/70/Arduino/Projects/"
 +
:Library : "~/snap/arduino/70/Arduino/Projects/libraries"
 +
::または"~/snap/arduino/current/Arduino/libraries"
 +
::※中身は同じファイル
 +
::
 +
:基本的にはArduinoIDE上で指定した場所にProjectフォルダが作られて、その中にプログラム・ライブラリが入ります。
 +
|}
 +
:<BR />
 +
:<strong style="color:#0000bb">ver1.8.19 download版</strong><strong>:arduino.cc (https://arduino.cc)</strong>
 +
::〜.tarを解凍して動かしたいフォルダに移します。 "~/snap/"または"~/.local/が一般的なようです。
 +
::install.shを実行すると、"~/.local/share/applications/" にショートカットが登録されます。
 +
:::bash arduino-linux-setup.sh $USER
 +
:::reboot
 +
::再起動後に
 +
:::sudo bash install.sh
 +
::これでインストール完了です。ショートカットから起動できます。
 +
:: {| class="wikitable" | default folder :Project : "~/Arduino/Projects/" :Board  : "~/.arduino15/" :Library : "~/Arduino/Projects/libraries/" |}
 +
:<BR />
 +
::pip・pyserialをインストールします。
 +
::terminalを起動して、コマンドを実行します。
 +
::{|
 +
|
 +
sudo apt-get install pip <BR />
 +
sudo pip3 install pyserial
 +
|}
 +
::これでも書き込みができない場合もあります。(未調査)
 +
::
 +
::'''ただし、'''
 +
::'''Linux用のダウンロード版は色々なエラー(Serial/pip/python...)が出る事があるため、あまりオススメしません。'''
 +
</blockquote>
  
 
・Arduino IDEの環境を設定
 
・Arduino IDEの環境を設定
 +
<blockquote>
 +
【Arduino Uno】
 +
:開発ボードの名前をを選択:"ツール”→"ボード"→"Arduino AVR Boards"→”Arduino Uno"
  
   "ファイル"→"環境設定"""→"追加のボードマネージャのURL"にURLを追加
+
【Arduino Nano】
 +
:"ツール”→"ボード"→"ボードマネージャ"で"Every"を検索して、"Arduino AVR Boards"をインストール
 +
:開発ボードの名前をを選択:"ツール”→"ボード"→"Arduino AVR Boards"→”Arduino Nano"
  
     <nowiki>https://dl.espressif.com/dl/package_esp32_index.json</nowiki>
+
【Arduino Nano Every】
 +
:"ツール”→"ボード"→"ボードマネージャ"で"Every"を検索して、"Arduino AVR Boards"をインストール
 +
:開発ボードの名前をを選択:"ツール”→"ボード"→"Arduino AVR Boards"→”Arduino Nano Every"で開発ボードの名前をを選択
  
   "ツール”→"ボード"→"ボードマネージャ"で検索して、"ESP32 / by Espressif Systems"をインストール
+
【ESP8266】
 +
:"ファイル"→"環境設定"→"追加のボードマネージャのURL"にURLを追加
 +
::http://arduino.esp8266.com/stable/package_esp8266com_index.json
 +
:"ツール”→"ボード"→"ボードマネージャ"で"8266"を検索して、"esp8266 by ESP8266 Community"をインストール
 +
:開発ボードの名前をを選択:"ツール”→"ボード"→”ESP32 Arduino"→”Generic ESP8266 Module"
  
   "ツール”→"ボード"→”ESP32 Arduino""NodeMCU-32S"を選択
+
【'''ESP32'''】
 +
:"ファイル"→"環境設定"→"追加のボードマネージャのURL"にURLを追加
 +
::https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json  ※URLは[https://playground.arduino.cc/Main/ArduinoOnOtherAtmelChips/ ここ]で検索
 +
:"ツール”→"ボード"→"ボードマネージャ"で"ESP32"を検索して、"ESP32 / by Espressif Systems" 2.0.5 をインストール
 +
:開発ボードの名前をを選択:"ツール”→"ボード"→”ESP32 Arduino"→ボード名(下記)
 +
 
 +
{| class="wikitable"
 +
|メーカー
 +
|ボード名
 +
|img
 +
|Arduino IDE 設定 ボード名
 +
|補足
 +
|-
 +
|Expressif
 +
|ESP-DevBoardC-32D
 +
|[[file:ESP32-DevKitC-32D-icon.jpg]]
 +
|ESP32 Dev Module
 +
|困った時はコレにしておけば大抵動く
 +
|-
 +
|HiLetgo
 +
|NodeMCU-32S
 +
|[[file:NodeMCU-32S-icon.jpg]]
 +
|NodeMCU-32S
 +
|
 +
|}
 +
 
 +
:"ツール”→”シリアルポート"でボードのつながっているCOMポートを選択
 +
</blockquote>
  
   "ツール”→”シリアルポート"でボードのつながっているCOMポートを選択
 
  
 
・スケッチを何か書き込んで動作確認。
 
・スケッチを何か書き込んで動作確認。
 +
<blockquote>
 +
※VSCodeを使う可能性場合、先頭に "#include <Arduino.h>"を入れる。ArduinoIDEでも書いてあっても問題ない。<BR />
 +
"→"ボタンでコンパイル&書き込み。この時点で保存先を聞かれるので、環境設定で指定したフォルダ内にファイル名を設定して保存する。<BR />
 +
※ArduinoIDEではファイル名を指定するとその名前のフォルダが作られて、自動的にその中にファイルが置かれる。<BR />
 +
:<syntaxhighlight lang="C++" style="border:1px dashed gray;">
 +
#include <Arduino.h>
 +
int i;
 +
 +
void setup() {
 +
 +
: Serial.begin(9600);
 +
: Serial.println("--Start--");
 +
 +
}
 +
 +
void loop() {
 +
 +
: Serial.println(i++);
 +
: delay(1000);
 +
 +
}
 +
</syntaxhighlight>
 +
 +
"ツール"→"シリアルポート"→それっぽいCOMポートを選択<BR />
 +
:Windows ・・・例:"COM4"
 +
:Linux  ・・・例:"ttyUSB0"
 +
"ツール"→"シリアルモニタ"→一番下で"9600bps"を選択<BR />
 +
1秒毎に数字が表示されれば動作確認完了。
 +
</blockquote>全消去
 +
 +
= 高速書込 =
 +
 +
===== Windows11 =====
 +
<blockquote>1. esptools のインストール  
 +
 +
pytonをインストールして、ついでにpipもインストール。コマンドラインで次を入力すればインストール済かどうかわかります。
 +
:{| class="wikitable"
 +
|python -m pip -V
 +
|}
 +
pythonが過去にインスト―ル済で、でもpipが入ってない場合、次のコマンドでpipを追加インストールします。
 +
:{| class="wikitable"
 +
|python -m pip -V
 +
|}
 +
次のコマンドでesptoolをインストールします。
 +
:{| class="wikitable"
 +
|python -m pip install esptool
 +
|}
 +
python Ver3.10の場合、途中で黄色い文字でこんなメッセージが出てきます。
 +
 +
インストールされた場所が確認できます。
 +
:{| class="wikitable"
 +
|   WARNING: The scripts pyserial-miniterm.exe and pyserial-ports.exe are installed in<BR/> ''''C:\Users\*\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\Scripts'''<nowiki/>' which is not on PATH.
 +
|} upgradeもできるようです。
 +
:C:\Users\*\AppData\Local\Microsoft\WindowsApps\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\python.exe -m pip install --upgrade pip
 +
インストールされた場所に移動します。
 +
 +
cd C:\Users\*\AppData\Local\Programs\Python\Python311\Lib\site-packages\pip>cd C:\Users\*\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\Scripts
 +
 +
dirで一覧を確認すると、~.pyがexe形式になっています。
 +
<syntaxhighlight lang="C++" style="border:1px dashed gray;">
 +
2023/03/01  07:58    <DIR>          .
 +
2023/03/01  07:58    <DIR>          ..
 +
2023/03/01  07:58             1,087 espefuse.py-script.py
 +
2023/03/01  07:58            74,752 espefuse.py.exe
 +
2023/03/01  07:58             1,089 espsecure.py-script.py
 +
2023/03/01  07:58            74,752 espsecure.py.exe
 +
2023/03/01  07:58             1,085 esptool.py-script.py
 +
2023/03/01  07:58            74,752 esptool.py.exe
 +
2023/03/01  07:58           108,468 pyserial-miniterm.exe
 +
2023/03/01  07:58           108,470 pyserial-ports.exe
 +
</syntaxhighlight>
 +
ここまでで下準備完了です。
 +
 +
===== Flash内のパーテーション消去 =====
 +
<blockquote>Arduino2.0以降では「ツール」「Erase all flash...」のメニューから指定できるため、Arduino2.0以降をオススメします。
 +
Flashをパーティションも含めて全削除する場合、arduino1.18.19には機能がないため上記フォルダで次のコマンドを入力します。
 +
 
:{| class="wikitable"
 
:{| class="wikitable"
|+
+
|esptool.py --chip esp32 com3 --baud 921600 erase_flash
 +
|}
 +
"com3"はcomポート名です。
 +
 
 +
</blockquote>
 +
 
 +
====== コンパイル済binの書き込み ======
 +
<blockquote>ArduinoIDEで「スケッチ」「コンパイル済バイナリをエクスポート」で~ino.binというファイルがProjectのフォルダに出力されます。
 +
 
 +
書き込む手段は ubuntuであれば下記の通り。
 +
 
 +
 
 +
ただし、ArduinoIDEから書き込む場合と下記esptoolによる方法では動作が若干異なる事があるようです。
 +
 
 +
経験則では、esptoolから書き込むとボード依存で正常だったり異常だったりバラバラでした。ArduinoIDEから書き込めば動作は安定して同じ状態になりました。あくまで経験則です。
 +
 
 +
</blockquote></blockquote>
 +
 
 +
==== ubuntu ====
 +
<blockquote>1. esptools のインストール  
 +
sudo apt install esptool
 +
 
 +
2. esptool.py のフォルダ確認   
 +
cd ~/git/arduino-esp32/tools/
 +
 
 +
3. ArduinoIDE から「スケッチ」→「コンパイルしたバイナリを出力」とする。<BR />
 +
 〜.inoと同じフォルダに〜.binが作られる。
 +
 
 +
4. 同じフォルダに スクリプト"upload.sh"をgeditで書く
 +
 
 +
<nowiki>--------- upload.sh ----------</nowiki>
 +
<syntaxhighlight lang="C++" style="border:1px dashed gray;">
 +
#/bin/sh PORT=/dev/ttyUSB0
 +
BIN=test.ino.esp32.bin
 +
python /usr/share/esptool/esptool.py --port ${PORT} --baud 921600 \ --chip esp32 --before default_reset --after hard_reset \
 +
write_flash -z --flash_mode dio --flash_freq 80m --flash_size detect \ 0x10000 ./${BIN}
 +
</syntaxhighlight>
 +
<nowiki>------------------------------</nowiki>
 +
 
 +
5.実行   
 +
sh ./upload.sh
 +
</blockquote>
 +
 
 +
== 注意事項 ==
 +
 
 +
=== VSCodeを使う場合の Arduino IDE の選び方 ===
 +
<blockquote>Windows Storeからインストールすると、Arduino IDEのインストール先フォルダがセキュアフォルダ内になります。
 +
:C:\Program Files\WindowsApps\AndroidLLC
 +
VSCodeを使う場合このフォルダにアクセスする事があります。
 +
 
 +
しかし、セキュリティーの問題によりこのフォルダ "WindowsApps” の内側のファイルに容易にアクセスできず、エラーになります。
 +
 
 +
解決する手段が面倒なため、VSCodeを使う場合には、Windows Store版 Arduino IDEのインストールはお勧めしません。
 +
 
 +
必ず [https://www.arduino.cc/en/software Arduino.cc] から Arduino IDE をダウンロードした最新のファイルをインストールして下さい。</blockquote>
 +
 
 +
=== Arduino IDEでコンパイルエラーが連発する時 ===
 +
<blockquote>次の空のプログラムをコンパイルさせてみて、それでもエラーが出るか確認して下さい。</blockquote>
 +
::{| class="wikitable"
 +
!空のプログラム
 +
|-
 
|#include <Arduino.h>
 
|#include <Arduino.h>
int i;
+
void setup() {
  
void setup() {
 
:Serial.begin(9600);
 
:Serial.println("--Start--");
 
 
}
 
}
  
 
void loop() {
 
void loop() {
:Serial.println(i++);
+
 
:delay(1000);
 
 
}
 
}
 +
|}
 +
<blockquote>上記の空のプログラムでもエラーが出る場合、
 +
次の手順でArduino IDEとデータフォルダを全て消してから再インストールするのをお勧めします。</blockquote>
 +
::{| class="wikitable"
 +
!手順(上から順に実施)
 +
!Arduino.ccからのダウンロード版
 +
!Windows Store版
 +
|-
 +
|'''スケッチブックの保存場所'''のフォルダを全て消してから
 +
再インストールするため、その準備として、そこに入って
 +
 +
いる必要なファイルを全て別の場所にコピーして消えない
 +
 +
ように保存する。
 +
 +
'''スケッチブックの保存場所'''のフォルダはArduino IDEで確認すること。<blockquote>Arduino IDEで"ファイル"→"環境設定"(右を参照)</blockquote>
 +
|Default:"C:\Users\(ユーザー名)\Documents\Arduino"
 +
|Default:"C:\Users\(ユーザー名)\Documents\ArduinoData"
 +
|+
 +
|Arduino IDEを'''アンインストール'''
 +
|
 +
|
 +
|-
 +
|上記スケッチブックの保存場所のフォルダを消す。
 +
|Default:C:\Users\(ユーザー名)\Documents\Arduino
 +
|Default:C:\Users\(ユーザー名)\Documents\ArduinoData
 +
|-
 +
|データフォルダを消す。
 +
|C:\Users\(ユーザー名)\AppData\Local\Arduino15
 +
|C:\Users\(ユーザー名)\Documents\ArduinoData\packages
 +
|}
 +
<blockquote>※Mac,Linuxの対処法は [https://support.arduino.cc/hc/en-us/articles/360021325733-How-to-do-a-complete-uninstall-of-the-Arduino-IDE?fbclid=IwAR1s-XR_baUo-2uA8t3vBWlNBNVZkJVWQ3X_7mbN7y7sU0CunX_WsSczHYM Arduino.cc] に記載されています。</blockquote>
 +
 +
=== Arduino IDEから書き込み中に "スケッチの書き込み中にエラーが発生しました" と表示される時 ===
 +
::{| class="wikitable"
 +
|IDEのエラー表示
 +
| colspan="3" |Connecting........_____....._____....._____....._____....._____....._____.....____
 +
スケッチの書き込み中にエラーが発生しました 
 +
 +
A fatal error occurred: Failed to connect to ESP32:
 +
 +
Timed out waiting for packet header
 +
|-
 +
|原因
 +
|USBドライバのトラブル。
 +
|CLK/TXD0/RXD0に何かがつながっている。
 +
|EN,IO0,DTR,RTSの接続がおかしい
 +
|-
 +
|対策方法
 +
|1. USBシリアルを抜き差しして再書き込みしてみる。
 +
2. USBを差し込むPCのポート(差込口)を別の所にしてみる。
 +
|CLK/TXD0/RXD0はDEVKIT端子はOPEN又はESP32仕様書の使い方にする。
 +
|ESP32仕様書/DevKit仕様書の使い方にする。
 +
|}
 +
 +
=== 【ESP32】Arduino IDEから書き込みまで完了するのに起動しない、EN SWを押すと起動する場合 ===
 +
::{| class="wikitable"
 +
|IDEのエラー表示
 +
|なし
 +
|-
 +
|原因
 +
|起動時にIO0がPullDown/Low入力になっている。
 +
|-
 +
|対策方法
 +
|起動時にIO0がPullUp又はOPENにする。(Defaultで起動中に内部pull-upがONになるため、OpenにするとHighが入力される)
 +
|}
 +
 +
=== 【ESP32】Arduino IDEから書き込みまで完了するのに起動しない、EN SWを押すと起動する場合 ===
 +
::{| class="wikitable"
 +
|IDEのエラー表示
 +
|なし
 +
|-
 +
|原因
 +
|起動時にIO0がPullDown/Low入力になっている。
 +
|-
 +
|対策方法
 +
|起動時にIO0がPullUp又はOPENにする。(Defaultで起動中に内部pull-upがONになるため、OpenにするとHighが入力される)
 +
|}
 +
 +
 +
=== ファイル名を変えた直後に存在しない過去のファイルに対するエラーが出る場合 ===
 +
::{| class="wikitable"
 +
|IDEのエラー表示
 +
|
 +
|-
 +
|原因
 +
|IDE上でファイル名を変えてからコンパイルすると発生します。
 +
IDEがファイル名の変化をトレースできてないのに過去のコンパイル済
 +
 +
ファイルを再利用するのが原因です。
 +
|-
 +
|対策方法
 +
|IDEを再起動
 +
|}
 +
 +
=== ライブラリのインストール方法 ===
 +
:基本的には [https://docs.arduino.cc/software/ide-v1/tutorials/installing-libraries Arduino HP 記載] の通りです。
 +
::{| class="wikitable"
 +
!Header File
 +
!Library
 +
!インストール方法
 +
!download url
 +
|-
 +
|WiFi.h
 +
|
 +
|
 +
|
 +
|-
 +
|ESP32Ping.h
 +
|
 +
|
 +
|https://github.com/marian-craciunescu/ESP32Ping
 +
|-
 +
|TFT_eSPI.h
 +
|
 +
|
 +
|https://github.com/Bodmer/TFT_eSPI
 +
|-
 +
|ESP32FS plugin
 +
|
 +
|
 +
|https://github.com/lorol/arduino-esp32fs-plugin/releases
 
|}
 
|}
  
  
 
----[https://robot-jp.com/wiki/index.php 戻る]
 
----[https://robot-jp.com/wiki/index.php 戻る]

2023年3月14日 (火) 21:45時点における最新版

インストール

・Arduino IDEをダウンロード&解凍


解凍先のフォルダにあるファイルを使う事になるため、実行したい場所に解凍して下さい。

・インストール開始 

【Windows7〜10】

Winowss Store版
   直接インストールされます。
   ショートカットも自動で作られます。
Zip版https://www.arduino.cc/en/software
   ダウンロード後に手作業で解凍。
   手作業で"C:\Program Files\"に保存
   arduino.exeを実行すると起動します。
   ショートカットは自分で作りましょう。

【linux】

ver2.0.1 download版:arduino.cc (https://arduino.cc)
インストールは面倒ですが、使うだけなら簡単です。
arduino.cc からアプリケーション版をダウンロード。解凍作業はありません。
 実行権限を付与    chmod 655 arduino-ide_2.0.1_Linux_64bit.AppImage
 そのフォルダ内で実行 ./chmod 655 arduino-ide_2.0.1_Linux_64bit.AppImage
これだけです。
desktop entry(ショートカット)を作る場合、
 
cd ~/snap/
mkdir arduino
cd arduino
cp -r ~/ダウンロード/arduino-ide_2.0.1_Linux_64bit.AppImage .
cd ~/.local/share/applications
gedit arduino.desktop
[Desktop Entry]
Type=Application
Name=Arduino IDE
Exec=/home//snap/arduino/arduino-ide_2.0.1_Linux_64bit.AppImage
Path=/home//snap/arduino/
Icon=/home//snap/arduino/arduino.png
Terminal=false
Categories=
Comment=Arduino IDE 2.0.1
こんな感じです。
"/home/■/"の部分を"~"のように書く事がありますが、このファイルは受け付けないためフルパスで書くのが必須です。
他には、下記"Permissions"に相当する設定を全部手作業で行う必要がありますが、おそらくシリアルポートを有効化する程度だと思います。
ver1.8.19 ubuntu store版
簡単なのでオススメです。実行するだけで完了です。
この手段ではLinux特有のこれだけのPermissionsの設定を全部自動で設定してくれます。
ArduinoIDE-Permissions.png

インストールフォルダ(本体)

~/.arduino15

実行ファイル(アプリで指定した場所)

~/Arduino/Projects/

default folder(プログラムとライブラリを入れるフォルダ)

Project : "~/snap/arduino/70/Arduino/Projects/"
Library : "~/snap/arduino/70/Arduino/Projects/libraries"
または"~/snap/arduino/current/Arduino/libraries"
※中身は同じファイル
基本的にはArduinoIDE上で指定した場所にProjectフォルダが作られて、その中にプログラム・ライブラリが入ります。

ver1.8.19 download版:arduino.cc (https://arduino.cc)
〜.tarを解凍して動かしたいフォルダに移します。 "~/snap/"または"~/.local/が一般的なようです。
install.shを実行すると、"~/.local/share/applications/" にショートカットが登録されます。
bash arduino-linux-setup.sh $USER
reboot
再起動後に
sudo bash install.sh
これでインストール完了です。ショートカットから起動できます。

pip・pyserialをインストールします。
terminalを起動して、コマンドを実行します。

sudo apt-get install pip
sudo pip3 install pyserial

これでも書き込みができない場合もあります。(未調査)
ただし、
Linux用のダウンロード版は色々なエラー(Serial/pip/python...)が出る事があるため、あまりオススメしません。

・Arduino IDEの環境を設定

【Arduino Uno】

開発ボードの名前をを選択:"ツール”→"ボード"→"Arduino AVR Boards"→”Arduino Uno"

【Arduino Nano】

"ツール”→"ボード"→"ボードマネージャ"で"Every"を検索して、"Arduino AVR Boards"をインストール
開発ボードの名前をを選択:"ツール”→"ボード"→"Arduino AVR Boards"→”Arduino Nano"

【Arduino Nano Every】

"ツール”→"ボード"→"ボードマネージャ"で"Every"を検索して、"Arduino AVR Boards"をインストール
開発ボードの名前をを選択:"ツール”→"ボード"→"Arduino AVR Boards"→”Arduino Nano Every"で開発ボードの名前をを選択

【ESP8266】

"ファイル"→"環境設定"→"追加のボードマネージャのURL"にURLを追加
http://arduino.esp8266.com/stable/package_esp8266com_index.json
"ツール”→"ボード"→"ボードマネージャ"で"8266"を検索して、"esp8266 by ESP8266 Community"をインストール
開発ボードの名前をを選択:"ツール”→"ボード"→”ESP32 Arduino"→”Generic ESP8266 Module"

ESP32

"ファイル"→"環境設定"→"追加のボードマネージャのURL"にURLを追加
https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json  ※URLはここで検索
"ツール”→"ボード"→"ボードマネージャ"で"ESP32"を検索して、"ESP32 / by Espressif Systems" 2.0.5 をインストール
開発ボードの名前をを選択:"ツール”→"ボード"→”ESP32 Arduino"→ボード名(下記)
メーカー ボード名 img Arduino IDE 設定 ボード名 補足
Expressif ESP-DevBoardC-32D ESP32-DevKitC-32D-icon.jpg ESP32 Dev Module 困った時はコレにしておけば大抵動く
HiLetgo NodeMCU-32S NodeMCU-32S-icon.jpg NodeMCU-32S
"ツール”→”シリアルポート"でボードのつながっているCOMポートを選択


・スケッチを何か書き込んで動作確認。

※VSCodeを使う可能性場合、先頭に "#include <Arduino.h>"を入れる。ArduinoIDEでも書いてあっても問題ない。
"→"ボタンでコンパイル&書き込み。この時点で保存先を聞かれるので、環境設定で指定したフォルダ内にファイル名を設定して保存する。
※ArduinoIDEではファイル名を指定するとその名前のフォルダが作られて、自動的にその中にファイルが置かれる。

#include <Arduino.h>
int i;

void setup() {

: Serial.begin(9600);
: Serial.println("--Start--");

}

void loop() {

: Serial.println(i++);
: delay(1000);

}

"ツール"→"シリアルポート"→それっぽいCOMポートを選択

Windows ・・・例:"COM4"
Linux  ・・・例:"ttyUSB0"

"ツール"→"シリアルモニタ"→一番下で"9600bps"を選択
1秒毎に数字が表示されれば動作確認完了。

全消去

高速書込

Windows11

1. esptools のインストール  

pytonをインストールして、ついでにpipもインストール。コマンドラインで次を入力すればインストール済かどうかわかります。

python -m pip -V

pythonが過去にインスト―ル済で、でもpipが入ってない場合、次のコマンドでpipを追加インストールします。

python -m pip -V

次のコマンドでesptoolをインストールします。

python -m pip install esptool

python Ver3.10の場合、途中で黄色い文字でこんなメッセージが出てきます。

インストールされた場所が確認できます。

  WARNING: The scripts pyserial-miniterm.exe and pyserial-ports.exe are installed in
'C:\Users\*\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\Scripts' which is not on PATH.
upgradeもできるようです。
C:\Users\*\AppData\Local\Microsoft\WindowsApps\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\python.exe -m pip install --upgrade pip

インストールされた場所に移動します。

cd C:\Users\*\AppData\Local\Programs\Python\Python311\Lib\site-packages\pip>cd C:\Users\*\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\Scripts

dirで一覧を確認すると、~.pyがexe形式になっています。

2023/03/01  07:58    <DIR>          .
2023/03/01  07:58    <DIR>          ..
2023/03/01  07:58             1,087 espefuse.py-script.py
2023/03/01  07:58            74,752 espefuse.py.exe
2023/03/01  07:58             1,089 espsecure.py-script.py
2023/03/01  07:58            74,752 espsecure.py.exe
2023/03/01  07:58             1,085 esptool.py-script.py
2023/03/01  07:58            74,752 esptool.py.exe
2023/03/01  07:58           108,468 pyserial-miniterm.exe
2023/03/01  07:58           108,470 pyserial-ports.exe

ここまでで下準備完了です。

Flash内のパーテーション消去

Arduino2.0以降では「ツール」「Erase all flash...」のメニューから指定できるため、Arduino2.0以降をオススメします。

Flashをパーティションも含めて全削除する場合、arduino1.18.19には機能がないため上記フォルダで次のコマンドを入力します。

esptool.py --chip esp32 com3 --baud 921600 erase_flash

"com3"はcomポート名です。

コンパイル済binの書き込み

ArduinoIDEで「スケッチ」「コンパイル済バイナリをエクスポート」で~ino.binというファイルがProjectのフォルダに出力されます。

書き込む手段は ubuntuであれば下記の通り。


ただし、ArduinoIDEから書き込む場合と下記esptoolによる方法では動作が若干異なる事があるようです。

経験則では、esptoolから書き込むとボード依存で正常だったり異常だったりバラバラでした。ArduinoIDEから書き込めば動作は安定して同じ状態になりました。あくまで経験則です。

ubuntu

1. esptools のインストール  

sudo apt install esptool

2. esptool.py のフォルダ確認 cd ~/git/arduino-esp32/tools/

3. ArduinoIDE から「スケッチ」→「コンパイルしたバイナリを出力」とする。
 〜.inoと同じフォルダに〜.binが作られる。

4. 同じフォルダに スクリプト"upload.sh"をgeditで書く

--------- upload.sh ----------

#/bin/sh PORT=/dev/ttyUSB0 
BIN=test.ino.esp32.bin 
python /usr/share/esptool/esptool.py --port ${PORT} --baud 921600 \ --chip esp32 --before default_reset --after hard_reset \ 
write_flash -z --flash_mode dio --flash_freq 80m --flash_size detect \ 0x10000 ./${BIN}

------------------------------

5.実行 sh ./upload.sh

注意事項

VSCodeを使う場合の Arduino IDE の選び方

Windows Storeからインストールすると、Arduino IDEのインストール先フォルダがセキュアフォルダ内になります。

C:\Program Files\WindowsApps\AndroidLLC

VSCodeを使う場合このフォルダにアクセスする事があります。

しかし、セキュリティーの問題によりこのフォルダ "WindowsApps” の内側のファイルに容易にアクセスできず、エラーになります。

解決する手段が面倒なため、VSCodeを使う場合には、Windows Store版 Arduino IDEのインストールはお勧めしません。

必ず Arduino.cc から Arduino IDE をダウンロードした最新のファイルをインストールして下さい。

Arduino IDEでコンパイルエラーが連発する時

次の空のプログラムをコンパイルさせてみて、それでもエラーが出るか確認して下さい。

空のプログラム
#include <Arduino.h>

void setup() {

}

void loop() {

}

上記の空のプログラムでもエラーが出る場合、 次の手順でArduino IDEとデータフォルダを全て消してから再インストールするのをお勧めします。

手順(上から順に実施) Arduino.ccからのダウンロード版 Windows Store版
スケッチブックの保存場所のフォルダを全て消してから

再インストールするため、その準備として、そこに入って

いる必要なファイルを全て別の場所にコピーして消えない

ように保存する。

スケッチブックの保存場所のフォルダはArduino IDEで確認すること。

Arduino IDEで"ファイル"→"環境設定"(右を参照)

Default:"C:\Users\(ユーザー名)\Documents\Arduino" Default:"C:\Users\(ユーザー名)\Documents\ArduinoData"
Arduino IDEをアンインストール
上記スケッチブックの保存場所のフォルダを消す。 Default:C:\Users\(ユーザー名)\Documents\Arduino Default:C:\Users\(ユーザー名)\Documents\ArduinoData
データフォルダを消す。 C:\Users\(ユーザー名)\AppData\Local\Arduino15 C:\Users\(ユーザー名)\Documents\ArduinoData\packages

※Mac,Linuxの対処法は Arduino.cc に記載されています。

Arduino IDEから書き込み中に "スケッチの書き込み中にエラーが発生しました" と表示される時

IDEのエラー表示 Connecting........_____....._____....._____....._____....._____....._____.....____

スケッチの書き込み中にエラーが発生しました

A fatal error occurred: Failed to connect to ESP32:

Timed out waiting for packet header

原因 USBドライバのトラブル。 CLK/TXD0/RXD0に何かがつながっている。 EN,IO0,DTR,RTSの接続がおかしい
対策方法 1. USBシリアルを抜き差しして再書き込みしてみる。

2. USBを差し込むPCのポート(差込口)を別の所にしてみる。

CLK/TXD0/RXD0はDEVKIT端子はOPEN又はESP32仕様書の使い方にする。 ESP32仕様書/DevKit仕様書の使い方にする。

【ESP32】Arduino IDEから書き込みまで完了するのに起動しない、EN SWを押すと起動する場合

IDEのエラー表示 なし
原因 起動時にIO0がPullDown/Low入力になっている。
対策方法 起動時にIO0がPullUp又はOPENにする。(Defaultで起動中に内部pull-upがONになるため、OpenにするとHighが入力される)

【ESP32】Arduino IDEから書き込みまで完了するのに起動しない、EN SWを押すと起動する場合

IDEのエラー表示 なし
原因 起動時にIO0がPullDown/Low入力になっている。
対策方法 起動時にIO0がPullUp又はOPENにする。(Defaultで起動中に内部pull-upがONになるため、OpenにするとHighが入力される)


ファイル名を変えた直後に存在しない過去のファイルに対するエラーが出る場合

IDEのエラー表示
原因 IDE上でファイル名を変えてからコンパイルすると発生します。

IDEがファイル名の変化をトレースできてないのに過去のコンパイル済

ファイルを再利用するのが原因です。

対策方法 IDEを再起動

ライブラリのインストール方法

基本的には Arduino HP 記載 の通りです。
Header File Library インストール方法 download url
WiFi.h
ESP32Ping.h https://github.com/marian-craciunescu/ESP32Ping
TFT_eSPI.h https://github.com/Bodmer/TFT_eSPI
ESP32FS plugin https://github.com/lorol/arduino-esp32fs-plugin/releases



戻る