基于esp826的使用实现串口网络双控制以及数据上传(解决了没有esp8266的库和连接不上wifi以及手机热点的问题)
Posted 王若依
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基于esp826的使用实现串口网络双控制以及数据上传(解决了没有esp8266的库和连接不上wifi以及手机热点的问题)相关的知识,希望对你有一定的参考价值。
本次采用的是D1 wifi UNO
一、下载esp8266库
这里有一个自带更新包可以直接安装。
链接:https://pan.baidu.com/s/1JcCzhkUfR6r0udWLermmew
提取码:9omv
安装包
下载TCPCOM
链接:https://pan.baidu.com/s/1A45h0HoiYi3vBmnBzePYAg
提取码:uqgv
TCPCOM
二、esp8266的连接网络
1.代码
#include <ESP8266WiFi.h>
#define led 4 //发光二极管连接在8266的GPIO2
const char *ssid = "";//Wifi名称
const char *password = "";//WiFi密码
const char *host = "";//服务端IP
const int tcpPort = 8081;//服务端端口号,
WiFiClient client; //实例化对象
void setup()
{
Serial.begin(115200);
pinMode(led,OUTPUT);
delay(10);
Serial.println();
Serial.print("Connecting to ");//会通过usb转tll模块发送到电脑,通过ide集成的串口监视器可以获取数据。
Serial.println(ssid);
WiFi.begin(ssid, password);//连接到指定WiFi
//在这里检测是否成功连接到目标网络,未连接则阻塞。
while (WiFi.status() != WL_CONNECTED)
{
delay(500);
}
//几句提示
Serial.println("");
Serial.println("WiFi connected");
Serial.println("IP address: ");
Serial.println(WiFi.localIP());
}
void loop()
{
while (!client.connected())//若未连接到服务端,则客户端进行连接。
{
if (!client.connect(host, tcpPort))//实际上这一步就在连接服务端,如果连接上,该函数返回true
{
Serial.println("connection....");
delay(500);
}
}
while (client.available())//available()表示是否可以获取到数据
{
char val = client.read();//read()表示从网络中读取数据。
if(val=='a'){//pc端发送a和b来控制
digitalWrite(led, LOW);
}
if(val=='b')
{
digitalWrite(led, HIGH);
}
}
while(Serial.available()>0)
{
char val = Serial.read();
if(val =='a')
{
digitalWrite(led,HIGH);
}
if(val == 'b')
{
digitalWrite(led,LOW);
}
}
client.print("Sensor is :");
client.println(analogRead(0));
delay(1000);
}
2.TCPCOM控制
调试助手会自动检测到你的串口,但是本地地址要自己选中。如果不知道自己的电脑的ip地址,可以用win+R,输入ipconfig,查看自己的无线局域网适配器里的ip地址。
在网络数据终端输入b灯亮,(在串口数据终端输入a亮)
气体模块检测的气体数据上传
以上是关于基于esp826的使用实现串口网络双控制以及数据上传(解决了没有esp8266的库和连接不上wifi以及手机热点的问题)的主要内容,如果未能解决你的问题,请参考以下文章
基于esp826的使用实现串口网络双控制以及数据上传(解决了没有esp8266的库和连接不上wifi以及手机热点的问题)
基于esp826的使用实现串口网络双控制以及数据上传(解决了没有esp8266的库和连接不上wifi以及手机热点的问题)
基于STM32的ESP8266 WIFI与ONENET通信连接,云平台以及手机APP数据显示