openwrt串口控制台+联网
配置开发环境变量
在源码编译固件的时候,选中生成了交叉编译工具链,配置好环境变量,就可以使用。
工具链在 OpenWrt 目录下的 staging_dir 目录下,我的目录为:/home/soul/openwrt_widora/staging_dir/toolchain-mipsel_24kec+dsp_gcc-4.8-linaro_uClibc-0.9.33.2/bin/
。工具链包含很多开发常用的开发工具命令,包含有编译共的 gcc,调试需要的gdb 等很多工具。
需要将工具连的路径添加到环境变量中,配置环境变量的方法很多,为了不影响其他用户的操作,这里采用的是修改当前用家目录下的.bashrc 文件。使用 vi 编辑器编辑当前用户家目录下的.bahsrc 文件。
soul@soul-virtual-machine:~$ vi .bashrc
在这个文件的末尾加上该交叉编译工具的路径设置到环境变量,加入这条语句:
export PATH=$PATH:/home/soul/openwrt_widora/staging_dir/toolchainmipsel_24kec+dsp_gcc-4.8-linaro_uClibc-0.9.33.2/bin/
保存退出,是配置文件生效:
soul@soul-virtual-machine:~$ source .bashrc
查看当前用户的环境变量:
soul@soul-virtual-machine:~$ echo $PATH
/home/soul/bin:/home/soul/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/home/soul/openwrt_widora/staging_dir/toolchain-mipsel_24kec+dsp_gcc-4.8-linaro_uClibc-0.9.33.2/bin/
看到添加的环境变量已经生效了,然后在命行输入 mips[tab 键]就可以自动补全开发工具的命令:
soul@soul-virtual-machine:~$ mipsel-openwrt-linux
查看交叉编译工具 gcc 版本信息:
soul@soul-virtual-machine:~$ mipsel-openwrt-linux-gcc –v
会输出一大推信息,在最后可以看到 gcc 版本 gcc version 4.8.3 (OpenWrt/Linaro
GCC 4.8-2014.04 r49378)。
链接开发板
Linux 检测串口并查看串口消息
当给电脑插上USB串口线后,先在windows下设备管理器查看端口,对应虚拟机下会多一个可移动设备,点击选择连接。
显示所有USB设备(插USB和不插USB对比查看是否识别了串口)
soul@soul-virtual-machine:~$ lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 007: ID 10c4:ea60 Cygnal Integrated Products, Inc. CP210x UART Bridge / myAVR mySmartUSB light
Bus 002 Device 004: ID 0e0f:0008 VMware, Inc.
Bus 002 Device 003: ID 0e0f:0002 VMware, Inc. Virtual USB Hub
Bus 002 Device 002: ID 0e0f:0003 VMware, Inc. Virtual Mouse
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
查看开发板连接的串口编号
soul@soul-virtual-machine:~$ dmesg | grep tty
[ 0.004000] console [tty0] enabled
[ 1.861477] 00:05: ttyS0 at I/O 0x3f8 (irq = 4, base_baud = 115200) is a 16550A
[ 23.944972] usb 2-2.2: cp210x converter now attached to ttyUSB0
[ 1364.585186] cp210x ttyUSB0: cp210x converter now disconnected from ttyUSB0
[ 1411.725290] usb 2-2.2: cp210x converter now attached to ttyUSB0
[ 1748.911563] cp210x ttyUSB0: cp210x converter now disconnected from ttyUSB0
[ 1766.605337] usb 2-2.2: cp210x converter now attached to ttyUSB0
soul@soul-virtual-machine:~$ dmesg | grep tty
[ 0.004000] console [tty0] enabled
[ 1.861477] 00:05: ttyS0 at I/O 0x3f8 (irq = 4, base_baud = 115200) is a 16550A
[ 23.944972] usb 2-2.2: cp210x converter now attached to ttyUSB0
[ 1364.585186] cp210x ttyUSB0: cp210x converter now disconnected from ttyUSB0
[ 1411.725290] usb 2-2.2: cp210x converter now attached to ttyUSB0
[ 1748.911563] cp210x ttyUSB0: cp210x converter now disconnected from ttyUSB0
[ 1766.605337] usb 2-2.2: cp210x converter now attached to ttyUSB0
安装minicom
sudo apt-get install minicom
安装烧写协议
sudo apt-get install lrzsz
配置minicom
sudo minicom -s
打开minicom配置界面,选择第3个Serial port setup
进入后按自己设备的情况配置好,矩形框内的参数。
输入a或者A,选择串口设备,在这里我使用的是USB转串口,并且我的开发板连接到了COM1上,将/dev/tty8修改为/dev/ttyUSB0
- 配置完串口设备后,按Enter键,再输入E,配置波特率,按默认配置即可 115200 8N1 (波特率:115200,数据位:8,奇偶校验位:N 无,停止位:1)。
- 配置完波特率,按Enter键,再输入F,配置硬件流控,选择NO
- 再继续配置软件流控,也选择NO。
- 按下Enter键返回上一界面,选择save setup as dfl(即将其保存位默认配置),再选择Exit,关闭minicom。
- minicom的键盘操作快捷键是配合Ctrl+A+松开再另外一个键的组合键,输入Ctrl+A+Z可以看到全部的快捷键
在退出之后输入Console/LUCI用户名:root 密码:12345678
,进入界面
Widora联网
网络是物联网设备的基础,NEO联入互联网非常简单,首先你需要有一台能正常上网的路由器
通过网线上网
用网线将NEO的网口与你的路由器LAN口相连,会看到NEO上LAN灯(蓝色)亮起
控制台里运行命令:ethmode w
命令,稍等10秒
控制台中使用ifconfig eth0
看NEO是否获取到IP了
如果此时eth0和br-lan网段重复,需要修改/etc/config/network中LAN部分的IP为其他网段,改完后nr
重启网络一下即可。
通过Wi-Fi模拟的网卡上网
aps
脚本可以扫描到周围 wifi 列表信息。
控制台中运行命令:wifimode apsta ssid key
,如果没有密码,那么命令里省略key字段即可,ssid部分是你的WI-FI名称,key部分是密码。
大约10秒中,终端打印如下:
控制台中使用ifconfig apcli0
看NEO是否获取到IP了。如果此时apcli0和br-lan网段重复,需要修改/etc/config/network中LAN部分的IP为其他网段,改完后nr重启网络一下即可。
测试链接,PING一下外网试试。
此时用电脑手机IPAD可以链接NEO的WI-FI,是不是发现已经可以上网了?此时NEO作用类似于WI-FI信号放大器了。