Estação meteorológica ThingSpeak Arduino
Componentes e suprimentos
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 |
Aplicativos e serviços online
| ||||
| ||||
|
Sobre este projeto
THINGSPEAK ARDUINO ESTAÇÃO METEOROLÓGICA
Mergulhando os pés na IoT
Mergulhar na IoT pode ser um desafio para um iniciante, sem saber por onde começar a partir das vastas opções disponíveis. God Bless Thingspeak. Este blog irá guiá-lo através de seu primeiro projeto Thingspeak IoT, que é:
a) Barato e acessível
b) Fácil de entender
c) RAD COOL.
O projeto - Um sensor de temperatura e umidade transmitindo dados para a Thingspeak Cloud usando um Arduino e um módulo wi-fi ESP-01.
Coisas que você precisa
1. Arduino UNO
2. ESP - 01
3. Sensor DHT-11
4.Breadboard
5. Fonte de alimentação do painel de leitura
5. Fios de conexão.
NOTA - Agora você pode usar seu arduino para alimentar o sensor e o módulo wi-fi, mas uma fonte externa como um módulo de alimentação de placa de pão será melhor porque as demandas de corrente de pico do módulo wi-fi em operação não podem ser atendidas pela placa. Eu tentei confiar em mim
Tudo bem, vamos mergulhar de cabeça.
CONEXÕES
ESP -01
1. VCC - 3,3V
2. GND - GND
3. CH_PD - 3,3 V
4. REINICIAR - 3,3 V
5. TX - 2 (Arduino)
6. RX - 3 (Arduino)
DHT - 11
1. VCC - 5V
2. OUT - A0
3. GND - GND
Não se esqueça de definir o jumper para 3,3 V na fonte de alimentação da placa de ensaio.
Agora ligue tudo e se nada queimar ou apagar, tudo bem.
CONFIGURANDO O THINGSPEAK
Vá para a página inicial do Thingspeak.
Cadastre-se e crie um Novo Canal com dois campos Temperatura e Umidade.
Ao criar um novo canal, você obterá algo chamado de Chaves de API.
Usaremos isso mais tarde na linha.
CONFIGURANDO O IDE ARDUINO
Agora, esta etapa é a chave para fazer o código funcionar. BIBLIOTECAS.
Você usará dois no código e um terceiro para usar os do código.
Destacado na caixa vermelha.
SoftwareSerial.h é uma biblioteca embutida, então não há problemas.
1. As bibliotecas que você precisa instalar por conta própria são a Adafruit Unified Sensor Library e a biblioteca de sensores DHT. Links para download
Sensor DHT por adafruit- https://github.com/adafruit/DHT-sensor-library
Adafruit Unificado Sensor Biblioteca- https://github.com/adafruit/Adafruit_Sensor
2. Baixe ambos e adicione-os usando o recurso Add.ZIP Library no IDE.
Homestretch
O código está aqui - https://github.com/imalwaysontheinternet/Weather-StasionOu apenas copie o código daqui e cole em seu esboço.
Existem algumas coisas a serem feitas no código antes de carregá-lo.
1. Cole sua chave Write API aqui
2. Digite seu SSID e senha Wifi aqui.
Faça upload do código. Se tudo foi feito corretamente, seu canal Thingspeak deve ser semelhante a este.
Observe que há um intervalo de 15 segundos entre as atualizações dos gráficos.
Se ainda não funcionar, escreva seus problemas nos comentários abaixo, estaremos sempre dispostos a ajudar. Visite virginrobotics.blogspot.com para qualquer dúvida e mais projetos como este.
Código
- CÓDIGO
CÓDIGO Arduino
String myAPIkey ="Sua chave de API de gravação aqui"; #include#include ; SoftwareSerial ESP8266 (2, 3); // Rx, Tx # define DHTTYPE DHT11 # define DHTPIN A0DHT dht (DHTPIN, DHTTYPE, 11); umidade flutuante, temp_f; Tempo de escrita longo =17; longo startTime =0; long waitTime =0; boolean relay1_st =false; boolean relay2_st =false; unsigned char check_connection =0; unsigned char times_check =0; erro booleano; void setup () {Serial.begin (9600); ESP8266.begin (9600); dht.begin (); startTime =milis (); ESP8266.println ("AT + RST"); atraso (2000); Serial.println ("Conectando ao Wifi"); while (check_connection ==0) {Serial.print ("."); ESP8266.print ("AT + CWJAP =\" Nome da rede Wifi \ ", \" Senha \ "\ r \ n"); ESP8266.setTimeout (5000); if (ESP8266.find ("WIFI CONECTADO \ r \ n") ==1) {Serial.println ("WIFI CONECTADO"); pausa; } times_check ++; if (times_check> 3) {times_check =0; Serial.println ("Tentando reconectar .."); }}} void loop () {waitTime =millis () - startTime; if (waitTime> (writingTimer * 1000)) {readSensors (); writeThingSpeak (); startTime =milis (); }} void readSensors (void) {temp_f =dht.readTemperature (); umidade =dht.readHumidity ();} void writeThingSpeak (void) {startThingSpeakCmd (); // preparação da string GET String getStr ="GET / update? api_key ="; getStr + =myAPIkey; getStr + ="&field1 ="; getStr + =String (temp_f); getStr + ="&field2 ="; getStr + =String (umidade); getStr + ="\ r \ n \ r \ n"; GetThingspeakcmd (getStr); } void startThingSpeakCmd (void) {ESP8266.flush (); String cmd ="AT + CIPSTART =\" TCP \ ", \" "; cmd + =" 184.106.153.149 "; // api.thingspeak.com endereço IP cmd + =" \ ", 80"; ESP8266.println (cmd); Serial.print ("Comandos de inicialização:"); Serial.println (cmd); if (ESP8266.find ("Erro")) {Serial.println ("Erro AT + CIPSTART"); Retorna; }} String GetThingspeakcmd (String getStr) {String cmd ="AT + CIPSEND ="; cmd + =String (getStr.length ()); ESP8266.println (cmd); Serial.println (cmd); if (ESP8266.find (">")) {ESP8266.print (getStr); Serial.println (getStr); atraso (500); String messageBody =""; while (ESP8266.available ()) {String line =ESP8266.readStringUntil ('\ n'); if (line.length () ==1) {messageBody =ESP8266.readStringUntil ('\ n'); }} Serial.print ("MessageBody recebido:"); Serial.println (messageBody); return messageBody; } else {ESP8266.println ("AT + CIPCLOSE"); Serial.println ("AT + CIPCLOSE"); }}
Esquemas
Código
https://github.com/imalwaysontheinternet/Weather-StasionProcesso de manufatura
- Estação meteorológica Raspberry Pi 2
- Estação meteorológica Raspberry Pi
- Estação meteorológica V 2.0
- Dados digitais Arduino
- Homem de Ferro
- Encontre-me
- Arduino 3D-Printed Robotic Arm
- Controle do umidificador Arduino
- $ 10 Estação meteorológica portátil Arduino (AWS)
- eDOT - Relógio de precisão baseado em Arduino e estação meteorológica