

开始玩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饭.


以为明天是3.1,把行李都装好,返城务工
仔细看看,原来还有多一天
拿出Microduino继续撸
还有OLED没玩
试试从以太网通过ser2net给OLED发送数据吧
数据流向:PC--MicroWRT--MicroDuino--OLED
OLED依然是SSD1306,这个驱动IC很多见了
看看Microduino一侧
很简单的代码,直接从例程改的随便看看吧
上setup和loop吧
void setup() { Serial.begin(9600); //串口初始化 display.begin(SSD1306_SWITCHCAPVCC, 0x3C); // initialize with the I2C addr 0x3C (for the 128x32) display.setTextSize(1);//字体大小设置 display.setTextColor(WHITE);//颜色 display.setCursor(0,0);//起始坐标 } void loop() { char temp; while(Serial.available()){ temp = Serial.read(); if((temp == '\r')||(temp == '\n')||(temp == '\r\n')) //不知道电脑回车会发送什么,直接枚举, \n估计判断不出来 { display.println(); } else{ display.print(temp); display.display(); } } }
显示后发现一个问题,双戳可看高清无码果图
OLED左侧第一列的像素,发光不均匀啊
严重怀疑是拆机货
揭开保护膜也同样
字符串很快可以走以太网发送给OLED显示
在MicroWRT上装些获取天气、时间、地域的应用
应该可以直接在OLED上打印了吧
上个雾里看花的gif
OK,准备返城务工。
回复
有奖活动 | |
---|---|
【EEPW电子工程师创研计划】技术变现通道已开启~ | |
发原创文章 【每月瓜分千元赏金 凭实力攒钱买好礼~】 | |
【EEPW在线】E起听工程师的声音! | |
“我踩过的那些坑”主题活动——第001期 | |
高校联络员开始招募啦!有惊喜!! | |
【工程师专属福利】每天30秒,积分轻松拿!EEPW宠粉打卡计划启动! | |
送您一块开发板,2025年“我要开发板活动”又开始了! | |
打赏了!打赏了!打赏了! |
打赏帖 | |
---|---|
stm32f103驱动舵机被打赏20分 | |
汽车+汽车电子电阻解释与分析被打赏5分 | |
STM32F103的I2C驱动OLED动态显示被打赏30分 | |
分享汽车通信和多媒体总线结构被打赏20分 | |
【我踩过的那些坑】结构堵孔导致的喇叭无声问题被打赏50分 | |
NUCLEO-U083RC学习历程38+串口通过队列的方式输出两个字符串被打赏20分 | |
【我踩过的那些坑】分享一下调试一款AD芯片的遇到的“坑”被打赏50分 | |
电流检测模块MAX4080S被打赏10分 | |
【我踩过的那些坑】calloc和malloc错误使用导致跑飞问题排查被打赏50分 | |
分享电控悬架的结构与工作原理(一)被打赏20分 |