1.概要
- Raspberry Pi (Raspbian)のArduino IDEにDigisparkの開発環境をインストールしました。
- Digistump提供のDigisparkインストールパッケージ定義ではRaspbianに対応したHEXダウンローダが用意されていないためDigispark開発環境をインストールできません。
- この辺り(https://forum.arduino.cc/index.php?topic=461404.0)に解決策がありました。これに沿ってインストールすると無事Digisparkが使えるようになりました。
- 他のRaspberry Piにインストールするとき,手動でコピーしてインストールするのは面倒なのでDigisparkインストールパッケージ定義を再構築しRaspbian用ツールを用意しました。これによりArduino IDEボードマネージャからツール一式が自動インストールされます。
- ただし,Digispark-USBデバイスへのアクセスルールをボードマネージャから自動インストールする方法が不明だったので、アクセスルールのインストールは手動で行う必要があります。
2.インストール
- 下のURLの2つのインストールパッケージ定義によりArduino IDEのボードマネージャからDigispark開発環境をインストールします。
https://kimio-kosaka.github.io/digispark-clone/package_digispark-clone_index.json
https://kimio-kosaka.github.io/udev_rules/package_udev-rules_index.json - まず,Digisparkボードの定義 Digispark AVR Boards (clone) by Kosaka.Lab をインストールします。
- 続いてUSBデバイス・アクセス・ルール
udev_rules by Kosaka.Lab をインストールします。図1 - 次の手動操作でデバイスルールをインストールします。
- メニュー「ツール」→「ボード」と進み「Install Digispark udev-rule」を選択します。図2
これはルールをインストールするための仮装ボードです。 - 再度,メニュー「ツール」を開き,「ブードローダの書き込む」をクリックするとデバイスルールが書き込まれます。
図1
図2
- メニュー「ツール」→「ボード」と進み「Install Digispark udev-rule」を選択します。図2
- デバイスルールのインストールが終ったら,パッケージマネージャで udev_rules by Kosaka.Lab を削除します。
- 参考
- Install Digispark udev-rule を選択し ブートローダ書き込み を実行すると
~/.arduino15/packages/udev_rules/hardware/avr/1.0.1/bootloaders/配下の
シェルスクリプト mk_digispark_rule.sh が実行されます。mk_digispark_rule.sh #!/bin/sh rule_file=/etc/udev/rules.d/49-micronucleus.rules str1='SUBSYSTEMS=="usb", ATTRS{idVendor}=="16d0", \ ATTRS{idProduct}=="0753", MODE:="0666"' str2='KERNEL=="ttyACM*", ATTRS{idVendor}=="16d0",\ ATTRS{idProduct}=="0753", MODE:="0666", ENV{ID_MM_DEVICE_IGNORE}="1"' echo "Make roule file: $rule_file" # if [ -e $rule_file ]; then echo "Already '$rule_file' is existing" exit 0 else sudo touch $rule_file sudo chmod 666 $rule_file sudo echo $str1 >>$rule_file sudo echo $str2 >>$rule_file sudo chmod 644 $rule_file exit 0 fi
- これにより,デバイスルールファイル
/etc/udev/rules.d/49-micronucleus.rules が生成されます。 - Arduino IDE 内で任意のシェルスクリプトを実行する仕組みについては下記を参照してください。
- Install Digispark udev-rule を選択し ブートローダ書き込み を実行すると
3.その他
- Digistumpのオジリナルのインストールパッケージ定義では旧バージョンのavr-gccがオーバーライドされ不具合が発生しますが,ここで用いたインストールパッケージ定義はavr-gccのオーバーライドはしません。