概要
本書は「IoT」(Internet of Things)の開発に関する基本的な事項を解説しています。インターネットはWeb中心からすべての"モノ"がつながるIoT時代を迎えようとしています。そのような時代に対応した製品づくりに必要な知識を重要キーワードを中心に解説します。「デバイスとセンサ」, 「通信技術とネットワーク環境」, 「ビッグデータ」, 「クラウド」といったIoTの構成要素を"広く深く"カバーしており, 本書一冊でIoTの基礎を効率的に学べます。
こんな方におすすめ
坂東大輔(ばんどうだいすけ) 坂東技術士事務所 代表
生年:1978年生まれ。徳島県(阿南市)生まれの神戸市育ち。
学歴:神戸大学経営学部卒 → 信州大学大学院工学系研究科(情報工学の修士号を取得)。
職歴:サラリーマン(日立ソリューションズ)→ 会社役員(ITベンチャー)→ 個人事業主(ITコンサルタント)。
資格:計24種保持。技術士(情報工学部門), 中小企業診断士, 通訳案内士(英語), 情報処理安全確保支援士など。
著書:「UX(ユーザー・ エクスペリエンス)虎の巻」(日刊工業新聞社), 「2時間でざっくりつかむ! 中小企業の「システム外注」はじめに読む本」(すばる舎), 「英語嫌いのエンジニアのための技術英語」(日刊工業新聞社)。
趣味:パワースポット巡り(日本全国一の宮102社完拝など)。
自己PR:「技術士 = 技術(Engineering) + 士(SAMURAI)」ということで, "Engineering SAMURAI"と名乗りを上げている。社会人大学院で情報工学の修士号を取得し, ベンチャー企業の取締役CTOの経験もあり, アカデミックとビジネスの双方に通じる。
ホームページ:https://www.bando-ipeo.com/
連絡先:daisuke@bando-ipeo.com
目次
第1章 IoT開発とは
01 IoT開発とは ~現実味を帯びてきたあらゆるものがつながる世界~
02 IoT開発の特徴 ~多種多様なスキルセット~
03 IoT開発の流れ ~企画から製品のリリースまで~
04 IoT開発の企画 ~ユーザー体験から考える製品開発~
05 IoTデバイスとセンサの選択 ~製品化と量産のための製品~
06 IoTネットワークの選択 ~電力消費量と耐障害性~
07 アプリケーション開発 ~クラウドネイティブとAPIファースト~
08 システムの運用管理 ~フルマネージドサービスを利用したシステム~
09 IoTセキュリティガイドライン ~IoT推進コンソーシアムによる5つの指針~
10 留意すべき法的環境 ~電波法と無線モジュールに関する認可~
第2章 IoTデバイスとセンサ
11 IoTデバイスとは ~インターネットにつながる「モノ」~
12 IoTのためのセンサモジュール ~センサの種類と取得できる情報~
13 IoTのためのマイクロコントローラー ~低電力化する集積回路~
14 シングルボードコンピュータ ~IoT開発とプロトタイピング~
15 プロトタイピングのためのデバイス ~ArduinoとRaspberry Pi~
16 IoTゲートウェイ ~クラウド時代の通信機器~
17 IoTデバイスのためのプログラミング ~多種多様なプログラミング言語~
18 ファームウェア設計 ~IoTにおける「縁の下の力持ち」~
19 エッジコンピューティング ~IoTデバイスによるリアルタイム処理~
第3章 通信技術とネットワーク環境
20 IoTで利用するネットワーク環境 ~サービスにより多様化するネットワーク環境~
21 IoTネットワークの選択 ~IoT通信のトレードオフに留意したネットワークの選択~
22 セキュアなWi-Fiの利用 ~ホームIoTに不可欠な通信基盤~
23 遠隔地でも利用できるLTE ~LTE-Mで広がる利用範囲~
24 IoTのための次世代移動通信方式 ~IoTに最適な5Gネットワーク~
25 低消費電力の無線通信技術(LPWA) ~LoRaWAN、Sigfox、NB-IoT~
26 省電力なBluetoothの利用 ~BLEによる電力問題の克服~
27 IoTの相互通信 ~軽量プロトコルMQTTとWebSocket~
28 暗号化と認証技術 ~改ざん・なりすまし・盗聴の対策~
第4章 IoTデータの処理と活用
29 構造化データと非構造化データ ~分析に役立つXMLデータとJSONデータ~
30 IoTのためのデータストア ~NoSQLと分散キーバリューストア~
31 ドキュメント指向型データベース ~多様なデータを処理する~
32 リアルタイム処理と分散処理 ~Apache HadoopとApache Spark~
33 IoTと機械学習 ~人工知能は学習して賢くなる~
34 ディープラーニング用フレームワーク ~異常検知やデバイス制御に活用~
第5章 クラウド活用
35 IoTのためのPaaS ~アプリケーション開発の迅速化~
36 AWSのIoTクラウドサービス ~AWS IoT Coreによる安全なデバイス接続~
37 大規模IoTシステムの管理 ~AWS IoT Device Managementのデバイス管理~
38 クラウド上のコードの実行 ~AWS Lambdaを利用したプログラムの実行~
39 IoTデバイスの分析 ~AWS IoT Analyticsによる高速なデータ解析~
40 ディープラーニングのためのIoTデバイス ~AWS DeepLensを使ったIoTシステム~
第6章 IoT開発の事例
41 IoT開発の実務 ~IoTは「異種総合格闘技」~
42 デバイス設計とプロトタイピング ~回路設計と基板設計~
43 データ相互通信環境の構築 ~最適なプロトコルの選択~
44 プラットフォームの選択 ~クラウドを利用した効率的な開発環境~
45 デバイスプログラミング ~組込系プログラミング(ファームウェアの開発)~
46 IoTアプリケーション開発 ~Webを活用したアプリ開発~
47 データ前処理とフィードバック ~ビッグデータの有効活用~
48 システムの運用・保守 ~セキュリティに留意したシステム~
サポート
正誤表
本書の以下の部分に誤りがありました。ここに訂正するとともに, ご迷惑をおかけしたことを深くお詫び申し上げます。
P.068の表
誤
Raspbian財団
正
Raspberry Pi 財団(Raspberry Pi Foundation)
P.082の図
Go言語がインタプリタ型言語に分類されていますが, 通常, Go言語はインタプリタ言語に分類されないので誤りとなります。
P.133の図
P.274 下から3行目
誤
GPGPU(General Purpose on GPU)
正
GPGPU(General Purpose computing on GPU)