打开蜂鸣器:
void setup() {
// put your setup code here, to run once;
pinMode(D5,OUTPUT);//设置引脚为输出引脚
}
void loop() {
// put your main code here, to run repeatedly;
digitalWrite(D5,LOW);
delay(1000);
digitalWrite(D5,HIGH);
delay(1000);
}
串口的输入输出:
void setup() {
// put your setup code here, to run once:
Serial.begin(115200);
}
void loop() {
// put your main code here, to run repeatedly:
int cmd;
if(Serial.available() > 0){
cmd = Serial.read();
if(cmd == 5){
Serial.println("Mr.Wang is so handsome");
}else{
Serial.println("Mrs.wang is so beautiful");
}
}
}
输入输出控制蜂鸣器:
void setup() {
// put your setup code here, to run once:
Serial.begin(115200);
pinMode(D5, OUTPUT);
digitalWrite(D5, HIGH);
}
void loop() {
// put your main code here, to run repeatedly:
int cmd;
if (Serial.available() > 0) {
cmd = Serial.read();
if (cmd == 1) {
Serial.println("ON!");
digitalWrite(D5, LOW);
} else {
Serial.println("OFF!");
digitalWrite(D5, HIGH);
}
}
}
连接WiFi:
#include <ESP8266WiFi.h>
char* ssid = "Redmi_1088";
char* password = "**********";
//不会给你们看的[doge]
void InitWifiSta(){
WiFi.mode(WIFI_STA);
//设置STA模式
WiFi.begin(ssid,password);
//连接网络
while(WiFi.status() != WL_CONNECTED){
//没连接上wifi就打印 . 信息
Serial.println(".");
delay(500);
}
}
void setup() {
// put your setup code here, to run once:
Serial.begin(115200);
//Start WIFI
//Connect WIFI
InitWifiSta();
}
void loop() {
// put your main code here, to run repeatedly:
Serial.println(WiFi.localIP());
//通过串口打印WEOMOS D1的IP地址
delay(500);
}
C/S模式:
说明白点其实就是一个服务器连着多个客户端
服务器的两大要素:
1.地址:
IP地址、域名等
2.端口号:
一台电脑或者设备有多个服务,每个服务都用端口号来区别
在WEMOS上搭建ftp服务器:
#include <ESP8266WiFi.h>
char* ssid = "Redmi_1088";
char* password = "13190491088";
int port = 8888;
//端口号
WiFiServer server(port);
//设置服务器端口号
void InitWifiSta(){
WiFi.mode(WIFI_STA); //设置STA模式
WiFi.begin(ssid,password); //连接网络
while(WiFi.status() != WL_CONNECTED){ //没连接上wifi就打印 . 信息
Serial.println(".");
delay(500);
}
Serial.println(WiFi.localIP()); //通过串口打印wemos的IP地址
}
void setup() {
Serial.begin(115200);
//Start WIFI
//Connect WIFI
InitWifiSta();
server.begin();
//启动服务器
}
void loop() {
char cmd;
WiFiClient client = server.available();
//服务器初始化
while(client.connected()){
//没连接服务器时,函数返回值为 0,连接上服务器返回值为 1
while(client.available() > 0){
cmd = client.read();
if(cmd == '1'){
Serial.println("I'm trying hard to be better to be worth of you!\n");
}else{
Serial.println("I'm missing you!\n");
}
}
}
}
用手机控制蜂鸣器:
#include <ESP8266WiFi.h>
#define BEEP D5
char* ssid = "Redmi_1088";
char* password = "13190491088";
int port = 8888;
WiFiServer server(port);
void InitWifiSta(){
WiFi.mode(WIFI_STA); //设置STA模式
WiFi.begin(ssid,password); //连接网络
while(WiFi.status() != WL_CONNECTED){ //没连接上wifi就打印 . 信息
Serial.println(".");
delay(500);
}
Serial.println(WiFi.localIP()); //通过串口打印wemos的IP地址
}
void InitBEEP(){
pinmode(BEEP,OUTPUT);
digitalWrite(BEEP,HIGH);
}
void setup() {
InitBEEP()
Serial.begin(115200);
//Start WIFI
//Connect WIFI
InitWifiSta();
server.begin();
//启动服务器
}
void loop() {
char cmd;
WiFiClient client = server.available();
//服务器初始化
while(client.connected()){
//没连接服务器时,函数返回值为 0,连接上服务器返回值为 1
while(client.available() > 0){
cmd = client.read();
if(cmd == '1'){
digitalWrite(BEEP,LOW);
}else{
digitalWrite(BEEP,HIGH);
}
}
}
}
超声波测距:
#define Echo D2
#define Trig D8
void Init(){
pinMode(Echo,INPUT);
pinMode(Trig,OUTPUT);
}
long getTime(){
//发送一个10us脉冲
digitalWrite(Trig,HIGH);
delayMicroseconds(10);
digitalWrite(Trig,LOW);
//波传播过程echo高电平,计算高电平时间就获取波传输的时间
return pulseIn(Echo,HIGH);
}
void setup(){
Init();
Serial.begin(115200);
}
void loop(){
long dis;
dis = getTime() / 58;
Serial.print(dis);
Serial.println("cm");
delay(1000);
}