Menos claro est el hecho de que RXD y TXD deban ser a 3,3 V.
He visto varias notas por Internet recomendando montar un divisor de
tensin en cada pin para evitar problemas, pero yo los he conectado
directamente a Arduino sin problemas (Me compr dos, por si acaso,
son muy baratos).
Function cables: Red cable:VCC; Black cable: GND; Green cable: TXD; White cable: RXD
Channel Frequency
According IEEE802.11bgn standard, RF transceiver supports the following
channels:
Channel
Freq.
Channel
Freq.
2412
2447
2417
2452
2422
10
2457
2427
11
2462
2432
12
2467
2437
13
2472
2442
14
2484
Esp8266.com
la
Una vez conectado el circuito, no olvidar que todas las tierras deben
estar en punto comn, el cdigo de prueba ser:
void setup()
{ Serial.begin(9600);
BT1.begin(9600);
}
void loop()
{ String B= "." ;
if (BT1.available())
{ char c = BT1.read() ;
Serial.print(c);
}
if (Serial.available())
{ char c = Serial.read();
BT1.print(c);
}
}
OK
AT+CIPSERVER=1,80
OK
direccin IP o puerto
Com
man
ds
Des
crip
tion
T
y
p
e
Set/Exe
cute
restart
AT+RS
basi
the
T
c
module
AT+CW wifi
MODE mode
wifi
Inqu
iry
test
AT+ CWJAP
AT+
=<ssid>,<
CWJAP?
pwd >
AT+CWLAP
set the
AT+
parame
wifi
CWSAP ters of
AP
Example
s
AT+CWMO
AT+CW AT+CWM 1= Sta, 2=
DE=<mode
MODE? ODE=?
AP, 3=both
>
wifi
Paramet
ers
AT+CWQAP -
AT+
CWSAP=
AT+
<ssid>,<p CWSAP
wd>,<chl>, ?
<ecn>
ssid = ssid,
pwd = wifi
password
AT+CWQ
AP=?
Connect to
your router:
ssid, pwd,
AT+CWJAP=
chl =
"YOURSSID",
channel, ecn
"helloworld";
= encryption
and check if
connected:
AT+CWJAP?
get the
AT+
connec TCP/ AT+
CIPSTA
tion
IP
CIPSTATUS
TUS
status
AT+CIPST id = 0-4,
ART=?
type =
TCP/UDP,
addr = IP
address,
Connect to
another TCP
server, set
multiple
connection
Com
man
ds
Des
crip
tion
T
y
p
e
Set/Exe
cute
Inqu
iry
test
RT=
<type>,<a
ddr>,<port
>; 2)
multiple
connection
(+CIPMUX=
1)
AT+CIPSTA
RT=
<id><type
>,<addr>,
<port>
1)single
connection(
+CIPMUX=
0)
AT+CIPSEN
D=<length
>; 2)
TCP/
multiple
IP
connection
(+CIPMUX=
1)
AT+CIPSEN
D=
<id>,<leng
th>
AT+CIPSE
ND=?
close
AT+CIPCLO
TCP or
AT+CIP
TCP/ SE=<id> or
UDP
CLOSE
IP
AT+CIPCLO
connec
SE
tion
AT+CIPCL
OSE=?
AT+
CIFSR=?
AT+CIP send
SEND
data
set
AT+
AT+
mutiple TCP/
CIPMUX=<
CIPMUX connec IP
mode>
tion
AT+
CIPMUX
?
Paramet
ers
Example
s
port= port
first:
AT+CIPMUX
=1; connect:
AT+CIPSTAR
T=4,"TCP","
X1.X2.X3.X4
",9999
send data:
AT+CIPSEND
=4,15 and
then enter
the data
0 for single
connection 1
for mutiple
connection
Com
man
ds
Des
crip
tion
AT+
set as
CIPSER
server
VER
+IPD
T
y
p
e
Set/Exe
cute
AT+
CIPSERVER
TCP/
=
IP
<mode>[,<
port> ]
Inqu
iry
test
Paramet
ers
Example
s
turn on as a
TCP server:
mode 0 to
AT+CIPSERV
close server
ER=1,8888,
mode, mode
check the
1 to open;
self server IP
port = port
address:
AT+CIFSR=?
receive
d data
int ledPin=13;
int sensor_pin = A0;
float muestra =0;
float bat_volt=0;
SoftwareSerial ser(2,3);
void setup() {
// put your setup code here, to run once:
pinMode(ledPin,OUTPUT);
Serial.begin(9600);
ser.begin(9600);
ser.println("AT+RST");
}
void loop() {
// put your main code here, to run repeatedly:
voltage();
esp_8266();
}
void voltage()
{
muestra=0;
for(int i=0;i<150;i++)
{
muestra+=analogRead(sensor_pin);
sensor
delay(2);
}
muestra=muestra/150;
bat_volt = muestra*(4.76/1024)*(12/2); // R1+R2/R2 // R1=10k and
R2=2k
}
void esp_8266()
{
// convert to string
char buf[32];
String strVolt = dtostrf( bat_volt, 4, 1, buf);
Serial.print(strVolt);
Serial.println(" V");
// TCP connection
String cmd = "AT+CIPSTART=\"TCP\",\"";
cmd += "184.106.153.149"; // api.thingspeak.com
cmd += "\",80";
ser.println(cmd);
if(ser.find("Error")){
Serial.println("AT+CIPSTART error");
return;
}
if(ser.find(">")){
ser.print(getStr);
}
else{
ser.println("AT+CIPCLOSE");
// alert user
Serial.println("AT+CIPCLOSE");
}