microduino 蓝牙4.0BLE全自动无线刷机模块的制作(取代usb线缆连接)
本帖最后由 lkdoall 于 2014-2-14 08:22 编辑该帖子的套件已经发布,看后请移步:http://www.geek-workshop.com/thread-8580-1-1.html
视频新增加了字幕
前段时间,制作了个纸白银实时报价器。
用激光雕刻机切割pvc做了外壳,有了外壳之后美观是美观了,给升级程序做调试都带来了不便,萌发出制作无线刷机模块的念头。蓝牙4.0是2012年最新蓝牙版本,是3.0的升级版本;较3.0版本更省电、成本低、3毫秒低延迟、超长有效连接距离等特点成为了我的首选。拿到模块后第一时间查看了论坛的帖子http://www.geek-workshop.com/forum.php?mod=viewthread&tid=7420,介绍是围绕2.1版本展开的,而且不能自动刷机,需要人为去按rst,如果这样蓝牙刷机意义就不大了,而且串口调试功能也大打折扣,远端没有办法让机器自动复位了。
按照循序渐进的原则,先实现帖子的功能然后再考虑rst的问题。先配置蓝牙主从机,配置波特率。蓝牙很快能就配对成功了,4.0是不需要干预配对过程的,而且联机速度非常的快。这里还想起了一个笑话:谁的蓝牙TM的起了个名字叫“一头老母猪”?老子打开蓝牙就显示:一头老母猪要和你配对。 一头老母猪要和你配对。 这样的笑话只能出现在2的时代了,不知道以前用蓝牙2的同学遇没遇到过“老母猪”?
能达到蓝牙刷机还是很顺利的,配置完毕,连接好引线,在合适的时候按下rst刷机很快就完成了。接下来就要实现rst信号的传递了。蓝牙4.0有透传+at模式,也就是说如果我需要复位arduino的时候,我可以通过at指令,来让远端的io口出现电平跳实现复位,然后再传递数据信息。可是经过试验这种模式下,无法正常刷机。现在还有一个办法,就是再发射端和接收端都接一个单片机,规定好协议,让它在适当的时候跳变io口线来完成自动复位功能。经过试验这种方法是可行而且稳定可靠的,同时也验证了蓝牙4工作稳定,距离远,联机快,如果你愿意可以取代usb线缆连接实现无线全自动刷机和串口调试。
这是设计pcb
这是雕刻好的pcb版 这里感谢某某
模块采用类似于microduino的设计,可以拆分,蓝牙模块可以拿下来单独使用。单片机也支持在线升级程序。
这是pc端和arduino端两块模块,测试用的pcb完全一致。这个arduino端模块即将进入我的纸白银报价器服役,而pc端的模块如果感兴趣的人多,将会整合usb2232模块重新设计,以成本价格提供给论坛的朋友们,至少要达到十人吧。记住是零利润项目,如果大家感兴趣有需求,项目进行。
arduino mini 用一个移动电源供电 和pc没有任何连接 刷机使用arduino开发环境1.0.1 或 1.0.5不需要任何人为干预,和使用usb连接线一样,点击下载一切就ok了。
pc端通过usb2232连接到电脑
还为miroduino设计了全自动无线刷机适配版,微小的microduino实现无线刷机调试是不是更方便呢?
白色版本
黑色版本
当然这还只是设计还没有打板。
最后是一段无线刷机的视频
http://v.youku.com/v_show/id_XNjQ3NzMzMDI4.html
EtOH
http://minidiy.sinaapp.com 不错哦。
能达到蓝牙刷机还是很顺利的,配置完毕,连接好引线,在合适的时候按下rst刷机很快就完成了。接下来就要实现rst信号的传递了。蓝牙4.0有透传+at模式,也就是说如果我需要复位arduino的时候,我可以通过at指令,来让远端的io口出现电平跳实现复位,然后再传递数据信息。可是经过试验这种模式下,无法正常刷机。现在还有一个办法,就是再发射端和接收端都接一个单片机,规定好协议,让它在适当的时候跳变io口线来完成自动复位功能。经过试验这种方法是可行而且稳定可靠的,同时也验证了蓝牙4工作稳定,距离远,联机快,如果你愿意可以取代usb线缆连接实现无线全自动刷机和串口调试。
这个部分希望具体描述一下。很有参考意义。 本帖最后由 Damn_intuition 于 2013-12-12 19:36 编辑
据说有的蓝牙模块有个中断引脚,把这个引脚接出来,串联一个电容到arduino的复位引脚,就可以实现自动下载了。
虽然这样说,但是没看到论坛里面谁成功搞定过。。
http://china.makepolo.com/product-detail/100207501931.html
BMX-02系列管脚说明:
管脚号名称
备注
1UART_TX
UART
2UART_RX
UART
3UART_CTS
UART
4UART_RTS
UART
5PCM_CLK
PCM数字音频接口,接外部CODEC
6PCM_OUT
PCM数字音频接口,接外部CODEC
7PCM_IN
PCM数字音频接口,接外部CODEC
8PCM_SYNC
PCM数字音频接口,接外部CODEC
9AIO0
模拟输入/输出IO口
10AIO1
模拟输入/输出IO口
11RESETB
系统复位,低电平输入有效
123.3V
电源
13GND
数字地
14GND
数字地
15USB_D-
USB DATA负极,差分线
16SPI_CSB
调试端口,悬空
17SPI_MOSI
调试端口,悬空
18SPI_MISO
调试端口,悬空
19SPI_CLK
调试端口,悬空
20USB_D+
USB DATA正极,差分线
21GND
数字地
22GND
数字地
23PIO0
数字输入/输出IO口
24PIO1
数字输入/输出IO口
25PIO2
数字输入/输出IO口
26PIO3
数字输入/输出IO口
27PIO4
数字输入/输出IO口
28PIO5
数字输入/输出IO口
29PIO6
数字输入/输出IO口
30PIO7
数字输入/输出IO口
31PIO8
数字输入/输出IO口
32PIO9
数字输入/输出IO口
33PIO10
数字输入/输出IO口
34PIO11
数字输入/输出IO口
:lol{:soso_e144:}来了! 仰望.......... 我也来了。 看完了+10086 蓝牙模块的插拔设计的挺新颖, Damn_intuition 发表于 2013-12-12 19:21 static/image/common/back.gif
据说有的蓝牙模块有个中断引脚,把这个引脚接出来,串联一个电容到arduino的复位引脚,就可以实现自动下载了 ...
4.0目前的固件没有传递复位信号的引脚,除非自己开发更改固件。 Damn_intuition 发表于 2013-12-12 19:16 static/image/common/back.gif
不错哦。
什么地方有疑问可以提出来。 lkdoall 发表于 2013-12-12 20:52 static/image/common/back.gif
什么地方有疑问可以提出来。
对你的复位方法不是很清楚。是否已经实现实现不按reset按钮自动下载啊? 实践无线下载是非常有意义的,在设计,调试中的方便不说,建立无线的固件升级,如果和网络配合做远程升级的应用就无限广阔,祝贺,学习,期待你的产品。 Damn_intuition 发表于 2013-12-12 22:04
对你的复位方法不是很清楚。是否已经实现实现不按reset按钮自动下载啊?
全自动刷机 不需要人为干预 当然是不用人工按rst了 真不赖啊。学习中。 楼主的第一张PCB预览的图用的是什么软件? komoya 发表于 2013-12-13 07:50 static/image/common/back.gif
真不赖啊。学习中。 楼主的第一张PCB预览的图用的是什么软件?
AD6 ALTIUM DESIGNER6.9