Arduino使用ESP8266模块联网



Arduino使用ESP8266模块联网

ESP8266模块准备
1. 透传程序烧写
2. Arduino与ESP8266接线
Arduino模块程序
测试
总结
上一篇文章已经介绍了 利用 ArduinoIDE开发ESP8266模块,这篇文章介绍一下arduino怎么通过ESP8266模块联网

ESP8266模块准备
1. 透传程序烧写
以下程序的主要功能是:
1. 通电自动连接指定wifi
2. 通过tcp协议连接指定服务器的指定端口
3. tcp连接断线重连
4. 10s自动发送心跳包
1
2
3
4
5
#include <ESP8266WiFi.h>

const char *ssid = “你的wifi”;
const char *password = “wifi密码”;

WiFiClient client;
const char *host = “服务器”;
const int port = 0;

void setupWifi() {
delay(10);
Serial.println();
Serial.print(“Connecting to “);
Serial.println(ssid);

WiFi.begin(ssid, password);

while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(“.”);
}

Serial.println(“”);
Serial.println(“WiFi connected”);
Serial.println(“IP address: “);
Serial.println(WiFi.localIP());
}


void setup ( void ) {
Serial.begin(9600);
setupWifi();
}
int loopCount=0;
void loop ( void ) {
//断线重连
while (!client.connected()){
Serial.println(“not connected”);
if (!client.connect(host, port)){
Serial.println(“connect server ….”);
delay(500);
}
}
//透传
while (client.available()){
Serial.write(client.read());
}
while (Serial.available() > 0) {
client.write(Serial.read());
}
//10s发送一次心跳包
delay(500);
loopCount++;
if(loopCount == 20){
client.println(“ping”);
loopCount=0;
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
2. Arduino与ESP8266接线
arduino采用软串口方式与ESP8266模块通信,
1. ESP 3.3v接arduino的3.3v电源
2. ESP EN(CH_PD)接 arduino的3.3v电源
3. ESP 的 TXD 接 arduino的10号引脚
4. ESP 的 RXD 接 arduino的11号引脚
5. ESP 的GND 接 arduino的GND
1
2
3
4
5
6
Arduino模块程序

#include <SoftwareSerial.h>

SoftwareSerial mySerial(10, 11); // RX, TX

void setup() {
Serial.begin(9600);
mySerial.begin(9600);
}

void loop() {
while(mySerial.available()){
Serial.write(mySerial.read());
}
while(Serial.available()) {
mySerial.write(Serial.read());
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
测试
下载个网络调试助手(USR-TCP232-Test-V1.3)
打开 tcp server设置号端口开始监听

现在 打开 arduino所在的串口,向串口发送数据 会被TCPServer收到,TCPServer发数据arduino的串口也会收到
总结
至此你的arduino已经可以进行网络通信了,接下来就可以利用这些加上一个云服务器就可以做些有趣的东西了。
eg. 1. arduino接个继电器可以实现远程控制的灯,风扇,电饭锅。。。。
2. arduino接个l298n直流电机驱动,就可以控制电机正反转,电动窗帘,遥控车。。。
1
2
3
做这些东西的过程中 又 发现了一款 ESP-12E的模块,已经集成了wifi模块并且有10个io引脚可以控制,同样可以用ArduinoIDE开发,价格只要15块左右,打算买个玩玩。

还有一个MQTT协议算是一个比较成熟的做物联网的比较好的协议
———————
作者:A__yes
来源:CSDN
原文:https://blog.csdn.net/A__yes/article/details/80422681
版权声明:本文为博主原创文章,转载请附上博文链接!