Multiceiver nätet NRF24L01 + (2 / 3 steg)
Steg 2: Kött - kan vara hårda och torra
Det här diagrammet är nyckeln till att förstå hur detta nätverk fungerar. Jag har försökt att fånga essensen av det i följande punkter. Nästa punkt är absolut det viktigaste, som är lättast att följa :) Följande steg i Instructable innehåller kod som hjälper också klargöra hur detta nätverk fungerar.
Den definierande multiceiver kapaciteten är att ha upp till 6 kanaler (rör) för radiokommunikation öppen i en mottagning (RX, eller "läsa") läge samtidigt. Detta sker i form av en hub mottagare (PRX - primära mottagare) och upp till sex sändaren noder (PTX1 - PTX6 primära sändare). För att förenkla i ovanstående diagram, öppnas sex läsning (Data) rör i navet primära mottagare (PRX). Varje PTX noden länkar till ett av dessa rör att använda både sändande och mottagande (TX mot navet som primära riktningen av data flödar, men PTX noderna är RX klarar också). Observera att navet kan också "sluta lyssna" och agera som en TX, sänder (eller skriva) till PTX noderna-- men detta kan bara göras en pipe / nod i taget.
Adresserna / rören måste ha ett distinkt mönster av byte: bara den femte byten är helt unik bland alla rören och är känd som den minst signifikanta byten (LSB). Pipe 0 tilldelas alla fem byte självständigt. Rör 1 tilldelas också alla fem byte självständigt, men sedan första fyra byte (MSB) pipe 1 också bli första fyra byte av rör 2-5 (om de finns).
Med tanke på utformningen av hårdvara och lägre nivå programvara (bibliotek), TX -> RX sekvensen följer ett enkelt mönster inom en skiss. Data nyttolaster kan vara statisk eller dynamisk längd (byte) och kan även kopplas till ACK (erkänner) paket som rutinmässigt returneras från mottagaren tillbaka till sändaren att bekräfta lyckad överföring (ACK packets, förresten, är effektivare än upprepade gånger växlar mellan överföring och mottagning för tvåvägskommunikation). Användarhantering nätverkstrafik handlar till stor del om att begränsa överföringar till nivåer som inte överväldiga RX kapacitet (min mycket enkel förståelse). Fel svällning för tappade eller skadade datapaket, buffertöverskridningar, etc. kan också bli nödvändigt att säkerställa dataintegriteten.