Stap 2: XBee DIO lijn doorgeven
Serie 1 xBee modems ondersteunen een zeer hand en schijnbaar zeer eenvoudige functie genaamd DIO lijn doorgeven dat kan de gebruiker te trekken of 8 DIO pennen hoog of laag op één xBee module en de daarbij horende DIO pin op een andere xBee module zal spiegelbeeld, in feite het creëren van een "virtuele draad" vrij van elke externe microcontroller ondersteuning of seriële parseren.
Ik gegraven door verschillende referenties, met inbegrip van de xBee handleiding om te bepalen hoe het configureren van modems voor DIO lijn passeren in eerste instantie zonder succes. Ik bouwde tot slot een referentietabel om me sorteren alle van het configuratie-opties die sociaal ontzaglijk veel assistente te helpen.
Ik heb ook die tabel dat documenten van alle 67 configuratieoptie, mijn module versie, de firmware en de citaten van alles wat de relevante verspreide handleidingen over wat de relevante configuraties doen en hoe ze omgaan.
Van alle 67 configuratieopties er slechts 7 die belangrijk zijn voor het definiëren van DIO lijn zijn passeren hier ze met modus details over hoe ze werken en communiceren met elkaar.
Hoge en lage doeladres pakken [DH / DL]
Dit bepaalt welke modem zijn u te verzenden. U hebt de optie voor het gebruik van een 16 of 32 bits adres die ik gebruik altijd 16-bit, omdat er minder getallen om bij te houden. Je gewoon de hoge doeladres (DH) ingesteld op nul en een 4-cijferige hexadecimale bestemming lage adres definiëren, mijne is 8008 voor het knooppunt remote (sensor) en 2002 voor het knooppunt base (camera).
Bronadres [mijn]
Dit is het 16-bits adres (of naam) van de xBee-eenheid die het doeladres van de xbee eenheden gepaarde stuurman ook praat. Dus bijvoorbeeld het bronadres van mijn externe knooppunten (naam) 2002 en het adres van de geadresseerde van mijn base knooppunten is 2002, zodat de basis knooppunt alleen pakketten naar het bronknooppunt stuurt.
DIO7 Configuratie [D7]
U moet vertellen de xBee modems dat u wilt laten worden in de modus DIO lijn passeren, welke pin u wilt laten gebruiken en welke module de input zal worden en welke module zullen de output. Dat alles is gedaan mijn het instellen van de configuratie van DIO, in ons geval voor DIO7 (de pin van de CTS) die is uitgebroken op de Adafruit adapter. Ik zal mijn afstandsbediening (sensor) node DIO7 ingesteld op 3, die vertelt dat modem dat haar DIO7 is een digitale invoer pin, en ik zal mijn base (camera) node DIO7 ingesteld op 4, die vertelt dat modem dat haar DIO7 is een digitale uitgang pin.
DIO veranderingsdetectie [IC]
Deze optie stelt u het knooppunt van de afstandsbediening (sensor) een pakket verzendt naar het knooppunt van de base (camera) de waarde van de digitale uitgang pin bijwerken wanneer de digitale invoer pin staat verandert. Dit geeft u de snelste reactie en is precies wat ik wil voor de camera met de kortste vertraging struikelen. Gegevens voor deze configuratie wordt ingevoerd als een 8-bit masker waar DIO0 de LSB en DIO7 is is de MSB in HEX, voor degenen onder u die niet weten wat dat betekent voor u don't worry, alle van de pinnen inschakelen kunt te controleren voor DIO veranderingsdetectie door het invoeren van FF, of u het conversieprogramma dat ik ook aan de onderkant van de tabel configuratie kunt te doen dat de conversie van binair naar HEX voor de specifieke pins u wilt inschakelen. U hoeft alleen te zodoende zulks op het externe apparaat.
D7 Output Timeout [T7]
Elk van de digitale pennen heeft een timer die begint nadat de pin is bijgewerkt, als deze timer verloopt de pin keert terug naar de standaardstatus (hoog of laag kunt u het in DIO7-configuratie). Dit is vervelend, omdat het betekent dat het knooppunt remote (sensor) moet periodiek bijwerken van de base (camera) die eats opwaarts levensduur van de batterij. De volgende configuratie-instelling definieert u de snelheid van deze periodieke updates.
Sample Rate [IR]
Deze instelling is geconfigureerd op het knooppunt van de afstandsbediening (sensor) en definieert de de timing van de periodieke pakketten worden verzonden naar het knooppunt van de base (camera) naast de pakketten die worden verzonden over DIO veranderingsdetectie. De handleiding xBee adviseert niet dat deze waarde worden ingesteld hoger dan 20ms (0x14) ik weet niet waarom. Omdat ooit transmissie meer macht trekt en mijn levensduur van de batterij vermindert, stel ik deze parameter in op de hoogste aanbevolen waarde van 20 MS.
I/o-uitvoer inschakelen [IU]
Deze configuratieoptie had me gaan rond in cirkels voor een uur, het was niet totdat ik door de hele xBee handleiding te lezen dat ik eindelijk vond het en kon met succes krijgen DIO lijn doorgeven aan het werken. De standaardstatus van deze instelling stuurt alle packetized digitale input Staten van het knooppunt van de afstandsbediening (sensor) naar de uitgang van het knooppunt van de base (camera) in plaats van de corresponderende pin van de digitale uitgang voor seriële. U hoeft deze configuratie veranderen van 1 naar 0 op het knooppunt van de base (camera) en vervolgens alles werkt.
Als dat alles was boven je hoofd en je gewoon wilt kopiëren en plakken de instellingen die ik gebruikte zonder te begrijpen hoe ze werken allemaal nu maar het invoeren van de exacte waarden van mijn xBee referentietabel en u zal zijn goed.