Arduino nano pro en 5V
led sur d13 , et R 220Ω sur masse
de 1 a 6 entrees analogique ex LDR sur A0-5
ESP8266 sur RX/TX de l'arduino !! important , ne fonctionne pas bien en softmodem !
un moniteur optionnel sur d10 d11
une alimentation 5V ET 3,3V base sur le 78L33
alim5-3
//# ESP8266 envoi des entrees analogies
// 13 led on si ok
// envoi toutes les seconde
#include<stdlib.h>
#define SSID "SNHACK"
#define PASS "0123456789"
#define IP "192.168.1.33" // snhack ip reception
//#define IP "224.1.2.3" // snhack ip reception
#define PORT "9009"
String GET = "/SolarWifi1/";
#define MAXADC 5
// le port moniteur ne peut etre sur 0 et 1 !
//#include <SoftwareSerial.h>
//SoftwareSerial monitor(10, 11); // RX, TX
void setup()
{
pinMode(12, OUTPUT);
digitalWrite(12, LOW);
Serial.begin(9600); // 115200 pour le module olimex et le firmware de base
// monitor.begin(9600);
Serial.println("AT+RST");
delay(5000);
Serial.println("AT");
if(Serial.find("OK")){
digitalWrite(12, HIGH);
delay(1000);
digitalWrite(12, LOW);
connectWiFi();
}
}
void loop(){
int i;
int adcs[MAXADC];
digitalWrite(12, HIGH);
delay(1000);
String valeurs = GET;
for(i=0;i<MAXADC;++i){
valeurs += String(analogRead(i)) ;
valeurs+=" ";
}
Serial.print("AT+CIPSEND=");
Serial.println(valeurs.length());
if(Serial.find(">")){
Serial.println(valeurs);
// monitor.println(valeurs);
}else{
Serial.println("AT+CIPCLOSE");
connectWiFi();
// monitor.println("Close");
}
digitalWrite(12, LOW);
}
boolean connectWiFi(){
digitalWrite(12, LOW);
Serial.println("AT+CWMODE=1");
delay(2000);
String cmd="AT+CWJAP=\"";
cmd+=SSID;
cmd+="\",\"";
cmd+=PASS;
cmd+="\"";
Serial.println(cmd);
// monitor.println(cmd);
delay(2000);
if(Serial.find("OK")){
digitalWrite(12, HIGH);
// monitor.println("OK");
delay(5000);
String cmd = "AT+CIPSTART=\"UDP\",\"";
cmd += IP;
cmd += "\",";
cmd += PORT;
Serial.println(cmd);
// monitor.println(cmd);
delay(2000);
if(Serial.find("OK")){
digitalWrite(12, HIGH);
// monitor.println("OK");
}else{
// monitor.println("NO");
digitalWrite(12, LOW);
delay(5000);
}
return true;
}else{
digitalWrite(12, LOW);
// monitor.println("NO");
return false;
}
}
ana_wifi_esp8266.ino