あのラズベリー・パイもこのラズベリーパイもサクサク動かせる!
ブラウザでお絵描きI/O!Node-REDで極楽コンピュータ・プログラミング
桑野 雅彦 著
B5判 96ページ
定価2,200円(税込)
JAN9784789849319
2016年5月1日発行
好評発売中!
本書はNode-REDの実用性を体感できる入門書です.Node-REDはネット対応組み込み機器を容易に開発するためのビジュアル・プログラミング・ツールで,PCでもRaspberry Piでも動作し,最近話題のIoTアプリケーションが手軽に作成できます.本書ではRaspberry Pi,Arduinoを題材に,MQTTといった最新プロトコルのほかメール,Twitterといった既存のサービスを使って気圧・温度をモニタするリモート・コントローラを作成しました.本書はNode-RED,組み込み機器に興味のある方々にとって待望の書と言えるでしょう.
※書名の「ブラウザでお絵描きI/O」について→実際に絵を描いているのはHTMLの中のJavaScriptになります.
目次
第1章 Node-RedでIoT入門
1.1 IoT≒「とりあえずネットしよう」
1.1.1 IoTの考え方自体は昔からあったが手軽ではなかった
1.1.2 何でもネットの時代
1.2 ネットワーク対応プログラミングを大きく変えるNode-RED
1.3 Node-REDで作ったサンプル・システムの構成
1.4 Node-REDならサーバ/クライアント・システムを楽々構築
1.4.1 Node-RED のデザイン
1.4.2 基本的な通信機能,I/O機能は用意されている
1.5 Node-RED は「良いとこ取り」
第2章 Raspbian のインストール
2.1 インストールの準備
2.2 NOOBS のダウンロードと書き込み
2.3 起動とインストール
2.4 Raspberry PiでI2C,SPIを使用可能に設定
2.5 Wi-Fiドングルでネット接続
第3章 Node-REDのインストール
3.1 Raspberry Piの場合 3.2 Windowsの場合
3.2.1 Node.jsをインストール
3.2.2 Node-REDをインストール
3.3 Arduinoと接続するためにFirmataをインストール
第4章 手始めにブラウザ表示
4.1 従来手法による簡易ウェブ・サーバ
4.2 Node-REDならノードを繋ぐだけ
4.3 Node-REDを起動
4.4 デザイン画面でノードを配置
4.4.1 httpノードの配置
4.4.2 functionノードとtemplateノードの配置と接続
4.4.3 http responseノードの配置と接続
4.5 実行してみよう
4.6 本章のまとめ
第5章 WebSocketで双方向通信のひな型を作成
5.1 双方向通信システムの動作
5.2 システムのデータ・フロー
5.3 WebSocketで簡単双方向通信
5.3.1 双方向通信に適さないHTTP
5.3.2 双方向通信に適するWebSocket
5.4 WebSocketによる複数接続とデータ変更時の動作
5.4.1 クライアントからの接続
5.4.2 クライアントでの設定変更
5.4.3 全クライアントに変更発生を通知
5.4.4 再描画
5.5 メッセージの種類
5.6 Node-REDによるデザイン
5.6.1 HTTPを使ったウェブ・ページの表示処理(一番上のフロー)
5.6.2 WebSocket受信を使った変更値の保存処理(上から二番目のフロー)
5.6.3 WebSocket送信を使った変更通知/更新要求処理(上から三番目のフロー)
5.7 実行してみよう
5.8 本章のまとめ
5.9 補足:Node-RED0.13.1以降のグローバル変数アクセス
第6章 Canvasでアナログ・メータを描画
6.1 メータ画面の作成方法
6.1.1 Canvas要素で描画
6.1.2 描画の考え方
6.2 ウェブ・ページの表示処理に追加したメータ描画処理
6.2.1 レイヤの作成
6.2.2 指針の描画
6.2.3 文字盤の描画
6.3 Node-RED側の変更
6.4 実行してみよう
6.5 本章のまとめ
第7章 MQTT/メール/Twitterで外からアクセス
7.1 三つの手段の特徴
7.1.1 MQTT
7.1.2 メール
7.1.3 Twitter
7.2 MQTTの利用
7.3 MQTTによるリモート・アクセスの考え方
7.3.1 サーバ側の改造
7.3.2 クライアント側の作成
7.4 メールの利用
7.4.1 e-mailノードの設定
7.4.2 メール送受信ファンクション
7.5 Twitterの利用
7.5.1 twitterノードの設定
7.5.2 Twitter送受信ファンクション
7.6 実行してみよう
7.6.1 MQTT によるサーバとクライアントの連動
7.6.2 メールによる連携動作
7.6.3 Twitterによる連携動作
7.7 本章のまとめ
第8章 Raspberry Pi+Arduinoで拡張I/O
8.1 Node-REDが持つ主な入出力手段
8.2 execノードで外部コマンドを起動
8.3 rpi-gpioノードでGPIO入出力.ここではPWM出力
8.4 arduinoノードでArduinoのI/Oをコントロール
8.5 入出力テスト用フローの作成
8.5.1 Arduino 上のLED を点滅
8.5.2 Raspberry PiのGPIO 出力(ここではPWM 出力でLED 輝度調整)
8.5.3 Raspberry PiのGPIO 入力(スイッチ入力)
8.5.4 execノードで外部プログラムの起動
8.6 入出力テスト用フローの動作確認
8.7 メータ付きアプリケーションに入出力を追加
8.7.1 Arduino/PWM出力
8.7.2 外部プログラムによる気圧/温度データ取得
8.8 実行してみよう
8.9 本章のまとめ