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编译并且上传代码,上 ...
随机推荐
- es6 class extends
Class和普通构造函数有何区别 JS构造函数 function MathHandle(x, y){ this.x = x; this.y = y; } MathHandle.prototype. ...
- G1垃圾收集器官方文档透彻解读【官方解读】
在前几次中已经对G1的理论进行了一个比较详细的了解了,对于G1垃圾收集器最权威的解读肯定得上官网,当咱们将官网的理解透了,那基本上网上对于G1的说明其实最终都是来自于官网,所以接下来会详细来解读Ora ...
- 使用docker简单启动springboot项目
1.搭建docker环境 需要linux系统必须是centOS7以上 执行一下命令: yum install epel-release –y yum clean all yum list 2.安装 y ...
- 关于LinkedList for OpenJDK
概述 LinkedList采用底层采用双向链表结构,与ArrayList的数组结构不一样.LinkedList因数据结构不一样,不需要申请连续内存,可以利用碎片内存.元素保存数据内容外还需要 ...
- 如何下载oracle jdk|oracle jdk下载慢,要登录等等问题
wget -c --no-cookies --no-check-certificate --header "Cookie: oraclelicense=accept-securebackup ...
- centos 安装mysql5.7.18.tar.gz
1.解压mysql.tar.gz tar -zxvf mysql--linux-glibc2.-x86_64.tar.gz 2.添加mysql用户组和mysql用户,命令如下: groupadd m ...
- HTML 004 属性
HTML 属性 属性是 HTML 元素提供的附加信息. HTML 属性 HTML 元素可以设置属性 属性可以在元素中添加附加信息 属性一般描述于开始标签 属性总是以名称/值对的形式出现,比如:name ...
- 008_软件安装之_MATLAB2017B
链接:https://pan.baidu.com/s/1haZPRu0-ks8kWBFDHuhNJw提取码:vo9e复制这段内容后打开百度网盘手机App,操作更方便哦
- HTML 文字剧中
HTML 内想使文字剧中的办法 就是 text-align:center 剧中前效果图 剧中后效果图 代码:
- Mongodb 分片 手动维护chunk
去年的笔记 For instance, if a chunk represents a single shard key value, then MongoDB cannot split the ch ...