
最近、ESP8266に基づくWi-Fiモジュールの人気が高まっています。 また、HTTP経由でデータを送信する温度計を実装することを考えて、美しく参加することにしました。 行きましょう。
ハードウェア
ESP8266プロジェクトでは、ESP-01からESP-11までのモジュールのいずれかが使用されます。ESP-03がありました(コスト〜3ドル):

特に気に入った:
ESP-01-プロトタイピングには便利です(ブレッドボード用のコネクタがあります)が、出力されるGPIOは1つだけです。
ESP-03-多くの結論とセラミックアンテナ。
ESP-07-ESP-03 +スクリーンおよび外部アンテナ用コネクタと同じ。
DS18B20
オプションとして、ワイヤー付きで密封されたエンクロージャーで購入できます。
3.3V電源少なくとも200mAの電源が必要です。
USB UARTファームウェアおよびデバッグ用。 CP2102ベースのコンバーターを使用しました
接続
電源をESP8266に接続します。 徒歩でCH_PDもプラスになります。
注意! ESP-01モジュールを持っていない人は、GPIO15-GNDを適用する必要があります。 GPIO2 -3.3V。 ESP-01は
すでにこれを行って
います。 RXとTXをUSB-UARTコンバーターに接続して、コードのフラッシュとデバッグを行います。

DS18B20をESP8266に接続します。 マーキングを見ると:左-接地、中-信号(ESP-03のGPIO12)、ESP-01がある場合はGPIO0に接続し、右-電源(3.3V)。 電源と信号線の間に4.7kΩの抵抗を接続することをお勧めします(私にとっては10 kOhmで動作します):

thingspeak.com
thingspeak.comに登録し、チャンネルを作成し、そこから16文字のキーをコピーします。 温度データをクラウドに送信するのに役立ちます。
NodeMCUファームウェア
NodeMCUは、
ESP8266でLuaスクリプトを実行できるようにするファームウェアです。 最新の
NodeMCUフラッシャーをダウンロードして実行します。
GPIO0をグランドに接続します。 目的のCOMポートを選択し、速度は74880または115200です(理解したとおり、ブートローダーはESP8266の一部のバージョンで74880で動作します)。 Flashを押して、ESP8266で食べ物をゆがめます。 ファームウェアが起動しない場合は、74880の速度でPuTTYを起動して、RX、TX接続の正確性を確認します。電源投入時に、「
ets Jan 8 2013、rst cause:1、boot mode:(1,0) 」のような行がコンソールに落ちます。 正しいファームウェアの後で、地面からGPIO0を無効にします。

Luaスクリプトを注いで起動する
LuaLoaderをダウンロードして実行し
ます 。 COMポートと速度9600を選択します。接続がない場合、ESP8266モジュールの電力を歪めようとします。
ChipIDボタンをクリックして接続を確認します。 チップの識別子がコンソールに表示されるはずです。
= node.chipid() 10371968
必要なファイルを入力します(UploadFileボタン):
1.
ds18b20.lua -DS18B20と対話するためのライブラリ。
2. httpsender.lua-温度データを読み取り、thingspeak.comに送信するスクリプト。
YOURAPIKEYをキーに置き換えることを忘れないでください。
gpio = 6-センサーをGPIO12に接続する場合、GPIO0の場合-gpio = 3(
表 ):
gpio = 6 require('ds18b20') ds18b20.setup(gpio) function sendData() t=ds18b20.read() print("Temp:"..t.." C\n")
3. init.lua-WiFiを初期化し、httpsender.luaを起動するスクリプト。 WiFiのSSIDとパスワードを登録することを忘れないでください:
print("Setting up WIFI...") wifi.setmode(wifi.STATION)
結果:

計画
これはESP8266の最初の経験です。 次のことを試みる計画:
1. thingspeakの代わりを探します。 チャートは移動およびスケーリングしたい。 たぶん誰かがアナログを知っていますか?
2.湿度センサー(おそらくDHT22)。 すでに標準ライブラリにあるようです。
3. K-30センサーに基づくCO2センサー。
4.追加コントローラーなしの制御された夜明け、ESP8266による制御。 出版物
「人工夜明け」に触発されました。
使用材料
「thingspeak.comへの接続を備えたESP8266に基づく低コストWIFI温度(DS18B20)データロガー」に基づいています。 何らかの理由で、DS18B20のコードが機能しなくなり、標準ライブラリ
ds18b20.luaに切り替える必要があり
ました 。