Hackaday.io上的树莓派项目-CarontePass:开放访问控制
收藏
分享
脑图
Hackaday.io上的树莓派项目-CarontePass:开放访问控制
关于项目
项目描述:CarontePass 是一种访问控制,专为协作空间而设计,那里的人有很多移动,不可能所有人都有传统的物理钥匙。黑客空间、 制造商空间、Fablabs 、 哈克实验室的的理想之选...开源,开源,低成本,简单!
项目细节
该项目基于客户端-服务器结构,其中您有一个服务器(在树莓派 2 中),客户端是门。作为客户可以留在树莓派或ESP8266 Wifi。客户端连接到 wifi,并通过服务器中的 Django 和 Django REST 框架制作的 REST API 建立通信。由于这是一个非常微妙的服务,这个想法不是有服务器在互联网上,但在当地。
系统创建一个 URL,该 URL 包含读取器接收的标记,并询问服务器。检查标记是否具有用户,以及您是否具有访问权限(如果当前每月付款可以)来激活打开大门的继电器。系统具有存储的用户,可以分配不同的访问标记。至于有合作伙伴的区域,您可以指定用户是否知道您的付款及时访问。
输入或离开日志时,将保存日期和时间。它与机器人电报集成,你可以问,空间是开放还是关闭,哪些用户里面或未来,打开门或集成其他传感器 IOT 。从电报发送打开或关闭到组电报,您的用户知道何时进入和离开最后一个用户网站。还要向每个用户发送个性化消息以进入或离开空间。
项目图片
项目组件
1X  树莓派2
1X  ESP8266 (韦莫斯 D1 迷你)
1X  RC522(RFID 和 NFC 列克器)
1X  继电器模块
1X  电动锁
这对入口门一侧的读者和出口一侧的读者非常重要。
我离开这个计划终于奏效了:
引脚输出:
测试台:
在这里,您可以找到安装客户端硬件部分(门)所需的一切。
装配图:
引脚输出:
技术规格
引脚
警告
所有 IO 都在 3.3V 下工作。
通过提高项目,我想了很多方法做到这一点,但可扩展性的想法,我留下了客户(门)的选择,是"哑巴/简单"可能。为了实现这个目标,需要一部分强大的服务器,所以我选择了Django和...如何有N门?如何使它更便宜 -单门可能?
容易的事情是把一个家伙树莓派电脑门,但这不是我想要的(如果这是最简单的)。我发现最好的选择是做一个API,它可以使用不同的技术给客户端,但运行只需要一个互联网连接,使查询。
说明:
客户端(门)NFC读卡器读取并获取标签。
该标记把它放在"代码"中,并发出以前的请求。
服务器分析URL,接收"代码",并搜索存储所有标记 ID 的"设备"表。
该标记是关联的usaurio,因此已具有标识。
下面是一个示例:
有一个用户与标签"123456"的NFC类型。传递此 NFC 读取器获取标记创建 URL 并发出 Web请求:您的域/api/1/设备/123456
对于答案,我们必须进行身份验证:
如果您有权访问Django框架 REST 的 API devuleve:
响应 JSON格式的请求,我们解析客户端以获取我们感兴趣的数据。例如,要激活继电器以打开门,应固定在"结果"字段中。如果用户满足访问要求,将导致"True",继电器将被激活。在我看来,现在安全性并不是最大的可能,所以我正在研究如何实现HTTPS。
其他形式的访问
该项目为添加不同形式的访问提供了可能性。一个可能是电报, 有唯一的 Chatid 每个用户可以搜索它使用 "/ 打开" 命令机器人电报.我喜欢它,因为它是一个安全和智能的方式进入一个空间与任何设备,没有任何额外的硬件卡携带任何类型的NFC/RFID等的应用程序...
我通过添加与用户相关的表和电报用于标识用户的 Chatid 字段来编辑数据库。改进了管理员查看表电报,并在模型中创建了"message_detect_tag"类,以检测用户是否进入或离开空间,从而发送个性化的问候语或告别。此消息系统是独立于机器人电报下降,如果继续发送这些"简单"的消息。当第一个用户(站点打开)进入或退出最后一个(关闭站点)时,还要警告一组电报。添加机器人电报,使用电报BotApi编程在python。
这包括机器人函数:
知道空间是打开还是由命令"/status"关闭。
返回命令"/users_in"中此时空间中的用户列表。
(即将推出)使用命令"/打开"向授权这样做的人开门的选项。
你能想到一个新的选择吗?
今天我想展示项目管理部分的"引擎"Django。
在它,你可以管理与用户管理(个人数据),用户费用,标签,他们可以访问的空间,电报的表聊天,系统消息和访问日志(日志)。它还允许创建组,并授予用户特殊权限,但稍后将允许用户访问组的成员以进行休息。
数据库具有以下结构:
然后,我们将分别查看每个部分,以更详细地了解系统的操作。
设备:可以访问的设备。每人可能有几种类型和数量。
系统日志:查看记录,其中显示用户的输入和输出日期。另请参阅允许简单,以便用户当时处于空间中。
消息:用于管理邮件的主题。这些可以是各种类型。
当输入或离开用户搜索该类型的消息(输入或输出)并通过电报发送时,它是每次通过标记进入或退出时与用户一起惊喜的好方式。
如果网站关闭或打开,他还在输入第一个或最后一个消息时写一组电报。
付款:由于空间非常拥挤,通常有每月收费的合作伙伴。如果用户知道您的付款,这是一种控制盐的方法。
电报:此表用于存储聊天数据,如果用户想要接收个性化消息,请向其提供。在未来,它也将有助于给物理访问空间只是写"/打开"的机器人Telergam。
用户:乌苏里奥斯的个人信息。尼克斯,姓名,电子邮件,密码等...
评论
0 / 100
查看更多
1503881740
2020-08-21
915
硬禾服务号
关注最新动态
0512-67862536
info@eetree.cn
江苏省苏州市苏州工业园区新平街388号腾飞创新园A2幢815室
苏州硬禾信息科技有限公司
Copyright © 2023 苏州硬禾信息科技有限公司 All Rights Reserved 苏ICP备19040198号