lkdoall 发表于 2013-12-12 17:14:00

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

Damn_intuition 发表于 2013-12-12 19:16:58

不错哦。
能达到蓝牙刷机还是很顺利的,配置完毕,连接好引线,在合适的时候按下rst刷机很快就完成了。接下来就要实现rst信号的传递了。蓝牙4.0有透传+at模式,也就是说如果我需要复位arduino的时候,我可以通过at指令,来让远端的io口出现电平跳实现复位,然后再传递数据信息。可是经过试验这种模式下,无法正常刷机。现在还有一个办法,就是再发射端和接收端都接一个单片机,规定好协议,让它在适当的时候跳变io口线来完成自动复位功能。经过试验这种方法是可行而且稳定可靠的,同时也验证了蓝牙4工作稳定,距离远,联机快,如果你愿意可以取代usb线缆连接实现无线全自动刷机和串口调试。

这个部分希望具体描述一下。很有参考意义。

Damn_intuition 发表于 2013-12-12 19:21:07

本帖最后由 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口

huang1234 发表于 2013-12-12 19:58:26

:lol{:soso_e144:}来了!

井底添蛙 发表于 2013-12-12 20:03:01

仰望..........

tom 发表于 2013-12-12 20:04:34

我也来了。

lwqsj 发表于 2013-12-12 20:09:54

看完了+10086

井底添蛙 发表于 2013-12-12 20:13:36

蓝牙模块的插拔设计的挺新颖,

lkdoall 发表于 2013-12-12 20:47:32

Damn_intuition 发表于 2013-12-12 19:21 static/image/common/back.gif
据说有的蓝牙模块有个中断引脚,把这个引脚接出来,串联一个电容到arduino的复位引脚,就可以实现自动下载了 ...

4.0目前的固件没有传递复位信号的引脚,除非自己开发更改固件。

lkdoall 发表于 2013-12-12 20:52:26

Damn_intuition 发表于 2013-12-12 19:16 static/image/common/back.gif
不错哦。




什么地方有疑问可以提出来。

Damn_intuition 发表于 2013-12-12 22:04:25

lkdoall 发表于 2013-12-12 20:52 static/image/common/back.gif
什么地方有疑问可以提出来。

对你的复位方法不是很清楚。是否已经实现实现不按reset按钮自动下载啊?

zzzddd9000 发表于 2013-12-12 22:57:54

实践无线下载是非常有意义的,在设计,调试中的方便不说,建立无线的固件升级,如果和网络配合做远程升级的应用就无限广阔,祝贺,学习,期待你的产品。

lkdoall 发表于 2013-12-13 05:08:38

Damn_intuition 发表于 2013-12-12 22:04
对你的复位方法不是很清楚。是否已经实现实现不按reset按钮自动下载啊?

全自动刷机 不需要人为干预 当然是不用人工按rst了

komoya 发表于 2013-12-13 07:50:49

真不赖啊。学习中。 楼主的第一张PCB预览的图用的是什么软件?

lkdoall 发表于 2013-12-13 07:56:42

komoya 发表于 2013-12-13 07:50 static/image/common/back.gif
真不赖啊。学习中。 楼主的第一张PCB预览的图用的是什么软件?

AD6 ALTIUM DESIGNER6.9
页: [1] 2 3
查看完整版本: microduino 蓝牙4.0BLE全自动无线刷机模块的制作(取代usb线缆连接)