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
01 | config interface 'loopback' |
04 | option ipaddr '127.0.0.1' |
05 | option netmask '255.0.0.0' |
07 | config globals 'globals' |
08 | option ula_prefix 'fd11:8629:b448::/48' |
14 | option ipaddr '192.168.8.1' |
15 | option netmask '255.255.255.0' |
IP地址可改为其他IP,避免和局域网内其他路由器冲突。
5.修改/etc/config/wireless
01 | config wifi-device radio0 |
05 | option path 'platform/soc/3f300000.mmc/mmc_host/mmc1/mmc1:0001/mmc1:0001:1' |
14 | option ssid OpenWrt_RPI3 |
15 | option encryption psk2 |
16 | option key yourwifikey |
6.输入passwd修改root用户密码后,重启,网线连接路由器dhcp获取ip,电脑用wifi连接树莓派。此时可通过SSH登录树莓派。
7.安装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,设置中文显示或者在命令行下输入如下命令安装。
1 | opkg install luci-i18n-base-zh-cn |
语言设置的位置在:System-System- System Properties- Language and Style- Language 通过下拉菜单选择。
9.通过mjpg-stream实行网络监控
首先安装以下摄像头的驱动。
2 | opkg install kmod-video-core |
3 | opkg install kmod-video-uvc |
4 | opkg install kmod-input-core |
如果能找到 /dev/video0 的设备文件,就说明驱动已经安装成功。
树莓派专用的摄像头可能要需要安装如下包。事实上本人弄了很久都没有找到/dev/video0,希望有哪位大神找到使用树莓派专用摄像头的方法能告知本人。
1 | opkg install kmod-video-bcm2835 |
下面使用USB接口的摄像头继续讲解。安装mjpg-streamer
1 | opkg install mjpg-streamer |
2 | opkg install luci-app-mjpg-streamer |
3 | opkg 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为以太网转串口软件,输入如下命令安装
输入如下命令配置ser2net
配置格式:
<*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 文件中可以找到如下语句,默认已经设置串口
1 | 2001:raw:600:/dev/ttyS0:9600 NONE 1STOPBIT 8DATABITS XONXOFF LOCAL -RTSCTS |
可以修改波特率为115200.
1 | 2001:raw:600:/dev/ttyS0:115200 NONE 1STOPBIT 8DATABITS XONXOFF LOCAL -RTSCTS |
启动ser2net
1 | ser2net -c /etc/ser2net.conf |
由于串口默认作为shell 控制端,古为了避免干扰需禁止。
删掉或者注释掉后面两句。重启后串口不能再作为shell控制端,但是系统启动时,串口仍然会输出系统信息。
1 | ::sysinit:/etc/init.d/rcS S boot |
2 | :: shutdown :/etc/init.d/rcS K shutdown |
设置ser2net 开机启动。
命令vi /etc/rc.local 打开它,i进入编辑,在exit0的上一行添加一条ser2net
输入命令vi /etc/init.d/ser2net,新建文件编辑
6 | ser2net –c /etc/ser2net.conf |
保存重启。此时通过以太网发送给192.168.8.1:2001端口的信号会通过串口转发出去。