From b246c08217bf2feba5c83a72a063f316bca31214 Mon Sep 17 00:00:00 2001 From: legop3 Date: Fri, 7 Nov 2025 00:34:41 -0500 Subject: [PATCH] update outline --- outline.md | 34 ++++++++++++++++++++++++++++++++++ platformio.ini | 1 - 2 files changed, 34 insertions(+), 1 deletion(-) diff --git a/outline.md b/outline.md index d791bb2b..5de4354b 100644 --- a/outline.md +++ b/outline.md @@ -2,6 +2,40 @@ the multi-roombarover. control multiple roombas through a web UI. On each roomba is an esp32 and an IP camera. +telepresence style. low latency, even sometimes over consistency. + +# STARTING OUT + +command the roomba directly from the web UI + +web UI (socket.io) -> server +server (rover link websocket) -> esp32 on the roomba + +- esp32 websocket firmware + - the esp32 will connect to the roomba's OI + - the esp32 will connect to wifi + - the esp32 will connect to the websocket server + - the esp32 will listen for drive and mode commands from the server + - the esp32 will tell the roomba to start a stream of all sensors + - the esp32 will pulse the roombas BRC pin for 1 second every minute to keep it awake + - on each loop in the firmware + - run commands on the roomba from what websocket is telling the rover to do (this NEEDS to be unblockable, high priority, and very low latency from web UI keypress to roomba moving) + - decode ONE full set of sensors from the stream and sends it to the server over websockets +- simple server for testing + - rover link websocket server + - express web server + - with socket.io for communicating with web clients + - the web client socket.io server and the rover link websocket server are COMPLETELY SEPERATE, even put the rover websocket server on a different port just to make sure + - follow the module structure outlined below +- simple web client for testing + - plain html for now. minimal css. + - buttons in web client to start out with + - start OI + - safe mode + - full mode + - seek dock + - start sensor stream + - stop sensor stream ## esp32 firmware diff --git a/platformio.ini b/platformio.ini index 0caedc27..6576c2c2 100644 --- a/platformio.ini +++ b/platformio.ini @@ -1,5 +1,4 @@ [env:esp32s3] platform = espressif32 board = esp32-s3-devkitc-1 -framework = arduino monitor_speed = 115200 \ No newline at end of file