IoT利用

  • AndroidスマートフォンのLTE通信とテザリング機能を利用してIoTハブにする

  • AndroidスマートフォンのLTE通信とWIFI機能を利用してIoTデバイスにする

  • マスートフォンが利用しにくい厳しい環境ではラズベリーパイをIoTデバイスとする

  • ラズベリーパイにUSBやブルートゥースを利用してIoTデバイスとして利用する

  • サンプルはスマートフォンのテザリングを利用してラズベリーパイに接続してUSBカメラの映像をVNC経由で表示

IOTとは

  • 全ての機器をインターネットに接続して利便性を向上させる

  • PC,スマートフォンをはじめスマートテレビ,ネットワークカメラ,スマートホーム,スマートドア等様々な機器がある

  • インターネットに接続できない機器はインターネットに接続できるコンピュータ機器を経由して利用する

IoTとしての条件

  • IoTハブは複数のIoTデバイスをインターネットへ接続する

  • IoTデバイスは単体でインターネットに接続できるかIoTハブを経由して接続する

  • 市販のIoTハブは非常に高価で通信種類と自由度が少ないのでハブとしての通信部分はスマートフォン,IoTデバイスはラズベリーパイが最適

  • スマートフォンは新品で2万円以下,ラズベリーパイはゼロWであれば2千円以下で調達可能

IoTハブの通信

  • 企業や家庭で利用している固定回線でインターネットに接続

  • スマートフォンやLTEモデムを利用してLTE回線などの移動通信でインターネットに接続する

  • IoTデバイスとの接続はスマートフォンのテザリングを利用するが10台以上の場合はUSBテザリングと市販のルーターを使用する

  • LTEモデムは3万円以上と高価なので厳しい条件下のみとする

  • IoTハブとデバイスの通信は有線/無線LAN,ブルートゥースの他にUSB接続で行う

  • 移動通信キャリアのスマートフォンとLTEモデムはIPV4とIPV6の両方で通信ができるがグローバルIPとして直接アクセスできるのはIPV6のみでLTE接続毎にIPアドレスが変更されます

IoTハブ及びデバイスとの通信

  • 企業や家庭内ではLAN内の環境に閉じて基本的には外部からの接続は禁止しデータのやり取りはクラウド経由とする

  • LAN外にあるIoTデバイスは移動通信を利用してインターネットに接続するが直接アクセス可能なIPV6をDHCPで利用する

  • IPV6が利用できないIotデバイスはSSHサーバーを経由したTunnel通信とする

  • IoTデバイスの制御はリモートディスクトップかSSH接続とする

Androidのテザリング例1

  • テザリングを有効にしてラズベリーパイをWIFI接続する

  • 接続デバイスにラズベリーパイのホスト名を確認

  • IPV6を利用するのでAPNでAPNプロトコルをIPv4/IPv6にする

  • テザリングでIPV6を利用できるのはAndroid 8.0以上

Androidのテザリング例2

  • IPアドレスとMacアドレスの確認

  • IPV6のアドレスではなくIPV4しか表示されない点に注意

IPV6でのリモート接続例1

  • IoTデバイスにはVNC/SSHサーバーが起動していること

  • IPアドレスはRclone等を利用してIoTデバイスからクラウドに自動的にアップロードしておく

  • VNCビューワーでリモートディスクトップ接続確認画面

IPV6でのリモート接続例2

  • VNCでのリモートディスクトップ接続

IPV6でのリモート接続例3

  • VNCでのリモートディスクトップ接続でUSB接続したWEBカメラの映像を表示

IPV6が使えないIotデバイス

  • IoTハブ(Androidスマートフォン)にSSHelperアプリをインストールしSSHサーバーにする

  • SSH Tunnelを使ってIPV6が使えないIoTデバイスに接続する

SSHの説明

IoTハブ(Androidスマートフォン)内の操作

  • IoTハブ(Androidスマートフォン)にTermuxアプリをインストールする

  • Termuxを利用してIoTデバイスを操作する

Termuxの説明

  • 以下のサイトにアクセスする(表示は日本語翻訳済み)
    https://wiki.termux.com/wiki/Main_Page

  • Linuxのターミナルと同様のコマンドが利用できるが一部のコマンドに限られスーパーユーザーコマンドRoot(sudo)はAndroidをルート化しないと使えない

Rcloneの説明

  • 以下のサイトにアクセスする(表示は日本語翻訳済み)
    https://rclone.org/

  • Goole Drive,Dropvox,OneDrive等多くのクラウドストレージとの同期やファイルのアップロート,ダウンロードを行う

  • 操作はコマンドのCLIなので各IoTデバイスで自分のIPV6アドレスを自動(スクリプト等)でクラウドストレージへアップロードさせる

  • ここでは詳細の説明は省略する

  • AndroidはLinuxをベースとして開発されているのでLinuxに非常に似ており相性も良いためiOSに比べて自由度が高くIoTに利用するには安価で手に入りやすい

  • Android内でのコマンド利用はTermux以外にAutomate,Taskerアプリを利用してアプリ作成と同様な機能を作成することで利便性を大幅に向上できる