WiFiESP8266およびDHT22センサー
コンポーネントと消耗品
> |
| × | 1 | |||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 |
このプロジェクトについて
小さな気象観測所を設計し、それを長期間にわたって屋外の気象変数を自動的に追跡し、スプレッドシートに記録するために使用したかったのです。私の郡と自宅でこれらの気象要因の振る舞いがどのようになっているのかを理解することは、本当に楽しみのためでした。私の郡は農民にとって非常に良好な状態にあり、野菜やその他の緑色の食品を生産しています。過度に。主要都市の食料を販売するため。
ステップ1 <図>
ステップ2
ESP8266をArduinoに接続し、IDEからコードをアップロードします。
<図>シリアルポートを使用して、コードをESP8266モジュールに直接アップロードします。これを行うと、元のファームウェアが消去されることに注意してください。 ESP8266で元のファームウェアが再び必要な場合は、それを行うために長いプロセスが必要になります。このビデオをチェックして、ショートカットを作成してください。
ステップ3
DHT22センサーを接続します:
<図> <図> <図>
ステップ4
以前に構成したThingspeakチャネルとの通信を確認してください:
<図> <図> <図> <図> <図>これらは、チャネルと通信するための必須のコード行です:
#include unsigned long myChannelNumber =167x1x; const char * myWriteAPIKey ="VXXXXV86RWRXX9Y"; ThingSpeak.writeField(myChannelNumber、1、h、myWriteAPIKey); delay(20000); ThingSpeak.writeField(myChannelNumber、2、t、myWriteAPIKey); delay(20000);
ステップ5
ESP8266には大量の電流が必要であるため、障害の原因は、PCのUSBポートと外部電源からESP8266に給電する必要があることです。
<図> <図>
ステップ6
チャネルに8つのフィールドを記録できる場合は、ステーションに追加できる他の気象センサー(気圧)について考え始めてください。多分!
コード
- temphumwifi.ino
temphumwifi.ino Arduino
#include/ *開発者:hernandoBolanos-コラボレーション-wifiモジュールの元のコードとライブラリおよびThinhspeakに情報を送信するためにGITHUBにアップロードされたコード-各作成者によるライブラリ**このコードはThingspeakDHT22に送信されます20秒ごとのデータ-wifiを使用*このプログラムはarduinoを使用せず、GPIO2を使用してDHT22センサー情報を受信してデマックスします。 arduinoIDEからdeesp8266に直接ロードする方法は挑戦です-「youtubeのelprofegarciaビデオ」を見てください* /#include // cargamos la librera DHT#define DHTPIN 2 // Seleccionamos el pin en el que se conectar el Sensor#define DHTTYPE DHT22 // Se selecciona el DHT22(hay otros DHT)DHT dht(DHTPIN、DHTTYPE); // Se inicia una variable que ser usada por Arduino para comunicarse con el Sensor#include unsigned long myChannelNumber =167319; const char * myWriteAPIKey ="XXXP9V86RWR7R9Y"; const char * ssid ="XXXX"; const char * password ="XXXX"; WiFiClientクライアント; //サーバーのインスタンスを作成します//リッスンするポートを引数として指定しますWiFiServerserver(80); void setup(){Serial.begin(115200); delay(10); dht.begin(); // Se inicia el Sensor // WiFiネットワークに接続Serial.println(); Serial.println(); Serial.print( "接続中"); Serial.println(ssid); WiFi.begin(ssid、password); while(WiFi.status()!=WL_CONNECTED){delay(500); Serial.print( "。"); } Serial.println( ""); Serial.println( "WiFi接続"); //サーバーを起動します//server.begin(); // Serial.println( "サーバーが起動しました"); // IPアドレスを出力しますSerial.println(WiFi.localIP()); ThingSpeak.begin(client); } void loop(){float h =dht.readHumidity(); // Se lee la humedad float t =dht.readTemperature(); // Se lee latemperatura // Se imprimen las変数Serial.println( "Humedad:"); Serial.println(h); Serial.println( "Temperatura:"); Serial.println(t); delay(2000); // Se espera 2 segundos para seguir leyendo // datos ThingSpeak.writeField(myChannelNumber、1、h、myWriteAPIKey); delay(20000); ThingSpeak.writeField(myChannelNumber、2、t、myWriteAPIKey); delay(20000); }
回路図
製造プロセス