EvoX Genesis
EvoX Genesis는 고수준 목표를 재귀적 소프트웨어 세계로 전환해, 유한 에이전트가 개발하고 승인된 결과만 유지됩니다
DashIO IoT 대시보드 앱과 클라우드 서비스로 전 세계·지역 IoT 기기를 원격 모니터링·제어합니다
Remotely monitor and control IoT devices globally or locally the with DashIO IoT Dashboard app and DashIO Cloud Services IoT Platform.
개발 도구Python · ShellGitHub @dashio-connect온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기Python library to create dashboards with the Dash App
README 전체를 불러오는 중입니다.
README 전문 보기 ↗A Python library that connects your project to the Dash IoT app, over your local network (TCP), from anywhere through the Dash server (MQTT), or over Bluetooth LE on Linux. You create controls in Python (dials, knobs, sliders, buttons, text boxes, time graphs, maps, event logs...), give them values, and handle what the app sends back. Lay them out from your code, or design the layout in the app itself. There's no app or web code to write.
It's the Python counterpart of the Arduino DashIO libraries, and speaks the same protocol. It's also the quickest way to prototype a device and design its layout before writing firmware.
TCP and BLE are free. To reach your device from anywhere, create an account on dashio.io. More at dashio.io, and on Discord.
Python 3.11 or later.
pip3 install dashio
pip installs the other dependencies. For Bluetooth LE on Linux, pip3 install dashio[ble]. To work on the library, clone it and pip3 install -e ..
A knob that moves a dial, on your local network. This is Examples/ex03.py:
# Examples/ex03.py
import dashio
import time
device = dashio.Device("aDeviceType", "aDeviceID", "aDeviceName")
tcp_con = dashio.TCPConnection()
tcp_con.add_device(device)
first_dial_control = dashio.Dial("dial1", control_position=dashio.ControlPosition(0.24, 0.36, 0.54, 0.26))
device.add_control(first_dial_control)
dv = dashio.DeviceView("aView", "A Dial")
dv.add_control(first_dial_control)
device.add_control(dv)
def knob_event_handler(msg):
first_dial_control.dial_value = float(msg[3])
aknob = dashio.Knob("aKNB", control_position=dashio.ControlPosition(0.24, 0.14, 0.54, 0.26))
aknob.add_receive_message_callback(knob_event_handler)
dv.add_control(aknob)
device.add_control(aknob)
while True:
time.sleep(1)
Run it, then add the device in the Dash app: it's found on the local network. Turn the knob, and the dial follows. Getting started goes on from here.
generate_cfg64().cfg_dict or add_cfg64(), and handle the app's messages in the controls' callbacks.The same layout works on Arduino firmware with controls of the same types and IDs. docs/layouts.md covers each step.
| Getting started | From a dial on your phone to a device you can reach from anywhere |
| Layouts | Designing, generating and loading layouts; Menus and the provisioning menu |
| Controls | Every control: its settings, its values, and what its callbacks receive |
| The Device | Controls, provisioning from the app, reset, the clock |
| Connections | The Dash server, TCP, Bluetooth LE and ZMQ |
| Storing history | Time graph, event log and map history, on the device and the Dash server |
| Exporting data | dashio_data_exporter: history from the Dash server, as text or CSV |
| Examples | ex01–ex06 from the docs; greenhouse, server_monitor and intermittent_connection.py are complete applications |
The library installs three commands. Run any of them with -h for its options.
| Command | |
|---|---|
c64_decode layout.c64 | Decodes a CFG64 layout, e.g. one exported from the Dash app, to JSON |
c64_encode layout.json | Encodes a JSON layout to CFG64, optionally formatted for C or Python code with -f |
dashio_data_exporter -u USERNAME -p PASSWORD -d DEVICE_ID -c CONTROL_ID | Exports time graph or event log history from the Dash server (docs) |
skills/python-dashio is a Claude Code skill that teaches Claude how to use this library, and how to make layouts for Arduino and zephyr-dashio firmware: copy or link it into your project's .claude/skills/ directory.
CLAUDE.md describes the code, and how to run the tests and lint.
MIT, see LICENSE.