极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

楼主: histamine

使用OpenWRT路由远程给Arduino下载程序

[复制链接]
发表于 2013-8-30 10:40:29 | 显示全部楼层
histamine 发表于 2013-8-28 22:12
买一个基于ftdi的arduino pro mini下载器吧,比较方便

这不是折腾么,因为折腾,所以折腾。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-8-30 11:13:27 | 显示全部楼层
本帖最后由 histamine 于 2013-8-30 11:18 编辑
agaonet 发表于 2013-8-30 10:40
这不是折腾么,因为折腾,所以折腾。


使用ft232下载器可以减少无意义的折腾

个人强烈不推荐用路由器自带的ttl给arduino下载程序
arduino运行在5v电压下uart是5v电平的,路由器ttl通常是3.3v电平的,不可直接连接

如果需要输出复位信号,建议把led灯那个引脚当作gpio使用
回复 支持 反对

使用道具 举报

发表于 2013-8-30 11:29:31 | 显示全部楼层
histamine 发表于 2013-8-28 22:12
买一个基于ftdi的arduino pro mini下载器吧,比较方便

嗨,我知道了一个好的方法可以下载程序的时候给mini复位了,这样可以节约一个USBtoftdi。

想来想去还是用GPIO的功能,就是你WEB上的,控制LED的方法。

我们可以在LED上串联一个三极管,PNP型的。然后在web上shell中执行avrdude前,输出低电平,灭掉LED。
通常下载前需要1秒的时间来准备,因此我们可以写个批处理,运行avrdude后,等待800毫秒后,输出一个高电平给LED,这样激活三极管,发射级发出一个5V的高电平给arduino的DTR/RES。就可以复位啦。


不过需要解决常态的时候,如何阻断三极管的输出,难道要灯一直黑么?
回复 支持 反对

使用道具 举报

发表于 2013-8-30 11:43:06 | 显示全部楼层
histamine 发表于 2013-8-30 11:13
使用ft232下载器可以减少无意义的折腾

个人强烈不推荐用路由器自带的ttl给arduino下载程序

理论上是这样,不过我测试了一下,好像是可以的。

之前刷固件把703搞死了,需要用tftp来恢复,可是手里又没有USBtoTTL的下载器,于是乎直接使用了arduinoNano的板载ftdi连接WR703,Nano连接PC,使用串口工具打开虚拟串口,即可。
回复 支持 反对

使用道具 举报

发表于 2013-9-19 18:14:51 | 显示全部楼层
台强悍了,膜拜
回复 支持 反对

使用道具 举报

发表于 2013-9-26 15:00:08 | 显示全部楼层
请教一个问题,我在Arduino上写了一个程序,串口输入0,LED开启,输入1关闭。
我直接连接703N的USB口,我发现是用echo "0" >/dev/ttyACM0和lua 下的 Io.write都没有办法实现这个功能,但是如果我在这之前是用ser2net 开启一个端口,并且telnet上去以后,再在终端界面下输入这个命令是可以工作的,
我用CP2012接在USB口上,然后对接rx,tx,GND 公共以后,echo "0" >/dev/ttyUSB0也是可以干活的,
考虑可能是波特率的问题,我也是用了stty -F /dev/ttyACM0 raw speed 9600,但是直接接USB还是不行
请问这里有什么地方出错了吗?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-9-26 16:55:51 | 显示全部楼层
本帖最后由 histamine 于 2013-9-26 16:57 编辑
lunch99 发表于 2013-9-26 15:00
请教一个问题,我在Arduino上写了一个程序,串口输入0,LED开启,输入1关闭。
我直接连接703N的USB口,我发 ...


echo "0" >/dev/ttyACM0
这条命令会先打开串口设备,然后写入数据,再关闭串口设备

估计是打开或关闭arduino uno自带的usb串口设备使得arduino uno自动复位,导致了这个问题

可以参考下这个网页里的解决方法:
http://playground.arduino.cc/Mai ... tOnSerialConnection
回复 支持 反对

使用道具 举报

发表于 2013-9-27 07:29:02 | 显示全部楼层
暂时没找到 110-124的电阻,等有机会实验了再来 报告,这么说你这个程序走的也还是ser2net,那么既然703n可以本地直接发送TTL电平,为啥还用net协议,有什么好处吗?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-9-27 09:02:58 | 显示全部楼层
lunch99 发表于 2013-9-27 07:29
暂时没找到 110-124的电阻,等有机会实验了再来 报告,这么说你这个程序走的也还是ser2net,那么既然703n可以 ...

直接调用的avrdude,没走ser2net
回复 支持 反对

使用道具 举报

发表于 2013-9-27 10:59:47 | 显示全部楼层
呵呵,新手,我以为avrdude是你写的程序,也就是说,我也可以利用luci+avrdude实现用web页面发送字符到串口咯
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-9-27 11:02:38 | 显示全部楼层
lunch99 发表于 2013-9-27 10:59
呵呵,新手,我以为avrdude是你写的程序,也就是说,我也可以利用luci+avrdude实现用web页面发送字符到串口 ...

avrdude是avr下载工具,不是串口通讯工具
回复 支持 反对

使用道具 举报

发表于 2013-9-27 11:34:02 | 显示全部楼层
哦,明白了,谢谢。
回复 支持 反对

使用道具 举报

发表于 2013-9-30 10:13:22 | 显示全部楼层
新版 Arduino Leonardo到手,经过测试不会出现之前的问题,看来的确是由于Arduino UNO自动复位的问题。
谢谢histamine的指教。
回复 支持 反对

使用道具 举报

发表于 2013-10-14 23:41:37 | 显示全部楼层
曾经有过类似的想法,觉得用telnet或者ssh应该就行……
回复 支持 反对

使用道具 举报

发表于 2013-10-17 23:11:53 | 显示全部楼层
你好!,请教下如何调用ser2net与arduino直接通过USB通信
回复 支持 反对

使用道具 举报

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

本版积分规则 需要先绑定手机号

Archiver|联系我们|极客工坊

GMT+8, 2024-4-25 14:58 , Processed in 0.048654 second(s), 20 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

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