内容紹介
汎用CPUとオープンソースを活用して簡単にIoTデバイスを開発しよう!
近年、注目されているIoTのデバイス製作のための解説書です。本書は、IoTデバイス設計の実践的な入門書として、IoTデバイスを設計する企業のエンジニア、電子工作ユーザを主な読者対象に、実例を中心にIoTデバイスの設計・実装をわかりやすく解説します。
ハードウェアにはArduinoに使われている汎用性の高いAVRマイコンを用い、言語には初心者教育に定評のあるPythonを用います。AVRマイコンはWeb上にたくさんの情報がありますから初心者がつまずいても安心です。Pythonには多くのライブラリがありますから、機械学習(人工知能)や画像処理の難しいアルゴリズムが理解できなくても実装可能です。
●本書のPoint
・AVRマイコン(Arduino)と各種センサ、オープンソースを活用することで、回路設計のノウハウだとか、センサの特性だとか、通信プロトコールだとかといったややこしい基礎知識がない初心者でも、数時間で、簡単にIoTデバイスが設計・実装できるようになる!
・Pythonライブラリであるscikit-learnやOpenCVなどのパッケージを利用して、中身が理解できない初心者でも、最近話題の機械学習や画像処理を簡単に実現することができる!
○第1版第2刷でLPWANで注目されるSigfoxデバイスの利用法を追加しました。
このような方におすすめ
・IoTで実際に何ができるのか試したい/学びたい企業・人
・電子機器開発のエンジニア
・センサとWeb,オープンソースを活用した電子工作をしてみたい人
目次
主要目次
Chapter 1 IoTデバイス設計のための開発環境を整えよう
Chapter 2 IoTデバイスのハードウェアとインターフェイス
Chapter 3 IoTを構成するオープンソースソフトウェア
Chapter 4 Pythonの設定と機械学習
Chapter 5 Pythonを使った画像処理(OpenCV)
Chapter 6 Pythonを使ってクラウド活用
Chapter 7 Pythonを使ってスマートフォン活用(SL4A)
Chapter 8 3つの音声認識(Windows,Android,Raspberry Pi2)
付録 Pythonで簡単なGUI
付録 Sigfox(IoTデバイス専用のLPWAN)
詳細目次
Chapter1 IoTデバイス設計のための開発環境
1.0 インターネット検索術
1.1 VMware Playerを使ったゲストOS(Ubuntu)のインストール
1.1.1 OracleVM VirtualBoxを使ったインストール
1.2 ゲストOS UbuntuにArduino開発環境の構築
1.2.1 エラー(errors)の基本的な対処法とWindowsの不要ファイルの消去
1.2.2 Linuxのupdateとupgrade
1.2.3 Cygwinのインストール
1.2.4 Pythonライブラリのインストール
1.3 AVRライターの製作
1.4 AVRライターを使ったAVRマイコンへの書き込み
Chapter2 IoTデバイスのハードウェアとインターフェース
2.1 IoTデバイスを構成するAVRマイコン
2.1.1 Arduinoのディジタル入出力とアナログ入出力
2.2 IoTデバイスを構成するセンサーと駆動部品
2.2.1 i2cインターフェースの気圧センサー(BMP180)
2.2.2 SPIインターフェースのFlashAir SDカード
2.2.3 Wi-Fiシリアルモジュール(ESP8266)
2.2.4 IoTデバイスのためのプリント基板設計(PCBE)
Chapter3 IoTを構成するオープンソースソフトウェア
3.1 Servoライブラリを用いたサーボモータ制御
3.2 Wire(i2c)ライブラリを用いたLCD制御
3.3 Adafruitライブラリを用いたマイコン内蔵RGBLED(NeoPixel)制御
3.4 インピーダンス・ディジタル・コンバータ(AD5933)
3.5 Pythonオープンソースの活用
3.5.1 御用聞きシステム
3.5.2 cronとcrontabの設定
3.5.3 OAuth2.0認証のgspreadライブラリcomoauth2.py
Chapter4 Pythonの設定と機械学習
4.1 Python環境の設定
4.1.1 Windows上でのPython設定
4.1.2 Ubuntu上でのPython設定
4.1.3 RaspberryPi2上でのPython設定
4.1.4 RaspberryPi2にi2cセンサーを接続
4.2 scikit-learn
4.2.1 scikit-learnを使ったテキスト学習
4.2.2 マルコフモデルからサザエさんのジャンケンにチャレンジ
4.3 statsmodelsとscikit-learnを使った重回帰分析
4.3.1 statesmodelsのOLSモデルを用いた重回帰分析
4.3.2 statesmodelsのRLMモデルを用いた重回帰分析
4.3.3 scikit-learnのLassoモデルを用いた重回帰分析
4.3.4 scikit-learnのAdaBoostとDecisionTreeモデルを用いた重回帰分析
4.3.5 scikit-learnのRandomForestモデルを用いた重回帰分析
4.3.6 scikit-learnのその他のアンサンブル学習モデルを用いた重回帰分析
4.4 Neural Network Deep Learning
Chapter5 Pythonを使った画像処理(OpenCV)
5.1 OpenCVを使った基本プログラム
5.2 カメラを使った可視光通信
5.3 物や人を数えてみよう
5.4 数独を解かせてみよう
5.5 不思議な色を分析してみよう
5.6 Templateマッチング
5.7 Bag of Featuresによる画像学習と分類器
Chapter6 Pythonを使ってクラウド活用
6.1 freeDNSの活用
6.2 クラウドDropboxの利用
6.3 クラウドGoogleドライブの利用
6.3.1 Googleドライブへのアクセス
6.3.2 GoogleドライブのOAuth2.0認証
6.3.3 pydriveライブラリに削除機能を追加
6.3.4 GoogleドライブとpydriveのMIMEタイプのミスマッチ
Chapter7 Pythonを使ってスマートフォン活用(SL4A)
7.1 SL4Aのインストール
7.2 Weather-station
Chapter8 3つの音声認識(Windows,Android,RaspberryPi2)
8.1 Windowsでの音声認識
8.2 Androidでの音声認識
8.3 RaspberryPi2での音声認識
Appendix
A.1 Pythonで簡単なGUIを作る
A.2 Sigfox(IoTデバイス専用のLPWAN)
索引
続きを見る