Alphabot树莓派教程:刷LEDE(OpenWRT)系统变身路由器



1.下载镜像,这个lede好像是openwrt的一个分支,openwrt本身还没有支持pi3
https://downloads.lede-project.org/snapshots/targets/brcm2708/bcm2710/lede-brcm2708-bcm2710-rpi-3-ext4-sdcard.img
2.刻录到tf卡,windows使用Win32DiskImager,linux使用dd命令。

3.树莓派接电,使用网线连接电脑。系统启动后可以通过串口登录,此时还不能通过SSH登录。

4.修改/etc/config/network
01config interface 'loopback'
02        option ifname 'lo'
03        option proto 'static'
04        option ipaddr '127.0.0.1'
05        option netmask '255.0.0.0'
06  
07config globals 'globals'
08        option ula_prefix 'fd11:8629:b448::/48'
09  
10config interface 'lan'
11         option type 'bridge'
12#       option ifname 'eth0'
13        option proto 'static'
14        option ipaddr '192.168.8.1'
15        option netmask '255.255.255.0'
16        option ip6assign '60'
17  
18config interface wan
19        option proto dhcp
20        option ifname eth0
IP地址可改为其他IP,避免和局域网内其他路由器冲突。
5.修改/etc/config/wireless
01config wifi-device radio0
02        option type     mac80211
03        option channel  11
04        option hwmode   11g
05        option path     'platform/soc/3f300000.mmc/mmc_host/mmc1/mmc1:0001/mmc1:0001:1'
06        option htmode   HT20
07        # REMOVE THIS LINE TO ENABLE WIFI:
08        option disabled 0
09  
10config wifi-iface
11        option device   radio0
12        option network  lan
13        option mode     ap
14        option ssid     OpenWrt_RPI3
15        option encryption psk2
16        option key      yourwifikey

6.输入passwd修改root用户密码后,重启,网线连接路由器dhcp获取ip,电脑用wifi连接树莓派。此时可通过SSH登录树莓派。

7.安装luci界面,可以通过浏览器访问路由
1opkg install luci
2/etc/init.d/uhttpd start
3/etc/init.d/uhttpd enable

在浏览器中输入对应的IP地址,输入密码登录。

8.可以开始折腾了。在System->Software中点击Update lists后可以通过路由器界面Luci安装对应的软件,也可以继续在命令行下通过opkg安装软件。
同理很多设置也可以在Luci界面修改,也可以在命令下修改。 
首先可以更改一个酷炫的皮肤。输入主题“theme”搜索对应的包,在可用包中找到"luci-theme-material"并安装。
可以在System->System 中选择对应的主题“Material”.

同理可以按照刚才的方法安装luci-i18n-base-zh-cn,设置中文显示或者在命令行下输入如下命令安装。

1opkg install luci-i18n-base-zh-cn
语言设置的位置在:System-System- System Properties- Language and Style- Language 通过下拉菜单选择。
 
 9.通过mjpg-stream实行网络监控
首先安装以下摄像头的驱动。
1opkg kmod-usb2
2opkg install kmod-video-core
3opkg install kmod-video-uvc #免驱uvc摄像头
4opkg install kmod-input-core
如果能找到 /dev/video0 的设备文件,就说明驱动已经安装成功。
树莓派专用的摄像头可能要需要安装如下包。事实上本人弄了很久都没有找到/dev/video0,希望有哪位大神找到使用树莓派专用摄像头的方法能告知本人。
1opkg install kmod-video-bcm2835
下面使用USB接口的摄像头继续讲解。
安装mjpg-streamer
1opkg install mjpg-streamer
2opkg install luci-app-mjpg-streamer
3opkg install luci-i18n-mjpg-streamer-zh-cn
其中lui-app-mjpg-stream为luci界面上使用mjpg-streamer的插件,luci-i18n-mjpg-streamer-zh-cn为插件的中文包。
帧率设置为30.否则不能显示。摄像头支持YUYV格式,不支持MJPG,所以勾选启动YUYV格式。
此时在浏览器上输入192.168.8.1:8080即可看到摄像头上拍摄的图像。

10.以太网转串口输出。用路由器制作wifi视频小车时,通常是路由器作为视频串口,单片机作为小车主控。
手机发送信号到路由器,路由器将网络信号转为串口发送到单片机,单片机再控制小车。
Ser2net为以太网转串口软件,输入如下命令安装
1opkg install ser2net

输入如下命令配置ser2net
1vi  /etc/ser2net.config

配置格式: 
<*TCP端口号>:<状态>:<超时>:<设备>:<选项> 
TCP端口号:【host,】port,也就是说可以这样写localhost,2020 意思就是使用本机的2020端口作为映射端口 
状态:可以填写raw,rawlp,tel*net或者off 
off禁止端口,但是可以从控制口唤醒 
raw:在端口和串口设备之间双向通信 
rawlp:端口想串口设备单向通信 
telnet: 
超时:指定一个数值用于超时,写0禁用超时 
设备:必须这样写/dev/《设备名称》 
选项:设置串口的参数如:波特率(300,1200,2400,4800,9600,19200,38400,57600,115200) 
校验(EVEN,ODD,NONE) 
停止位(1STOPBIT,2STOPBITS) 
数据位(7DATABITS,8DATABITS) 
开启(关闭)XON\XOFF :XONXOFF(-XONXOFF) 
开启(关闭)硬件控制流:RTSCTS(-RTSCTS)
对于树莓派3B,串口为/dev/ttyS0,在/etc/ser2net.config 文件中可以找到如下语句,默认已经设置串口
12001:raw:600:/dev/ttyS0:9600 NONE 1STOPBIT 8DATABITS XONXOFF LOCAL -RTSCTS
可以修改波特率为115200.
12001:raw:600:/dev/ttyS0:115200 NONE 1STOPBIT 8DATABITS XONXOFF LOCAL -RTSCTS
启动ser2net
1ser2net -c /etc/ser2net.conf
由于串口默认作为shell 控制端,古为了避免干扰需禁止。
1vi /etc/inittab
删掉或者注释掉后面两句。重启后串口不能再作为shell控制端,但是系统启动时,串口仍然会输出系统信息。
1::sysinit:/etc/init.d/rcS S boot
2::shutdown:/etc/init.d/rcS K shutdown
3#::askconsole:/usr/libexec/login.sh
4#tty1::askfirst:/usr/libexec/login.sh
设置ser2net 开机启动。
命令vi /etc/rc.local 打开它,i进入编辑,在exit0的上一行添加一条ser2net
 
输入命令vi /etc/init.d/ser2net,新建文件编辑
1#!/bin/sh /etc/rc.common
2# /init.d/my-ser2net
3  
4START=99
5start() {
6ser2net –c /etc/ser2net.conf
7}
保存重启。此时通过以太网发送给192.168.8.1:2001端口的信号会通过串口转发出去。