2016年3月31日木曜日

Arduino+ESP8266でIoT

 123D CircuitsのArduino+ESP8266の仮想デバイスをもとに、実際に回路を組んでみました。
その際の手順などを説明します。

○用意するモノ

SunFounder(サンファウンダー)ESP8266Wifi無線シリアルトランシーバモジュール UNO R3 Mega2560 Nano Arduino初心者専用 [並行輸入品]
PL2303HX内蔵USBシリアル変換ケーブル
PL2303HX内蔵USBシリアル変換ケーブルのドライバ
・通信ソフト TeraTerm
・ファームウェア書き換えツール FLASH_DOWNLOAD_TOOLS_v2.4_150924
※ファームウェア書き換えツールは必須ではありません。

 上記ESP8266WiFiモジュール(ESP-01)は、技適が付いてないので注意。また、シリアル変換ケーブルは各種ありますが、Windows10に対応していないものもあるので注意が必要です。
 技適取得済みのWiFiモジュール(ESP-WROOM-02)は、スイッチサイエンスなどで購入できます。使い方は変わらないので、こちらを利用することをお勧めします(端子配列は異なる)。ただし、ESP-WROOM-02を使用したモジュールは、Arduinoの3.3V電源では駆動できないため、別途3.3Vを供給するための電源が必要になります。

EasyWordMall 3.3V 5V MB102ブレッドボード用 電源モジュール パワーモジュール
ACアダプター 12V/0.5A

○下準備
①PL2303HX内蔵USBシリアル変換ケーブルのドライバ、TeraTermをインストールします。
②次のように回路を接続します。
※3.3V電源はArudinoから供給、ESP-WROOM-02の場合は別電源が必要


TXシリアル変換ケーブル白
RXシリアル変換ケーブル緑
CH_PD3.3V
VCC3.3V

○TeraTermの設定
①TeraTermを起動します
②[シリアル(E)]をオンにし、[ポート(R)]から「COMn:Prolific USB-to-Serial Comm Port(COMn)」(「n」は番号で環境により異なる)を選択し、[OK]ボタンをクリックします。


③[設定(S)]→[端末(T)]を選択します。
④「改行コード」の[受信(R)]と[送信(M)]を「CR+LF」に設定し、[OK]ボタンをクリックします。


⑤[設定(S)]→[シリアルポート(E)]を選択します。
⑥[ボー・レート(B)]を「115200」に設定し、[OK]ボタンをクリックします。


⑦[設定(S)]→[設定の保存(S)]を選択します。
⑧保存先フォルダを選択し、[保存(S)]ボタンをクリックします。

○ESP-01の設定
 ESP-01は、初期設定がAPモードになっているため、次のように操作して、モードを変更します。

①TeraTermから「AT」と入力し、[Enter]キーを押し、「OK」と表示されることを確認します。
※「OK」と表示されない場合は、配線を確認してください。
②「AT+CWMODE=3」と入力し、「Enter」キーを押します。

ATコマンドについては、こちらを参照してください。

○回路の配線
 LED制御と温度計測をするための回路を組みます。



○プログラムの作成
 実際の回路では、Wifi接続時などのウェイト時間を多くとらないと上手く動きません。

・LED制御
・温度計測

 
 <SSID>にはWiFiのSSIDを、<password>にはWiFiのパスワードを入力します。
 クライアント側(ブラウザ側)のHTMLコードは変わりませんので、前回の記事を参照してください。

2016年3月29日火曜日

123D CircuitsでIoTデバイス(Arduino+ESP8266)のプロトタイピング-その2 センサーデータ収集

今回は、123D Circuits上に作成したArduino+ESP8266(WIFIモジュール)の仮想IoTデバイスで計測した温度データを取得、収集した可視化してみます。IoTプラットフォームには、dweet.ioを使います。

以下のHTMLを「temp_123d.htm」と名前を付けて保存してください。
※このコードは、このブログのサイドバーに埋め込んでいます。

123D Circuitsの[Start Simulation]をクリックしてください。

「temp_123d.htm」をブラウザで開いてください。
[接続]ボタンをクリックすると温度データと取得します。
[切断]ボタンをクリックすると、データの取得を停止します。
※データを取得するまで時間がかかります。


123D Circuitsの温度データを変化させるには、温度センサーLM35をクリックし、表示されたバーをスライドさせます。


グラフで確認するには、こちらを参照してください。


2016年3月28日月曜日

123D CircuitsでIoTデバイス(Arduino+ESP8266)のプロトタイピング-その1 LED制御

123D Circuitsは、Arduino電子回路の仮想実験室です。回路の試作からPCBの作成まで行うことができます。

今回は、123D Circuits上に作成したArduino+ESP8266(WIFIモジュール)の仮想IoTデバイスを、ネットワーク経由で制御してみます。IoTプラットフォームには、dweet.ioを使います。

以下のHTMLを「led_dweet.htm」と名前を付けて保存してください。

123D Circuitsの[Start Simulation]をクリックしてください。


「led_dweet.htm」をブラウザで開いて、[ON]ボタンを押すと、青LEDが点灯し、[OFF]ボタンをクリックすると、消灯します。

※LEDが点灯、消灯するまで、時間がかかる場合があります。