You're Invited:Meet the Socket Team at BlackHat and DEF CON in Las Vegas, Aug 4-6.RSVP
Socket
Book a DemoInstallSign in
Socket

codde-protocol

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

codde-protocol

Multi Communication protocol in heart of the C.O.D.D.E. Pi framework

0.1.6
pipPyPI
Maintainers
1

CODDE Protocol

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

CODDE Protocol is the base layer of the CODDE Pi Framework. This protocol let CODDE Pi interacts with any hardware through WiFi, Bluetooth and BLE using an embedded library and a mobile app. This technology enables users to freely interact with hardware thanks to a secure, stable and reliable technology without be (too) intrusive.

Buy Me A Coffee

Development

This Project is written in Rust, enabling fast serializing/deserializing and data processing. Client side is ported for Dart/Flutter applications, and server side has been translated in python.

CODDE Protocol integrates data generated by CODDE Pi App widgets, and received by embedded systems. See https://codde-pi.com to stay tuned about new widgets integration.

How it works

CODDE Pi is based on client-server architecture. Basically, the mobile App you download is the client side, and the base layer you embed on your project is the server side

Widgets & CODDE Protocol

Usage

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()

Roadmap

Libraries

ProtocolsFlutterPythonRustMicroPython
WebSocket (client)YesYes
WebSocket (server)YesYesWIP
BluetoothWIP
USB
Nearby

Hardware compatibility

ProtocolsSBC (arm64)RP2040AndroidiOSx86
WebSocket (client)YesWIPYesYesYes
WebSocket (server)YesWIPYesYesYes
Bluetooth
USBNo
Nearby

Keywords

rust

FAQs

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts