SlideShare a Scribd company logo
1 of 24
Download to read offline
#kochiex がなんかええもん
つくったらしい回
NervesJP #25
kochi.ex #6
2022.05.20 菊池 豊 @kochi.ex 1
kikuyuta とは
2022.05.20 菊池 豊 @kochi.ex 2
@kikuyuta
あらすじ
2022.05.20 菊池 豊 @kochi.ex 3
背景
2022.05.20 菊池 豊 @kochi.ex 4
非手続き型
言語
(e.g. FP)
自律広域分
散システム
再生可能
エネルギー
事業
楽しく気持ちよく素敵なシステム
(特に小水力発電用)を
作れないものかね
ところが全く異なる2つの世界
2022.05.20 菊池 豊 @kochi.ex 5
IoT FA
Nerves / Elixir が融合を可能にするのでは
2022.05.20 菊池 豊 @kochi.ex 6
https://ja.wikipedia.org/wiki/TK-80
IoT
FA
課題と解決
2022.05.20 菊池 豊 @kochi.ex 7
• IoT で使うようなマシン、FA じゃ使えねぇ
– FA でも使えるマシンを作ろう → 作った
• FA で使うつもりの Elixir プログラムは作れるのか
– 小規模な小水力発電所用ソースコード起こそう → 作った
• どこかで実際に FA ビジネスで使わないと説得力ない
– 小水力発電所で使おう → 使った、金も動いた
今日のお話
2022.05.20 菊池 豊 @kochi.ex 8
• PLC風 Nerves マシン ExiBee を作った話
– by kikuyuta
• modbus/TCP で PLC と Nerves とを連携する
– by myasu
• Nerves と発電所 PLC とを連携する
– by nishiuchikazuma
• Nerves と GCP とを連携する & こわ〜いはなし
– by mitsu
2022.05.20 菊池 豊 @kochi.ex 9
まくね川小水力発電所
システム構成概要
2022.05.20 菊池 豊 @kochi.ex 10
除塵機連携
水位センサ
発電所制御
クラウド連携
modbus/tcp
http / mqtt Modbus
Server/Slave
Client/Master
Client/Master
GCP
PLC
MODBUS/TCP でのやりとり
2022.05.20 菊池 豊 @kochi.ex 11
PLC風Nervesマシン
ExiBee
(いちび〜)
2022.05.20 菊池 豊 @kochi.ex 13
世界初 Elixir OS マシンで産業用 PLC を代替
2022.05.20 菊池 豊 @kochi.ex 14
基本的な考え方
• Nerves が簡単にいごくように
– あまり特別なハードウェアだと buildroot が大変
• 商用のPLCに負けない I/O 点数
• 取り扱いの楽な電源周り
• かゆいところに手が届く機能群
• オサレな外見
2022.05.20 菊池 豊 @kochi.ex 15
ExiBee 3.0 の中身
2022.05.20 菊池 豊 @kochi.ex 16
JIS B3502 振動・衝撃試験風景
2022.05.20 菊池 豊 @kochi.ex 21
JIS B3502 温度湿度環境試験風景
2022.05.20 菊池 豊 @kochi.ex 22
Next
modbus/TCP で
PLC と Nerves とを
連携する by myasu
2022.05.20 菊池 豊 @kochi.ex 23
やりたりてないこと
2022.05.20 菊池 豊 @kochi.ex 24
とにかく実績は作ったが…
2022.05.20 菊池 豊 @kochi.ex 25
• せっかくのマシンを使いきれてない…
– セキュリティチップ乗せたのに Nerves Hub 使ってない
– 電源断検出機能あるのに自動シャットダウンしてない
– WiFi / BLE チップ乗せてるけど何もさせてない
• ビジネスに乗せたと行っても無理やり感強い
– 村役場 → JV → クラウドグリッド→ ナインレイヤーズ・シティ
ネット
まだまだ未完成
2022.05.20 菊池 豊 @kochi.ex 26
• ときどきおかしくなる…
– どうも除塵機の動作が終わるタイミング…
– JIS B3502 の電磁ストレス試験はしてない…
– を使ってトラブルシュート中
PLC 生フォン・ノイマンマシン の驚異
2022.05.20 菊池 豊 @kochi.ex 27
• 走ってるプログラムをいきなり入れ替えることができる
– RUN中書込みといいます
– Elixir / Erlang だと Hot code reloading が該当
• メモリの中を直接読み書きできる
FAに浸透していくために
2022.05.20 菊池 豊 @kochi.ex 28
• PLC は苦手なところをアピールできるはず
– 100%置き換えるという文脈ではなく
– 分散システムに向かっていくとか得意な方向で
• ラダーダイアグラムに近い概念でプログラミング可能か
– ラダーのラングは「イベント発生→アクション実行」
– Elixir のプログラミングや pub/sub の概念と近い
Nerves/Elixir で FA を
We believe in rough consensus
and blinking LEDs
論よりLチカ
2022.05.20 菊池 豊 @kochi.ex 29

More Related Content

Similar to #kochiex がなんかええもん つくったらしい回

Developing inside a Container
Developing inside a ContainerDeveloping inside a Container
Developing inside a Containerarukoh
 
第4回 kochi.ex オン・オフラインミーティング
第4回 kochi.ex オン・オフラインミーティング第4回 kochi.ex オン・オフラインミーティング
第4回 kochi.ex オン・オフラインミーティングYutaka Kikuchi
 
Iotlt 28 HoloLensに日本語聞いてもらいたい
Iotlt 28 HoloLensに日本語聞いてもらいたいIotlt 28 HoloLensに日本語聞いてもらいたい
Iotlt 28 HoloLensに日本語聞いてもらいたいMasaki Yamamoto
 
m5stackでユカイなロボットを動かすよ
m5stackでユカイなロボットを動かすよm5stackでユカイなロボットを動かすよ
m5stackでユカイなロボットを動かすよK K
 
Nervesが開拓する「ElixirでIoT」の新世界
Nervesが開拓する「ElixirでIoT」の新世界Nervesが開拓する「ElixirでIoT」の新世界
Nervesが開拓する「ElixirでIoT」の新世界Hideki Takase
 
Cloud impact on IT industry (in Japanese)
Cloud impact on IT industry (in Japanese)Cloud impact on IT industry (in Japanese)
Cloud impact on IT industry (in Japanese)shojiro-tanaka
 
Clojureでガラケーサイトを作る際の細かい話
Clojureでガラケーサイトを作る際の細かい話Clojureでガラケーサイトを作る際の細かい話
Clojureでガラケーサイトを作る際の細かい話Ikuru Kanuma
 
座談会資料(討議メモ付き) 20170225
座談会資料(討議メモ付き) 20170225座談会資料(討議メモ付き) 20170225
座談会資料(討議メモ付き) 20170225知礼 八子
 
レガシーフリーOSに必要な要素技術 legacy free os
レガシーフリーOSに必要な要素技術 legacy free osレガシーフリーOSに必要な要素技術 legacy free os
レガシーフリーOSに必要な要素技術 legacy free osuchan_nos
 
座談会資料(当日メモ)_20230408.pdf
座談会資料(当日メモ)_20230408.pdf座談会資料(当日メモ)_20230408.pdf
座談会資料(当日メモ)_20230408.pdf知礼 八子
 
座談会資料(当日メモ)_20230408.pdf
座談会資料(当日メモ)_20230408.pdf座談会資料(当日メモ)_20230408.pdf
座談会資料(当日メモ)_20230408.pdf知礼 八子
 
スマートファクトリーを支えるIoTインフラをつくった話
スマートファクトリーを支えるIoTインフラをつくった話スマートファクトリーを支えるIoTインフラをつくった話
スマートファクトリーを支えるIoTインフラをつくった話Keigo Suda
 
JS Board で IoT は楽勝か?
JS Board で IoT は楽勝か?JS Board で IoT は楽勝か?
JS Board で IoT は楽勝か?Shingo Fukui
 
EC-CUBEをEngineYardで動かそう!
EC-CUBEをEngineYardで動かそう!EC-CUBEをEngineYardで動かそう!
EC-CUBEをEngineYardで動かそう!Chihiro Adachi
 
Kixs vol.001 よろず相談会「ネットワーク構成図とVLANを5分で語る」
Kixs vol.001 よろず相談会「ネットワーク構成図とVLANを5分で語る」Kixs vol.001 よろず相談会「ネットワーク構成図とVLANを5分で語る」
Kixs vol.001 よろず相談会「ネットワーク構成図とVLANを5分で語る」Tomonori Takada
 

Similar to #kochiex がなんかええもん つくったらしい回 (15)

Developing inside a Container
Developing inside a ContainerDeveloping inside a Container
Developing inside a Container
 
第4回 kochi.ex オン・オフラインミーティング
第4回 kochi.ex オン・オフラインミーティング第4回 kochi.ex オン・オフラインミーティング
第4回 kochi.ex オン・オフラインミーティング
 
Iotlt 28 HoloLensに日本語聞いてもらいたい
Iotlt 28 HoloLensに日本語聞いてもらいたいIotlt 28 HoloLensに日本語聞いてもらいたい
Iotlt 28 HoloLensに日本語聞いてもらいたい
 
m5stackでユカイなロボットを動かすよ
m5stackでユカイなロボットを動かすよm5stackでユカイなロボットを動かすよ
m5stackでユカイなロボットを動かすよ
 
Nervesが開拓する「ElixirでIoT」の新世界
Nervesが開拓する「ElixirでIoT」の新世界Nervesが開拓する「ElixirでIoT」の新世界
Nervesが開拓する「ElixirでIoT」の新世界
 
Cloud impact on IT industry (in Japanese)
Cloud impact on IT industry (in Japanese)Cloud impact on IT industry (in Japanese)
Cloud impact on IT industry (in Japanese)
 
Clojureでガラケーサイトを作る際の細かい話
Clojureでガラケーサイトを作る際の細かい話Clojureでガラケーサイトを作る際の細かい話
Clojureでガラケーサイトを作る際の細かい話
 
座談会資料(討議メモ付き) 20170225
座談会資料(討議メモ付き) 20170225座談会資料(討議メモ付き) 20170225
座談会資料(討議メモ付き) 20170225
 
レガシーフリーOSに必要な要素技術 legacy free os
レガシーフリーOSに必要な要素技術 legacy free osレガシーフリーOSに必要な要素技術 legacy free os
レガシーフリーOSに必要な要素技術 legacy free os
 
座談会資料(当日メモ)_20230408.pdf
座談会資料(当日メモ)_20230408.pdf座談会資料(当日メモ)_20230408.pdf
座談会資料(当日メモ)_20230408.pdf
 
座談会資料(当日メモ)_20230408.pdf
座談会資料(当日メモ)_20230408.pdf座談会資料(当日メモ)_20230408.pdf
座談会資料(当日メモ)_20230408.pdf
 
スマートファクトリーを支えるIoTインフラをつくった話
スマートファクトリーを支えるIoTインフラをつくった話スマートファクトリーを支えるIoTインフラをつくった話
スマートファクトリーを支えるIoTインフラをつくった話
 
JS Board で IoT は楽勝か?
JS Board で IoT は楽勝か?JS Board で IoT は楽勝か?
JS Board で IoT は楽勝か?
 
EC-CUBEをEngineYardで動かそう!
EC-CUBEをEngineYardで動かそう!EC-CUBEをEngineYardで動かそう!
EC-CUBEをEngineYardで動かそう!
 
Kixs vol.001 よろず相談会「ネットワーク構成図とVLANを5分で語る」
Kixs vol.001 よろず相談会「ネットワーク構成図とVLANを5分で語る」Kixs vol.001 よろず相談会「ネットワーク構成図とVLANを5分で語る」
Kixs vol.001 よろず相談会「ネットワーク構成図とVLANを5分で語る」
 

More from Yutaka Kikuchi

大学研究室レベルでLocal 5Gを導入するための手法の考察
大学研究室レベルでLocal 5Gを導入するための手法の考察大学研究室レベルでLocal 5Gを導入するための手法の考察
大学研究室レベルでLocal 5Gを導入するための手法の考察Yutaka Kikuchi
 
Local 5G の設備ってどんなん
Local 5G の設備ってどんなんLocal 5G の設備ってどんなん
Local 5G の設備ってどんなんYutaka Kikuchi
 
小水力発電所制御の中身見せます
小水力発電所制御の中身見せます小水力発電所制御の中身見せます
小水力発電所制御の中身見せますYutaka Kikuchi
 
産業用途に利用するのにElixirが向いているぞ
産業用途に利用するのにElixirが向いているぞ産業用途に利用するのにElixirが向いているぞ
産業用途に利用するのにElixirが向いているぞYutaka Kikuchi
 
びよんどプロジェクト
びよんどプロジェクトびよんどプロジェクト
びよんどプロジェクトYutaka Kikuchi
 
Should I talk about Logger or Process Registries?
Should I talk about Logger or Process Registries?Should I talk about Logger or Process Registries?
Should I talk about Logger or Process Registries?Yutaka Kikuchi
 
スケールセンシティブ 〜里山工学を理論付ける〜
スケールセンシティブ 〜里山工学を理論付ける〜スケールセンシティブ 〜里山工学を理論付ける〜
スケールセンシティブ 〜里山工学を理論付ける〜Yutaka Kikuchi
 
ルーティング最新動向 〜4バイトAS〜
ルーティング最新動向 〜4バイトAS〜ルーティング最新動向 〜4バイトAS〜
ルーティング最新動向 〜4バイトAS〜Yutaka Kikuchi
 
IoT小箱で小水力発電所を制御する
IoT小箱で小水力発電所を制御するIoT小箱で小水力発電所を制御する
IoT小箱で小水力発電所を制御するYutaka Kikuchi
 
Small hydro power plant systems with multi vender method
Small hydro power plant systems with multi vender methodSmall hydro power plant systems with multi vender method
Small hydro power plant systems with multi vender methodYutaka Kikuchi
 
Exineris Project by kochi.ex
Exineris Project by kochi.exExineris Project by kochi.ex
Exineris Project by kochi.exYutaka Kikuchi
 
Modernization of Factory Automation with Elixir based systems and communities
Modernization of Factory Automation with Elixir based systems and communitiesModernization of Factory Automation with Elixir based systems and communities
Modernization of Factory Automation with Elixir based systems and communitiesYutaka Kikuchi
 
クラウドと組込との接点を求めて (Searching for a meet point between clouds and embedded systems)
クラウドと組込との接点を求めて (Searching for a meet point between clouds and embedded systems)クラウドと組込との接点を求めて (Searching for a meet point between clouds and embedded systems)
クラウドと組込との接点を求めて (Searching for a meet point between clouds and embedded systems)Yutaka Kikuchi
 
小水力発電で地域と世界の未来づくり
小水力発電で地域と世界の未来づくり小水力発電で地域と世界の未来づくり
小水力発電で地域と世界の未来づくりYutaka Kikuchi
 
Elixir とか組込みとか (On Elixir and embedded systems)
Elixir とか組込みとか (On Elixir and embedded systems)Elixir とか組込みとか (On Elixir and embedded systems)
Elixir とか組込みとか (On Elixir and embedded systems)Yutaka Kikuchi
 
To shorten the distance between ladders and clouds
To shorten the distance between ladders and cloudsTo shorten the distance between ladders and clouds
To shorten the distance between ladders and cloudsYutaka Kikuchi
 
Using Elixir for Factory Automation - how to execute ladder logic
Using Elixir for Factory Automation - how to execute ladder logicUsing Elixir for Factory Automation - how to execute ladder logic
Using Elixir for Factory Automation - how to execute ladder logicYutaka Kikuchi
 
旧畑山発電所 2019.04.13 の記録
旧畑山発電所 2019.04.13 の記録旧畑山発電所 2019.04.13 の記録
旧畑山発電所 2019.04.13 の記録Yutaka Kikuchi
 
小水力発電による地域活性化
小水力発電による地域活性化小水力発電による地域活性化
小水力発電による地域活性化Yutaka Kikuchi
 
A brief guide to introducing processes of small hydro power (in Japanese). 小水...
A brief guide to introducing processes of small hydro power (in Japanese). 小水...A brief guide to introducing processes of small hydro power (in Japanese). 小水...
A brief guide to introducing processes of small hydro power (in Japanese). 小水...Yutaka Kikuchi
 

More from Yutaka Kikuchi (20)

大学研究室レベルでLocal 5Gを導入するための手法の考察
大学研究室レベルでLocal 5Gを導入するための手法の考察大学研究室レベルでLocal 5Gを導入するための手法の考察
大学研究室レベルでLocal 5Gを導入するための手法の考察
 
Local 5G の設備ってどんなん
Local 5G の設備ってどんなんLocal 5G の設備ってどんなん
Local 5G の設備ってどんなん
 
小水力発電所制御の中身見せます
小水力発電所制御の中身見せます小水力発電所制御の中身見せます
小水力発電所制御の中身見せます
 
産業用途に利用するのにElixirが向いているぞ
産業用途に利用するのにElixirが向いているぞ産業用途に利用するのにElixirが向いているぞ
産業用途に利用するのにElixirが向いているぞ
 
びよんどプロジェクト
びよんどプロジェクトびよんどプロジェクト
びよんどプロジェクト
 
Should I talk about Logger or Process Registries?
Should I talk about Logger or Process Registries?Should I talk about Logger or Process Registries?
Should I talk about Logger or Process Registries?
 
スケールセンシティブ 〜里山工学を理論付ける〜
スケールセンシティブ 〜里山工学を理論付ける〜スケールセンシティブ 〜里山工学を理論付ける〜
スケールセンシティブ 〜里山工学を理論付ける〜
 
ルーティング最新動向 〜4バイトAS〜
ルーティング最新動向 〜4バイトAS〜ルーティング最新動向 〜4バイトAS〜
ルーティング最新動向 〜4バイトAS〜
 
IoT小箱で小水力発電所を制御する
IoT小箱で小水力発電所を制御するIoT小箱で小水力発電所を制御する
IoT小箱で小水力発電所を制御する
 
Small hydro power plant systems with multi vender method
Small hydro power plant systems with multi vender methodSmall hydro power plant systems with multi vender method
Small hydro power plant systems with multi vender method
 
Exineris Project by kochi.ex
Exineris Project by kochi.exExineris Project by kochi.ex
Exineris Project by kochi.ex
 
Modernization of Factory Automation with Elixir based systems and communities
Modernization of Factory Automation with Elixir based systems and communitiesModernization of Factory Automation with Elixir based systems and communities
Modernization of Factory Automation with Elixir based systems and communities
 
クラウドと組込との接点を求めて (Searching for a meet point between clouds and embedded systems)
クラウドと組込との接点を求めて (Searching for a meet point between clouds and embedded systems)クラウドと組込との接点を求めて (Searching for a meet point between clouds and embedded systems)
クラウドと組込との接点を求めて (Searching for a meet point between clouds and embedded systems)
 
小水力発電で地域と世界の未来づくり
小水力発電で地域と世界の未来づくり小水力発電で地域と世界の未来づくり
小水力発電で地域と世界の未来づくり
 
Elixir とか組込みとか (On Elixir and embedded systems)
Elixir とか組込みとか (On Elixir and embedded systems)Elixir とか組込みとか (On Elixir and embedded systems)
Elixir とか組込みとか (On Elixir and embedded systems)
 
To shorten the distance between ladders and clouds
To shorten the distance between ladders and cloudsTo shorten the distance between ladders and clouds
To shorten the distance between ladders and clouds
 
Using Elixir for Factory Automation - how to execute ladder logic
Using Elixir for Factory Automation - how to execute ladder logicUsing Elixir for Factory Automation - how to execute ladder logic
Using Elixir for Factory Automation - how to execute ladder logic
 
旧畑山発電所 2019.04.13 の記録
旧畑山発電所 2019.04.13 の記録旧畑山発電所 2019.04.13 の記録
旧畑山発電所 2019.04.13 の記録
 
小水力発電による地域活性化
小水力発電による地域活性化小水力発電による地域活性化
小水力発電による地域活性化
 
A brief guide to introducing processes of small hydro power (in Japanese). 小水...
A brief guide to introducing processes of small hydro power (in Japanese). 小水...A brief guide to introducing processes of small hydro power (in Japanese). 小水...
A brief guide to introducing processes of small hydro power (in Japanese). 小水...
 

#kochiex がなんかええもん つくったらしい回