【勉強会ノート】IDCFクラウドのサーバに温湿度・気圧センサーの値を送ってみた。
本エントリーは忘備録のために書きました。
OS環境はWindows8.1用です。
また、2016年サバフェスハンズで行ったことをまとめました。
[目次]
- 用意するもの
- 下準備(環境設定・サーバー構築)
- サーバにセンサ情報をアップロード
1. 用意するもの
- WifiのつながるPC
- ESP-WR00M-02(wifiモジュール)
- 温湿度気圧センサー(BME280)
- USBケーブル (PC-ESP接続)
- 抵抗(10kΩ)ー茶黒オレンジ
- ブレッドボード
- ジャンパーピン
2. 下準備
下準備では以下のことをやります。
- TeraTermのインストール→ver4.82を使いましたが、最新版でも問題ありません。
補足)上記URLに書いてありますが、
ESP8266ボードをArduinoIDEでマイコンボードとして選択できるようにします。
- Arduino IDE起動→ツールバー→ファイル→環境設定
- 環境設定からsettingsタブを開く
- Additional Board Maneger URLsに以下を入力
http://arduino.esp8266.com/stable/package_esp8266com_index.json - 次にツールバー→マイコンボード→ボードマネージャーでesp8266 by ESP8266 Communityを検索しver2.1.0を選択
2.Arduino必要なライブラリのインストール(MQTTクライアント+JSON)
- スケッチ→ライブラリをインクルード→ライブラリ管理を選択
- Filter your searchにで次のキーワードを入れる(ひとつづつね!)
・PubSubClient
・ArduinoJson - 該当するライブラリの枠内をクリックして最新版をインストールする。
3.仮想サーバの構築
(IDCFクラウドのアカウント取得+仮想マシン起動+IPアドレス設定)
- IDCFクラウドのアカウント取得
以下のURLに手順が書いてあります。※登録時にクレジットカード必要
- 仮想マシン起動+IPアドレス設定
以下のURLに手順が書いてあります。
IDCFクラウドでコミュニティテンプレートから仮想マシンを作成しよう - Qiita
この過程で生成する。
・IDCFクラウドのIPアドレス
・SSH Key:作成し、ダウンロードする
を取っておきます。
3.サーバにセンサ情報をアップロード
- 前回の続きから
・IDCFクラウドのIPアドレス
・SSH Key:作成してダウンロードしたもの
以上を用意しておきます。 - 以下のハンズオン用ダウンロードURLからDownLoadZipにて
ダウンロード解答します。
GitHub - arigadget/esp-handson: Hands on contents for Server Festa 2016
以下のプログラムを使います。
・sndbme280.ino
・Node-RED用フロー(flow/node-red-bme280-floe.txt)
- 配線
以下のように配線を行います。
今度ちゃんとした回路図書きます(^^;;;)
- 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";
がありますが、この部分は以下の条件の場合 - 以下のように書き換えてください。
条件)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に書き込みます。 - プログラムを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でも大丈夫のようだ。
- 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 を起動する。
ブラウザ(googleChrome、IEなど)
・http://xxx.xxx.xxx.xxx:1880/
xxx.xxx.xxx.xxx→IDCFクラウドのIPアドレス - NodeRED
・NodeREDにて三本線メニューバー→import
→Clipboadにて
「Node-RED用フロー(flow/node-red-bme280-floe.txt)」
の内容を貼り付けます。
→OKボタンを押します。
・NodeREDにてDeplayボタンを押します。
- 実行結果
debubタブに情報が提示されればOKです。