Nervesが開拓する
『ElixirでIoT』
の新世界
⾼瀬 英希
(京都⼤学/JSTさきがけ)
takase@i.kyoto-u.ac.jp
SlideShare仕様に
対応するための無駄ページです
P.4以降の下線と枠付き画像には
ハイパーリングが付いています
SlideShare仕様に
対応するための無駄ページです
P.4以降の下線と枠付き画像には
ハイパーリングが付いています
@takasehideki
­ 京都⼤学 情報学研究科 助教
­ JSTさきがけ 兼任研究者
­ IPSJ-SIGEMB 運営幹事
­ IEICE-RECONF 専⾨委員
­ 組込みシステム技術に関するサマーワークショップ
(SWEST) プログラム委員⻑・ステアリング委員
­ 情報処理学会組込みシステム研究会 運営幹事
­ TOPPERSプロジェクト 特別会員・運営委員
­ ROS Japan UG
ü 関⻄勉強会 主催
ü ROSConJP 2019 実⾏委員
­ IoTあるじゃん(ALGYAN) 運営委員
­ fukuoka.ex キャスト
⾃⼰紹介
5
今⽇やりたいコト
“Nerves” を皆さんに知ってもらいたい︕
たっぷりデモをお⾒せします︕
世界で起きているコトを共有したい︕
Nevers Friendsになりませんか︕︖︖
皆さん Nerves って
知ってますか︖
IoTとは︖︖
7
デバイス
エッジサーバ クラウド
あらゆるモノ・コト・ヒトを
ネットワーク化︕
情報科学の総合格闘技︕
新たな社会的価値を創出!!
IoTとは︖︖
8
デバイス
エッジサーバ クラウド
皆さんは
こっちサイド︖︖
今回は
こちらのお話し
世界の「ElixirでIoT」
• HWもSWもErlangセットで提供!!
ü300MHz Cortex-M7 & 64MB Flash
üOn-board WLAN & Pmodコネクタ
• V2のKickstarter Project達成︕︕
• ラズパイ等が主な対象
• メモリサイズ数10MB︕
• Elixir ecosystem連携︕
• ESP32/STM32で
Elixir/Elarngが動く!!
• ファームは約700KB!!
• 機能実装はまだ限定的
9
Nerves!!
10
https://nerves-project.org
11
Platform
•ブートローダ+rootfs+
Erlang OTP+Elixirアプリ
­⼀括でビルドして
SDカード等に書込み
12
Framework
•IoTデバイス開発に⽋かせない
強⼒なライブラリ
­Elixir Circuits: GPIO, I2C, SPI, UART
­IoTモジュール向けライブラリも
•通常のElixirライブラリも利⽤可
­ScenicやPhoenixとも連携︕
13
Tooling
•mixによるプロジェクト管理
­いつものElixirアプリ開発と⼀緒︕
­クロスコンパイルは裏でよしなに
•IExでのインタプリタ実⾏も可能
­VirtualEther越しのssh接続
­/dev/tty* 越しのserial接続
•ファーム・アプリの書き込み
­SDカードに書き込み
­VirtualEther越しの更新
­NervesHub : Device to the Cloud!!
14
NervesHub
•サーバ経由のOTA (Over The Air) で
Nervesアプリをリモートデプロイ︕
­X.509署名証明書とNervesKey回路で
セキュアな接続経路を実現
­更新先とファームを任意指定可
x86_64
15
対応する主なIoTデバイス
https://www.youtube.com/
watch?v=DvwgGz_5D5I
ラズパイ
BeagleBone
Custom
Boards
16
Developers Community
https://github.com/orgs/nerves-project/people
Lonestar 2019のKeynote!!
#nerves on elixir-lang.slack
論よりRun!!
Quick LiveDemo!!!
18
ライブデモのお品書き
1. Nervesプロジェクトの準備とビルド
2. microSDに書き込んでブート・IEx実⾏
3. ソース編集してlocal ssh書き込み
4. NervesHubから書き込み
5. Scenic連携&GPIOデバイスの制御
Raspberry Pi Zero WH Adafruit 128x64 OLED Bonnet
https://github.com/takasehideki/eefest19demo
NervesKey
19
QuickStart (on macOS)
• ツール・ライブラリのインストール
$ brew update
$ brew install fwup squashfs coreutils ¥
wxmac glfw3 glew pkg-config
• ホスト開発環境の設定
$ asdf install erlang 21.2.2
$ asdf install elixir 1.8.1-otp-21
$ asdf global erlang 21.2.2
$ asdf global elixir 1.8.1-otp-21
$ mix local.hex
$ mix local.rebar
$ mix archive.install hex nerves_bootstrap
• プロジェクトの作成
$ mix nerves.new hello_nerves --init-gadget
$ cd hello_nerves
• プロジェクトのビルド
$ export MIX_TARGET=rpi0
$ mix deps.get
$ mix firmware
• SDカードへのファーム書き込み
$ mix firmware.burn
• VirtualEther越しのファーム更新
$ mix firmware.gen.script
$ ./upload.sh
• VirtualEther越しのssh接続
$ ssh nerves.local
なんかすごそう︕︖
でも,なにがつくれるの︖︖︖
21
Omni Eye
•Developer : Greg Mefford
­Elixirでラズパイカメラ︕
­with customized F/W of Nerves!
­with Zbar for QR code!!
­with GraphQL for resize & effect!!
­with Phoenix for RT browsing!!
Presentation on CODE BEAM STO 2018
Omni Eye on GitHub
Training Materials on Lonestar 2019
22
drizzle
•Developer: Todd Resudek
­smart sprinkler controller
with Nerves
https://www.youtube.com/watch?v=qklciKp7sD8
23
Phoenix LiveViewとの
連携でセンサデータを
リアルタイム表⽰︕︕
『ElixirでIoT』の新世界︕
24
デバイス
エッジサーバ クラウド
あらゆるモノ・コト・ヒトを
ネットワーク化︕
情報科学の総合格闘技︕
新たな社会的価値を創出!!
『ElixirでIoT』の新世界︕
25
デバイス
エッジサーバ クラウド
あらゆるモノ・コト・ヒトを
ネットワーク化︕
情報科学の総合格闘技︕
新たな社会的価値を創出!!
みんなで⼀緒に
IoTを創ろう︕
おーすっげぇやん︕︕
今すぐにでもやってみたい︕︕
27
Nerves Training in Japan!
⽇本にNerves Technologyを広めるべく,
Training資料と機材を譲り受けました︕
• 内容︓
­ Interacting with hardware
using Elixir Circuits
­ Developing with Nerves
­ Deploy using NervesHub
­ Render a UI with Scenic
­ Connecting to Phoenix
• スケジュール︓
­ kochi.ex @ 5/28-29
­ kyoto.ex? @ 6/16
­ fukuoka.ex @ 6/6
­ SWEST21 @ 9/5-6
ご要望に応じて
どこででもやります︕
28
Take Home Message
•ElixirConf USに⾏こう︕
­ちょっとの英語⼒と,
⼤いなる勇気を気概を携えて︕
­from Local to the World!!
•Nerves Friendsに会おう︕
­ 2 Trainings about Nerves!
üDevice to the Cloud with
Nerves and NervesHub
üBuild a Smart Camera with
Nerves, Phoenix, and Absinthe
­ 4 Talks about Nerves!! https://vimeo.com/326816263
https://elixirconf.com/2019
Big Thanks to Nerves Friends!!
See You Next Time, or GitHub!!!
29
あんど,,,
わんもあしんぐ︕︕
31
Justin will come to Japan
on this summer!!
32
• SWEST: 組込みシステム技術に
関するサマーワークショップ
• 1泊2⽇の合宿形式
­岐⾩県下呂温泉 ⽔明館
­2019年9⽉5⽇(⽊)〜6⽇(⾦)
• ⽬的︓組込み技術の徹底議論と交流
SWEST21
|> 論︕
|> ラン︕︕
|> push!!!

More Related Content

PDF
こわくない Git
PDF
MagicOnion入門
PDF
MagicOnion~C#でゲームサーバを開発しよう~
PDF
ARM CPUにおけるSIMDを用いた高速計算入門
PDF
RDF Semantic Graph「RDF 超入門」
PDF
テスト文字列に「うんこ」と入れるな
PDF
マルチコアを用いた画像処理
PDF
いまさら聞けないarmを使ったNEONの基礎と活用事例
こわくない Git
MagicOnion入門
MagicOnion~C#でゲームサーバを開発しよう~
ARM CPUにおけるSIMDを用いた高速計算入門
RDF Semantic Graph「RDF 超入門」
テスト文字列に「うんこ」と入れるな
マルチコアを用いた画像処理
いまさら聞けないarmを使ったNEONの基礎と活用事例

What's hot (20)

PPTX
Dockerからcontainerdへの移行
PDF
「黒騎士と白の魔王」gRPCによるHTTP/2 - API, Streamingの実践
PDF
例外設計における大罪
PPTX
ネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptx
PDF
入門 Kubeflow ~Kubernetesで機械学習をはじめるために~ (NTT Tech Conference #4 講演資料)
PDF
Building the Game Server both API and Realtime via c#
PDF
研究効率化Tips Ver.2
PDF
PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021
PPTX
GitLab から GitLab に移行したときの思い出
PDF
Keycloak拡張入門
PDF
DockerとPodmanの比較
PDF
MQTTとAMQPと.NET
PDF
オンラインゲームの仕組みと工夫
PPTX
Slurmのジョブスケジューリングと実装
PPTX
Elixirと他言語の比較的紹介 ver.2
PDF
分散システムの限界について知ろう
PDF
ツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところ
PDF
Dockerfile を書くためのベストプラクティス解説編
PPTX
BuildKitによる高速でセキュアなイメージビルド
PPTX
【修正版】Django + SQLAlchemy: シンプルWay
Dockerからcontainerdへの移行
「黒騎士と白の魔王」gRPCによるHTTP/2 - API, Streamingの実践
例外設計における大罪
ネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptx
入門 Kubeflow ~Kubernetesで機械学習をはじめるために~ (NTT Tech Conference #4 講演資料)
Building the Game Server both API and Realtime via c#
研究効率化Tips Ver.2
PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021
GitLab から GitLab に移行したときの思い出
Keycloak拡張入門
DockerとPodmanの比較
MQTTとAMQPと.NET
オンラインゲームの仕組みと工夫
Slurmのジョブスケジューリングと実装
Elixirと他言語の比較的紹介 ver.2
分散システムの限界について知ろう
ツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところ
Dockerfile を書くためのベストプラクティス解説編
BuildKitによる高速でセキュアなイメージビルド
【修正版】Django + SQLAlchemy: シンプルWay
Ad

Similar to Nervesが開拓する「ElixirでIoT」の新世界 (17)

PPTX
Elixir/Nervesはナウでヤングなcoolなすごいやつ
PDF
Nerves!? Elixir!?? 関数型言語でれっつIoT開発!!
PPTX
ElixirでIoT!?ナウでヤングでcoolなNervesフレームワーク
PDF
RICC PIoT Workshop ハンズオン
PDF
Anyway folks! Let's get started with your Nerves machines.
PDF
関数型言語ElixirのIoTシステム開発への展開
PDF
デバイスごとにアドレスとAPIを 〜プロトタイプを Elixir/Nerves で〜
PDF
#kochiex がなんかええもん つくったらしい回
PDF
長野にある小水力発電所は Elixir & Nerves え動いているってご存知でしたか?
PDF
第4回 kochi.ex オン・オフラインミーティング
PDF
Exineris Project by kochi.ex
PDF
Elixir とか組込みとか (On Elixir and embedded systems)
PDF
FA関連技術のオープンソース化計画
PDF
Using Elixir for Factory Automation - how to execute ladder logic
PDF
Applying Elixir to FA: A Study of Small Hydropower Palnt Systems
PDF
Modernization of Factory Automation with Elixir based systems and communities
PPTX
ElixirをIoTボードで動かしてみた ~ラズパイ・big.LITTLE・Zynq編~
Elixir/Nervesはナウでヤングなcoolなすごいやつ
Nerves!? Elixir!?? 関数型言語でれっつIoT開発!!
ElixirでIoT!?ナウでヤングでcoolなNervesフレームワーク
RICC PIoT Workshop ハンズオン
Anyway folks! Let's get started with your Nerves machines.
関数型言語ElixirのIoTシステム開発への展開
デバイスごとにアドレスとAPIを 〜プロトタイプを Elixir/Nerves で〜
#kochiex がなんかええもん つくったらしい回
長野にある小水力発電所は Elixir & Nerves え動いているってご存知でしたか?
第4回 kochi.ex オン・オフラインミーティング
Exineris Project by kochi.ex
Elixir とか組込みとか (On Elixir and embedded systems)
FA関連技術のオープンソース化計画
Using Elixir for Factory Automation - how to execute ladder logic
Applying Elixir to FA: A Study of Small Hydropower Palnt Systems
Modernization of Factory Automation with Elixir based systems and communities
ElixirをIoTボードで動かしてみた ~ラズパイ・big.LITTLE・Zynq編~
Ad

More from Hideki Takase (20)

PDF
Rclex: A Library for Robotics meet Elixir
PDF
高い並列性能と耐障害性を持つElixirとNervesでIoTの新しいカタチを切り拓く
PDF
関数型っぽくROSロボットプログラミング
PDF
ROS 2 Client Library for E^2
PDF
FPGAをロボット(ROS)で「やわらかく」使うには
PPTX
ロボットシステムのつくりかた 〜Robot Operating Systemというアプローチ〜
PPTX
Rclex: ElixirでROS!!
PDF
QoS for ROS 2 Dashing/Eloquent
PDF
ROSCon2019 参加報告:オーバビュー+α
PPTX
ElixirでFPGAを設計する
PDF
つながるロボット 〜分散協調ロボットの開発を加速化するROSの紹介〜
PDF
ZytleBot: ROSベースの自律移動ロボットへのFPGAの統合に向けて
PPTX
Cockatrice: A Hardware Design Environment with Elixir
PDF
IoTアプリ/ロボット開発をリアルタイムOSでレベルアップしませんか? ~高品質な組込み向けオープンソースを開発するTOPPERSプロジェクトのご紹介~
PPTX
TOPPERSプロジェクトのご紹介@IoT ALGYAN
PPTX
ElixirでFPGAハードウェアが作れちゃう,かも!!?
PDF
オースティンから見えてきた「ElixirでIoT」の世界  ~「Nerves」が拓くElixirでのデバイスコントロールを総レビュー~
PPTX
ZytleBot:ROS対応自動走行ロボットへのFPGA活用を加速化する統合開発プラットフォーム
PPTX
mROSをクラウド/仮想環境に連携させてみる
PDF
Elixirでハードウェアが作れちゃう,かも!!? データフロー型ハードウェア設計環境Cockatriceのご紹介
Rclex: A Library for Robotics meet Elixir
高い並列性能と耐障害性を持つElixirとNervesでIoTの新しいカタチを切り拓く
関数型っぽくROSロボットプログラミング
ROS 2 Client Library for E^2
FPGAをロボット(ROS)で「やわらかく」使うには
ロボットシステムのつくりかた 〜Robot Operating Systemというアプローチ〜
Rclex: ElixirでROS!!
QoS for ROS 2 Dashing/Eloquent
ROSCon2019 参加報告:オーバビュー+α
ElixirでFPGAを設計する
つながるロボット 〜分散協調ロボットの開発を加速化するROSの紹介〜
ZytleBot: ROSベースの自律移動ロボットへのFPGAの統合に向けて
Cockatrice: A Hardware Design Environment with Elixir
IoTアプリ/ロボット開発をリアルタイムOSでレベルアップしませんか? ~高品質な組込み向けオープンソースを開発するTOPPERSプロジェクトのご紹介~
TOPPERSプロジェクトのご紹介@IoT ALGYAN
ElixirでFPGAハードウェアが作れちゃう,かも!!?
オースティンから見えてきた「ElixirでIoT」の世界  ~「Nerves」が拓くElixirでのデバイスコントロールを総レビュー~
ZytleBot:ROS対応自動走行ロボットへのFPGA活用を加速化する統合開発プラットフォーム
mROSをクラウド/仮想環境に連携させてみる
Elixirでハードウェアが作れちゃう,かも!!? データフロー型ハードウェア設計環境Cockatriceのご紹介

Nervesが開拓する「ElixirでIoT」の新世界