Rclex on Nerves on F3RP70 (e-RT3 Plus from Yokogawa Electric Corporation)
2022/12/17 開催の「第11回FA設備技術勉強会」のデモ向けリポジトリ
https://fa-study.connpass.com/event/260896/
- elixir 1.14.0-otp-25
- erlang 25.0.4
- ボード:横河電機 リアルタイムOSコントローラ e-RT3 Plus
ElixirのROS 2クライアントライブラリである Rclex が,ナウでヤングでcoolなIoTプラットフォームである Nerves 上でいごきます!
FA設備技術勉強会のデモ向けに e-RT3 Plus を対象としていますが,Nerves対応のIoTボードであれば他のものでもいごくはずです,しらんけど.
git clone https://github.com/b5g-ex/rclex_on_nerves_on_f3rp70
cd rclex_on_nerves_on_f3rp70
export MIX_TARGET=f3rp70
mix deps.get
export ROS_DISTRO=foxy
mix rclex.prep.ros2 --arch arm32v7
mix rclex.gen.msgs
mix firmware
mix burn # or, mix upload
ssh nerves.local
iex()> RclexOnNervesOnF3RP70.RclexTalker.publish_message
詳細は rclex_examples/rclex_talker を参照してください.
ssh nerves.local
iex()> RclexOnNervesOnF3RP70.RclexListener.subscribe_message
詳細は rclex_examples/rclex_listener を参照してください.
ssh nerves.local
iex()> RclexOnNervesOnF3RP70.TeleopKey.start_teleop
詳細は rclex_examples/turtle_teleop_rclex を参照してください.
ssh nerves.local
iex()> RclexOnNervesOnF3RP70.SubPose.start_pose(10000)
詳細は rclex_examples/turtle_teleop_rclex を参照してください.
- 別のボードで使用したい場合は mix.exs を編集して作業時の
${MIX_TARGET}
を変更してください. - F3RP70 にはEthernetコネクタが2ポートありますが,LAN1(eth0)のみ接続可能となる設定にしています.
- ファームウェアをSDカードに書き込んだ直後の初回の起動時には,Nervesが立ち上がって
ssh nerves.local
で接続可能になるまで数分ほど掛かります.シリアルケーブル接続できると起動ログが確認できて安心です.詳細は nerves_system_f3rp70 にあるこちらのIssue情報をご参照ください.