Add ESP32 WiFi CSI nanny bot prototype - #1
Open
ananyaarahate-wq wants to merge 28 commits into
Open
Conversation
Robot connects to Wi-Fi, estimates the child's position via RSSI trilateration against fixed anchor APs, and pushes it to Firebase Realtime Database. The Expo/React Native app subscribes live and shows position, online status, battery, and safe-zone alerts. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Flip CALIBRATION_MODE to 1 and reflash to get a serial-printed, strongest-first list of nearby APs (SSID/BSSID/RSSI) instead of running trilateration — makes filling in include/anchors.h a matter of reading values off the serial monitor rather than doing it blind. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Create the ducklan Firebase project, its Realtime Database instance, and a pinned Anonymous Auth identity for the robot. Rules now require auth for reads and restrict writes to that one pinned identity, instead of the fully-open rules a "test mode" database would otherwise have. Firmware exchanges a refresh token for short-lived ID tokens before each write; the app signs in anonymously to satisfy the read rule. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Renamed the mascot from "Ducky" to "DuckLAN" throughout and added a DuckLAN wordmark to the Home screen. Lives in ducklan-app/ as a separate Expo Router app so it doesn't touch the existing Firebase/robot-location dashboard in app/.
# Conflicts: # .gitignore
…tethered Adds an optional Firebase push (main/secrets.h, gitignored) to the WiFi CSI firmware so it reports status to the phone app over WiFi instead of needing a USB cable to a laptop. Without secrets.h the firmware behaves exactly as before (CSI onboarding/following + the USB serial dashboard). App side: new robots/<deviceId>/status Firebase path, useRobotStatus hook, and a CsiStatusCard on the dashboard showing online state, imprint progress, detection count, and fall alerts (no x/y position — a single ESP32 doing CSI sensing can't determine that, so this doesn't fake one).
# Conflicts: # app/src/screens/DashboardScreen.tsx
… secrets template Rotated to a new anonymous Firebase identity for the robot (old one had no recoverable refresh token) and pinned database.rules.json write access to it; deployed live. Also corrected FIREBASE_HOST in secrets.h.example — it was guessed as a regional europe-west1 URL but the actual instance resolves at the legacy ducklan-default-rtdb.firebaseio.com host.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.