如何给openwrt添加启动项?首先在/etc/init.d中创建一个文件,在CRT终端中直接用vi命令即可,自行创建startCamera文件,如下图所示。
vi编辑器中输入下图所示内容,START=50表示系统启动的优先顺序,数字越小越优先启动,脚本的必要start()和stop(),其功能决定了启动和停止此服务所需的核心步骤。start()中的内容就是你要开机启动的程序,我所写的是开启摄像头。
退出vi编辑器,打开WinSCP,在/etc/init.d目录下查看是否成功创建了startCamera文件,可以发现创建成功。如下图所示。
打开startCamera文件,查看其内容与我们编辑的内容一致,如下图所示。
在此之后还需在etc/rc.d目录下做一个链接,启动系统时会按顺序启动rc.d目录下的脚本链接,对应执行/etc/init.d目录下的启动脚本。终端中输入命令ln -s /etc/init.d/startCamera /etc/rc.d/S50startCamera,如下图所示。
然后重启openwrt,打开浏览器输入下面网址,可以看到开机时系统自动开启了摄像头,如下图所示。
如何关掉摄像头呢?在终端中输入ps查看所有进程,如下图所示。
在进程中找到摄像头进程的命令,我们可以发现1073为摄像头进程的命令,在终端输入命令kill -9 1073,进行终止摄像头进程。如下图所示。
接下来进行试验极路由的串口是否好使,在终端中输入命令,查看是否存在串口,命令如下图所示,我们可以发现存在ttyS0和ttyS1,说明串口存在。
打开WinSCP,在/mnt目录下创建shell脚本,命名为1.sh,用于测试串口是否可用,如下图所示。
1.sh中的内容如下图所示。定义一个死循环,循环内容为定义串口波特率,每两秒读取串口数据,并将数据写入/mnt/guang.txt中。
接下来是进行arduino的程序编写,利用arduino读取光强,并将数据打印到串口,程序如下图所示。
将arduino的串口与极路由的串口相连,在CRT终端中输入命令运行1.sh如下图所示。
在WinSCP中我们打开/mnt/guang.tx文件,可以发现有数据不断的写入,如下图所示,可以证明极路由的串口可以正常使用。
极路由与arduino的硬件连接如下图所示。