与DGT板异步通信
asyncdgt的Python项目详细描述
asyncdgt使用asyncio与dgt electronic异步通信 棋盘。 View reference documentation。
示例
创建事件循环和到DGT板的连接。
importasyncioloop=asyncio.get_event_loop()dgt=asyncdgt.auto_connect(["/dev/ttyACM*"],loop)
注册一些pyee事件处理程序他们 将在板连接、断开或位置 改变。
@dgt.on("connected")defon_connected(port):print("Board connected to {0}!".format(port))@dgt.on("disconnected")defon_disconnected():print("Board disconnected!")@dgt.on("board")defon_board(board):print("Position changed:")print(board)print()
使用协程在事件处理程序之外获取一些信息 get_version()。
print("Version:",loop.run_until_complete(dgt.get_version()))
运行事件循环。
try:loop.run_forever()exceptKeyboardInterrupt:passfinally:dgt.close()loop.close()
完整的示例请参见asyncdgt/__main__.py与…一起跑 python -m asyncdgt /dev/ttyACM0。
硬件
用以下板测试:
- DGT电子板3.1
- DGT电子板3.1蓝牙
时钟:
- DGT时钟3000
许可证
python asyncdtg是根据gpl3授权的。参见LICENSE.txt文件 完整的许可证文本