IoTシステム技術検定 中級試験 合格!受験記

合格報告

このたび、MCPCが主催する検定試験「IoTシステム技術検定 中級」に合格ましたので、報告します。 f:id:camelrush:20201228133825p:plain

IoTシステム技術検定とは

f:id:camelrush:20201228115212p:plain

概要

「IoTシステム構築・活用に関する知識を中心に、その習熟度を検定することで、IoTシステム構築に関係する技術者の対応力向上」を目的とした、検定試験です。2016年12月から開催されており、今回受験した 2020/12/5で9回目(同年7月はコロナ禍のため中止)となる、比較的若い試験です。

項目 内容
試験名 IoTシステム技術検定試験
団体 MCPC(モバイルコンピューティング推進コンソーシアム)
受験クラス 基礎 / 中級 / 上級
試験時間 90分
問題数 80問(マークシート
受験料 15,000(税別)
試験日 2020年12月5日(年2回)

ちなみによく似た名前に「IoT検定」がありますが、これとは別モノです。私は 8月に「IoT検定 レベル1」も合格しています。参考にされたい方はそちらをご覧ください。

camelrush.hatenablog.com

試験対策

今回の受験は、10月~11月の2か月を費やしました。私の場合、8月に合格した「IoT検定」の前知識があったので、ゼロから受験する方はもう1~2か月見た方がいいかもしれません。本試験は、規定されているテキストから出題が行われます。

試験対策では、まずこのテキストを読み込みつつ、不明確な部分は調べながら、忘れないようにブログに書き込んでいきました。

- IoTシステム技術検定中級対策 序章、第1章 - いくつになっても知りたがり エンジニアのブログ
- IoTシステム技術検定中級対策 第2章(1/2) - いくつになっても知りたがり エンジニアのブログ
- IoTシステム技術検定中級対策 第2章(2/2) - いくつになっても知りたがり エンジニアのブログ
- IoTシステム技術検定中級対策 第4章(1/3) - いくつになっても知りたがり エンジニアのブログ
- IoTシステム技術検定中級対策 第4章(2/2) - いくつになっても知りたがり エンジニアのブログ
- IoTシステム技術検定中級対策 第6章、第7章 - いくつになっても知りたがり エンジニアのブログ

過去問などの試験対策があまりなかったので、不安が残りましたが、受験直前で見つけた次のページが、復習をするうえで大変参考になりました。

【MCPC】第6回IoTシステム技術検定のうろ覚え過去問|ガジェゲー□

「IoT検定(Lev1)」と「IoTシステム技術検定(中級)」を受けて

他のサイトを見ていると、前者がソリューション提案・コンサル向き、後者が開発者向き、と言われていますが、この印象はあっていると思います。前者は「ビジネス戦略」が特化項目として規定されています。後者に特化した項目はありませんが、全般的に内容が深めです。試験の難易度で比較すると、(そもそもレベルの差があるのかもしれませんが)後者の方が難しかった印象がありました。

以上、今後、受験される方の参考になれば幸いです。

AMG8833 サーマルカメラ(熱感度)で、非接触温度計を作る

今回のお題

思いっきり時事ネタになりますが、非接触温度計を作ってみることにしました。サーモグラフィーは、コロナ禍の影響で、非接触式の体温計が多く出ており、需要も多いとのこと。

経緯

スイッチサイエンスさんで、年末恒例の割引セールを実施中とのこと。 mag.switch-science.com

以前から興味があった、Conta™ サーモグラフィー AMG8833搭載 が、通常 4,950円のところ、20%引きで3,960円。これでも安いとは言えないけど、年末浪費衝動もあって買っちゃいました。

届きました

購入後、3日ほどで届きました。中身を開封してみると、段ボールのうち蓋にメモで「寒いよね、ポチってくれてありがとう❤」と書かれていました。女の子…だよね。男だったら悲しい ーー;
f:id:camelrush:20201220065847j:plain f:id:camelrush:20201220065949j:plain
f:id:camelrush:20201220065934j:plain f:id:camelrush:20201220070048j:plain f:id:camelrush:20201220065717j:plain

さっそく接続

Raspberry Piに接続し、接続を確認(接続方法等は後述) ライブラリに付属されたサンプルで、動画表示もできます。 f:id:camelrush:20201219095807g:plain おー!思ったより、細かい画像になる!GridEyeは8×8って書いてあったから、もっと粗いのかと思っていましたが…まだ勉強不足のようでした。ただ、接写レベルまで指を近づけないと測れないってのはいけてない。サンプルだからね。今回はとりあえず接続動作まで。

次回

最大距離7mまで測定可能とのことなので、サンプルをベースに画角の拡大に挑戦したいと思います。温度計なので、せめて人の輪郭ぐらいは画像でとらえられるようになってほしい。

感謝

次のページ記事を参考にさせてもらいました。 qiita.com

基本情報処理試験(FE)対策 勉強会

令和3年2月に、会社の1年生がIPA基本情報処理勉強を予定しており、対策講義を行った。今回は、その対策講義中に出た過去問の解説など、備忘のため控えておく。

対策

データベース

(平成22年秋期 午後問題 問2より)

  • 正規化

    • 正規化とは? → データの一貫性の維持と効率的なデータアクセスを可能にする関係設計へ導くための方法。
    • 第1正規形~第3正規形 まとめ

      正規形 要点 大事なこと
      第1 繰り返し部分が取り除かれたもの 各繰り返し部分に1つずつ独立したレコードを作り、横方向の長さを統一する
      第2 第1正規形の表から、部分関数従属(※)している列が切り出されたもの
      ※複合キーの一部の項目だけで、列の値が一意に定まる関係のこと
      第1正規形にて明細が繰り返される度に重複していたデータを分離する
      第3 第2正規形の表から、主キー以外の列に関数従属している列が切り出されたもの 更に分離できる部分を分離する
    • 具体例:【関係データベースの正規化】第1正規形・第2正規形・第3正規形について紹介
    • 練習問題:工業大学生ももやまのうさぎ塾
    • 注意:問題の「表」の中身が重複していないからといって、一意列とは限らない。値だけに惑わされず、項目の「意味」を把握すること。
  • SQL.テーブル結合の書き方

    • FROM句でJOINするだけではなく、WHERE句でも指定できる。次の2つは同じである。
      • SELECT * FROM TBL1 INNER JOIN TBL2 ON TBL1.COLA = TBL2.COLA
      • SELECT * FROM TBL1 ,TBL2 WHERE TBL1.COLA = TBL2.COLA
  • その他 SQL.抽出条件

    • INは 複数の値を指定する
      • SELECT * FROM TBL1 WHERE COL1 IN (100,200,350)
        ※(COL1 = 100 OR COL1 = 200 OR COL1 = 350 )と同じ
    • LIKEは 近似値の抽出
      • SELECT * FROM CUSTOMER WHERE NAME LIKE '%田%'
        → 秋田 かずえ、田村 ゆみ、合田 など。
        ※'%田'は後方一致、'田%'は全法一致となる

法務

  • 派遣先企業と労働者との関係
    • 決められた予算で開発する「請負契約」と、作業時間に応じて費用が支払われる「準委任契約」「派遣契約」がある。
      • 「請負契約」→成果責任「準委任」「派遣」→役務
      • 「派遣」は発注元が労働者に指示できるが、「準委任」はできない(指揮命令系統の違い)「準委任」は発注先の管理者が指示する。
      • 「請負契約」は「瑕疵担保責任」(バグ修正等、原則1年)があり、「準委任」は「善管注意義務」(良なる理者の~)がある。
    • 参考URL:請負契約と準委任契約と派遣契約の違いとは?

ネットワーク

  • サブネットマスク(255.255.255.0など)

    • 4オクテットからなるIPアドレスを「ネットワーク部」(グループ)と「ホスト部」(本来のアドレス)に切り分けるためのもの。先頭ビットから、マスクでビット(1)表記された範囲までが、ネットワーク部となる。
      • IPアドレス192.168.57.123、サブネットマスク255.255.252.0の場合
        • サブネット 255.255.252.0 → 11111111.11111111.11111100.00000000
        • IPアドレス 192.168.57.123 → 11000000.10101000.00111001.01111011
          → ネットワーク(下線部)192.168.57.0 である
    • ホスト部のうち、2つのIPアドレスは使用できない。
      • ホスト部が 0 → ネットワーク部自体を示す(上の例では 192.168.57.0)
      • ホスト部が 全て 1 → ブロードキャストアドレス
        (上の例では 192.168.59.255 = 11000000.10101000.00111011.11111111
  • CIDR表記(サイダー。『IPアドレス/xx』)

セキュリティ

  • 外部攻撃のリスク

    • デフォルトのポート番号を使ったサービスを外部にさらした状態にしておくことは危険。特に、著名なアンノウンポートである、22(SSH)など。不要であれば、ファイアウォールで塞ぐ、ポート番号を変更するなど。
  • ファイアウォール

    • 特定のIPアドレス・ポートを対象とした通信を「許可」または「遮断」する防壁機能。PCに設定するタイプ(Windows Defender Firewall等)の他、ネットワーク自体に機器として設置されるもの(ネットワークFW)がある。
  • デジタル署名の流れ(A さん to B さん)

    • デジタル署名の生成(A さん)
      1. 署名したいメッセージから、ハッシュ関数を使ってダイジェストを生成します。
      2. 生成したダイジェストを自分の秘密鍵で暗号化します。
      3. メッセージと生成した署名を B さんに送信します。
    • デジタル署名の検証(B さん)
      1. 受信したメッセージから、ハッシュ関数を使ってダイジェストを生成します。
      2. 受信したデジタル署名を、A さんの公開鍵を使って復号します。
      3. 1 において生成したダイジェストと 2 で復号したダイジェストを比較し、完全に一致することを確認します。
    • 参考URL:IPA ISEC 2.4デジタル署名
  • SSL通信の流れ

    1. クライアントがサーバに接続を要求
    2. サーバがクライアントに、サーバ証明書 + 公開鍵を提供
    3. クライアントが 共通鍵を生成
    4. クライアントが 公開鍵を使って共通鍵を暗号化し、サーバに送付。
    5. サーバ
    6. 参考URL:Alpha SSL SSL/TLS暗号化通信の流れ

IoTシステム技術検定中級対策 第6章、第7章

「IoTシステム技術検定 中級」への試験対策用アウトプットです。

第6章 IoTシステムのプロトタイピング

IoTプロトタイピング開発検討概要

  • 目的の明確化
    • 目的が何か(技術検証、性能品質/消費電力/電波強度検証)
    • マネジメントの必要性(期間・コスト・品質、人材、リスク)
  • ネット事前調査・活用
    • オープン化された技術の事例紹介
    • センサ、アクチュエータのネット販売
    • ただし、不良製品には注意が必要
  • ゲートウェイの検討
  • ワイヤレス通信のトポロジ構成検討
  • ワイヤレス通信機器・通信規格の選択
  • データフォーマットの選定 …

IoTプロトタイピング・ハードウェア環境

第7章 IoT情報セキュリティ

IoT情報セキュリティの重要性

  • 脅威と脆弱性
    • ネットワークスキャン:アドレス・ポートで侵入可能なサービスを特定すること。「nmap」という無償ソフトウェアが有名。telnetポート(TCP-IP:23)が著名なリスク。対策は、ファイアウォールで特定サービスのみが接続できるようにフィルタリングすること。
    • パスワードクラック:パスワード解析。ブルートフォース攻撃、辞書攻撃が有名。対策は、アカウントロック機能の有効化、ワンタイムパスワード設定、生体認証の導入など。
    • BOF(バッファオーバーフロー):バッファサイズを超えるメモリ領域への書き込み攻撃とそれによるフリーズなどの障害。対策は、メモリ直接操作関数(gets、strcpy等)の使用を制限する、ファジングツールによる検出など。

IoTシステム技術検定中級対策 第4章(2/2)

「IoTシステム技術検定 中級」への試験対策用アウトプットです。

第4章 IoT通信方式

広域通信網(WAN)

  • 固定回線
    • 光ブロードバンド
    • ISDN
  • 無線通信回線
  • 公衆網と閉域網
  • IoTにおける通信の特徴と3GPPにおけるIoT用WANの技術動向
    • IoTに関わる標準化動向
    • 通常のモバイル通信トラフィックへの影響軽減のための標準化
    • ネットワークやデバイス機能のIoT最適化のための標準化
    • IoT最適化標準化動向
  • LPGAと5G同行
    • LPGA
      • SigFox
      • LoRaWAN
      • LTE Cat.M1(LTE-M)
      • NB-IoT
    • 5G
      5Gには3つの目標値がある

      名称 内容 目標値
      eMBB 超高速
      大容量通信
      下り最大20Gbps
      上り最大10Gbps
      URLLC 超高信頼
      低遅延通信
      32Bytesパケット送信 99.999%の信頼性
      伝送遅延1msec以下
      mMTC 超大量接続 1km2あたり百万台デバイス同時接続

プロトコル

IoTの通信トラフィックの特性

  • ネットワークで伝送されるデータ量
    • TCP通信では、最低でも(オプション未指定の場合でも)上下で合計360bytesのTCP/IPヘッダが付加される。
      • 3WAYハンドシェイク 120bytes(上80、下40)
      • データ伝送 80bytes(上40、下40)
      • TCPクローズ処理 160bytes(上80、下80)
  • IoTにおけるトラフィックの留意事項
    • 無線WANの通信速度
      • 計算により求めた伝送速度の方式を選択すること
      • データ遅延による弊害のため、タイムアウト値の検討を行うこと。
      • 3GやLTEでは料金プランの通信上限を超えた場合の、速度制限に注意すること
    • 無線WANの通信経路確立
    • 無線WAN網への負荷分散
    • 無線WAN利用時のデータ再送
      • データに応じて再送の要否を検討。到達が遅くても必ず送信しなければならないか、遅れては意味をなさないかによる。
      • 短期間に際限なく再送を繰り返すと、課金が上がるリスクがある。再送回数を決め、徐々に再送間隔を広げていく方法がよい。
  • IoTシステムのレイテンシー

IoTシステム技術検定中級対策 第4章(1/2)

「IoTシステム技術検定 中級」への試験対策用アウトプットです。

第4章 IoT通信方式

IoTエリアネットワーク無線

  • 電波特性

    • 超長波~サブミリ波まで。
    • 周波数が小さい > 周波数が大きい
      • >伝搬損失が大きい
      • >透過し難い
      • >直進性が強い
      • >情報伝送容量が大きい
      • >アンテナが小さい
    • IoTエリアネットワークでは、300MHz~3GHzのUHF帯が主に使用される。
    • サブギガ帯(Sub-GHz帯)と呼ばれる、1GHzに満たない帯域も活用される。
      f:id:camelrush:20201117003608p:plain
      • <920MHz帯の特長>
        • 通信距離は2.4GHz帯の約10倍
        • 伝送速度は400MHz帯の10倍以上
        • 干渉の影響が少ない(WLAN/Bluetooth/電子レンジ 等)
  • IoTエリアネットワーク無線の種別

    • Bluetooth
      • Bluetooth 4.0以降のBLE規格がIoTに向いている(低消費電力、低速、短距離)
      • PXP(Proximity:プロキシミティ)により、デバイス距離を測ることができる。
    • IEEE802.15.4
      • ZigBee:多様なプロファイル。リモート制御、ホームオートメーション、ヘルスケア、PC入力デバイス、etc...。
      • Wi-SUN:現在はHEMSのBルートで使用。障害に強く、長距離通信・マルチホップ通信が可能であることから、今後は、農業、防災、施設監視などの用途が検討されている。
        • 920MHz帯を使用
        • IEEE802.15.4『g』規定
        • 通信距離1Km~2Km。
    • 無線LAN

      • IEEE802.11:無線LAN
        f:id:camelrush:20201117012338p:plain
      • 802.11n以降を wifi4~ と呼ぶことがある。
        f:id:camelrush:20201117013131p:plain
      • 上記表とは別の、802.11ah(Wifi - HaLow)がIoT向け規格として策定。802.11ac を1/10クロックダウン。LPWAに分類される場合がある。
        f:id:camelrush:20201117012813p:plain
      • アクセスポイントとIoTデバイスが相互に接続を検知する方法として、CSMA/CA方式がある。隠れ端末問題と晒し端末問題により、スループットが低下する。対策は、RTS/CTS信号を利用すること、適切なChを割り当てること。
      • 周波数を分割することで複数ch割り当てが可能。
        • 2.4GHz帯(~2.5GHz)では5MHz毎に計13ch(日本のみ14ch)。
        • 5GHz帯(~5.7GHz)では20MHz毎に計19ch。
    • 近距離無線

    • IoT特化無線システム
      • Z-WAVE
      • EnOcean
      • Dust Network:工業用。プロセスモニタ、状態監視など。メッシュネットワークを使用した「切れない無線」。時間同期メッシュ・プロトコル(TSMP)を使用。

IoTシステム技術検定中級対策 第2章(2/2)

「IoTシステム技術検定 中級」への試験対策用アウトプットです。

データ駆動型システム

  • IoTサービスプラットフォーム
    • IoTサービスのプラットフォームは、従来アプリケーションごとに構成していた「垂直統合型」から、共通プラットフォームとしてまとめられた「水平連携型」にシフトし つつある。
    • 「水平連携型」のメリットは、アプリケーションの構築が容易になるだけではなく、アプリケーション間のデータ共有・連携が可能となる。
    • このIoT共通サービス機能を、ITU-Tでは「M2M/IoTサービス層」と定義されている。この層の機能実態は次の7つ。
      1. データ収集
      2. データ蓄積
      3. データ可視化・分析
      4. 遠隔制御
      5. イベント通知
      6. バイス管理
      7. アプリケーションインターフェイス
  • データ収集の方法
    • アップロード方式:IoTデバイス → IoTサーバ
      • 逐次収集方式:都度送信。(ヘッダ付加による)データ増加→ネットワーク負荷増大。サーバストレージ負荷増大。リアルタイム性◎。
      • 一時蓄積方式:一定時間まとめ送り。ネットワーク負荷減少。リアルタイム性悪。
      • 区間集約方式:サマリ送り。ネットワーク負荷・ストレージ負荷減少。リアルタイム性悪。
    • ポーリング方式:IoTサーバ → IoTデバイス
    • パブリッシュ・サブスクライブ方式
  • 遠隔制御の方法
    • 直接制御方式:IoTサーバ→デバイス直接制御。即時性◎。セキュリティリスクあり。
    • ポーリング方式:IoTデバイス(IoTゲートウェイ)がサーバに問い合わせる。即時性はポーリング間隔に依存。ネットワーク負荷過多。
    • ロングポーリング方式:基本はポーリングと同じ。違いは、サーバは即応せず、タイムアウトしない程度に応答を留める点。とどめている間に応答が必要になれば、返信する。ネットワーク負荷軽減。
    • 双方向通信方式:WebSocket。
    • ウエイクアップ方式:IoTサーバ→IoTゲートウェイで起動指示(SMS等を使用)。IoTゲートウェイ→IoTサーバへ要求を取得に行く。