狠狠撸

狠狠撸Share a Scribd company logo
Arudinoと3DプリンタでIoTして
気付いたこと
IoTLT@大阪
2016年3月3日
柏木良夫@日新システムズ
自己紹介
? 柏木良夫
? 株式会社日新システムズ
? 組込みエンジニア
– 制御、各種ネットワークプロトコル
– リアルタイムOS、Linux移植、ドライバ開発
– 最近ではWi-SUNプロトコル開発など
稀に現役しています
3顿プリンタ导入まで
コトの始まり
? 2011年3月 ECHONET Lite規格(時代の背景)
– エコーネットコンソーシアムにて仕様作成
– 経産省がHEMSネットワークプロトコルとして推奨
? 2012年6月 ECHONETをスクラッチで実装してみる
– ECHONET LiteエアコンWindowsアプリ
– Androidエアコンリモコン
作成当時は、それなりに満足して
いたものの???
リアルに動くモノがほしい
動画
2014年秋 リカちゃん洗濯機を???
? インテリジェントに換装
? NXP社 LPC1114 Cortex-M0マイコン(mbed)
– モータ、ブザー、LED、ドア開閉検出制御、シリアル通信
– ECHONET Lite通信
? シリアル経由LPC1114制御
– 洗濯モード(洗濯、すすぎ、脱水)
– ブザー通知(開始、ドア開閉、完了)
– ドア開閉、洗濯モード状態変移通知
NXP
LPC1114
32ビット
Cortex-M0マイコ
ン
TI
DRV8832
DCモータドライバ
M
圧電
ブ
ザー
LANTRONIX
XPort
ETHERNET
LED
運転状態
ECHONET Lite
プロトコル処理
洗濯機制御
リードSW
ドア開閉
モータ
正転?逆転
指令受付
完了など
RS323C
洗濯機はマイナーすぎエアコンがほしい
オリジナル タカラトミー
「リカちゃんくるくるおせんたくしましょ」
何とかエアコンが作れないか?
? 真空成型(バキュームフォーム)してみる
バルサ材で型作りして真空成型
した失敗作たち
100均のLEDの型取りは簡単!
近いモノは出来るが、強度的にも形状的にも難しい
3Dプリンタしかない???
吸引不足
破れ
自作真空成形器
掃除機
ヒートガン
タミヤ1.5mm
プラ板
100均LEDライト
という訳で???2015年始め
? DIY組み立て3Dプリンタ導入
試行錯誤の末に
Aliexpressで香港より到着 組み立てたものの
安定して積層するのは
そう簡単ではない
何度も設計→印刷を繰り返し???
※画面はAutodesk 123D Design
フィラメント送り出し機構変更
(ボーデンタイプ)、アルミYフレーム
に改造
耐熱ガラス ヒートベッド、
小径ノズルに変更
組み立て
? 仮組みから実装へ
Arduino Nano
ATMEGA328P
8bitマイコン
TI
DRV8832
DCモータドライバ
M
圧電
ブザー
LANTRONIX
XPort
ETHERNET
LED
運転状態
ECHONET Lite
プロトコル処理
エアコン制御
ルーバー
リミッターSW
RS323C
送風FAN
ULN2003A
ステッパモータ
ドライバ
M
ルーバ開閉
I2C
BMP180
温度
センサ
OLED
ディスプレイ
I2C
フルカラー
LED x 2
赤外線
受光
モジュール
仮組みと回路試作
半田付けと組込み
完成!
HEMS繋げば一応ホームネットワーク上
でエアコンとして見える
ステッパーモーター
(ルーバー開閉)
温度センサ
Arduino Nano
イーサ?シリアル変換
OLED
ルーバーリミッタSW
フルカラーLED x 2
完成!
ついでにECHONET Lite対応LED照明
動画
Arduino Nano
ATMEGA328P
8bitマイコン
LANTRONIX
XPort
ETHERNET
ECHONET Lite
プロトコル処理
LED照明制御
RS323C
圧電
ブザー
フルカラー
LED x 12
赤外線
受光
モジュール
赤外線リモコン受光
ブザー
フルカラーLED x 12
シリアル?イーサ変換
Arduino Mini Pro
あんまり滨辞罢じゃない???
クラウドまでデータ上げないと???
? 太陽光発電所にしてみる
太陽光発電所の雰囲気
印刷(積層)
PVパネル組み立て
Arduino Nano
ATMEGA328P
8bitマイコン
DSU
B
9ピン
コネク
タ
RS323C
I2C
BMP180
温度
センサ
OLED
ディスプレイ
I2C
照度
センサ
INA226
電流
センサ
INA226
電流
センサ
I2C
太陽光
パネル
太陽光
パネル 太陽光
パネル
太陽光
パネル 太陽光
パネル
太陽光
パネル
回路作成
完成! 半田付け、ファーム作成
太陽電池 Arduino nano
電流センサ I2C OLED
照度センサ
IoTらしく仕上げ
? エッジデバイスはRS232からJSON出力
? フォグ(Armadillo)はNode.js
– Nodeシリアルモジュール
– JSONデータをMQTTでパブリッシュ
? クラウドもNode.jsで
– MQTTサブスクライバからSQLへ
– JavaScriptでSQLからWEB更新
Armadillo IoT
Note PC(WEBブラウザ)
HDMI
収集データ
(MQTT)
WEB
(HTTP)
クラウド
インターネット
ミニチュア太陽光発電所
RS232C
センサ実装
?電流センサ(発電量)
?温度センサ
?照度センサ
MySQL
SQLサーバ
MQTT
サブスクライバ
(JavaScript/
Node.js)
Mosquitto
MQTT
ブローカー
HTTPサーバ
(JavaScript/
Node.js)
ETHERNET
MQTT
パブリッシャ
(JavaScript/
Node.js)
エッジ?コンピューティング フォグ?コンピューティング
クラウド?コンピューティング
JavaScriptで実装
気付いたこと
知らない間に
WEBフロントエンド系の技術が凄い事に
JavaScriptで殆ど書ける
? JavaScriptって
– 使えるjsライブラリが沢山!
– DOM操作で直接WEB画面を更新
– Ajax、JQueryで様々なI/F可能(DB、UDP/TCP、MQTT???)
? Node.js使えばサーバサイドでも
– 使えるモジュールが沢山!
データハンドリングも便利に
? データ形式はJSONに
– JavaScript、C++などパース関数呼べば一行で欲しいデータにアクセス
– 文字列なので生成が楽
? Arduinoではセンサ取得値をSerial.printでJSON形式で出力
例){“power0”:0.9,”power1”:0.8,”radiation”:0.49,”temp”:10.5}
? Raspberry Piなど使ってシリアルからMQTT経由でクラウド側へ上げるだけ
連携が簡単
? NoSQLもある
– MongoDBなどJSONっぽくアクセス
– SQLにない柔軟性
– データ指向(駆動)アーキテクチャも作れそう
– もちろんMySQL、PostgreSQLも容易に接続
? MQTT使えばコンポーネント間が疎結合に
– PublisherはトピックデータをBrokerに送信するだけ
– SubscriberはトピックデータをBrokerから受信するだけ
? Publishされれば自動的にイベント処理出来る
– JSONに載せればとても楽
電子工作と3DプリンタとIoTを
組合わせるととても楽しい
What’s next?

More Related Content

IoTLT大阪#1 础谤诲耻颈苍辞と3顿プリンタで滨辞罢して気がついたこと