Home Lights ) Esp32 Platformio ... Boarddesign Esp32 Everything Esp32 Midi Usb Notes Plan Aboutlights Esp Notes Upload Wled

Don't Look! I'm changing!

URL Copied

Slider Knobs -> Volume Hi Mid Low Stop/ Start W/ Display

Consider: OTA, Flash Defaults SPIFFS, Broad/Multi/Uni, Chip/Module/Board

Plan Part 2

  1. Only Admin may broadcast

  2. gatway sends to children

  3. children never message siblings

  4. only msg 1 relative per bc & prefer to send to gateway

  5. children deliver inbound messages to gateway

  6. gateway delivers data to admin... go to step 1...

undefined

userA -> gatewayA userB -> gatewayB userC -> gatewayC

gatewayA -> nodeA1 gatewayB -> nodeB1 gatewayC -> nodeC1

gatewayA -> nodeA2 gatewayB -> nodeB2 gatewayC -> nodeC2

gatewayA -> nodeA3 gatewayB -> nodeB3 gatewayC -> nodeC3

gatewayA -> gatewayB gatewayB -> gatewayA gatewayB -> gatewayC gatewayC -> gatewayB

nodeA3 -> nodeB1 nodeB1 -> nodeA3

nodeC3 -> nodeB3 nodeB3 -> nodeC3

pub/sub should allow you to act simply as a router or to extend the pub/sub by replicating and posting the message as well.

Command and satellite must share same channel.

Multi-Acess Frequency Hopping allows for a shared transmission medium

  1. 1Peer FF:FF:FF:FF -> Broadcast to all peers on ch -> esp32

  2. Set Peer Mac Addr -> Broadcast by sending to common mac addr -> ESP32

  3. Adhoc Addressing Layer

Frequency hoping, channels limit # conn, multi access method requires

How it works

ifUpdates->Broadcast onReception =>

  1. update State of leafnode values

  2. get rout node values

  3. subscriptionValues

Setup

  1. ConfigDeviceAP (mac=ssid, pass=1234, print-yay!)

  2. RegisterCallbacks (msgsnt,msgrcvd-write2pin)

  3. Init ESPNow(onMsgSnt, OnMsgRcvd): refers to step 2

Loop

  1. Scan4LeafNodes

  1. Manage Leaf Nodes

  1. Send Data - ESP

  2. If Command = XYZ

  1. OnBLERecieved: if leafnodes -> ESPNow Broadcast. Run Command

  2. ONESPRecieved: if BLE!connected:DoNothing. Else: if send="espname:donothing" else:"send2ble"

Config Device AP

if btmessage -> relay out if publicmsg -> if msg is leader: run cmd & broadcast. else: if in group do nothing

Partition Table

Includes root. values from different people + all current data to be fwded from leafs to rest

Group: Updated: Val

Leafid: Updated: Val

How MSG Works

Within body of a node with an ssid=espname... Body(rootnodessid, rootsentthis@, command)