Arduino & HTML5による
IoTアプリのつくり方
センサーと最新ウェブ技術でアイデアを形に
- 著者 特定非営利活動法人natural science
遠藤 理平/松田 佳歩/増保 純平/高橋 祐生/平岡 孝一 共著
- 判型 B5変型、392頁
- 本体価格 3,800円
- ダウンロードサービス:学習に使えるサンプルファイル
- ISBN 978-4-87783-389-3
2017年5月10日 初版第1刷発行
本書の記載内容について訂正があります。
こちらを参照してください。
本書について
あらゆるモノから得られる様々なデータをリアルタイムに取得し、個々の状況を把握しながら目的に対して最適解を導き出すという、新たな価値創造の技術的基盤が構築されつつあります。近年整ってきたネットワーク環境とセンサー類の普及がこの流れを後押しして、様々な分野でIoT(モノのインターネット)化が爆発的に広がっており、昨今では人工知能と並んで一般のニュースでその動向が取り上げられるほど市民権を得ました。
本書では「センサー」と「インターネット」をつなぐ「アプリケーション」を「IoTアプリケーション」と呼び、近年、独立に発展してきたArduinoとHTML5を組み合わせてIoTアプリケーションを開発する新しい手法を提案します。そして、そのために必要な技術の習得から、実践のための応用方法までを詳しく解説します。
目 次
- 第I部 Arduino機能紹介編
- 第1章 Arduinoの全体像
- 1.1 Arduinoについて
- 1.2 Arduino統合開発環境(IDE)の利用方法
- 1.3 Arduino言語の全体像
- 1.4 Arduino言語で定義されているデータ型と関数
- 1.5 Arduinoボードで利用可能なメモリー
- 第2章 シリアル通信
- 2.1 シリアル通信によるデータ送受信の基本
- 2.2 高度なシリアルバッファーのデータ取得方法
- 2.3 送信・受信の実行時間の計測
- 2.4 データ取得時間の短縮化の方法
- 第3章 各種関数の実行時間の計測
- 3.1 Arduinoの基本性能の実測
- 3.2 アナログ入力の実行時間
- 3.3 デジタル入力の実行時間
- 3.4 アナログ出力の実行時間
- 3.5 デジタル出力の実行時間
- 第II部 電子工作入門編
- 第4章 Arduinoによる電子工作の始め方
- 4.1 電圧値の計測方法
- 4.2 LED点灯回路と電圧測定
- 4.3 LEDの点灯制御
- 4.4 PWMによる出力電圧制御
- 第5章 様々なセンサーを使ってみよう!
- 5.1 温度センサー 131
- 5.2 湿度センサー、光センサー
- 5.3 加速度センサー
- 5.4 ジャイロセンサー
- 5.5 デジタル複合センサー
- 第6章 Bluetoothを用いた無線通信の方法
- 6.1 Bluetoothの基礎知識
- 6.2 Bluetoothモジュールの概要
- 6.3 Bluetoothモジュールの動作確認をしよう
- 6.4 パソコン・Arduino間の無線通信
- 6.5 Arduino-Arduino間の無線通信
- 第III部 IoTアプリ開発編
- 第7章 デジタル百葉箱の開発
- 7.1 ウェブ最新技術HTML5の紹介
- 7.2 ウェブサーバー構築 Node.jsの導入
- 7.3 Arduinoとウェブサーバーとの連携
- 7.4 デジタル百葉箱の作成
- 第8章 仮想現実(VR)アプリの開発手法
- 8.1 3次元コンピュータ・グラフィックスの基礎
- 8.2 加速度センサー値を仮想現実に取り込む方法
- 8.3 ジャイロセンサー値を仮想現実に取り込む方法
- 8.4 一人称視点ゲームの開発手法
- 第9章 世界第一位アプリ「どこでも茶道」ができるまで
- 9.1 私と茶道
- 9.2 お茶の味と運動の関係を定量化する実験
- 9.3 「どこでも茶道」バージョン1(有線バージョン)の開発
- 9.4 「どこでも茶道」バージョン2(無線バージョン)の開発
- 9.5 国際ナノ・マイクロアプリケーションコンテストの報告
■Nodeバージョンアップ時の仕様変更に伴う、本書プログラムソースの修正について■ 2019/3/22
「SerialPort」利用時の「区切り文字」の指定方法が書籍執筆時(Node 6.9.1)から変更となりました。
書籍のp.272以降で該当箇所を以下のとおり修正があります。
旧(Node 6.9.1にて動作確認)
var serialport = new SerialPort(portName, {
baudRate: 115200,//Arduinoと統一する
dataBits: 8,
parity: 'none',
stopBits: 1,
flowControl: false,
parser: SerialPort.parsers.readline("\n")//パース単位を改行で行う
});
新(Node 10.15.3にて動作確認)
var serialport = new SerialPort(portName, {
baudRate: 115200,//Arduinoと統一する
});
//パース単位を改行で行う
var parser = serialport.pipe( new SerialPort.parsers.Readline({ delimiter: '\n' }) );
■正誤表■ 2017/7/20
本文の内容に誤りがありました。 お詫びして訂正いたします。
P275の下部、プログラムソース7.19
誤
html4.js
正
index.html
P280のプログラムソース7.21
誤
LM61bizToArduino.js
正
LM61bizToArduino.ino