 
					
				 
					
				开始玩WRT
为了脱机下载
以前在路由器上玩过一段时间
大概了解是怎么回事
这次上手相对比较快
	
先把Mico挂上路由器吧
家里的网络比较复杂
楼上的AP,家里路由直接做的Reapter,其他模式用不了,好奇怪
所以参数只能在终端里面看了
网络拓扑:
AP--路由器(中继)--Micro的RJ45以太网口
|
PC
把以太网口映射为wan口
	
vi /etc/config/network
	
改成这货:
config interface 'lan'
        option ifname 'eth0.1'
        option force_link '1'
#       option type 'bridge'
        option proto 'dhcp'
#       option ipaddr '192.168.1.1'
#       option netmask '255.255.255.0'
#       option ip6assign '60'
#       option macaddr '00:0c:43:76:20:77'
config interface 'wan'
        option ifname 'eth0.1'
        option proto 'dhcp'
        option macaddr '00:0c:43:76:20:78'
	注释掉Lan口的桥接
设置为dhcp
然后
/etc/init.d/network restart
重启网络
	
	 
终端里面ifconfig
发现eth0.1的IP地址
	 
pc端果断一ping,会丢包。。。。
	 
试试局域网的telnet
	 
串口终端ping一下雅虎
外网似乎也正常
	 
OPKG update一下
苦逼的事情发生了,404错误,没有这个页面
ping了一下openwrt.org,还是能通的,估计是更新源换了吧
	
本来还想着用无线作为station直连路由
测试发现要么局域网能通就上不了外网
要么能上外网,局域网不同
不倒腾了,有线就有线吧
先到这。。。。。
	
	
 
					
				WRT与duino之间有个转接板
对这货蛮感兴趣的
一直想研究一下俩货之间怎么通信
测试了一下,蛮好玩的
估计视频小车之类也是这么做的吧
	
猪脚是ser2net
看名字就知道是把串口数据转发到以太网
先上ipk包回复可见,哇咔咔
一步步看看吧
撸主把ipk拷进U盘,进控制台安装
不用上传工具了
挂载U盘
[root@PandoraBox:/root]#mount /dev/sda1 /mnt/
	
安装ser2net
	
[root@PandoraBox:/root]#opkg install /mnt/ser2net.ipk Installing ser2net (2.7-2) to root... Configuring ser2net.
配置ser2net
	
	
[root@PandoraBox:/root]#vi /etc/ser2net.conf
文件打开是一大串说明,在比较靠下的地方找到
	
	
2001:raw:600:/dev/ttyS1:9600 NONE 1STOPBIT 8DATABITS XONXOFF LOCAL -RTSCTS
改成这货,流控啥的统统干掉,撸主的串口是ttyS1
	
	
2001:raw:600:/dev/ttyS1:115200 NONE 1STOPBIT 8DATABITS
命令含义自行度娘脑补
不知道自己的串口号?
	
	
echo test > /dev/ttySx
看看x是多少,才会在终端窗口显示test
	
	
手动运行ser2net
	
[root@PandoraBox:/root]#ser2net
其实ser2net这货不会开机自动运行的
	
得手动配置
办法很多,个人喜欢编辑rc.local
	
[root@PandoraBox:/root]#vi /etc/rc.local
然后在exit0以前加入运行命令
	
	
# Put your custom commands here that should be executed once
# the system init finished. By default this file does nothing.
ser2net 
      
exit 0
	
	
	
下面看聊效
用一个以太网调试工具
连接WRT的ip+ser2net定义的端口号2001
调试工具发送,串口终端显示
串口终端输入,调试工具右下窗口显示
	
试试发送一个文本文件
还行,显示正常
	
顺便给duino写了一段
来测试一下WRT和duino的串口通信
	
unsigned long time;
void setup() {
  Serial.begin(115200);
}
void loop() {
  char shit;
  int sensorValue = analogRead(A0);
  float voltage = sensorValue * (5.0 / 1023.0);
  if(millis()-time>1000){
  Serial.print("The voltage is:");
  Serial.println(voltage);
  time = millis();
  }
  while(Serial.available()){
    if(Serial.read()=='1')
     {Serial.println("MicroDuino get the date!!!");} 
  }
  
}
大概意思就是不断查询串口是否收到字符1
	
收到了就返回 MicroDuino get the date!!! 这串字符
同时每1s发送一次A0口的读数
	
转接板上跳线也要配置
就是红框里面这货,配置成0101
用于MT6720与644p串口通信
	 
 
	
看看效果
	 
调试助手通过TCP每1s发送一个字符1给WRT
WRT通过串口转发给duino
duino收到后,回复相关特定字符串
	 
不发送给WRT
duino每秒采集的电压值发给WRT
WRT只将这些数据返回给调试助手
	
	
先到这,7饭.
 
					
				回复
| 有奖活动 | |
|---|---|
| 硬核工程师专属补给计划——填盲盒 | |
| “我踩过的那些坑”主题活动——第002期 | |
| 【EEPW电子工程师创研计划】技术变现通道已开启~ | |
| 发原创文章 【每月瓜分千元赏金 凭实力攒钱买好礼~】 | |
| 【EEPW在线】E起听工程师的声音! | |
| 高校联络员开始招募啦!有惊喜!! | |
| 【工程师专属福利】每天30秒,积分轻松拿!EEPW宠粉打卡计划启动! | |
| 送您一块开发板,2025年“我要开发板活动”又开始了! | |

 
			
			
			
						
			 
					
				 同病相怜
同病相怜										 
										 
					
				 
										 我要赚赏金
 我要赚赏金 STM32
STM32 MCU
MCU 通讯及无线技术
通讯及无线技术 物联网技术
物联网技术 电子DIY
电子DIY 板卡试用
板卡试用 基础知识
基础知识 软件与操作系统
软件与操作系统 我爱生活
我爱生活 小e食堂
小e食堂

