えいあーるれいの技術日記

ROS2やM5 Stack、Ubuntuについて書いています

M5AtomをROS2仕様のシャットダウンボタンにしてみた!

 M5Atomを使ったプログラムをまた作りましたーー。今回は、シャットダウンボタンの実装です。M5Atomにとどまらず、他のマイコンでも活用できると思うので参考までに。


 プログラム自体はとてもシンプルで、Bool型のメッセージを送受信するだけの簡単仕様となっています。M5Atomのボタンを押したら1を送信してPCをシャットダウンさせるだけです。

 トピックは/btn_msgが流れています。このトピック自体には意味はありませんが、受信先のプログラムがそのメッセージを受け取って何か動作を起こします。シャットダウン以外のプログラムを書けば、自動で何かをするスイッチになります。

 ROS2でシャットダウンボタンを作成するメリットは、同時に多数のPCをシャットダウン可能という点です。M5AtomだとUIに乏しいですが、M5Core2とかは多くの情報を表示することができるため、シャットダウンボタンやリブートボタンとかを作ると多数のPCを扱うときは役に立つかもしれません。(実際私は必要なので、そういう人はいるはず…!)

 プログラムはGithubリポジトリに上げています。

github.com

 現在はM5Atomのみですが、時間があればM5Core2などのバージョンを作りたいと思っています。PC側のプログラムがROS2 Dashingに対応しているため、Foxy以降はインクルードバスに注意してください(すぐ気づくとは思います)。

f:id:Ray_ar:20210221235548g:plain
動作の様子

しかし、M5Atomはとても小さい!いろいろと可能性を感じます。