极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 21027|回复: 19

无线串口刷机,监听方式,请大家帮我按一下

[复制链接]
发表于 2014-6-26 15:15:27 | 显示全部楼层 |阅读模式
我是一个修理工,由于工作性质,做好的控制板需要固定,封装。于是每次调试的时候,比如物体的移动距离,功率,或者其他什么的,就需要实时调试。我不可能每次都把装好盖子的控制板扒拉出来插上USB线,有时候在工地,想找个带电的插板都不可能。
这个时候,一台笔记本+无线串口就成了首选。论坛里面有个蓝牙刷机套件,但是太贵了,做一次项目就要重新买一个底板68元,不能承受。
翻遍论坛所有关于无线串口刷机,若只有RX,TX两线,那么必须在恰当时候摁一下RST,我用HM11蓝牙模块做过实验,效果很好,但是机车上,塔吊上的控制板,想摁一次RST实在是太费劲了。
经过我的浓缩,和琢磨,建立这么个无线刷机的实验模型:usb转TTL模块+2块UNO. 一块用来刷机,另一块用来监听。
具体的搞法就是:监听的UNO写一个串口数据监视,当监听到来自USB装TTL模块发送的刷机信号“0 ”的时候,控制引脚6发出一个10MS的脉冲,引脚6链接到刷机的UNO的RST引脚上。
说的有点不清楚,整个电路拓扑就是:PC出来的TX,RX都接到2块UNO上。
实验效果还是不错的,只用到TX,RX就可以刷机,不需要什么DTR,RTS之类的信号。就是有一个情况是:当需要刷机的板子有数据发送,也就是TX线有信号的时候,PC上的IDE不会发出刷机信号"0 ".而是一直等待TX线没有信号才会发送此信号。我若换成串口调试助手,则没有此现象。这个让我很不明白。
同志们,我该怎么办。几块钱的NRF2401加个串口转接板,低成本无线刷机,还是很诱人的。
回复

使用道具 举报

 楼主| 发表于 2014-6-26 15:19:22 | 显示全部楼层
太啰嗦了,这么说吧,当板子有数据向电脑发送数据的时候,用IDE不能发出刷机信号,IDE要等到板子没数据发送的时候才行。换成串口助手之类的,不管板子怎么发送数据到电脑,电脑都可以发送数据到板子上。
回复 支持 反对

使用道具 举报

发表于 2014-6-26 16:00:35 | 显示全部楼层
淘宝,HC-05型蓝牙模块,可以控制5个左右的io口,自己想想怎么用吧~
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-6-26 16:14:38 | 显示全部楼层
maxims 发表于 2014-6-26 16:00
淘宝,HC-05型蓝牙模块,可以控制5个左右的io口,自己想想怎么用吧~

HC05不行的,同一时间AT指令与透传不能使用,失败的,这个论坛有高人做过此实验,我实验了一下也是一样。淘宝也有类似的电平映射的无线模块,同样有此类纠结。远程GPIO与数传不能并存。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-6-26 16:16:40 | 显示全部楼层
如果IDE里面,点下载的时候,能无视板子发来的数据,就好了。偏偏IDE就是要等。这一点能解决就OK了。
回复 支持 反对

使用道具 举报

发表于 2014-6-26 16:31:58 | 显示全部楼层
那就做一个带单片机的呗,单片机在中间传输无线串口,顺便帮你按rst。。。。。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-6-26 16:35:08 | 显示全部楼层
zoologist 发表于 2014-6-26 16:31
那就做一个带单片机的呗,单片机在中间传输无线串口,顺便帮你按rst。。。。。

我就是这样啊,串口模块下面挂2个UNO啊,确实有效果啊,而且效果很好。能自动帮我摁RST。但是当要刷机的那个UNO有数据发出来的时候,IDE 就不会执行刷机动作,一定要等到UNO不发送数据的时候才可以。就是这里蛋疼啊。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-6-26 16:38:25 | 显示全部楼层
话说DFROBOT一把线都要10多块,太贵了,哪里也有个无线刷机模块,太贵了,整一对儿要200块
回复 支持 反对

使用道具 举报

发表于 2014-6-26 16:45:21 | 显示全部楼层
幻戍从龙 发表于 2014-6-26 16:35
我就是这样啊,串口模块下面挂2个UNO啊,确实有效果啊,而且效果很好。能自动帮我摁RST。但是当要刷机的那 ...

不明白  建议你画个图,解释一下
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-6-26 17:27:07 | 显示全部楼层
zoologist 发表于 2014-6-26 16:45
不明白  建议你画个图,解释一下

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-6-26 17:34:23 | 显示全部楼层
我觉得这个应该是软件问题吧,用开发工具时候,UNO有数据发上来,开发工具就会等,等到没数据发过来,才执行刷机。而我换用串口助手,则是想发就发
回复 支持 反对

使用道具 举报

发表于 2014-6-26 20:14:28 | 显示全部楼层
我怎么觉得你把串口并联起来了?  好奇怪的连接
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-6-27 08:32:31 | 显示全部楼层
zoologist 发表于 2014-6-26 20:14
我怎么觉得你把串口并联起来了?  好奇怪的连接

用来监听啊,不然怎么帮要刷机的UNO摁RST呢
回复 支持 反对

使用道具 举报

发表于 2014-6-27 08:50:11 | 显示全部楼层
幻戍从龙 发表于 2014-6-27 08:32
用来监听啊,不然怎么帮要刷机的UNO摁RST呢

你上面的uno是不是可以用一个简单的,另外的东西取代掉呢?

反正程序都是你自己写的,你可以在下面的板子代码中加入一段,如果收到什么串口指令,就用另外一个东西

延时拉低做reset......

回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-6-27 08:54:04 | 显示全部楼层
细节是这样的,就是UNO复位后,会发送 00 14 两个字符,告诉PC已经复位好了。这个过程中,复位到告诉PC,只有10个MS的等待,错过就刷机失败。无线这个范畴,延时是不确定的,就算用两个无线模块。比如一个数传,一个用433M射频做复位,是不灵光的。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|联系我们|极客工坊

GMT+8, 2026-6-17 17:58 , Processed in 0.039757 second(s), 20 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表