开门君是一个基于树莓派(raspberry pi)实现可以通过手机开门的小项目,也许是为了方便搞基,总之他就是被设定成为开门君了。
第一问:为什么通过浏览器访问一个地址就能把门禁开了?请看以下简略的流程解释:
第二问:树莓派是什么?树莓派起到了什么作用?
上图的电路板就是树莓派
树莓派是一款基于ARM的微型电脑主板,以SD卡为内存硬盘,卡片主板周围有两个USB接口和一个网口,可连接键盘、鼠标和网线,同时拥有视频模拟信号的电视输出接口和HDMI高清视频输出接口,以上部件全部整合在一张仅比信用卡稍大的主板上...
树莓派上面可以运行Raspbian,一个基于Debian为树莓派优化的Linux,这里树莓派就是一个Linux服务器.你可以在上面使用你熟悉的编程语言进行开发.
同时更方便的是树莓派带有8个GPIO接口,可以非常方便地用程序控制GPIO口输入或者输出高低电位来控制继电器开或者关.
python代码:
web.py是python下的一个小型web框架.
wiringpi是一个开源的GPIO控制库.
sesame模块是我基于wiringpi用来实现开关门的动作.
index.py
sesame.py
硬件:
树莓派 x1 约300元
继电器模块 (工作电压5V,高电平吸合,单刀双掷地) 5元
无线网卡 x1 约 50元
HDMI转DVI X1 约40元
SD卡 x1 约70元
万用表 x1
杜邦线 3根 用来连接树莓派与继电器
测试夹 方便测量测试用.
这个开门小项目的基础上还可以做得出什么?:
收获:
在想如何实现开门君的过程当中也想明白了饮水机娘的一个实现方式.
做的过程里发现自己需要更深的知识和技术才能发挥出价值~~ T_T这种浮浅的水平根本做不好事情啊.
别的没什么,可是,电子学,Linux,python这些技能都用到了,放组合技能的感觉太爽了,哈哈.
其它:
针对树莓派GPIO这一块还有一些不明白的地方.争取弄明白后补上文章.
最后向web.py创始人Aaron Swartz致敬.
参考资料:
让你们通过超链接跳转到外星球去吧!!: