Slide 1

Slide 1 text

Raspberry Pi で試す 組み込みLinux⼊⾨ Nerves の場合

Slide 2

Slide 2 text

自己紹介 ● 衣川 亮太 (きぬかわ りょうた) ● 愛知県岡崎市の個人事業エンジニア ● 屋号:Tombo Works ● twitter: @pojiro3 ● I love Elixir & Nerves ○ 日本のNervesコミュニティであるNerves JPに所属しています

Slide 3

Slide 3 text

関数型プログラミング言語Elixir で 組み込みLinux開発ができる Nerves の紹介 ● Elixir, 以下の特徴を持つ動的型付けの関数型言語 ○ Erlang VM上で動作する、高可用・耐障害性のある、並行処理の書きやすい言語 ○ 主にサーバーサイドで使われる ■ Webフレームワーク:Phoenix ● Nerves ○ 組み込みLinux開発をElixirで可能にするOSS ○ 機能の開発をElixirの世界に閉じて行うことができる ■ nginx, apache, /etc/の設定いじり, python でプログラム開発 バラバラ開発不要 ○ Linuxをカスタムしない限り、組み込みLinuxであることを意識せずに 開発を進めることができるのが強み!! ■ Linuxをカスタマイズしたい場合はBuildrootでカスタムすることで可能

Slide 4

Slide 4 text

Nerves のよいところ! ● 組み込みLinuxでありながら、Elixirの世界だけで機能開発に専念できる ● 通信・電断耐性の仕組みはNervesが提供してくれるので、開発が不要 ● ファームウェアが小さい(~50MBくらい、SSH転送がすぐ終わる ● OTAには、ファームウェア配信が可能なOSSの Nerves Hub がある ○ ただ、自身でホストする必要あり ● 公式にサポートされるハードウェア ○ BBB ○ OSD32MP1 ○ Raspberry Pi A+, B+, Zero, 2, 3B, 3B+, 3A+, 4 ○ Vultr ○ x86_64 ● 対象ハードウェアがなくても、移植可能、実績あり!

Slide 5

Slide 5 text

組み込みLinuxをElixirでやれると 何が嬉しいか? 以下の実装を 全部Elixirでできる! ● クラウド ● エッジサーバ ● 末端デバイス

Slide 6

Slide 6 text

駆け足でデモします!

Slide 7

Slide 7 text

プロダクション環境での利用 利用例が掲載 https://nerves-project.org/c ases/

Slide 8

Slide 8 text

こんなところでも! ElixirKenya で発表から抜粋 https://www.youtube.com/watch?v =P_xryjmG35I ↓Frank, Nerves Core Author Pocket LANcher https://www.pocket-lancher.com/

Slide 9

Slide 9 text

もう一例! Kochi.ex, Elixir コミュニティ@高知 ● Nerves を使った ExiBee と PLB が 小水力発電所で活用!!!

Slide 10

Slide 10 text

駆け足でしたが、 組み込みLinux ができる Nerves というOSS を知っていただけたら嬉しいです! おわり

Slide 11

Slide 11 text

紹介 ● Nerves の日本コミュニティ Nerves JP ● なぜ僕はNervesに期待するのか ● 産業用堅牢ハードでElixir:e-RT3にNervesポーティング ● Nerves大好きな僕が2021年にしたこと ● 出張の多い現場エンジニアをサポートするデバイス ● OSSを全面利用して商用プロダクトを作る