夜雨聆风学习资料网

ARTICLE · 1356244

【教程】用 AI 做 App + ESP32,用蓝牙做一个环境监控小系统

【教程】用 AI 做 App + ESP32,用蓝牙做一个环境监控小系统

手机 App × ESP32 · 经典蓝牙

不连 WiFi、不用服务器手机直接看板子的温湿度

蓝牙环境监控 App 完整教程

AI 造物工具做手机端 · Mixly 做板子端

一块 ESP32 + 一个手机 App,就能做出一套环境监控小系统:手机上看板子测到的温度和湿度,点开关控制板上的灯,拖滑块调风扇转速。

全程走经典蓝牙——不连 WiFi、不搭服务器、不写后端。手机端用「AI 造物工具」的 App 制作生成,板子端用 Mixly 拖积木。

一、先看这台手机上有什么

· 实时数据 板子每秒发一次温湿度,App 上直接刷新

· 一个开关 点一下,板子上的灯亮;再点一下,灭

· 一根滑块 0–10 档调速,0 是停,10 是满速

二、接线:三根线搞定

全部是集成模块,电阻和驱动都做在模块板上,杜邦线直插,不用自己焊。

模块
接法
DHT11
DAT → GPIO13,VCC → 3V3,GND → GND
LED 灯
IN → GPIO2,VCC → 3V3,GND → GND
风扇
PWM → GPIO33,电源按模块要求接(自带驱动与保护)

★ 板子别选错 必须用带经典蓝牙的 ESP32(WROOM / DevKit / ESP32-CAM)。ESP32-S3、C3 没有经典蓝牙,这套方案直接用不了。

三、数据怎么传:全部走字节

手机 → 板子:一个字节的数字指令。

指令
板子做什么
21
开灯(GPIO2 高)
20
关灯(GPIO2 低)
0 – 10
风扇档位,PWM = 档位 × 255 ÷ 10

板子 → 手机:两个字节,每秒一次——[温度整数][湿度整数],例如 25、60。

为什么不做成发文字? Mixly 的「蓝牙串口写出」积木只能发数字,发字符串直接编译报错。一个数字就是一个字节,正好对上这个限制。

温度湿度用整数够了 DHT11 本身精度就是 1℃,带小数没有意义,还能省字节。

App 里用 String.fromCharCode(21) 发出去,板子 SerialBT.read() 收到的就是 21。

四、手机端:交给 AI 造物工具

不用装开发环境。打开「AI 造物工具」里的 App 制作,把界面和需求描述清楚,它在后台搭好工程,右侧实时预览,扫码就能在真机上跑,最后打包成 APK。

真正需要手写的只有三个小接口:

发指令
网页调 setWebViewString(),把数字交给蓝牙
收数据
板子数据回网页,用「执行 JavaScript」
防半个包
每 300 毫秒检查 BytesAvailableToReceive ≥ 2 才读

五、板子端:三十来块积木

整份程序三十来块积木、1 个变量、没有一个代码块。结构就三块:初始化、循环、定时器。

部分
做什么
初始化
蓝牙串口初始化「ESP32BT」、串口 115200、声明变量 x
主循环
有数据才读:21 开灯、20 关灯、≤10 按档位调速
定时器 1
每 1000 毫秒,把温度和湿度各取整发一个字节

主循环里其实就是三个「如果」,和写成代码是同一回事:

if (x == 21) 灯亮if (x == 20) 灯灭if (x ≤ 10) 风扇 = x × 255 ÷ 10

六、这套骨架还能往上加

· 加光照、气压传感器:上行从 2 个字节扩成 3–4 个字节

· 温度超 30℃ 自动开风扇:只改板子端,App 一行不动

· DHT11 换 DHT22:协议要加小数位,两端都得改

蓝牙环境监控 · 全套资料

会员可获取源程序(.mix 与 App 工程),以及相关文档

成品 APK 一并提供,装上就能连

不连 WiFi,也不用服务器一根蓝牙,手机和板子直接说话

—— 入会必看 ——

【入会必看】蚁创空间知识付费社群入会须知

【青少年科创】Arduino · ESP32 · 物联网 · AI · 创客教育一站式导航

蚁创空间 · 青少年科创教育

回首页,搜索你想要的文档

在首页搜索框输入关键词,快速定位资料

文库首页搜索指引 立即搜索

相关学习资料