第6章の全体像
第4版の第6章の見出しをもとに、当サイトが論点を整理しました。テキスト本文は使っていません。
| 見出し(章立て) | 論点 | 関連記事 |
|---|---|---|
| ハードウェア環境 | マイコンボードとSBC、GPIO・I2C・SPI・UART | ArduinoとRaspberry Pi |
| ソフトウェア環境 | 開発環境、OSの有無、ライブラリ | プロトタイピング |
| プログラミング事例 | センサ値の取得とクラウドへの送信 | MQTT |
| 課題と対策 | 電源・筐体・セキュリティ・量産への移行 | PoC |
押さえる用語と対比
| 対になる用語 | 違い |
|---|---|
| マイコンボード / SBC | OSなしで一つのプログラムを即起動するか、Linuxなどの汎用OSが動くか |
| I2C / SPI | 2本の線でアドレス指定して複数機器をつなぐか、線は増えるが高速か |
| UART / I2C | 1対1の非同期シリアルか、クロック付きのバス型か |
| デジタル入力 / アナログ入力 | HIGHかLOWの2値か、A/D変換して段階の値として読むか |
| プルアップ / プルダウン | 未接続時に入力をHIGHに固定するか、LOWに固定するか |
| プロトタイプ / 量産品 | 早く試して学ぶための試作か、品質・コスト・認証を満たす製品か |
第6章を読むときの視点
第6章は、それまでの章で学んだデバイス・通信・クラウドを、実際に組み合わせて動かす章です。そのため、単独の知識より「組み合わせたときに何が起きるか」を問う形になりやすいと当サイトは見ています。
例えば、センサをI2Cでつないだマイコンが値を読み、Wi-Fiでゲートウェイへ送り、MQTTでクラウドに届けるという一連の流れを、自分の言葉で説明できるかを確かめてください。各段階で使う技術がどの章で扱われたかを対応させると、復習にもなります。
課題と対策の節では、試作と量産の違いを意識するのがポイントです。試作では早く作って学ぶことが目的ですが、量産では品質、コスト、電波法などの法令対応、長期の保守、セキュリティが問われます。試作機の構成をそのまま製品にしようとすると、部品の供給期間や消費電力の問題が表面化することがあります。
第8章のPoCや開発手法ともつながるため、あわせて読むと理解が深まります。
- 1
センサ
I2C でマイコンにつなぐ
- 2
マイコン
値を読み、Wi-Fi でゲートウェイへ送る
- 3
ゲートウェイ
MQTT でクラウドに届ける
- 4
クラウド
届いたデータを受け取る
この流れを自分の言葉で説明でき、各段階の技術がどの章で扱われたかを対応させられれば、復習にもなる。
構成は当サイトの例です。
間違えやすい点
| よくある誤解 | 正しい理解 |
|---|---|
| SBCならリアルタイム制御も得意 | 汎用OSは処理の割り込みがあり、厳密なタイミング制御はマイコンが向く |
| 試作機をそのまま現場に設置してよい | 無線機器は技適などの法令、電源や防水、セキュリティの確認が必要 |
| GPIOには何ボルトでもつなげる | ボードごとに入力電圧の上限があり、3.3V系に5Vを入れると壊れることがある |
| 試作は完成度を上げてから評価する | 早く小さく作って検証し、学びを次に生かすのが目的 |
電波法の確認は 電波法と技適 を参照してください。
具体例で確かめる:温度を測ってクラウドへ送る試作
室温を5分ごとに測り、クラウドで見られるようにする試作を例に、第6章の論点がどこに現れるかを追ってみます。
- 起
起動
- 読
センサを読む
I2C の温湿度センサから値を取る
- 換
値を変換する
読んだ値を温度の単位に直す。アナログ出力のセンサなら A/D 変換の値を電圧や温度に換算
- 送
送信する
MQTT でブローカへパブリッシュ
- 眠
スリープ
測定の合間は眠って電池を節約
5分ごとに繰り返す
常時通信せず、測定の合間はスリープさせるのが電池で長く動かす鍵。
例は当サイトが作った試作の例です。
| 段階 | 選ぶもの・決めること | 判断のポイント |
|---|---|---|
| 土台 | Wi-Fi付きマイコンボード | 電池で長く動かすならマイコン、画像処理などが要るならSBC |
| センサ接続 | I2C接続の温湿度センサ | 2線で済み、同じバスに別のセンサも追加しやすい |
| 電圧 | 3.3V系のセンサを選ぶ | ボードの入出力電圧と合わせる。5V品ならレベル変換を入れる |
| 送信 | MQTTでブローカへパブリッシュ | 小さなデータを頻繁に送るのに向く軽量プロトコル |
| 省電力 | 測定の合間はスリープ | 常時通信すると電池が早く尽きる |
| 設置前 | 技適・筐体・パスワード | 屋外なら防水と温度範囲、無線は技適の確認 |
流れは「起動→センサを読む→値を変換する→送信する→スリープ」の繰り返しです。アナログ出力のセンサを使う場合は、A/D変換の分解能(例えば10ビットなら0〜1023の1024段階)で読み取った値を、基準電圧を使って電圧や温度に換算する処理が入ります。
よくあるミスは、机の上でUSB給電のまま動作確認を終えてしまうことです。実際の設置条件(電池・屋外・電波状況)で短期間でも試すと、量産前に直すべき点が早く見つかります。
他の章とのつながり
第6章は比較的短い章ですが、第4章・第5章・第7章の知識を前提にしているため、読む順番は後半がおすすめです(当サイトの考え)。先に各論を学んでおくと、プログラミング事例に出てくる用語を迷わず読めます。
試作では、電源の設計が見落とされやすい点です。USB給電で動いた試作機が、電池駆動にすると数日で止まるといったことは珍しくありません。第5章の電池寿命の計算と組み合わせて、どの部品が電力を多く使うかを考える習慣をつけてください。
また、試作段階から最低限のセキュリティ(初期パスワードの変更、不要なポートを閉じる、通信の暗号化)を組み込んでおくと、実証実験から製品化へ進むときの手戻りを減らせます。
学習の順番と時間の目安
以下は 当サイトの目安 です。可能なら実機で一度LEDを点けてみると記憶に残ります。
- マイコンとSBCの比較表を作る(45分)
- I2C・SPI・UARTの配線と特徴を整理する(45分)
- センサ値を読み取りMQTTで送る流れを図にする(45分)
- 試作から量産へ移るときの課題を挙げる(30分)
- 問題演習(1時間)
本番形式の問題は IoT中級の無料お試し で試せます。
確認問題(オリジナル)
問1 電池で長く動かし、電源投入後すぐにセンサを読みたい。試作の土台として最も適切なものはどれか。
ア:汎用OSが動き、起動に時間のかかるシングルボードPC/イ:OSなしで即起動し、消費電力の小さいマイコンボード/ウ:高性能なGPUを載せた、据え置き型のワークステーション/エ:画面とキーボードを備えた、一般的なノートパソコン
正解:イ。ア・ウ・エは起動時間や消費電力の点で、電池駆動の常時計測には向きません。
問2 2本の信号線で、アドレスを使って複数のセンサをつなげるシリアル通信はどれか。
ア:送信と受信の線で1対1につなぐ非同期のUART/イ:送受信とクロックと選択線を使う、高速なSPI/ウ:クロックとデータの2線で、アドレス指定するI2C/エ:電源線に信号を重ねて送る、電力線搬送通信
正解:ウ。SPIは機器ごとに選択線が必要で、UARTは基本的に1対1、エは別の用途の方式です。
問3 試作機を実証実験のため屋外に設置する前に確認すべきこととして、最も適切でないものはどれか。
ア:使う無線モジュールが技術基準適合の認証を受けているか/イ:雨や温度変化に耐える筐体と電源の構成になっているか/ウ:初期パスワードの変更など最低限の防御ができているか/エ:プログラムのコメントが全て英語で書かれているか
正解:エ。コメントの言語は設置前の必須確認とはいえません。ア〜ウは法令・環境・セキュリティの点で重要です。
関連する判断を具体例で確かめる
平均電流の計算を対策選びへ進めるなら、IoTの待機電流と省電力の下限も確認できます。送信周期と待機消費を一条件ずつ変え、効く対策が変わる理由を比較します。