Trådlös trigger
Trådlös trigger
Vill bygga en trådlös trigger. Dess funktion skall likna funktionen vid en trådlös dörrklocka. Sändaren skall vara en liten enkel Pic ihop med en billig 433mhz kina sändare. Mottagaren skall också vara en enkel pic ihop med en 433 mottagare. I princip skall sändar Pic'en skicka ngn form av nyckel som mottagaren skall läsa av. Stämmer den med nyckeln i mottagaren skall en utgång bli hög.
Nyckeln skall vara ex ett hex tal eller vad vet jag.....
Vad skall jag börja titta på och läsa om för att komma igång. Finns det bra exempel att utgå från kanske?
Nyckeln skall vara ex ett hex tal eller vad vet jag.....
Vad skall jag börja titta på och läsa om för att komma igång. Finns det bra exempel att utgå från kanske?
Re: Trådlös trigger
Med en "en billig 433mhz kina sändare" och mottagare i samma kvalitet kan det bli ett problem.
Men själva dataöverföringen är ganska enkel i sig.
Men själva dataöverföringen är ganska enkel i sig.
Re: Trådlös trigger
Är där någon speciell anledning till en 433MHz kinamodul? Annars är nog en 2.4GHz kinamodul ett bättre val. Tänk bara på att ställa hastigheten till 250kbit så blir räckvidden ganska hyfsad. De som har antennmönstret i form av en "krok" ger bättre räckvidd än de som har en "serpentin".
Re: Trådlös trigger
Inte mer än att jag tänkt göra mer än en och priset spelar roll, så mao priset priset priset. Hur lång räckvidd tror ni dessa har?
Så jag vill nog gärna prova dessa först och se om det räcker.
Så jag vill nog gärna prova dessa först och se om det räcker.
- lillahuset
- Gått bort
- Inlägg: 13969
- Blev medlem: 3 juli 2008, 08:13:14
- Ort: Norrköping
Re: Trådlös trigger
Om du bara skickar en nyckel rakt av blir du väldigt känslig för intrång.
Re: Trådlös trigger
newbadboy: jag insåg plötsligt att det kan finnas en aspekt i detta som jag inte tänkte på först.
Är detta för att uppfylla ett faktisk behov eller är det i utbildningssyfte? Alltså för att du vill testa/leka och samtidig uppfylla ett behov.
Råd och lösningar kan skilja sig avsevärd beroende på orsak till detta.
Är detta för att uppfylla ett faktisk behov eller är det i utbildningssyfte? Alltså för att du vill testa/leka och samtidig uppfylla ett behov.
Råd och lösningar kan skilja sig avsevärd beroende på orsak till detta.
Re: Trådlös trigger
-Lillahuset
Finns inga krav på intrång. Inte mer än att det inte ska störas av andra trådlösa 433 Mhz grejer
-Icecap
Just nu är det för att komma igång och lära mig enkel kodning runt detta. Senare ska jag bygga en grej som kräver en enklare trådlös trigger.
Finns inga krav på intrång. Inte mer än att det inte ska störas av andra trådlösa 433 Mhz grejer
-Icecap
Just nu är det för att komma igång och lära mig enkel kodning runt detta. Senare ska jag bygga en grej som kräver en enklare trådlös trigger.
Re: Trådlös trigger
newbadboy: OK, då är det enklare.
Det som är problemet med de enklare moduler är ett "flertal":
- ISM-reglerna kräver att en enhet inte sändar hela tiden, man ska alltså stänga ner sändaren när det inte överförs data.
- För att få data-slicern till att hamna på rätt DC-nivå behöver man skicka en preample. Det är inte så svårt som det låter, man kan rent faktisk göra det vid att skicka ett antal (kanske 10 st) 0x55 efter varandra.
- Efter dessa 0x55 ska man sända en "nu börjar det", t.ex. 0xF0 och sedan ska data överföras.
- Men det är inte bara att överföra data! De ska helst uppfylla kravet att '0' och '1' har en duty-cycle på 50% så för varje '0' ska man sända en '1' och vice-versa. Detta kan rimligt enkelt lösas i en µC, man ska alltså sända 2 bytes för varje byte man överför och sedan fläta lite bits.
- Med allt detta "måste" man ha ett datablock som innehåller antal bytes som kommer, ofta en adress som anger vem som ska ta emot, kanske en adress som anger vem som sände det, sedan de data som ska överföras samt en checksum så att man kan verifiera att blocket är "helt".
- Jag brukar lägga med en "meddelande nummer xx" så att jag vet att mottagaren kan kvittera "jag har fått meddelande xx", då kan man ha en kontrollfunktion som är "hmmm, har inte fått kvittens än och nu har det gått för lång tid. Sänder samma meddelande igen". Då kan man ha en funktion som "säkerställer" att ett block kommer fram - men då ska båda ändar kunde prata med varandra, alltså två sändare och två mottagare.
De färdiga tranciever-moduler man kan köpa som bara ska kopplas till en UART och sedan styr resten själv har inbyggd styrning av detta med preample osv. Med de billiga moduler ska man tänka på det mesta själv, inte omöjligt men det finns en del fallgropar.
Det som är problemet med de enklare moduler är ett "flertal":
- ISM-reglerna kräver att en enhet inte sändar hela tiden, man ska alltså stänga ner sändaren när det inte överförs data.
- För att få data-slicern till att hamna på rätt DC-nivå behöver man skicka en preample. Det är inte så svårt som det låter, man kan rent faktisk göra det vid att skicka ett antal (kanske 10 st) 0x55 efter varandra.
- Efter dessa 0x55 ska man sända en "nu börjar det", t.ex. 0xF0 och sedan ska data överföras.
- Men det är inte bara att överföra data! De ska helst uppfylla kravet att '0' och '1' har en duty-cycle på 50% så för varje '0' ska man sända en '1' och vice-versa. Detta kan rimligt enkelt lösas i en µC, man ska alltså sända 2 bytes för varje byte man överför och sedan fläta lite bits.
- Med allt detta "måste" man ha ett datablock som innehåller antal bytes som kommer, ofta en adress som anger vem som ska ta emot, kanske en adress som anger vem som sände det, sedan de data som ska överföras samt en checksum så att man kan verifiera att blocket är "helt".
- Jag brukar lägga med en "meddelande nummer xx" så att jag vet att mottagaren kan kvittera "jag har fått meddelande xx", då kan man ha en kontrollfunktion som är "hmmm, har inte fått kvittens än och nu har det gått för lång tid. Sänder samma meddelande igen". Då kan man ha en funktion som "säkerställer" att ett block kommer fram - men då ska båda ändar kunde prata med varandra, alltså två sändare och två mottagare.
De färdiga tranciever-moduler man kan köpa som bara ska kopplas till en UART och sedan styr resten själv har inbyggd styrning av detta med preample osv. Med de billiga moduler ska man tänka på det mesta själv, inte omöjligt men det finns en del fallgropar.
Re: Trådlös trigger
Modulerna med nRF24L01+ kostar mindre än en hundring för 10st. inkl. frakt. Finns även med PA+LNA för längre räckvidd, såväl stora med antennkontakt som små med inbyggd antenn. Betyldligt högre pris, men ser ut att vara dalande. Sök eBay på nrf24l01 så hittar Du hur många som helst och med olika sorters antenn och med/utan PA+LNA.
Dessa har inbyggd protokollhantering och ansluts med SPI vilket är jätteenkelt. Du slipper allt besvär med analoga signaler och tolkning av data. Protokollet har adressering, crc och automatisk omsändning. Även broadcast utan kvittens om så önskas. Helt enkelt det självklara valet om 2.4GHz och räckvidd är OK.
Dessa har inbyggd protokollhantering och ansluts med SPI vilket är jätteenkelt. Du slipper allt besvär med analoga signaler och tolkning av data. Protokollet har adressering, crc och automatisk omsändning. Även broadcast utan kvittens om så önskas. Helt enkelt det självklara valet om 2.4GHz och räckvidd är OK.
- lillahuset
- Gått bort
- Inlägg: 13969
- Blev medlem: 3 juli 2008, 08:13:14
- Ort: Norrköping
Re: Trådlös trigger
Tja, piratchips som inte har något alls att göra med NordicSemi. Kvaliteten är ju lite därefter och det finns chip som inte är kompatibla "on air" när den inbyggda protokollhanteringen används. Ryktas bero på en inverterad bit till följd av ett datablad från Nordic som innehöll ett fel. Är de köpta på samma ställe vid samma tillfälle så är nog chansen god de är kompatibla. Om data sänds utan auto ack så fungerar det. Blir lite mera att programmera, men för amatörbruk är det väl ok.
Edit: Vill bara tillägga att de moduler jag har använt fungerar alldeles utmärkt och har dräglig räckvidd. Det gäller bara att veta om denna trista "special feature" för att undvika massor av debuging som är helt utsiktslös att leda någon vart.
Detta är en intern bit och det saknas workaround annat än att skicka data med W_TX_PAYLOAD_NO_ACK och hantera tappade packets själv utan hårdvarustöd. CRC och adressering fungerar, det är "bara" kvitteringen av mottagna packets som blir fel.
Allt givetvis sagt utan några som helst garantier.
Edit: Vill bara tillägga att de moduler jag har använt fungerar alldeles utmärkt och har dräglig räckvidd. Det gäller bara att veta om denna trista "special feature" för att undvika massor av debuging som är helt utsiktslös att leda någon vart.
Detta är en intern bit och det saknas workaround annat än att skicka data med W_TX_PAYLOAD_NO_ACK och hantera tappade packets själv utan hårdvarustöd. CRC och adressering fungerar, det är "bara" kvitteringen av mottagna packets som blir fel.
Allt givetvis sagt utan några som helst garantier.
Re: Trådlös trigger
Marta skrev:Modulerna med nRF24L01+ kostar mindre än en hundring för 10st. inkl. frakt. Finns även med PA+LNA för längre räckvidd, såväl stora med antennkontakt som små med inbyggd antenn. Betyldligt högre pris, men ser ut att vara dalande. Sök eBay på nrf24l01 så hittar Du hur många som helst och med olika sorters antenn och med/utan PA+LNA.
Dessa har inbyggd protokollhantering och ansluts med SPI vilket är jätteenkelt. Du slipper allt besvär med analoga signaler och tolkning av data. Protokollet har adressering, crc och automatisk omsändning. Även broadcast utan kvittens om så önskas. Helt enkelt det självklara valet om 2.4GHz och räckvidd är OK.
Detta var ju iof billigt kan man ju inte förneka.
Ska kolla på det.
Edit.
Såg precis att mitt utvecklingsystem för PIC har färdiga exempel för just denna modulen

Re: Trådlös trigger
Nackdelen med 2.4GHz är väll att det ska slåss med allt WiFi i kvarteret, och dämpningen av väggar och grejor.
Jag kör själv med lite mer påkostade, dumma 433Mhz moduler, med VirtualWire i Arduino, fungerar överraskande bra.
Jag kör själv med lite mer påkostade, dumma 433Mhz moduler, med VirtualWire i Arduino, fungerar överraskande bra.