为了账号安全,请及时绑定邮箱和手机立即绑定

esp32蓝牙通信

最近想做一个发热垫,可以用手机控制。

一开始思考过用wifi接入米家进行控制,这样可以使用语音助手。但后来仔细思索一番,发现使用场景不对。如果使用wifi连接,那意味着只能在室内使用了。

所以,最后还是决定直接使用蓝牙连接。

##硬件选型

虽然选择了蓝牙连接,但为了以后以后扩展wifi方便,所以硬件替换了esp32,同时有wifi和蓝牙连接的功能,代码又兼容arduino,使用非常方便。

##蓝牙连接方式

1.初步发现是把硬件的mac地址生成二维码,手机软件扫描二维码获取mac地址,进行连接及发送温度设置等指令。2。随后发现,貌似可以直接用设备名进行蓝牙连接,如此3.最后是在查资料时看到一种蓝牙广播的方式,只是尚未来及做实验,日后有机会倒可以试试。

##温控方式

使用温敏电阻即可重新温度。

1.最简单的温控可以是直接用继电器开关进行控制。设置温度的上下区间,加热到上区间停止,随后下区间则重新加热。2。高阶一点的是用PWM的方式调整发热电阻的甚至于再不行,甚至上pid闭环控制算法,并在上之前的误差,实时调整。

##手机软件

由于我不会做安卓软件,现在只是使用一个“蓝牙串口”的应用程序直接发送指令,控制硬件。

以后还是要学一下安卓,做一套架子出来。

esp32程序

ç//这个示例的代码是在公共领域(或CC0许可,根据您的选择。)//通过伊万德罗Copercini-2018 // //这个示例创建串行和古典蓝牙(SPP)之间的主轴//并且还证明了SererBT具有与普通串口的#include“ BluetoothSerial.h”#如果!定义(CONFIG_BT_ENABLED)||相同的功能!定义(CONFIG_BLUEDROID_ENABLED)#错误蓝牙未启用!请运行

make menuconfig后`并启用它#ENDIF BluetoothSerial SerialBT; char START_FLAG =’$’; 字符END_FLAG =’#’; int TEMPERATURE_MIN = 0; int TEMPERATURE_MAX = 50;

无效设置(){Serial.begin(115200); SerialBT.begin(“ ESP32test”); //蓝牙设备名称Serial.println(“设备已启动,现在您可以将其与蓝牙配对!”);}

void SerialBT_sendMsg(String msg) {
int i = 0;
for (i = 0; i < msg.length(); i++) {
SerialBT.write(msg[i]);
}
}

int NONE = 0;
int START = 1;
int pre_status = NONE;

int num = 0;
void loop() {
if (SerialBT.available()) {
char msg_char = SerialBT.read();
if (msg_char == START_FLAG) {
num = 0;
pre_status = START;
} else if (msg_char == END_FLAG && pre_status == START) {
if (num >= TEMPERATURE_MIN && num <= TEMPERATURE_MAX) {
String msg = String("set temperature to " + String(num) + “\n”);
SerialBT_sendMsg(msg);
}
num = 0;
pre_status = NONE;
} else if (isDigit(msg_char) && pre_status == START) {
num = num * 10 + (msg_char - ‘0’);
} else {
num = 0;
pre_status = NONE;
} // SerialBT_sendMsg(String(String(String(msg_char)+“ \ n”));; }延迟(20);} ` ![文件](// img1.sycdn.imooc.com/603fb8310001a5be07680696.png)

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消