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
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
750
分野に潜むツールの紹介
pojiro
1
730
Raspberry Pi で試す 組み込みLinux⼊⾨ Nerves の場合
pojiro
2
540
おいでよ! Nerves JP!
pojiro
1
360
描画ライブラリScenic紹介
pojiro
0
200
Circuits.GPIOはいかにテストされているか
pojiro
0
160
Nerves tips, /bin/sh & nerves_heart
pojiro
0
100
Elixir/NervesでどこまでできるのIoT?
pojiro
1
450
『推し』で仕事をする
pojiro
1
170
Other Decks in Technology
See All in Technology
AIコーディングエージェント開発_全体像
happysamurai294
0
120
AI秘書と毎日働くのはもう当たり前。開発以外の業務に足りない機能をどう埋める?
minorun365
PRO
4
2k
Filter What the LLM Reads: RAG Governance with AgentCore Gateway
yakumo
1
130
Adversary Infrastructure Hunting101
disconinja
0
180
Agent × Maestro で始める モバイル E2E 端末準備からテスト実行・結果確認まで
sansantech
PRO
0
240
コンテナサービスは ECS だけじゃない!Google Cloud の Cloud Runの魅力
gre212
0
110
新卒エンジニア、 介護士になる
ryu1013
1
450
[re:Invent2026事前勉強会(有志開催)]続きは、ラスベガスの廊下で / continue-in-the-vegas-hallway
sh_fk2
0
410
AI AgentによるEmbedded SREの取り組み
tgidgd
1
210
書き手が人でもAIでも正しくなる道、SREを埋め込んだDeveloper Platform / tech drivers day8
chmikata
4
840
AIテスト自動化と評価駆動開発EDD
happysamurai294
0
100
Snowflake でできることが増えたら、 ABAC が必要になった
kaeton
0
120
Featured
See All Featured
Documentation Writing (for coders)
carmenintech
77
5.6k
So, you think you're a good person
axbom
PRO
2
2.2k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
23k
4 Signs Your Business is Dying
shpigford
187
23k
The World Runs on Bad Software
bkeepers
PRO
72
12k
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
2.2k
The Invisible Side of Design
smashingmag
301
52k
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
300
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
3k
Between Models and Reality
mayunak
4
530
The Curse of the Amulet
leimatthew05
3
16k
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
590
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でつないで遠隔作業・遠隔支援、出張削減