Mar 4th 2016
这个项目打算作为工作室新人的考核项目,比赛时间紧,没有花太多时间做到尽善尽美。这个项目是利用树莓派上运行的apache服务,使连接入局域网的设备得已控制各种终端设备,目前只为实现功能,设备只有一个led灯。为了加强可扩展性,本系统的工作模式是访问局域网,控制树莓派,从而控制树莓派控制的arduino网络,从而控制设备。arduino的数量可以增加。目前只使用了一块arduino uno。
这是工作图⬆️
树莓派上的服务器模块的工作,博主参考了ypw的文章这是链接,基本上稍微有一点php代码基础就可以完成。
本来想贴上相关代码,不过由于是php代码和网页显示产生冲突就放弃了。相关源码会放在github上。
树莓派和arduino通讯博主采用的是一款无线通讯模块APC220,相关参数利用windows系统和自带的设置软件完成。之后直接利用串口就可以完成通讯。参考链接
开始想在树莓派上直接利用usb连接模块,结果发现找不到linux的驱动,于是放弃了这个想法而和arduino一样利用gpio连接。
模块的连接,树莓派和arduino都是相同的,RXD连接TXD(树莓派上为物理8号引脚gpio15号),TXD连接RXD(树莓派上为物理10号引脚gpio16号),连接上VCC和GND即可使用。
树莓派上通过以下命令查看相应的串口设备
1 |
dmesg | grep "tty" |
通过以下命令将数据写入串口
1 2 |
echo $message > /dev/ttyAMA0
##ttyAMAO是通过dmesg找到的对应串口 |
最后博主被一个权限问题困扰,用户由apache服务进入树莓派,是没有访问dev目录的权限的,由于这个服务暂时没有打算公用,不考虑安全问题,博主讲dev目录以及ttyAMA0这个设备的权限都变成了777,解决了这个问题。
arduino程序以及服务器的程序在github中给出
这个项目有很多有待改进的地方,可以尝试加入更多的设备,解决安全性问题,尝试接入互联网,解决以上问题这个智能控制系统有望实际使用。
github:https://github.com/finalObject/yullioner/tree/master/tim/SmartControlSystem
Mar 13th 2016
终端设备由发光二极管改成了普通电机驱动的风扇
github:https://github.com/finalObject/yullioner/tree/master/tim/SmartControlSystem2.0