Upgrade to Pro — share decks privately, control downloads, hide ads and more …

小型LinuxボードとNode-REDでIoTプロトタイピング

Takeshi Ueno
February 24, 2018

 小型LinuxボードとNode-REDでIoTプロトタイピング

Node-RED UG Osaka 勉強会&懇親会 vol.1 「Osakaキックオフ」
https://node-red-osaka.connpass.com/event/77653/
セッション2で用いた資料です。

Takeshi Ueno

February 24, 2018
Tweet

More Decks by Takeshi Ueno

Other Decks in Programming

Transcript

  1. 私について 2 ▪所属:パナソニック株式会社 エコソリューションズ社 技術本部 イノベーションセンター ・ミッション:社内商品のIoT活用による高付加価値化 ・最近の取り組み:スマートHEMS クラウドサービスの企画・開発 ▪社外活動:

    ・Wonder Labo Osakaで「WLOラズパイ倶楽部」導師 https://www.facebook.com/wonder.lab.osaka https://www.facebook.com/groups/WLORaspberryPiClub/ ・趣味の電子工作、ハッカソン参加等 http://git.io/wlopi
  2. IoTプロトタイピングとNode-RED 4 ▪いいサービスはトライアル&エラーから ・要件を決めきれない 本当に役に立つサービスかどうかは試しにつくって使ってみないと判断できない →いつでもプロトタイピングできる環境が手元にあることが重要 ・トレンドは変化する サービスのトレンドは数ヶ月単位で変化する →半年かけて作っているうちにもう時代遅れになる可能性 ・環境構築、開発ツール導入不要:

    Webブラウザで使える「FlowEditor」でいつでもどこでも開発 ・さまざまな環境で動作: クラウドから組み込みまで ・すぐ試せる: FlowEditor内でそのままデプロイしてサービスをすぐ稼動、テストできる ・再利用性、拡張性: Flowの再利用、CustomNodeによる独自拡張 ▪サービスプロトタイピングに「Node-RED」の採用
  3. Node-REDはIoTプロトタイピングに向いている 6 IoT基盤 モバイルバックエンド 永続化機構 認証・認可・課金 アプリ基盤 UI・サービス連携 宅内機器 ・新サービスのUI試作

    ・他社サービス連携試作 ・公開APIの試作 プロトコルスケール WebSocket/HTTP トランザクション管理 認証・認可・課金 ▪IoTシステムの開発要素とNode-REDの適応レイヤー
  4. Node-REDはIoTプロトタイピングに向いている 7 IoT基盤 モバイルバックエンド 永続化機構 認証・認可・課金 アプリ基盤 UI・サービス連携 宅内機器 ・新サービスのUI試作

    ・他社サービス連携試作 ・公開APIの試作 ・新サービスバックエンド試作 ・サービススタブによる開発支援 ・分析データ収集/解析 ・運用支援・CI プロトコルスケール WebSocket/HTTP トランザクション管理 認証・認可・課金 ▪IoTシステムの開発要素とNode-REDの適応レイヤー
  5. Node-REDはIoTプロトタイピングに向いている 8 IoT基盤 モバイルバックエンド 永続化機構 認証・認可・課金 アプリ基盤 UI・サービス連携 宅内機器 ・新サービスのUI試作

    ・他社サービス連携試作 ・公開APIの試作 ・商品スタブによる負荷試験 ・サービス稼動監視 ・分析データ収集/解析 ・新サービスバックエンド試作 ・サービススタブによる開発支援 ・分析データ収集/解析 ・運用支援・CI プロトコルスケール WebSocket/HTTP トランザクション管理 認証・認可・課金 ▪IoTシステムの開発要素とNode-REDの適応レイヤー
  6. Node-REDはIoTプロトタイピングに向いている 9 IoT基盤 モバイルバックエンド 永続化機構 認証・認可・課金 アプリ基盤 UI・サービス連携 宅内機器 ・新サービスのUI試作

    ・他社サービス連携試作 ・公開APIの試作 ・商品スタブによる負荷試験 ・サービス稼動監視 ・分析データ収集/解析 ・新サービスバックエンド試作 ・サービススタブによる開発支援 ・分析データ収集/解析 ・スタブによる商品開発支援 ・実証実験向け機器開発 ・新商品プロトタイピング ・運用支援・CI ・宅内家電シミュレータ (ECHONETLite) プロトコルスケール WebSocket/HTTP トランザクション管理 認証・認可・課金 ▪IoTシステムの開発要素とNode-REDの適応レイヤー
  7. プロトタイピング案件の最近の方向性 10 ▪小型化 ・プロトタイピング対象商品が小型化 ▪長期間運用 これまではRaspberry Pi 3外付けでもよかったのに 「機器のスキマに入らないか」 「USBドングルみたいにならない?」

    (...LinuxじゃなくてArduinoマイコンでよいのでは) ・バッテリで長時間動かしたい Raspberry Pi 3は「大飯喰らい」 「20000mAhのモバイルバッテリーで半日動かない」 「ヒートシンクつけてもCPU温度68度とか」 (...そりゃarm8/1.2GHz/クアッドコアだから…)
  8. 小さいコンピュータでNode-REDを動かす 12 性能目安:CPUクロック500MHz以上、メインメモリ256MB以上のLinux搭載機器 ▪Node-REDが動作可能なマイコンボード node.js が動作する基準 gcc / g++ 4.9.4

    or clang/clang++ 3.4.2 のビルド対象アーキテクチャ Python 2.6以上 バイナリ配布されているのはx86/x64/ARMv6/ARMv7/ARMv8 https://nodejs.org/en/download/
  9. Raspberry Pi Zero / ZeroW / ZeroWH 14 ・特徴 ・OS

    ・Node-REDのインストール 入手性がよい、日本語の情報も多い GPU+HDMIインターフェイス搭載 Raspbian (Debian Stretchベース) Raspbianには標準インストールされているが古い →更新スクリプトで最新へ更新できる WiFi/Bluetooth標準搭載(TELEC認証あり) 基板サイズ 65mmx30mm =1950mm² https://www.raspberrypi.org/products/raspberry-pi-zero-w/ 消費電力 Zero 最大0.2A (1.0W) ZeroW 最大0.3A (1.5W) ・価格 基板単体だと1800円程度 (基板単体は入手数上限があり、ケース、ケーブルセットで3300円程度)
  10. PocketBeagle 15 ・特徴 ・OS ・Node-REDのインストール 標準で統合開発環境が準備されている (Cloud9/Node-RED) 単体消費電力が小さい(0.5W以下) 標準OSはDebian Stretchベース

    標準OSに最初からインストール済み 搭載インターフェイスが多様 (CAN/SPIx2/I2Cx2/GPIOx44/ADCx8/USBx2) 基板サイズ 56mmx35mm =1960mm² http://beagleboard.org/pocket 消費電力 最大0.1A (0.5W) ・価格 基板単体で3500円程度(秋月通販価格)
  11. Nanopi NEO / NEO2 16 ・特徴 ・OS ・Node-REDのインストール 性能価格比が高い フットプリントが小さい(4cm角)

    標準OSはUbuntu Core Armbian/DietPi Node.jsとnpmを手動インストール後 npmでNode-RED/CustomNodeをインストール 自動起動: systemd USB-A/Ethernet標準搭載 基板サイズ 40mmx40mm =1600mm² http://wiki.friendlyarm.com/wiki/index.php/NanoPi_NEO 消費電力 Nanopi NEO 最大0.2A (1.0W) Nanopi NEO2 最大0.5A (2.5W) ・価格 Nanopi NEO 基板単体で1700円程度(秋月通販価格) Nanopi NEO2 基板単体で2400円程度(秋月通販価格)
  12. その他の小型Linuxボード 17 ・OrangePi Zero ・C.H.I.P pro ・NanoPi Duo https://getchip.com/pages/chippro http://www.orangepi.org/orangepizero/

    48mmx46mm=2208mm² 43mmx26mm=1118mm² 50mmx25mm=1250mm² http://wiki.friendlyarm.com/wiki/index.php/NanoPi_Duo Ethernet/WiFi/USB全部搭載 価格:$10程度 DIPの使いやすいサイズ、WiFi搭載 価格:$12程度 クラス最小面積、WiFi/BLE搭載 価格:$16程度
  13. 海外製ボードにおける、無線LANの認証問題(通称「技適問題」) 19 ▪TELEC認証について WiFi/Bluetoothを内蔵するボードについては、TELEC認証が 付いていないものは日本国内で動作させただけで電波法違反になるので注意 ・無線LANの規格なんてどの国も一緒でしょ? 国によって使えるチャンネルが違うので、チップに国別設定します。 (2.4Gは日本が一番広いが、チャンネル14の扱いに制限あり、 5Gは日本で使えないチャンネルがあるので設定しただけで違反) ・アンテナつけてないから大丈夫

    アンテナとのセットで認証を取得するため、アンテナついてなくても 電波出せる状態になっているだけで違反 (アンテナついてない状態のほうがノイズが送信される場合も) →アンテナの代わりにダミーロードを接続することで電波が送信されない ボード(Raspberry Pi Zero W)、無線LANアダプタとも、 TELEC認証を得た機器を使うようにしましょう
  14. 小型Linuxボードの初期設定 21 ▪USBでPCに接続 ・PocketBeagleはデフォルトで linux usb gadgetをサポート →PCにmicroUSBで接続するだけで、COMポート/USB Ethernetとして使える (Raspberry

    Pi Zero/Nanopi Neoも設定することで利用可能) ▪HDMI/USB keyboard/mouseで設定 ・Raspberry PiはPCのように設定する ▪TTYserialで設定 ・comポートにuartで接続して設定する
  15. Node.jsとnpm、Node-REDの導入 23 ▪PocketBeagle デフォルトでパッケージ導入されている apt update / apt upgrade で最新版にアップグレード可能

    ▪NanoPi NEO/NEO2 導入OSによって異なるが、パッケージ導入可能 自動起動設定 「sudo systemctl enable nodered.service」 自動起動解除 「sudo systemctl disable nodered.service」 Node-REDサービスの再起動 「sudo systemctl restart nodered.service」 ▪Node-REDの自動起動設定・解除
  16. Node-REDでセンサー・アクチュエータ接続 25 ▪Grove System 深圳を代表するハードウェアMaker企業「Seeed Studio」が 提唱するモジュール式の試作システム。 読み方:ぐろーぶ しすてむ ・特徴

    標準化された4pin(2mmピッチ)のコネクタ、ケーブル、基板サイズを持つ ベースユニットはArduino/BeagleBone/IOIO/Particle/NodeMCU/Raspberry Piに接続し そこにDigital/Analog/UART/I2Cでデバイスを接続してシステムを構成できる http://wiki.seeed.cc/Grove_System/ ・Grove I2C ピン配置 Pin1(SCL)黄 Pin2(SDA)白 Pin3(VCC)赤 Pin4(GND)黒 http://wiki.seeed.cc/Grove_System/#grove-i2c
  17. 小型Linuxボードをインターネットに接続 29 ▪3G/LTE PLANEX PIX-MT100 (LTE/WiFiルータ) 小型・低消費電力 USB端子はLinuxからEthernetとして扱える →モデムのデバイスドライバが不要 IP固定機能・DMZ機能でLinux側のサービスを公開できる

    Buffalo WLI-UTX-AG300/C(WiFi-Ethernet変換) Linux側ドライバ不要 11n/a固定機能で5GHz帯専用接続 (展示会場などで2.4GHzが不安定な場合に活躍する) ▪WiFi WiFiルータ機能も持つので、スマートフォン等の接続も容易