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硬件支持

Download history 109/week @ 2024-04-09 45/week @ 2024-04-16 133/week @ 2024-05-28 8/week @ 2024-06-04 2/week @ 2024-06-11 98/week @ 2024-07-09 1/week @ 2024-07-16 19/week @ 2024-07-23

每月118次下载

自定义许可

30KB
589

CODDE协议

Build & Test crates.io pub.dev pypi.org

CODDE协议是CODDE Pi框架的基础层。此协议允许CODDE Pi通过嵌入式库和移动应用程序,使用WiFi、蓝牙和BLE与任何硬件进行交互。这项技术使用户能够通过安全、稳定和可靠的技术(不太侵入性)自由地与硬件进行交互。

Buy Me A Coffee

开发

本项目使用Rust编写,支持快速序列化/反序列化和数据处理。客户端已移植到Dart/Flutter应用程序,服务器端已翻译成Python。

CODDE协议集成了CODDE Pi应用程序小部件生成并由嵌入式系统接收的数据。请访问https://codde-pi.com了解有关新小部件集成的最新消息。

工作原理

CODDE Pi基于客户端-服务器架构。基本上,您下载的移动应用程序是客户端,而您嵌入到项目中的基本层是服务器端。

Widgets & CODDE Protocol

用法

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