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