之前有看到过通过TCP/IP烧录,或者通过TTL + 蓝牙主模块 连接蓝牙从模块进行远程烧录的,不过这个都比较复杂。
TCP/IP需要网络模块,配置和模块都比较复杂。
USB to TTL+蓝牙模块,笔记本上还要插一个USB+蓝牙模块也好不了哪里去。
这里推出的就是一套比较简单的蓝牙远程烧录解决方案。仅需要一台带蓝牙的笔记本/PC,然后需要一个简单蓝牙串口模块,我这里用的ATK-HC05,去年买的,现在翻出来了。
首先是蓝牙模块,ACC,GND,RX,TX没什么好说的。
然后我们需要一个简单的设计,A0 接 Reset 模块,那么我们就可以不用手动按复位键了。
需要配合几行代码:
while (Serial.available() > 0) { rece = Serial.read(); delay(10); if (rece == (int)'#') { Serial.println("reset get..."); pinMode(A0,OUTPUT); digitalWrite(A0, LOW); // 将reset管脚的电平拉低50ms,起到复位的作用 delay(50); digitalWrite(A0, HIGH); // }
当COM输入一个“#”,则复位Arduino。
然后我们需要一个虚拟串口,用于桥接Arduin IDE发出的Com请求。
从这里下载虚拟串口 for Win7/Win8/Win10 (上传失败,有需要的私信我)
虚拟出2个串口,COM50,COM51
COM50 我们提供给Arduino IDE 写入,
然后我们通过SSP程序检测COM51的资源,桥接到蓝牙串口完成整个烧录过程。
命令:
SSP -list (枚举所有蓝牙)
SSP -cmd 蓝牙地址(命令行模式)
SSP -bg com 波特率 蓝牙地址 复位字串 (烧录模式)
我们先打开SSP软件的烧录模式,成功链接COM51和蓝牙之后。
一切准备就绪,在Arduino IDE中选择之前的COM50,然后烧入。
可以立刻看到结果。
版权声明:本文为博主原创文章,未经博主允许不得转载。
时间: 2024-10-07 04:57:16