基于mqtt的门锁的python api

dlock13的Python项目详细描述


#dlock13

突破设计(在鹰)和我们的门锁执行器的源代码,运行在树莓pi(1)。 与锁的通信通过[mqtt](https://en.wikipedia.org/wiki/MQTT)进行。 不包含用户界面,请检查[door web](https://github.com/bitraf/door-web)是否包含该界面。

##MQTT接口

要打开门,请将秒数发送到:

/bitraf/door/$door_id/open # Ex: 20

成功时,将输出值:

/bitraf/door/$door_id/isopen # Ex: true/false /bitraf/door/$door_id/openuntil # Unix timestamp when door will lock again. Ex: 1495469392

出错时,将发送一个带有错误消息的字符串:

/bitraf/door/$door_id/error # Ex: “Time to open is negative”

其中,$door\u id是例如2floorfrontdoor4floor/bitraf/door/前缀是可配置的,可以设置为/mysystem/doorlocks

###代码

在[dlock13 msgflo/dlock13.cpp](/dlock13 msgflo/dlock13.cpp)

< P>在C++ 11中使用[MSGFLO CPP](^ {A3})。

##python api

还提供了一个简单的Python模块,用于检查MQTT消息 成功/错误时发送。

安装

pip install dlock13

包括一个命令行工具

dlock13-open /bitraf/door/$door_id 60

关于如何编程使用,请使用[dlock13 open](/dlock13 open)作为示例代码

##董事会

啊![带组件的RPI转接板](/doc/rpi breakout populated.jpg)

该电路板有两个用于驱动标准电子锁的mosfet。 两个输入的扩展也存在。

单面板带通孔元件,可方便数控铣削或蚀刻。

啊![RPI转接板示意图](/doc/rpi breakout schematic.png)

###引脚输出

# Function | Connector pin | BCM SoC pin | WiringPi pin | === mosfet1 | 19 | 10 | 12 mosfet2 | 2 | 11 | 14

BCM SoC pin是用于/sys/class/gpio/gpioNN和类似的

##展开

系统服务模板通常用于每个门锁:[dlock13@.service](dlock13 msgflo/dlock13@.service)

systemctl status dlock13@2floor

使用以下环境变量。它们可以在/etc/dlock13/$door_id.conf中指定。

  • MSGFLO_BROKER-MQTT代理连接详细信息例如:mqtt://user:password@mqtt.example.net
  • DLOCK13_PIN-要使用的GPIO PIN号例:11

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
javascript如何找到socket。同一局域网上的IO服务器?   将Java代码格式化为Word/RTF格式   java学习对象以及如何将分配的变量封装到私有变量   java Websocket客户端不在Tomcat中工作   java如何在点击按钮时打开本机表情键盘?   java使用哪个Maven GlassFish插件?   Eclipse Java构建路径不允许添加外部JAR   继承Java6集合。勾选适当的用法   JavaApacheDateUtils:使用多个模式解析日期   java hibernate如何生成查询?   具有id或链接的java Dropbox下载文件或文件夹   java模态对话框未在PrimeFaces 5上显示   java将类对象转换为人类可读的字符串   更新数据库中字段的java通用方法   java无法通过Apache Tomcat访问网络文件夹