IoT機器管理システム登録方法

・Raspberry Pi編
・Windows編
・ESP8266編
IoT機器管理システム

・Raspberry Pi編

1.Tailscaleへの登録

以下のコマンドをRaspberry piのターミナルに順に入力し、Tailscaleのインストールを行う。

  1. sudo apt-get install apt-transport-https

  2. curl -fsSL https://tailscale.com/install.sh | sh

  3. sudo tailscale up

3番目のコマンドを入力すると以下のようなurlが表示されるため、ブラウザからURLにアクセスする。

ログインの画面は以下のとおりである。

ここで、Enter your email... の場所にslackで公開したメールアドレスを入力し、ログインを行う。

成功すると、以下の画面のようにターミナルにSuccessと表示される。

Successと表示された後、「tailscale ip -4」というコマンドをターミナルに入力し、IPアドレスが表示されることを確認する。

2.Pisubsc.pyのインストール、実行

以下のコマンドをユーザ名ディレクトリで入力し、IoTディレクトリを作成する。

IoTディレクトリが作成されたら以下のコマンドでIoTディレクトリに移動する。

ここで、以下のコマンドを入力し、Pisubsc.pyをダウンロードする。

ダウンロード後、以下のコマンドを入力し、Pisubsc.pyを実行する。

実行後に以下の4点を順に入力して完了する。

3.起動時設定の変更

起動時にPisubsc.pyを実行するため、Raspberry piのターミナルに以下のコマンドを入力する。

エディタが開くため、以下を参考に「fi」の下に追記

ここで、~setuptestとなっている所を"~"+"ユーザ名"に変更する。

変更後、「Ctrl+O」を押して保存し、Raspberry Piを再起動する。

サイトを確認し、情報が追加されていることを確認する。

IoT機器管理システム

・Windows編

1.Tailscaleへの登録

以下のURLをクリックし、Windows版Tailscaleのダウンロードを行う。

Tailscaleダウンロード

ダウンロードしたセットアップ用ファイルを実行する。

右下にチェックを入れ、Installをクリック。

インストール後、タスクバーにTailscaleのマークが表示されるので、右クリックをしてLog in...を選択する。

ログインの画面は以下のとおりである。

ここで、Enter your email... の場所にslackで公開したメールアドレスを入力し、ログインを行う。

2.Winsubsc.pyのインストール、実行

事前準備として、WindowsにPythonがインストールされていない場合、Microsoft Store等からPythonをインストールする。

Pythonのインストールが完了した後、以下のリンクをクリックし、WinIoT.zipをダウンロードする。

WinIoT.zipのダウンロード

WinIoT.zipをCドライブ直下で解凍し、setup.batを実行する。

実行後に以下の4点を順に入力して完了する。

3.起動時設定の変更

起動時にプログラムを実行する設定を行うため、タスクスケジューラを開く。

タスクの作成をクリック。

画像の通りに名前の変更、ログオン時の設定の変更、表示しないにチェックを入れる。

トリガータブで新規をクリックする。

タスクの開始をログオン時に変更し、OKをクリックする。

操作タブで新規をクリックする。

プログラム/スクリプトの参照をクリックし、setup.batを選択する。

また、開始の部分を画像のように設定し、OKをクリックする。

条件タブで電源の設定のチェックを外す。

設定タブでタスクを停止するまでの時間のチェックを外してOKをクリックする。

ここで、再起動を行う。

サイトを確認し、情報が追加されていることを確認する。

IoT機器管理システム

・ESP8266編

1.ESP8266Subsc.inoのダウンロード

以下のリンクをクリックし、ESP8266Subsc.inoをダウンロードする。

ESP8266Subsc.inoのダウンロード

ダウンロードしたESP8266Subsc.inoを、利用するプログラムのフォルダ内に移動する。(例ではBlink)

2.使い方、設定

利用するinoファイルを開いた際、左上のタブにESP8266Subscがあることを確認する。

ESP8266Subscタブをクリックし、以下の6つの変数を設定する。

設定後はBlink.inoを元に解説する。


    int Time = 0;
    int beforeTime = 0;
    int waitTime = 30000; //msで設定、例では30秒
    
    void setup() {
      settingWifi();
      pinMode(14, OUTPUT);
    }
    
    void loop() {
      Time = millis();
      if(Time - beforeTime > waitTime){
        SendData();
        beforeTime = Time;
      }
      
      digitalWrite(14, HIGH);
      delay(1000);
      digitalWrite(14, LOW);
      delay(1000);
    }

まずはsetup内でsettingWifi()を呼び出し、先程設定したSSIDのWi-FiにESP8266を接続する。
その後loop内などで適宜SendData()を呼び出す事により、IoT機器管理におけるデータを更新する。
上記例ではmillis()関数を利用し、30秒毎に呼び出しを行っている。
また、タイマー割り込み等で呼び出すことで、確実に一定間隔で更新を行うことが可能になる。

プログラム実行後、サイトを確認し、情報が追加されていることを確認する。

IoT機器管理システム