ESP-WROOM-02からWiFi接続してIoTなHello World
電子工作知識ゼロのWeb系エンジニアがIoTに挑戦。
とりあえず、Espuruino(JavaScriptで動くマイコン)とESP WROOM-02(WiFiモジュール)を繋げて、外出先からセンサの情報を取得するようなことを目指しています。
今回は、マイコンなしでインターネット接続して、プチIoTをしてみます。
準備するもの
- ESP-WROOM-02ピッチ変換済みモジュール《シンプル版》
- スイッチサイエンスで買える
- USBシリアル変換モジュール:USB Serial FTDI(3.3v/5.0V切り替え機能付き)
- 10kΩの抵抗(1/2Wでも1/4Wでも)
- ブレッドボード
- ジャンパワイヤ(オス-オス)
- ブレッドボード用ジャンパワイヤ(オス-オス)
- ↑なくてもいいけどあるとキレイに配線できる
- ピンヘッダ(オス-オス)
- USBケーブル(A-B)
- はんだごて
手順
USBドライバインストール
ここから対応するものを落としてきて入れる
配線の準備
配線
- ESP-WROOM-02のピンヘッダを、ブレッドボードの適当なところに、ピンが縦に並ぶように挿す
- USBシリアル変換モジュールとブレッドボードを、ジャンパワイヤで接続する
- RX
- ESP-WROOM-02のTXD(と並んだどこか)
- TX
- ESP-WROOM-02のTXD(と並んだどこか)
- VCC
- +列のどこか
- GND
- -列のどこか
- RX
-
ブレッドボード上で配線する
- ESP-WROOM-02の3V3(と並んだどこか)と、+列
- ESP-WROOM-02のGND(と並んだどこか)と、-列
- ESP-WROOM-02のEN(と並んだどこか)と、+列を10kΩ抵抗で
- ESP-WROOM-02のRST(と並んだどこか)と、+列を10kΩ抵抗で
私はこうなりました。
10kΩ抵抗が手に入らなかったので、20kΩを並列に。ゴチャゴチャしちゃいましたね。
(物理の知識が完全に抜けた私には、並列にすると半分になる理屈がピンと来ないのですが、そういうものらしいです)
10kΩ抵抗があれば、↑で書いたように、+とモジュール側を抵抗で直接接続して良いはず。
家のWiFiに接続
USBでシリアル接続するのに、CoolTermというターミナルソフトを使用します。
Windowsなら、TeraTermが良さそうです。
CoolTermの設定はこちらが参考になりました!
以降はコマンドで操作します。
各コマンドを入力したら、Enterで確定してください。
接続確認
AT
「OK」と表示されれば、ESP-WROOM-02と接続OK!
WiFiモードを設定
アクセスポイントに接続するステーションモードにしておきます。
AT+CWMODE=1
アクセスポイントに接続
AT+SWJAP="SSID","password"
「OK」が表示されたら、IPがどうなったか確認。
AT+CIFSR
IPとMacアドレスが表示されました!
繋がった!
dweet.io経由でHello World
dweet.ioという、IoT開発者向けのプラットフォームを利用します。
まずは、画面表示する簡単なhtmlを準備。
thingNameのところはユニークになりそうな値を設定してください。
作成後はブラウザで開いておきます。
<!DOCTYPE HTML>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>ESP TEST</title>
<script src="http://dweet.io/client/dweet.io.min.js"></script>
<script src="https://code.jquery.com/jquery-2.1.4.min.js"></script>
<script>
$(function(){
var thingName = "esptest_momoham_0811"; //ユニークなthingNameを指定
dweetio.listen_for(thingName, function(dweet) {
$('#dweet_val').text(dweet.content.val);
});
});
</script>
</head>
<body>
<div id="dweet_val"></div>
</body>
</html>
ESP WROOM-02をdweet.ioに接続。
AT+CIPSTART="TCP","dweet.io",80
Enterを押すとOKが返ってきます。
CONNECT
OK
次に、送信するデータのバイト数を指定。
テキストエディタなどに先に下に記載のPOSTコマンドを書いて、文字数をカウントしておくと良いです。
改行コードは¥r¥nが3つ入るので、6バイト足してください。
AT+CIPSEND=89
Enterを押すと
>
が表示され、リクエスト入力待ちの状態になります。
いよいよ、データを送信します。
POST https://dweet.io/dweet/for/esptest_momoham_0811?val=HelloWorld!
Host: dweet.io
最後はEnterを2回入力してください。
成功すると、dweet.ioから返ってきたレスポンスが表示されます。
Recv 85 bytes
SEND OK
+IPD,369:HTTP/1.1 200 OK
Access-Control-Allow-Origin: *
Content-Type: application/json
Content-Length: 213
Date: Thu, 11 Aug 2016 03:01:12 GMT
Connection: close
{"this":"succeeded","by":"dweeting","the":"dweet","with":{"thing":"esptest_momoham_0811","created":"2016-08-11T03:01:12.040Z","content":{"val":"HelloWorld!"},"transaction":"e236ddb6-c764-4899-b808-058815ac5eca"}}CLOSED
先ほどのhtmlにHelloWorld!が表示されました!
次回は、インターネット経由でLEDライトを光らせてみようと思います。
Author And Source
この問題について(ESP-WROOM-02からWiFi接続してIoTなHello World), 我々は、より多くの情報をここで見つけました https://qiita.com/tomoeine/items/a5f1e2b4ff507335eb75著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .