admin管理员组文章数量:1568563
Wemos D1 与 wifi
- 前言
- 一、Wemos D1是什么?
- 二、arduino 开发环境
- 三、wifi功能使用
- 1.AP模式(Access Point)
- 2.STA模式(Station)
- 附录
前言
本章将简单介绍wemos d1接入wifi,以便快速上手使用,做些功能强大的小项目。
一、Wemos D1是什么?
Wemos 是板载自带无线网卡(也就是加了wifi的arduino),支持AP(路由)模式,STA(上网)模式。
特性:
1.基于EPS-8266EX
2.兼容Arduino, 可以用arduino ide编写代码
3. 11x I/O 引脚
4. 1x ADC 引脚 (输入范围 0–3.3V)
5. 板载5V 1A开关电源(高输入电压24V)
二、arduino 开发环境
用来给兼容arduino的单片机编写程序代码
优点:
- 集成了很多开发库,如串口,舵机,其他模块等,
- 各种硬件开发接口,能迅速开发
- 自带串口调试工具
缺点: 程序编译速度慢
三、wifi功能使用
1.AP模式(Access Point)
AP模式提供无线接入服务,和我们家里的路由器差不多,允许其他设备接入,一般的无线路由/网桥工作在该模式下。
2.STA模式(Station)
类似于一个上网设备,接入到家里的无线网络,手机可以接入家里的无线网络中。 (手机和路由器的表面关系。)
2.1 作为设备接入wifi
#include<ESP8266WiFi.h>
char *ssid = "WiFi名称"; //自己家的wifi
char *passwd = "WiFi密码";
void init_wifi_sta()
{
WiFi.mode(WIFI_STA); //设置STA模式
WiFi.begin(ssid,passwd); //连接网络
while(WiFi.status() != WL_CONNECTED) //等待连接
{
Serial.print(".");
delay(500);
}
Serial.println(WiFi.localIP()); //通过串口打印wemos的ip地址
}
void setup() {
Serial.begin(9600); //串口初始化,设置波特率9600
init_wifi_sta(); //启动接入wifi
}
void loop() {
}
注意:要使用开发板上的wifi模块需要用到#include<ESP8266WiFi.h>头文件
2.2 架设womos为ftp服务器
先简单了解下C/S模式,就是指客户端/服务器模式,是计算机软件协同工作的一种模式。
womos可以当作一个服务器在运行,那么手机app就是客户端,可以进行数据的互传。(app按钮按下,可以发送指令到womos),也支持多个app同时接入。
服务器两大要素:
1.地址
ip地址,域名等
2.端口号
一台电脑或设备有多个服务,每个服务用端口区别
int port = 8888; //端口号
WiFiServer server(port); //设置服务器端口号
void setup()
{
server.begin(); //启动服务器
}
void loop()
{
char cmd;
WiFiClient client = server.available(); // 服务器初始化
while(client.connected()) // 等待客户端连接
{
while(client.available()>0)//有数据到来,类似Serial.available()
{
cmd = client.read(); //读取数据
}
}
}
综合:手机tcp远程连接,控制wemos
wemos在STA模式下进行tcp通信,模块连接AP(手机热点或者路由器),进入局域网中和其他无线设备通信。
#include<ESP8266WiFi.h>
char *ssid = "WiFi名称"; //自己家的wifi
char *passwd = "WiFi密码";
int port = 8888; //端口号
WiFiServer server(port); //设置服务器端口号
void init_wifi_sta()
{
WiFi.mode(WIFI_STA); //设置STA模式
WiFi.begin(ssid,passwd); //连接网络
while(WiFi.status() != WL_CONNECTED) //等待连接
{
Serial.print(".");
delay(500);
}
Serial.println(WiFi.localIP()); //通过串口打印wemos的ip地址
}
void setup() {
Serial.begin(9600); //串口初始化,设置波特率9600
init_wifi_sta();
server.begin(); // 启动服务器
WiFiClient client = server.available(); // 服务器初始化
}
void loop() {
char cmd;
WiFiClient client = server.available(); // 服务器初始化
while(client.connected()) // 等待客户端连接
{
while(client.available()>0)//有数据到来,类似Serial.available()
{
cmd = client.read(); //读取数据
Serial.print(cmd);
}
}
}
效果图:手机发送信息,wemos接收,串口打印
附录
1.手机下载tcp连接工具:
链接:https://pan.baidu/s/1-BTeLiwms07cKXwLk03rww
提取码:1234
注意:使用手机tcp工具,首先需要连接wemos的ip, 才能发送数据。
2.参考优秀博文:wemos D1 arduino物联网开发板应用笔记7-STA模式下TCP Client通信
若文章有误,敬请指出,互相交流,共同进步,感谢!
版权声明:本文标题:Wemos D1与wifi 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://www.elefans.com/dianzi/1726808967a1085313.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论