見出し画像

ラズパイ上のArduino IDEでDigispark(ATTiny85)をアレするときに起こるトラブルの解消

注意事項(2022年5月時点)

この記事を書いているのが2022年5月5日ですが、5月5日現在、Raspbianの64bit版カーネルはβ版しかないようなので、カーネルは32bitを使っているものとして記してます。(64bit版が正式リリースされて気が向いたらアプデするかも)

Digisparkとは

アメリカDigistump LCC社の製品でAtmelのAVRマイクロコントローラーAttiny85を搭載しているArduino開発用ボードです。
中華製コピー品が多く出回っていてモノによっては書き込みができない等のクレームがあったりするちょっとカワイイやつです。

で、↑こいつなんか(リンク先のは売り切れみたいですが)はUSBポートに挿すだけで使えるという超便利なやつです。

今回はラズパイでプログラミング環境を作るわけです

実はとっくにMacでプログラミング環境は構築してあるのですが、ラズパイが遊んでいるのでそっちでできないものかということで構築してみたわけです。
というか、、
普通に環境を構築してプログラミングできるのであればわざわざ記事にする必要もないのですが、ちょっとトラブルがあったので整理しておくとみんなの役に立つかな?と。

何が起きた?

さっそく核心部分から話します。
Arduino IDEのインストール自体は他のOSと何ら変わらないのですが、WinやMacのOSと同じやり方でやるとライブラリセッティングとボード書き込みでエラーが発生します。それはコレ。

  1. 追加のボードマネージャにURLを追加してもDigistumpAVRBoradsが選べない

  2. 書き込み装置Micronucleusを選択して書き込み実行するとエラーが出る

で、以下ではこれに引っかからないようにやるセットアップ方法を記してます。

余談ですが

DigisparkをプログラミングできるArduino IDEの環境構築はWin、Mac、Linux(Raspbian)でやったのですが、一番何も起きなかったのはWinでした。
Macではコンパイル時にエラーが起こるのでひと手間加えたのですが、話題的に違うのでここでは書きません。

Arduino IDEのダウンロードとインストール

はい、ここは他所でも紹介されているので塩対応で行きます。
ここ↓のLinux ARM 32bitを選びます。(CPUが64bitでもカーネルが32bitなので)

リンクをクリックすると募金を募るメージが表示されますがJUST DOWNLOADで無問題

ダウンロードしたファイルは.tar.xzなので、ダブルクリックして展開します。
展開すると"arduino-*.*.**" (*はバージョン番号)というディレクトリが作られるのでその中のinstall.shをダブルクリックすればデスクトップとスタートメニューに"Arduino IDE"のショートカットが登録されます。
もちろんショートカットをクリックすれば起動するはずです。

だんだん書くのがダルくなってきた…

ボードにDigisparkを登録する

はい、1つ目のトラブルポイント[ファイル]-[環境設定]で追加のボードマネージャのURLにDigisparkのライブラリを登録するのですが、WinやMacの場合に指定する"http://digistump.com/package_digistump_index.json"だとできません。
ARM用のURLを指定してあげる必要があります。それはコレ↓

https://gist.github.com/per1234/429d6e680ccdf6da6a27a7d0f722113e/raw/a6c1bf4dd28d7d52b96f19751b9280a3cd82b73f/package_per1234_digistump_armlinux_index.json

恐ろしく長いURLですがよくよく見ると途中で"digistump"とか"armlinux"とか書かれてるので、それっぽいです。
これで[ツール]-[ボード]でDigistump AVR BoradsのDigispark(Default - 16.5mhz)が選択できるようになります。(その前にボードマネージャでDigistump AVR Boards(modified to allow installation on ARM Linux)のインストールを忘れずに)
はい、一つクリア。

書き込み失敗の回避方法

Digisparkの書き込みはUSBポートを使って行うのですが、「マイコンボードに書き込む」を選択すると以下のようなエラーが返ってくることがあります。
厄介なのはコンパイル(検証)しただけでは現れず、書き込みを実行したときに起こるところですね。

home/pi/.arduino15/packages/digistump/tools/micronucleus/2.0a4/launcher: Syntax error: word unexpected (expecting ")")

日本語の記事でコレに言及しているところが見つからず、探し回ったところココで回避方法が書かれていました。

まぁ、なんか知らんけどArduino IDEを終了して以下の処理をすると、micronucleusをいい感じに書き換えてくれてエラーが発生しなくなります。

$ sudo apt install git
$ git clone https://github.com/micronucleus/micronucleus
$ cd micronucleus/commandline/
$ sudo apt install libusb-dev
$ make
$ cp micronucleus ~/.arduino15/packages/digistump/tools/micronucleus/2.0a4

$ sudo cp 49-micronucleus.rules /etc/udev/rules.d/.

$ git clone https://github.com/digistump/avr-dummy
$ cd avr-dummy
$ make
$ cp avrdude ~/.arduino15/packages/digistump/tools/micronucleus/2.0a4/launcher

あ、平気かもしれませんが↑で".arduino15"という隠しディレクトリがどこにあるかを" ls -al"で確認しておくといいかもしれません。
ウチの場合"/home/pi"の下にインストールしたので"~/.arduino15"でOKでした。

ではでは。

いいなと思ったら応援しよう!