Wemos D1的开发
一、硬件平台介绍Wemos D1
特性:
- 基于ESP-8266EX
- Arduino兼容,使用Arduino IDE编程
- 11 x I\O引脚
- 1 x ADC引脚(输入范围0~3.3V)
- 板载5V 1A开关电源(高输入电压24V)
工作中: 和STM32模块开发类似,集成度高 比STM32方案也更经济便宜
二、软件环境介绍
1、Arduino介绍:
Arduino开发环境,和Keil对比
优点: 集成很多开发库如串口、网络、SG90等 各种硬件开发接口,迅捷开发 自带串口调试工具 缺点: 程序编译速度慢
2、设置配置
3、单片机编写代码:
Wemos同Arduino上电后不断执行loop函数中的代码,我们核心控制代码写入loop
setup函数只调用一次,一般用于硬件相关的初始化,比如IO口、串口、wifi等
这两个函数基本上就是所有单片机的主函数
void setup(){
}
void loop(){
}
三、Wemos串口通信
1、什么是串口通信? 串口是一个有线的传输方式,像usb传输一样,用于单片机与单片机之间传递数据。
2、串口初始化函数
Serial.begin()
描述:开启串口,通常用于setup()函数中。
原型:
Serial.begin(speed)
Serial.begin(speed,config)
参数:
speed:波特率,一般取值9600,115200等。
config:设置数据位,校验和停止位。默认SERIAL_8N1表示8个数据位,无校验,1个停止位。
返回值:无。
3、串口发送函数
Serial.println()
描述:串口输出数据并换行。
原型:
Serial.println(val)
Serial.println(val,format)
参数:
val:打印的值,任意数据类型。
config:输出数据格式。
返回值:返回写入的字节数。
4、判断是否有数据到来的函数
Serial.available()
描述:判断串口缓冲区的状态,返回从串口缓冲区读取的字节数。
原型:Serial.available()
参数:无。
返回值:可读取的字节数。
5、串口发送函数
Serial.read()
描述:读取串口数据,一次读一个字符,读完后删除已读数据。
原型:Serial.read()
参数:无。
返回值:返回串口缓冲区中第一个可读字节,当没有可读数据时返回-1,整数类型。
四、Wemos和wifi
1、硬件介绍 板载无线网卡支持AP(路由),STA(上网设备)
3、作为设备接入wifi(STA模式)
char *ssid = "gcc-tech";
char *passwd = "1234567890";
void initWifiSta()
{
WiFi.mode(WIFI_STA);
WiFi.begin(ssid,passwd);
while(WiFi.status() != WL_CONNECTED){
Serial.println(".");
delay(500);
}
Serial.println(WiFi.localIP());
delay(500);
}
4、研发常说的C/S模式 5、架设Wemos为ftp服务器
int port = 8888;
WiFiServer server(port);
void loop()
{
WiFiClient client = server.available();
server.begin();
while(client.connected()){
while(client.available() > 0){
cmd = client.read();
}
}
}
6、手机调试工具发送指令控制蜂鸣器 手机tcp去应用商店下载就行。
|