admin管理员组文章数量:1572225
网络配置
1、模式设置
3种模式:
STA(station)模式:可以加入到网络中的设备(例如笔记本)
AP(Access Point)模式:无线的交换机,提供一个无线信号的发射功能(热点功能)
混合模式:以上两种的混合
WiFi.mode(WiFi_STA)
WiFi_STA
WiFi_AP
WiFi_AP_STA
WiFi_OFF
2、搜索网络
3、wifi连接
4、wifi网络参数设置
5、网络状态查询
例子
/*
功能:
1、获取室内温度
2、连接到wifi
3、连接计算机
4、将温度获取到的数发送给一台计算机
*/
#include "ESP8266WiFi.h"
#include <dht11.h>
/************************** 创建对象 *********************************/
dht11 DHT11;//温度对象
WiFiClient client;//wifi对象
/*************************** 常量 ************************************/
#define DHT11PIN 2 //使用2引脚口作为OneWire接线引脚
/************************** 全局变量 *********************************/
const char *password = "12345678";//wifi密码WiFiClient
const char *ssid = "ABC";//wifi名称
const char *ipAddress = "192.168.43.128";
const int port = 8266;//端口
/*******************************初始化*******************************/
void setup() {
initData();//初始化一些数据
contactNet();//连接wifi
estConnect();//建立tcp连接
}
/*******************************循环执行*******************************/
void loop() {
keepStatus();//每次发送数据前都要判断连接状态,并保持这个连接
sendDataToComputer();//向电脑发送数据
}
/*******************************其他函数*******************************/
//*************************************************************************************数据初始化
void initData(){
Serial.begin(115200);//串口波特率的设置,使用这个来初始化串口
}
//*************************************************************************************获取温度
float getTemperature(){
Serial.print("温度: ");
Serial.println((float)DHT11.temperature, 2);//显示摄氏温度
return (float)DHT11.temperature;
}
//*************************************************************************************连接wifi
void contactNet(){
delay(2000);
Serial.print("正在连接:");
Serial.println(ssid);//要连接wifi的名字
WiFi.begin(ssid,password);//开始连接
while(WiFi.status() != WL_CONNECTED){
delay(500);
Serial.print(".");//连接没有成功就打印“.”
}
Serial.println("");
Serial.println("WiFi 连接成功");
Serial.print("IP 地址:");
Serial.println(WiFi.localIP());//wifi的IP地址
}
//*************************************************************************************建立tcp连接
void estConnect(){
while(0 == client.connect(ipAddress,port)){
Serial.print(".");//没有建立成功就打印“.”直到建立成功
delay(1000);//每隔1秒重新建立一次连接
}
Serial.println("连接建立成功");
}
//*************************************************************************************保持连接状态
void keepStatus(){
if(client.available() == true){
return;//连接状态良好,程序结束
}else{
Serial.println("连接断开,正在重新建立连接");
estConnect();//连接断开,重新连接
}
}
//*************************************************************************************发送数据
void sendDataToComputer(){
client.println(100);//将温度发送到服务器(测试)
//client.println(getTemperature());//将温度发送到服务器
delay(1000);//每隔1秒发送一次
}
//**************************************************************************************获取数据
void getDataFromComputer(){
Serial.println(client.read());//打印获得的数据
delay(1000);//每隔1秒获得一次
}
本文标签: 模块计算机ESP8266WiFi
版权声明:本文标题:ESP8266WiFi模块连接计算机 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/dianzi/1727712516a1126693.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论