Arduino IDEのバージョン2.0がいよいよリリースされました。Arduinoの使い始め(もう何年前だろう…🙄)は設定しなくてもインストールするだけで開発が始められるとよさもあって素晴らしい!と思っていた環境も、細かいリリースもありながら大きく見た目を変えることなく継続していました。そんな中のメジャーバージョンの上げての更新となったわけです。ここで、純正(?)のArduino Unoをテストしても情報としては面白くないので、今回は自分の持っているSeeeduinoではちゃんと使えるのかなというのを確認していこうと思います。(内容としてはLチカですけどね💦)
このエントリはSeeed UGアドベントカレンダー2022の12月1日の記事となります。
今回使用する環境
今回はWindowsやMacといったメジャーどころを使用せず、最新のリリースされたUbuntu 22.10をクリーンインストールをした環境を使用し、更にいつも通りaptやdebを使用してインストールするのもいいのですが、折角なので別のパッケージシステムであるFlatpakを使用してみることにしました。
- PC(Celeron3000系)
- Ubuntu 22.10
- Flatpak
- Arduino IDE 2.0
Flatpakとは?
Flatpak は、Linuxデスクトップ向けのソフトウェアデプロイメント・パッケージ管理・アプリケーション仮想化を行うユーティリティソフトウェアである。ユーザーがアプリケーションとシステムを分離して実行することができるサンドボックスを提供する。
サンドボックス化することでライブラリの依存性などから開放されるといったところが特徴のようです。ただサンドボックス化されることでパフォーマンスが落ちるのかなと思っていたのですが、そこまで遅くなってると感じません。導入の仕方の違いはあるにせよ、使用感で違いがなければよいかなと思います。

Flatpakの導入方法
公式サイトである以下にアクセスしてみます。

アクセスすると以下のような画面が表示されます。ここでメジャーなアプリケーションのアイコンが見えます。ここで少し安心できます。そして画面をしたにスクロールさせていくとディストリビューションのアイコンも出ています。
UbuntuはもとよりRedhat、Fedra、Arch、Debian、openSUSEもありますし、Chrome OSやRaspberryPi OSなどのアイコンも見えます。少し注意が必要になるのは64bit OSでないとアプリが動作しない可能性が高い点でしょうか。

【Get set up】ボタンをクリックすると各ディストリビューションのアイコンがでてくるので、クリックすると各処理系のセットアップ方法が表示されます。

あとはその方法に従えばインストールはできるでしょう。Ubuntuのアイコンをクリックすると以下のように表示されます。

以下のようなコマンド手順になります。
$ sudo apt install flatpak
$ sudo apt install gnome-software-plugin-flatpak
$ flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
インストールは以下のように行われました。



上記の手法でインストール作業を行っておくとX環境のランチャ内のソフトウエアをクリックしてもFlatpakのパッケージ導入ができます(検索先にリポジトリflathubを追加しているので、ここからデフォルトのパッケージシステムからインストールするか、Flatpakからインストールするかなども選択が可能です)
インストールが終了したら再起動を行います。これで、Flatpakのインストールは完了です。
Arduino IDE 2.0のインストール

あとはメニュー内にあるソフトウエアアイコンをクリックして、アプリの検索をしていくことになります。先にも説明した通りFlatpakのリポジトリも検索できるようになっているので探してみます。【検索ボックス】にArduinoを入力すると候補が表示されます。

今回使いたいのはv2になるのでArduino IDE v2をクリックします。

あとは【インストール】ボタンをクリックすればいいのですが、ボタンの下にflathubと表示されていればFlatpakのリポジトリであるflathubからインストールが行われます。

同名のアプリが別のパッケージシステムに存在することもあるので、その場合はこの箇所を操作して、使用したいパッケージシステムに変更しておきます。【インストール】ボタンをクリックすればインストール作業は完了します。


インストールが完了すると【開く】ボタンに表示が変更されます。

【開く】ボタンでArduino IDE v2を起動します。
動作チェック
正常にIDEが起動できました。

起動後もライブラリなどをインストール作業が行われるため、しばらくはそのまま触らないほうがよいでしょう。Outputエリアにログが流れているので作業の様子はわかるものと思います。
パッと見た感じの印象としては、画面の左側にアイコンが並んだ点やシリアルモニタやシリアルプロッタなどボタンとして泡われた以外はそこまで大きな機能の変更はないように感じます。正式にダークモードも追加されています。

もちろん言語の変更を行えば日本語表記も問題なく行われます。


軽いトラブル発生
1点だけうまくいかない点がありました。コンパイルしてアップロードとするとシリアルポートの権限がないというエラーが発生します。これはflatpakであってもなくても関係なさそうですけどね。
シリアルポートのエラー画面

メッセージは以下のように出ています。
エラーメッセージ
avrdude: ser_open(): can't open device "/dev/ttyACM0" : Permission denied
一般ユーザにシリアルポートへの書き込み権限がない状態なのでデバイスファイルの権限を変更していくことになります。下の例ではユーザ名の部分を【username】と変更しています。
$ sudo usermod -a -G dialout 【username】 $ sudo chmod a+rw /dev/ttyACM0
この対応後は、もちろん手持ちのArduino Unoも書き込みも問題ありません。少し気になるのはサンプルコードの読み込みがうまくいきませんでした。これは多分、Flatpakのパッケージの問題かなと思います。その他の動きは特に問題なさそうです。
Seeeduino v4.2を使用してみる
では今回やりたかったArduino IDE 2.0ではSeeeduinoの動作はどうなのか確認してみます。以下の様に設定を行います。
ボード・シリアルポート選択
プルダウンから【他のボードとポートを選択…】をクリック

Arduino Unoと/dev/ttyACM0を選択して【OK】ボタンをクリック

プルダウンからArduino Unoを選択

拡大図

ボード情報はArduino Unoと認識されています。以前はここがうまく表示できていってなかったような…?。今回は全く問題ないみたいですね。

サンプルのLチカをコンパイル、アップロードを行ってみます。

Lチカも問題ありません。
Seeeduino Nanoを使用してみる
では2つ目のボード、Seeeduino Nanoに移ります。こちらもボードをArduino Nanoに変更し、シリアルポートの接続を変更します。

コンパイルとアップロードして

今回はボード情報ですが、VIDとPIDが表示されていませんが、問題なく動きます。

Lチカも問題なく行われました。

Seeeduino XIAOを使用してみる
最後はボードの小ささが特徴的なSeeeduino XIAOになります。こちらはデフォルト状態では使用できないので、メニューバーの【ファイル】>【基本設定】を選択し、ダイアログを開いて【追加のボードマネージャのURL】の入力ボックスに以下のURLを入れて、【OK】ボタンをクリックします。
参考:Seeeduino Xiaoをはじめよう - Seeedウィキ(日本語版)
ボードマネージャのURL
https://files.seeedstudio.com/arduino/package_seeeduino_boards_index.json


画面左にあるアイコンから【ボードマネージャ】 をクリックして、一番上にある検索のテキストボックスにXIAOと入力します。すると候補にSeeed SAMD ボードが出現するので、それをインストールします。

続いてシリアルポートとボードの設定を行います。

これでボード情報が表示できました。こちらはVIDもPIDも表示されていますね。

あとは以下のLチカのソースファイルを入れて、コンパイルとアップロードを行えば

Lチカが成功します。

おわりに
最新のArduino IDE 2.0でSeeeduinoはどんな風に動くのか確認してみたという内容でした。心もち以前のバージョンよりもコンパイル以降の処理が早くなったのではないかと感じますが、どうなんでしょうか。
あと、ベータ版ではメニューからなくなっていたシリアルプロッタ復活を遂げているのはうれしかったです。UIの中でボタン化されているのもよかったです。
今回使用したSeeeduino
Seeeduino v4.2www.switch-science.com