跳转到主要内容

一个用于创客空间工具/门授权/身份验证的框架

项目描述

软件

有关此代码如何工作的基本演练,请参阅https://google.github.io/makerspace-auth/client/Walkthrough.html

先决条件

  1. Python 2.7或3.6+
  2. evdev (Debian上的python-evdev)
  3. RPi模块(或测试时使用pip install fake-rpi
  4. 请确保您属于“输入”组才能使用evdev
  5. 如果是在Pi上,请确保您属于gpio组

开发

  1. 最简单的方法是运行make setup然后. .venv/bin/activate
  2. 您还可以使用tox运行测试,使用tox -p all
  3. 代码使用isort+black格式化,发送pull请求之前请运行make lint和/或make format

协议

虽然使用服务器是可选的(您可以使用shell脚本完成所有操作),但我们使用一个简单的基于HTTP的协议,该协议旨在易于适应现有系统。请参阅https://google.github.io/makerspace-auth/server/Protocol.html

QA示例

当按钮被按下时,这只会闪烁一盏灯。我们使用它来对authboards进行组装后的质量保证,这是一个事件循环如何工作的非常简单的示例。

双按钮示例

我们确定两个按钮(“开启”和“关闭”,基本上)是可行的最小控制,这是我们Google使用的版本。如果您在寻找一个好的起点,从这里开始。

基本工作流程是

  1. 扫描徽章
  2. 按下“开启”。工具将启动。
  3. 警告计时器开始蜂鸣。如果您再次按下“开启”,您将获得更多时间。
  4. 否则,工具将关闭。

您应将此文件(或符号链接)复制(或符号链接)到~/.authboxrc,并根据您的PIN号码进行编辑。默认值适用于RDR-6081AKU(按键)和pi-hat-1 v1.0硬件触发两个onbarod继电器以启用设备。

此示例默认情况下将授权用户存储在本地文件中(见sample_auth_check.sh),但您可能希望它查询您现有的用户/训练数据库。如果您想使用相同的协议,请参阅https://google.github.io/makerspace-auth/server/Protocol.html,并记住使用curl时使用'-f'。

启动时

在所有发行版上都能正常工作的最简单方法是cron作业

# Visually
pi$ crontab -e
(add the following line at the end, save, and apply)
@reboot cd /path/to/software; python two_button.py

# Through script
pi$ (crontab -l; echo "@reboot cd /path/to/software; python two_button.py") | crontab -

如果您的发行版使用systemd,您还可以创建一个systemd单元来运行它。

项目详情


下载文件

下载适合您平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。

源分发

authbox-1.0.0.tar.gz (28.5 kB 查看哈希值)

上传时间

构建分发

authbox-1.0.0-py2.py3-none-any.whl (24.8 kB 查看哈希值)

上传时间 Python 2 Python 3

由以下支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面