Arduino---ESP8266 WIFI模块
一:Arduino安装ESP8266
https://www.arduino.cn/thread-76029-1-1.html(内容截图如下:最简单方法)

选用NodeMCU .0即可
二:简单测试
void setup() {
// put your setup code here, to run once:
pinMode(LED_BUILTIN,OUTPUT); //测试灯
}
void loop() {
// put your main code here, to run repeatedly:
digitalWrite(LED_BUILTIN,LOW);
delay();
digitalWrite(LED_BUILTIN,HIGH);
delay();
}
LED_BUILTIN中builtin是内建意思,为内建LED灯,可直接用于测试
三:引脚对应
| 引脚编号 | 对应数字 |
| D0 | 16 |
| D1 | 5 |
| D2 | 4 |
| D3 | 0 |
| D4 | 2 |
| D5 | 14 |
| D6 | 12 |
| D7 | 13 |
| D8 | 15 |
| D9 | 3 |
| D10 | 1 |
四:简单使用案例:无线控制LED开关
#include <ESP8266WiFi.h> //引入模块 #ifndef STASSID
#define STASSID "Tenda_064E38"
#define STAPSK "YM123456789"
#endif const char* ssid = STASSID;
const char* password = STAPSK; // Create an instance of the server
// specify the port to listen on as an argument
WiFiServer server(80); //开启板子的80端口 void setup() {
//https://blog.csdn.net/rong81590509/article/details/77010216
//在波特率为9600~38400之间,波特率的增长倍数与传输速率的增长倍数基本相同,但是在波特率大于192000以上时,传输速率基本没有任何提高。
//从115200开始实际与理论相差较大 11.25kb/s
//不要9600,因为9600下速率太慢0.9kb/s
Serial.begin(115200); //开启电脑的序列埠,设置为115200 // 测试D4接口
pinMode(, OUTPUT);
digitalWrite(, ); //设置为低电压 //告诉电脑连接到那个wifi了
Serial.println();
Serial.println();
Serial.print(F("Connecting to "));
Serial.println(ssid); //开始连接
WiFi.mode(WIFI_STA);
//WIFI模块的STA模式和AP模式有什么区别:AP是接入点,可以让用户接入。STA--Station无线终端,不接受无线接入,可以连接到无线AP,无线网卡工作在STA下
WiFi.begin(ssid, password); //开启WIFI //若是没有连接上:则一直打印....
while (WiFi.status() != WL_CONNECTED) {
delay();
Serial.print(F("."));
} //打印连线成功
Serial.println();
Serial.println(F("WiFi connected")); //开启伺服器
server.begin();
Serial.println(F("Server started")); //告诉电脑自己的IP
Serial.println(WiFi.localIP());
} void loop() {
//每次循环进入:都需要确认本板子是否有效(是否连上AP),成功则返回客户端连接自己的句柄
WiFiClient client = server.available();
if (!client) {
return;
} //成功就打印成功
Serial.println(F("new client"));
//若是客户端一直连接没有信息传入,则等待 //设置客户端连接超时时间。若在指定时间连接不上的为超时
client.setTimeout(); // default is 1000
//看客户端是否发送信息,不然一直等待
while(!client.available())
{
delay(1);
} //读取第一行\r为换行符--->为请求
String req = client.readStringUntil('\r');
Serial.println(F("request: "));
Serial.println(req);
//client.flush(); //刷新流 // Match the request
int val;
if (req.indexOf(F("/gpio/0")) != -) { //若是匹配到/gpio/0
val = ; //关闭
} else if (req.indexOf(F("/gpio/1")) != -) { //若是匹配到/gpio/1
val = ; //打开
} else {
Serial.println(F("invalid request"));
val = digitalRead(); //若是无用,则读取当前状态不变
} //修改状态
digitalWrite(, val); //向客户端句柄写入数据
client.print(F("HTTP/1.1 200 OK\r\nContent-Type: text/html\r\n\r\n<!DOCTYPE HTML>\r\n<html>\r\nGPIO is now "));
client.print((val) ? F("high") : F("low"));
client.print(F("<br><br>Click <a href='http://"));
client.print(WiFi.localIP());
client.print(F("/gpio/1'>here</a> to switch LED GPIO on, or <a href='http://"));
client.print(WiFi.localIP());
client.print(F("/gpio/0'>here</a> to switch LED GPIO off.</html>")); //客户端断开连接(对象释放了)
Serial.println(F("Disconnecting from client"));
}
本程序为单进程,不支持同步处理连接,易出现客户端死等。待改进
Arduino---ESP8266 WIFI模块的更多相关文章
- ARDUINO MEGA2560 经过ESP8266 WIFI模块上传温湿度数据到 OneNet 服务器
简述 原来写了一个C++的wifi库但是发现用c++ arduino这小身板有点扛不住,代码比较大,使用String类型数据处理速度慢,而且很容易无缘无故跑飞.而且封装成库后使用还需要修改arduin ...
- 用ESP8266 WIFI模块连接服务器,并实现与服务器相互通讯
最近在做一个智能锁的项目,该项目要求实现在任何地方(当然是要有网络的)可以在手机上用APP开锁.而我负责的部分主要是实现底层与服务器连接,并且要能相互通讯.考虑了很多问题,最终选择了用ESP8266 ...
- ESP8266 wifi 模块配置,Wechat+APP控制实现
首先刷入安信可的AiCloud 2.0 SDK文件,AiCloud 2.0具体信息参见AiCloud 1.0 和AiCloud 2.0对比 APP见如下二维码下载. 1.安信可AiCloud 2.0 ...
- 【stm32】基于hal库使用野火指南者esp8266 WIFI模块进行TCP传输
UART.c #include "stm32f1xx_it.h" #include "LED.h" #include "UART.h" #i ...
- ESP8266串口模块的基本使用【转】
本文转载自:http://www.shaoguoji.cn/2017/01/15/ESP8266-usage/ ESP8266是一款超低功耗的UART-WiFi 透传模块,拥有业内极富竞争力的封装尺寸 ...
- Arduino 基于 ESP8266 配置WIFI模块
Arduino 基于 ESP8266 配置WIFI模块 使用ESP8266作为服务器,使用浏览器访问该服务器,从而控制LED灯 选择 [文件]->[示例]->[ESP8266WIFI]-& ...
- 中国移动OnetNet云平台 使用WIFI模块ESP8266 TCP非透传模式传输数据流步骤
测试使用工具: WIFI模块型号:ESP8266 https://item.taobao.com/item.htm?spm=a1z10.1-c.w137712-175513579.2.btbD9X&a ...
- 中国移动OnetNet云平台 使用WIFI模块ESP8266 TCP透传模式传输数据流步骤
测试使用工具: WIFI模块型号:ESP8266 https://item.taobao.com/item.htm?spm=a1z10.1-c.w137712-175513579.2.btbD9X&a ...
- Beaglebone Black– 智能家居控制系统 LAS - 刷 WiFi 模块 ESP8266 Firmware 和 ESP8266 直接收发 GPIO 信号
用 Windows 来刷 ESP8266 固件有很多中文教程,来试试直接用 BBB 刷吧.目标是 NodeMCU,ESP-01 可用,就是我买的那个. 接线方式在上一篇.当 echo ‘BB-UART ...
- 解析-ESP01模块开发Arduino物联网wifi开关模块
本文将解析<完美图解物联网Iot实操 ESP8266>中 第五章 P177页 动手做的代码2(使用SPIFFS文件系统的代码) 首先我们先动手使用Arduino IDE编译并且上传代码,上 ...
随机推荐
- 运输层5——TCP报文段的首部格式
写在前面:本文章是针对<计算机网络第七版>的学习笔记 运输层1--运输层协议概述 运输层2--用户数据报协议UDP 运输层3--传输控制协议TCP概述 运输层4--TCP可靠运输的工作原理 ...
- P2458 [SDOI2006]保安站岗[树形dp]
题目描述 五一来临,某地下超市为了便于疏通和指挥密集的人员和车辆,以免造成超市内的混乱和拥挤,准备临时从外单位调用部分保安来维持交通秩序. 已知整个地下超市的所有通道呈一棵树的形状:某些通道之间可以互 ...
- 大数据之路week07--day03(Hadoop深入理解,JAVA代码编写WordCount程序,以及扩展升级)
什么是MapReduce 你想数出一摞牌中有多少张黑桃.直观方式是一张一张检查并且数出有多少张是黑桃. MapReduce方法则是: 1.给在座的所有玩家中分配这摞牌 2.让每个玩家数自己手中的牌有几 ...
- springboot+支付宝完成秒杀项目的初体验
springboot+支付宝完成秒杀项目的初体验 思考的问题: 首先是秒杀的商品查询,考虑到是热点数据,所以写一个接口读取当日批次的秒杀商品到redis中(那么接下来对商品的操作都放入redis中). ...
- 云计算(5)---MapReduce
什么是MapReduce 例如用MapReduce如何计算12+22+32+42 用MapReduce执行Wordcount 步骤1:Map map task1 和map task2是独立,并行进行 ...
- 2.设计模式-Abstract Factory 抽象工厂模式
大神勿喷,不对的地方请指出来,学笔记而已. 解决的问题:应对多系列对象构建的变化或多系列(例如:崎岖的山路和平坦的马路属于一个系列) 不断的变化的创建. 使用场景:对象不变(比如有3个对象 " ...
- [TJOI2013]松鼠聚会 曼哈顿距离
[TJOI2013]松鼠聚会 luogu P3964 首先容易得到两点间距离是\(max(|x_1-x_2|, |y_1-y_2|)\)(即切比雪夫距离) 然后有个套路:原\((x,y)\)求曼哈顿距 ...
- AtCoder Grand Contest 002题解
传送门 \(A\) 咕咕 int main(){ cin>>a>>b; if(b<0)puts(((b-a+1)&1)?"Negative": ...
- 【原创】go语言学习(三)字符串串、时间和日期类型
目录 1.字符串串原理理解析2. 时间类型3. 日期类型 字符串串原理理解析 1.字符串串底层就是⼀一个byte数组,所以可以和[]byte类型互相转换2.字符串串之中的字符是不不能修改的,那怎么修改 ...
- http状态码-备查
http状态码分类 分类 分类描述 1** 信息,服务器收到请求,需要请求者继续执行操作 2** 成功,操作被成功接收并处理 3** 重定向,需要进一步的操作以完成请求 4** 客户端错误,请求包含语 ...