Scientific Journey

私の冒険記録。たまに回り道。

【勉強会ノート】IDCFクラウドのサーバに温湿度・気圧センサーの値を送ってみた。

本エントリーは忘備録のために書きました。

OS環境はWindows8.1用です。

また、2016年サバフェスハンズで行ったことをまとめました。

 

[目次]

  1. 用意するもの
  2. 下準備(環境設定・サーバー構築)
  3. サーバにセンサ情報をアップロード

 

1. 用意するもの

  • WifiのつながるPC
  • ESP-WR00M-02(wifiモジュール)
  • 温湿度気圧センサー(BME280)
  • USBケーブル (PC-ESP接続)
  • 抵抗(10kΩ)ー茶黒オレンジ
  • ブレッドボード
  • ジャンパーピン

2. 下準備

下準備では以下のことをやります。

  • TeraTermのインストール→ver4.82を使いましたが、最新版でも問題ありません。
  • Arduino IDE(開発環境)のインストール→ver1.67を使用しました。
  • Arduino必要なライブラリのインストール(MQTTクライアント+JSON)
  1. Arduino IDE(開発環境)のインストール
    以下のWebページにインストール手順がわかりやすく書いてあります。

    Arduino IDE開発環境(ESP-WROOM-02開発ボード編) - Qiita

 補足)上記URLに書いてありますが、
 ESP8266ボードをArduinoIDEでマイコンボードとして選択できるようにします。

 2.Arduino必要なライブラリのインストール(MQTTクライアント+JSON)

  • スケッチ→ライブラリをインクルード→ライブラリ管理を選択
  • Filter your searchにで次のキーワードを入れる(ひとつづつね!)
    ・PubSubClient
    ・ArduinoJson
  • 該当するライブラリの枠内をクリックして最新版をインストールする。

 3.仮想サーバの構築
(IDCFクラウドのアカウント取得+仮想マシン起動+IPアドレス設定)

3.サーバにセンサ情報をアップロード

  1. 配線
    以下のように配線を行います。
    今度ちゃんとした回路図書きます(^^;;;)

    f:id:an-modoki:20160319225313j:plain

     

  2. Arduino側プログラム
    sndbme280.inoを使用する。
    Arduino側のプログラムの中で、
    // Wi-Fi APのSSID/Password
    const char *ssid = "xxxxxxxxxx";
    const char *password = "xxxxxxxx";
    // Server環境に関する設定
    const char *server = "xxx.xxx.xxx.xxx";
    がありますが、この部分は以下の条件の場合
  3. 以下のように書き換えてください。
    条件)PCがつないでいるwifi名→pekepeke
       PCがつないでいるwifi(pekepeke)のPassword→12345
       IDCFクラウドIPアドレス→123.123.123.123
    書換え後)
    // Wi-Fi APのSSID/Password
    const char *ssid = "pekepeke";
    const char *password = "12345";
    // Server環境に関する設定
    const char *server = "123.123.123.123";
    書き換えたらプログラムをESP-WPOOM-02に書き込みます。
  4. プログラムをESP-WPOOM-02に書き込み
    ArduinoIDEにおいて設定
    ツールツールの中で以下をESP-WPOOM-02に設定。
    項目初期値変更値
    Flash Mode DIO QIO
    Flash Frequency 40MHz 同左
    Upload Using Serial 同左
    CPU Frequency 80MHz 同左
    Flash Size 512K(64K SPIFFS) 4M(3M SPIFFS)
    Debug port Disabled 同左
    Debug Level None 同左
    Reset Method ck nodemcu
    Upload Speed 9600 115200
    port --- 開発ボードのCOM番号

    ※Upload Speedは、512000でも大丈夫のようだ。

  5. SSHリモートログイン(TeraTarm起動)+NodeRED起動
    TeraTermを起動してSSHリモートログインをします。
     ・[新しい接続]にて
      ・ホスト→IDCFクラウドIPアドレス
      ・サービス→SSHを選択。
     以上を設定してOKを押します。
     ・[SSH認証]にて
      ・ユーザ名(N):→root
           ・パスフレーズ(P):→root
           ・RSA/DSA/EDCSA鍵を使うを選択
       秘密鍵をクリックしてSSH Key:作成して
       ダウンロードしたものを選択(ディレクトリ入力)
    ・以上設定して、ログインできたら
       node-red
    と入力してNode-REDを起動します。

    ◎Node‐RED を起動する。
    ブラウザ(googleChromeIEなど)
     ・http://xxx.xxx.xxx.xxx:1880/
           xxx.xxx.xxx.xxx→IDCFクラウドIPアドレス
  6. NodeRED
    ・NodeREDにて三本線メニューバー→import
    →Clipboadにて
    Node-RED用フロー(flow/node-red-bme280-floe.txt)
    の内容を貼り付けます。
    →OKボタンを押します。

    f:id:an-modoki:20160319221442p:plain


    ・NodeREDにてDeplayボタンを押します。

     

  7. 実行結果
    debubタブに情報が提示されればOKです。