年轻人的第一块WiFi/蓝牙模块
这里主要记录chi捣鼓他的第一块ESP8266和ESP32小板的一些小事和注意事项(x
最近补了点货,买了传感器来了,当然还有ESP32啦~(
chi的100,没力(悲
最近的一个好消息:昨天把“主板坏了”的笔记本修好了,合张影。
rnm修电脑的,退钱!!!还好没有换主板。
其实笔记本只是LVDS接口
接触不良导致电脑屏幕没亮而已(全恼(因为我换过屏幕)
然后就速速把台式机里面的nvme拆下来给笔记本用了,之后这台笔记本会黑果(
好了唠嗑结束 进入正文啦(
0x01 开玩
众所周知ESP8266和ESP32是国产板!!!感动中国!!!
ESP8266和ESP32造价低廉(我买的ESP8266要12CNY,ESP32要22CNY),还支持WiFi和蓝牙(ESP32),支持arduino IDE,但是Arduino IDE默认不提供ESP8266和ESP32的板子,需要我们自行安装下载。
打开Arduino IDE
-> Perferences
-> Additional Board URLs
添加以下的开发板包链接:
https://arduino.esp8266.com/stable/package_esp8266com_index.json
https://githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
如果ghusercontent无法访问 可以把域名调整到
ghraw.chicdn.cn
然后在Boards Manager
中搜索ESP8266
和ESP32
就可以安装了~
ESP32和ESP8266板的文件都是从gh下下来的,如果嫌慢,请自行使用魔法。
0x02 亮起来吧,LED
如何测试一个ESP8266/ESP32模块呢,当然是测试LED啦~
这是测试代码:
#define lcd 2
void setup () {
pinMode(lcd, OUTPUT);
}
void loop () {
writeDigital(lcd, HIGH);
delay(100);
writeDigital(lcd, LOW);
}
亮瞎你的眼
0x03 跑起来吧,Web服务器!
那怎么开个服务器呢(
这是例程:
ESP8266用这个:
#include <ESP8266WiFi.h>
#include <ESP8266WebServer.h>
#define AP_ssid "WIFINAme" //这里改成你的设备当前环境下要连接的接入点名字
#define password "passw0rd" //这里改成你的设备当前环境下要连接的接入点密码
ESP8266WebServer server(80); //创建Web服务器 80端口监听
int i = 0; //用来判定连接是否超时的累加量
void homepage () {
Server.send(200, "text/html;charset=utf8", "<h1>小黑子食不食油饼</h1><hr/><p>Powered by <a href=\"https:\/\/\im.chihuo2104.dev/\" target=\"_blank\">chihuo2104</a>.All rights reserved©2018-2023.<br/>Served by ESP32.");
}
void setup() {
Serial.begin(9600); // 启动串口通讯,波特率设置为9600
Serial.println("Start Connection");
//调用 WiFi.begin()函数,开始连接接入点
WiFi.begin(AP_ssid, password);
Serial.print("Connecting to");
Serial.print(AP_ssid);
//这里的循环用来判断是否连接成功的。连接过程中每隔500毫秒会检查一次是否连接成功,,并打一个点表示正在连接中
//连接成功后会给出提示,但是若60秒后还是没有连接上,则会提示超时
while (WiFi.status() != WL_CONNECTED) {
i++;
delay(500);
Serial.print(".");
if (i > 120) { //60秒后如果还是连接不上,就判定为连接超时
Serial.print("Connect Failed!");
break;
}
}
Serial.println("Connect Successful!");
Serial.print("IP Address: ");
Serial.println(WiFi.localIP());
//初始化WebServer
server.on("/", homepage);
server.begin();
Serial.println("HTTP server started");
}
void loop() {
server.handleClient(); //没有这个Web服务器无法提供服务~
}
ESP32用这个:
#include <WiFi.h>
#include <WebServer.h>
WebServer Server(80);
void homeRoute () {
Server.send(200, "text/html;charset=utf8", "<h1>小黑子食不食油饼</h1><hr/><p>Powered by <a href=\"https:\/\/\im.chihuo2104.dev/\" target=\"_blank\">chihuo2104</a>.All rights reserved©2018-2023.<br/>Served by ESP32.");
}
void setup()
{
WiFi.begin("wifiname", "password"); //连接wifi名称和密码
while (WiFi.status() != WL_CONNECTED)
{
delay(500);
Serial.println("Connecting to WiFi..");
}
Serial.println("Connect success.");
Serial.println(WiFi.localIP()); //打印出服务器的IP
Server.on("/", homeRoute);
Server.begin();
}
void loop()
{
Server.handleClient();
}
效果是这样的:
0x04 跑起来吧,Bluetooth!
ESP32是支持蓝牙的,我们可以通过蓝牙和它进行串口通讯~
这是回声例程:
#include <BluetoothSerial.h>
#if !defined(CONFIG_BT_ENABLED) || !defined(CONFIG_BLUEDROID_ENABLED)
#error Bluetooth is not enabled!
#endif
BluetoothSerial btSerial;
void setup()
{
btSerial.begin("esp32"); //将作为esp32设备被发现
}
void loop ()
{
if (btSerial.available()) {//有没有内容
btSerial.write(btSerial.read());//返回读取的内容
}
}
这时候我们可以打开手机/电脑来连接蓝牙,进行串口调试:
0x05 小点
烧录出现错误请保持冷静,多次刷写肯定能成功(
下一篇:不知道欸
Preview: