5个版本
0.1.6 | 2024年7月10日 |
---|---|
0.1.5 | 2024年5月28日 |
0.1.4 | 2024年4月15日 |
0.1.2 | 2024年4月1日 |
0.1.1 | 2024年2月23日 |
#267 在 硬件支持
每月118次下载
30KB
589 行
CODDE协议
CODDE协议是CODDE Pi框架的基础层。此协议允许CODDE Pi通过嵌入式库和移动应用程序,使用WiFi、蓝牙和BLE与任何硬件进行交互。这项技术使用户能够通过安全、稳定和可靠的技术(不太侵入性)自由地与硬件进行交互。
开发
本项目使用Rust编写,支持快速序列化/反序列化和数据处理。客户端已移植到Dart/Flutter应用程序,服务器端已翻译成Python。
CODDE协议集成了CODDE Pi应用程序小部件生成并由嵌入式系统接收的数据。请访问https://codde-pi.com了解有关新小部件集成的最新消息。
工作原理
CODDE Pi基于客户端-服务器架构。基本上,您下载的移动应用程序是客户端,而您嵌入到项目中的基本层是服务器端。
用法
import codde_protocol
import time
# import gpio
# instantiate server
server = CoddePiServer.use_socket('localhost:12345')
# some hardware control
# pin10 = gpio.DigitalPin(10, gpio.OUTPUT)
@event(server)
def toggle_button_1(*args):
widget: ToggleButton = args[0]
print("value received : ", widget.value)
server.callback(1, ServerStatus.Idle, ConfirmResult(True))
@event(server)
def click_button_2(*args):
pass
# pin10.on()
if __name__ == "__main__":
print('opening server...', end=' ')
server.open()
try:
print('serve')
server.serve()
while True:
sleep(1)
except KeyboardInterrupt:
print("CTRL + C.")
print("Program interrupted.")
finally:
server.close()
路线图
库
协议 | Flutter | Python | Rust | MicroPython |
---|---|---|---|---|
WebSocket(客户端) | 是 | 是 | ||
WebSocket(服务器) | 是 | 是 | 进行中 | |
蓝牙 | 进行中 | |||
USB | ||||
附近 |
硬件兼容性
协议 | SBC (arm64) | RP2040 | Android | iOS | x86 |
---|---|---|---|---|---|
WebSocket(客户端) | 是 | 进行中 | 是 | 是 | 是 |
WebSocket(服务器) | 是 | 进行中 | 是 | 是 | 是 |
蓝牙 | |||||
USB | 否 | ||||
附近 |
依赖关系
~10–21MB
~314K SLoC