Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Raspberry Pi Mouse を Nerves で動かしてみた
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
pojiro
December 10, 2023
Technology
1.4k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Raspberry Pi Mouse を Nerves で動かしてみた
pojiro
December 10, 2023
More Decks by pojiro
See All by pojiro
Elixir で IoT 開発、 Nerves なら簡単にできる!?
pojiro
1
680
分野に潜むツールの紹介
pojiro
1
720
Raspberry Pi で試す 組み込みLinux⼊⾨ Nerves の場合
pojiro
2
510
おいでよ! Nerves JP!
pojiro
1
340
描画ライブラリScenic紹介
pojiro
0
190
Circuits.GPIOはいかにテストされているか
pojiro
0
150
Nerves tips, /bin/sh & nerves_heart
pojiro
0
90
Elixir/NervesでどこまでできるのIoT?
pojiro
1
440
『推し』で仕事をする
pojiro
1
160
Other Decks in Technology
See All in Technology
Amazon Quick on DesktopがIAM Identity Centerで動かない理由
yukiogawa
0
180
AI時代だからこそ、スケールしないことをやろう
yutashigemura
1
170
AIを活用するために決めた "やらないこと" - 価値に注目する / Not betting on AI
soudai
PRO
1
440
synctest時代のhttptest Go 1.27で変わるHTTPサーバテストの裏側 / go conference2026 synctest and httptest
budougumi0617
1
2.8k
ペアプロの価値はコードを書くことだけじゃない
codmoninc
PRO
0
210
山手線を徒歩で一周してわかった、 位置情報アプリは「足」が最強のデバッガー
hinakko
0
140
AIで仕事のやり方を変える
matsu7874
3
1.1k
すぐできる衛星通信対応 あとは山奥に行くだけ
tatetate55
0
110
AI時代の「技術的負債」の変質ー概念の終焉と再解釈、エージェントと共に向かう先
nwiizo
0
990
リージョンの壁を越える、 ちょっと変わったAWSサービスの話
falken
PRO
1
310
作品が生態系になった ─ Mini Tokyo 3D から世界へ
nagix
0
180
Gitは怖い?共有ワークスペースから始めるSnowflakeチーム開発
coco_se
0
190
Featured
See All Featured
How Software Deployment tools have changed in the past 20 years
geshan
1
34k
Side Projects
sachag
456
43k
Building AI with AI
inesmontani
PRO
1
1.2k
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.8k
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
68
57k
Optimising Largest Contentful Paint
csswizardry
37
4k
Discover your Explorer Soul
emna__ayadi
2
1.3k
Scaling GitHub
holman
464
140k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
249
1.3M
Building Adaptive Systems
keathley
44
3.2k
Git: the NoSQL Database
bkeepers
PRO
432
67k
Transcript
Raspberry Pi Mouse を Nerves で動かしてみた 第16回FA設備技術勉強会
自己紹介 • 衣川 亮太 (きぬかわ りょうた) • 愛知県岡崎市の個人事業エンジニア • 屋号:Tombo
Works • twitter: @pojiro3 • I love Elixir & Nerves ◦ 日本のNervesコミュニティであるNerves JPに所属しています
Raspberry Pi Mouse とは • 株式会社アールティ 社製の ROS 2 対応
左右独立二輪方式の小型移動プラットフォームロボット • 用途:> 教育研究用ロボットにおすすめ • ROS 2 で動作させるので、 OSは Ubuntu をインストールし開発を行う 今回の発表は、 これをUbuntu ではなく、 Nerves を用いて動かしてみた💡という内容 https://rt-net.jp/products/raspberrypimousev3/
Nerves とは関数型プログラミング言語Elixir で組み込みLinux開発ができる OSS • Elixir, 以下の特徴を持つ動的型付けの関数型言語 ◦ Erlang VM上で動作する、高可用・耐障害性のある、並行処理の書きやすい言語
◦ 主にサーバーサイドで使われる ▪ Webフレームワーク:Phoenix • Nerves ◦ 組み込みLinux開発をElixirで可能にするOSS ◦ 機能の開発をElixirの世界に閉じて行うことができる ▪ nginx, apache, /etc/の設定いじり, python でプログラム開発 バラバラ開発不要 ◦ Linuxをカスタムしない限り、組み込みLinuxであることを意識せずに 開発を進めることができるのが強み!! ▪ Linuxをカスタマイズしたい場合はBuildrootでカスタムすることで可能
イメージ ラズパイ4 Ubuntu C++, Python ROS 2 クライアント ラズパイ4 Nerves
Elixir ROS 2 クライアント 通常 今回
Elixir ROS 2 Client Rclex • 各ROS 2 クライアントは C
言語で 実装された rcl ライブラリ を利用する • Rclex は rcl ライブラリを呼び出す Elixir 製の API ※私もコントリビュートしています • ROS 2 の通信には DDS(Data Distribution Service)が使われている ◦ DDS 実装の一つ > RTI Connext DDSは、自動車分 野や、大手FA分野、米国国防省の 潜水艦など大規模ネットワークのリ アルタイム制御を可能とする信頼性 の高いソリューションです。 日新システムズのサイトより抜粋 Rclex (Elixir API) https://docs.ros.org/en/humble/Concepts/Advanced/About-Internal-Interfaces.html
デモ動画
None
HW: アールティ製, Raspberry Pi Mouse V3 SW: Linux, Nerves (nerves_system_rpi4_mouse),
Erlang VM ノートPC OS: Linux Mint, Ubuntu 派生ディストリ Logicool 製 Gamepad F310 アールティ 製 Python ROS 2 ノード joystick_controller USB Webブラウザ Elixir Webサーバ Phoenix Phoenix LiveView 時雨堂 製 Momo Webサーバ & カメラ /dev/input/js0 /dev/video0 Logicool 製 Camera C270 Elixir デバイス制御 raspimouse2_ex Elixir ROS 2 ノード Rclex で作成 /dev/rt* iframe HTTP WebSocket DDS(UDP) 構成図 点線を挟んで 上段:ラズパイマウス 下段:ノートPCとゲームパッド
なぜ Nerves ? • メリットは? ◦ Nerves はシャットダウン処理なしに電源を落とせる(ファイルシステムが ROだから) ▪
Ubuntu はシャットダウン処理をしてからでないと電源を落とせない ※シャットダウン処理前に電源を切るとファイルが破損する可能性があるから ◦ Nerves は FW サイズが小さいので SSH 転送で FW の書き換えをできる ◦ 並行処理を書きやすい Elixir で ROS 2 開発をできる • 用途は? ◦ ラズパイマウス以外にもこの方法は適用できるので、 ロボコンのロボットは良い適用対象かも💡(?) ラズパイ4 Ubuntu C++, Python ROS 2 クライアント ラズパイ4 Nerves Elixir ROS 2 クライアント
まとめ?(やってみたの発表だけど 何か気付きを届けられていたら嬉しい) • アールティ 社製 のラズパイマウスが ROS 2 の入門に使えるかも •
組み込み Linux の Nerves が面白い • ROS 2 の通信は UDP ベースの DDS が使われている • Elixir 製の ROS 2 クライアントに Rclex がある • Linux で Web サーバを立てると内部状態をブラウザで確認できる • (対応なしの)Linux を単純に電源落とすとファイルが壊れてよくない • Web カメラ用のソフトに 時雨堂の Momo という OSS がある
宣伝1 • 最近 Nerves 本が出ました 『ElixirではじめるIoT開発入門 Nervesプラットフォームで組み込み開発にトライ!』 ◦ 著者:三宅 泰宏さん
(NervesJP メンバー🎉) ◦ 出版:インプレス NextPublishing • Open Source Conference 2024 Osaka に NervesJP 出ます、ので興味があればぜひご参加ください ◦ 2024年1月27日 10:00~18:00(展示は16:00まで)@大阪産業創造館 3F,4F(OSC受付:3F) ◦ ラズパイマウスなど実機の展示します ◦ 前提知識不要のセミナー(45分)もやります! タイトル「関数型言語Elixirで組み込みLinux開発ができるNervesの紹介」 https://nextpublishing.jp/book/17353.html https://event.ospn.jp/osc2024-osaka/
宣伝2 • 現場で使える VPN Box, Pocket LANcher 👉 の 👇LTE対応版を試作してます
※12/10 AM, 必要機能の確認できました ハード:Seeed製 EdgeBox RPI 200 ※DIN レールに取付可能
紹介 • Nerves いいぞ💡 ◦ Nerves JP, Nerves の日本コミュニティ ◦
なぜ僕はNervesに期待するのか • Rclex 0.10.0 開発中🦾 ◦ https://github.com/rclex/rclex/tree/0.10.0-dev • Tombo Works も要チェック👀 ◦ 出張の多い現場エンジニアをサポートするデバイス ◦ OSSを全面利用して商用プロダクトを作る ◦ PocketLANcher, LANでつないで遠隔作業・遠隔支援、出張削減