382 Views
March 08, 21
スライド概要
This is an introduction for the hans-on meetup of ITRC RICC/PIoT Workshop 2021.
We served the hands-on for understanding Elixir/Nerves for easy development of embedded systems.
Written in Japanese.
working on rebirthing regional societies as a professor of Kochi tech. Also on telecommunication and renewable energy as board members of business startups.
RICC PIoT Workshop ハンズオン Nerves は自由な IoT への扉 2021.03.05 菊池豊 @kikuyuta 1
謝辞 • https://algyan.connpass.com • https://seeed.connpass.com • https://www.seeedstudio.com • https://nerves-jp.connpass.com • https://kochi-ex.connpass.com Creative Commons 2021.03.05 菊池豊 @kikuyuta 2
kikuyuta とは @kikuyuta 2021.03.05 菊池豊 @kikuyuta 3
Nerves とは • IoT プラットフォーム • Buildroot 上に構築 – 組込み Linux 構成ツール • Elixir 言語を使用 – Erlang VM でいごく https://www.nerves-project.org 2021.03.05 菊池豊 @kikuyuta 4
Nerves JP とは Elixir で IoT を 2019.09 爆誕 オンライン コミュニティ 2021.03.05 菊池豊 @kikuyuta 5
Nerves JP の活動 https://nerves-jp.connpass.com 2021.03.05 https://qiita.com/advent-calendar/2020/nervesjp 菊池豊 @kikuyuta 6
今 熱い言語・プラットフォーム https://qiita.com/advent-calendar/2020 /ranking/subscriptions /categories/programming_languages https://qiita.com/advent-calendar/2020 /ranking/feedbacks/categories/iot 2021.03.05 菊池豊 @kikuyuta 7
各地の Elixir/Nerves 関連活動 https://nerves-jp.connpass.com/ Sapporo.beam 2021.03.05 菊池豊 @kikuyuta 8
Nerves の構造 Platform Framework Tooling 2021.03.05 菊池豊 @kikuyuta 9
Nerves の応用例 Le Tote: ⾐料品倉庫のRFIDと キオスクによる在庫管理 Hop: 顔認証機能付きの キオスクビールサーバ FarmBot: スマートファームの実現 2021.03.05 菊池豊 @kikuyuta 10
ヒト用とモノ用 また一つになりて蘇らん ヒト用 モノ用 https://ja.wikipedia.org/wiki/TK-80 The Elixir logo are copyright (c) 2012 Plataformatec. 2021.03.05 菊池豊 @kikuyuta 11
IoT に現代的な科学技術を • 処理のモジュール化 – 関数とパイプ • デバイス制御の抽象化 – プロセスとメッセージ • 例外処理からの解放 – プロセスツリーとスーパバイザ • 直観的なビット処理 – bitstring 型とパターンマッチ • いごいてるコードの更新 – Dynamic loading と Hot code swapping 2021.03.05 菊池豊 @kikuyuta 12
なぜ IoT に Nerves なのか • なにかと * over IP なのでいろいろ面倒くさくない – RS232C/UART 経由でコンソール出さなくて良い – 毎回 SDカードを差し替えて焼かなくて良い – たくさんデバイスがあっても個別に相手しなくて良い – 特定の開発環境に自分を合わせなくて良い • 徒弟制度・家庭内手工業からの IoT の解放 – 要するに Nerves は「自由だ!」「ロックだ!」 2021.03.05 菊池豊 @kikuyuta 13
Nerves がいごくデバイス Raspberry Pi STM32MP1xx BeagleBone x86_64 2021.03.05 Custom Boards 菊池豊 @kikuyuta (Lichee Nano) 14
そのほかの Elixir IoT • GRiSP2 – RTOS 上の Erlang VM – 2019春に雲出資成功 • いまだ出荷されず… • AtomVM – ESP32/STM32 でいごく • まだ不安定そう… 2021.03.05 菊池豊 @kikuyuta 15
ハンズオンの悩み • 短い時間でどれぐらい面白さを分かってもらえるか – 強烈な取捨選択を迫られる • バラバラの進度をどのように取り扱うか – 速い人は退屈、遅い人は落ちこぼれ、かつ σ が大きそう – 最初の環境構築でしくじると完全に離脱するリスク • どれぐらい多くの環境をカバーするか – 主催者で用意すると均一になるけど費用がかかる – 参加者が持ち帰って遊べないと意味がない 2021.03.05 菊池豊 @kikuyuta 16
本日のハンズオンのコンセプト • Elixir/Nerves 的な面白さを伝えます – IoT 用 Nerves と Web 用 Phoenix とを同時にやる – 本質的な最低限の動作までやってもらう • 環境構築をできるだけ簡略化する – 最初のSDカードを主催者で準備、開発環境を各自準備 • 自分の環境設定をしてこなかった参加者は見捨てる • オンサイトで手練が多そうだから比較的ラクでは – 目指せ全員ゴール 2021.03.05 菊池豊 @kikuyuta 17
本日のハンズオンの概要 • 2021.03.05(fri) 14:15〜17:15 – 口上、基本編、応用編準備、休憩、応用編 • 必要なパーツ類を全部供与・貸与します – RosCon 袋とステッカーは差し上げます • それ以外は終わったら返して下さい! • スタッフは kochi.ex メンバーです – ElixirConf US T-shirt を着てます – 西内さん、大崎さん • 株式会社シティネットより 2021.03.05 菊池豊 @kikuyuta 18
本日のハンズオンの内容 • 基本編 – 環境構築、GPIOでのボタンとLEDでボタチカ • 応用編準備 – 時間がかかるので休憩の前に仕掛ける • きゅ〜け〜 • 応用編 – I2Cでの温度計測と Web 連携 • 温湿度センサの準備が間に合わなかったので温度のみセンサで • お片付け – 全部が元の箱に戻るまでがハンズオンです 2021.03.05 菊池豊 @kikuyuta 19
さあはじめましょう We believe in rough consensus and blinking LEDs 論よりLチカ 2021.03.05 菊池豊 @kikuyuta 20