树莓派传统门锁控制(二)——FAQ和要点

想了半天其实没必要像之前那样一步一步来哈哈,正好博主在实现的过程中有过很多问题,所以这一篇就直接开始咱们的问题环节吧~
感觉这个方式好像还挺有用的?网友们(如果有的话)也可以把你们的问题留言...

Github

https://github.com/jokerwho/pi-newdoor

FAQ

一、软件相关

  • Q1:要显示web网页我应该安装哪个Python库?这个大概怎么用?
    A:如果你是用NOOBS方法安装的Raspbian,只需 pip3 install flask ,如果不是,需要先安装python-pip:https://pypi.python.org/pypi/pip#downloads 然后在终端 Python setup.py install。关于使用,可以自行研究一下,flask有官方中文文档的。没有特别需求可以就用我这个:html文件放在templates文件夹,所有需要被调用的css、js、图片等都必须放在与templates同级的static文件夹下,具体可参考我的源码。

  • Q2:如何驱动舵机,完成下转和复位两个动作?
    A:如果没有接触过GPIO的pwm控制,建议看这一篇文章:点我跳转 可以让你很快上手pwm控制以及舵机角度的定义。

  • Q3:你的代码里面关于控制舵机?
    A:emmm...可能有点乱,但是总体分为三个逻辑方式控制舵机:第一种是在代码内部——比如微信就一个.py文件,监听到消息的同时就控制舵机角度;第二种是在代码外部——触发事件后,通过os.system运行外部的单独舵机控制程序(源码里的servo.py就是这样一个外部程序),这个程序也包含下拉和复位;第三种其实本来是没有必要的,但不知道是不是特异性问题的原因,前两种总是在舵机下拉开门后就会让树莓派重启,然后就一直保持开门状态...为了解决,想到的第三种就是设置down.py和up.py两个分别让舵机下拉和复位的程序,然后触发事件后,同样通过os.system先运行down.py延时1秒后再运行up.py程序

  • Q4:在运行过程中我的舵机拉下去就回不来了是怎么回事?
    A:具体看Q3的第三种(好吧水了一个问题...但其实这个问题很严重的QWQ)

  • Q5:我的学校(宿舍)每天准时断电,怎么办?
    A:没事...因为我也是...这里就说一下怎么设置定时关机(防止突然断电),以及怎么开机启动微信和网页两个程序。首先 sudo crontab -e 根据它的格式设定断电时间(最好提前几分钟),以及关机命令:shutdown now。接着,为了让微信和网页两个程序能够在开机时以窗口模式运行,我们需要先分别创建两个.sh的shell脚本,脚本内容便是 sudo python3 wx_open.py 这种,然后通过desktop桌面启动的方式运行这个两个脚本,具体实现方式参考:【教程】树莓派程序开机自启动方法总结制作脚本和方法三,以及【树莓派】开机自启动脚本方法之一(.Desktop文件)中关于桌面启动的完整代码。

二、硬件相关

  • Q1:通过什么方式开门?
    A:这要看基本物理力学常识了...如果你的门锁和我的相同,建议就采用我的“绳子下拉”的方式,博主之前还傻乎乎试过舵机放在把手右侧,然后金属片放在把手上面,通过驱动金属片压下把手这种谜之蠢操作...如果是“照相机门锁”(你们懂我意思吧?)那就方便得不能再方便了,因为要用的力不大,而且是直线抽出,具体的实现方式就动动咱们的聪明脑袋想想吧~

  • Q2:舵机和树莓派怎么粘?绳子如何固定在门上?
    A:其实这才是整个项目让博主费最大心思的地方...为此买了AB胶、双面胶、502、免钉胶、透明胶等等胶水...最后得出了一个最好的方案:舵机面积大的一面粘在门上(所以成品GIF那里有问题,可以明显看到翘起来了...后来再改进的),然后用502(或者哥俩好什么的,反正就是类似的强力胶水)先将舵机那一面粘在门上,按住差不多一分钟,然后在舵机的边缘地方也滴上胶水,大概五分钟后,要用透明胶很精细地“贴紧”舵机的机身粘在墙上,树莓派则是用木盒子粘的...总体如下图:cp1.jpg

  • Q3:绳子断了...
    A:不多BB,买2mm或者3mm的尼龙绳吧!反正我是剪了一根USB线来着(小声...)

  • Q4:那个墨水屏怎么搞?
    A:如果你买了一块微雪墨水屏的话,一定要提前看它官网的技术文档,特别是和我使用不一样的型号或分辨率的情况下...当然,关于技术文档里面有不懂的也可以留言~(其实我可能会专门出一篇文章...)然后呢,关于python爬天气,源码里面写得应该还算清楚,更改为自己城市的代码就好了...还有问题也都可以在下面问~

  • Q5:为啥不用Arduino降低成本?
    A:实不相瞒,正在准备弄(2019.5.5)~哈哈,初步想法是通过esp8266以及树莓派做中枢来和arduino通信...可能会出文章吧~

本文链接:

https://www.zaigie.com/archives/167/