Trådlös mekanisk avtryckare (2 / 11 steg)
Steg 2: XBee DIO linjen passerar
Serie 1 xBee modem stöder en mycket hand och till synes mycket enkel funktion som kallas DIO linjen förbi som tillåter användaren att dra någon av 8 DIO stift hög eller låg på en xBee modul och motsvarande DIO stift på en annan xBee modul kommer att spegla det, i princip skapa en "virtuell tråd" fria från yttre microcontroller stöd och seriell parsning.
Jag grävde igenom flera referenser inklusive xBee handboken information om hur du konfigurerar modem för DIO linje som går från början utan framgång. Jag äntligen byggt en referenstabell för att hjälpa mig sortera alla konfigurationsalternativ som hjälpt oerhört.
Jag har tagit den tabellen som dokumenterar alla 67 konfigurationsalternativ, min modulversion, firmware och citat från alla relevanta spridda manualer på vilken de relevanta konfigurationerna gör och hur de samverkar.
Alla 67 konfigurationsalternativen för det endast 7 som är viktig för att definiera DIO linjen är passerar här de med mode detaljer på hur de fungerar och samverkar med varandra.
Destinationsadress höga och låga adress [DH / DL]
Detta definierar vilka modem som du överföra alltför. Du har möjlighet att använda en 16 eller 32 bitarsadress jag alltid använda 16-bitars eftersom det är färre siffror att hålla reda på. Du bara ange hög måladressen (DH) till noll och definiera en 4-siffriga hexadecimala Destination låg adress, min är 8008 för noden remote (sensor) och 2002 för noden base (kamera).
Källadress [min]
Detta är den 16-bitars (eller namn) av xBee som måladress för xbee enheter hopkopplade mate talar för. Så till exempel min fjärrnoder källadress (namn) är 2002 och min bas noder måladressen är 2002, så att noden bas bara skickar paket till Källnoden.
DIO7 Konfiguration [D7]
Måste du tala xBee modemen att du vill att de ska vara i DIO linjen passerar läge, vilken PIN-kod du vill ha dem att använda och vilken modul blir indata och vilken modul blir utgången. Allt detta är gjort min inställning DIO konfigurationen, i vårt fall för DIO7 (CTS stift) som delas på Adafruit kortet. Jag kommer att sätta min fjärrkontroll (sensor) nod DIO7 till 3 som berättar det modemet att dess DIO7 är en digital ingång pin, och jag kommer att sätta min base (kamera) nod DIO7 till 4 som berättar det modemet att dess DIO7 är en digital utgång pin.
DIO förändring upptäckt [ki]
Det här alternativet anger noden remote (sensor) för att skicka ett paket till noden base (kamera) uppdatering värdet av digital utgång PIN-koden varje gång det digitala ingångsstiftet ändrar tillstånd. Detta ger snabbaste och är precis vad jag vill för tripping kameran med den kortaste fördröjningen. Data för denna konfiguration matas in som en 8-bitars mask där DIO0 är LSB och DIO7 är MSB i HEX, för er som inte vet vad det betyder att oroa dig inte du kan antingen vända alla stift att övervaka för DIO förändring upptäckt genom att mata in FF eller du kan använda omvandlaren jag tagit längst ned i konfigurationstabellen för att göra omvandlingen från binär till HEX för specifikt stift du vill du slå på. Behöver du bara så här på fjärrenheten.
D7 Utdata Timeout [T7]
Alla utgångsstift Digital har en timer som startar efter PIN-koden har uppdaterats, när denna timer går ut stiftet återgår till dess standardtillstånd (antingen högt eller lågt kan du konfigurera det i DIO7 konfiguration). Detta är irriterande eftersom det innebär noden remote (sensor) måste regelbundet uppdatera basen (kamera) som äter upp ackumulatorn liv. Den nästa konfigurationsinställningen definierar denna periodiska uppdateringsfrekvens.
Samplingsfrekvens [IR]
Den här inställningen konfigureras på noden remote (sensor) och definierar den tidpunkten för de periodiska paket som skickas till noden base (kamera) Utöver de paket som skickas på DIO förändring upptäckt. XBee manualen rekommenderar inte att detta värde ställas in högre än 20ms (0x14) jag vet inte varför. Eftersom någonsin överföring drar mer ström och minskar min batteritid, sätta jag denna parameter till högsta rekommenderade värdet av 20ms.
I/o-utdata aktiverar [IE]
Här konfigurationsalternativet fick mig att gå i cirklar i en timme, det var inte förrän jag läste igenom hela xBee manualen att jag äntligen hittade det och kunde framgångsrikt få DIO linje förbipasserande att arbeta. För den här inställningen skickar alla packetized digital input stater i noden remote (sensor) till noden base (kamera) i stället för motsvarande digital utgång pin seriell produktion. Du måste helt enkelt ändra den här konfigurationen från 1 till 0 på noden base (kamera) och sedan allt fungerar.
Om allt detta var över ditt huvud och du bara vill kopiera och klistra in de inställningar jag använde utan att förstå hur de fungerar just nu in bara exakta värden från min xBee referensregistret och du kommer att vara bra.