NEXA Mottagare och sändare

Berätta om dina pågående projekt.
cjonash
Inlägg: 613
Blev medlem: 20 maj 2011, 08:53:58
Ort: Göteborg

NEXA Mottagare och sändare

Inlägg av cjonash »

Mitt senaste stora projekt http://elektronikforumet.com/forum/view ... =3&t=66010, som också var mitt första seriösa elektronikprojekt på ett bra tag, gav mig lite blodad tand... Så nu när det projektet är sjösatt, och vi börjar närma oss slutet på inspelningarna, har jag tagit itu med ett projekt som varit vilande ett tag.

När jag flyttade in i min nuvarande lägenhet, passade jag på att sätta in NEXA dimmers på mer eller mindre all belysning. Jag använde deras minsta dimrar, som monteras bakom befintliga strömbrytare och som använder dessa brytare för lokal manövrering. Planen var så klart någon form av hemautomation, och bland annat så fastnade jag för den här produkten: http://www.iruleathome.com/ Jag skaffade också en iTach IP2IR för att kunna styra tv, blueray, förstärkare mm med hjälp av iRule.

För att styra NEXA enheterna skaffade jag en Tellstick, och skrev ett eget program som fungerade som brygga mellan iRule och Tellstick. Men jag tyckte aldrig att det fungerade optimalt. Dels upplevde jag Tellsticken som långsam, dels saknade jag mottagarfunktion. En av ideerna jag hade var nämligen att använda NEXA brytare för att köra sekvenser av kommandon. T.ex. för att kunna släcka alla lampor när jag lämnar lägenheten. Sen kom Tellstick Duo, som jag skaffade i förhoppningen om att det skulle lösa problemen. Några tester senare så fungerade det förvisso, men jag var inte imponerad av varken hastighet eller räckvidd.

Kommen så här långt, började jag fundera på att bygga en egen mottagare och sändare. Bl.a. här på EF hittade jag en del exempel på hur andra gjort, och jag lyckades bygga en något sånär fungerande prototyp med en PIC, samt en sändarmodul och en mottagarmodul för 433 MHz från Kjell. Men jag blev fortfarande inte helt nöjd, utan fortsatte leta efter både färdiga lösningar och komponenter för att bygga något eget.

Av en slump så råkade jag hitta en 433 MHz transceiver på Lawicel's hemsida, så jag köpte en sådan för att testa med. Samtidigt hade jag börjat leka lite med Arduino, så jag skrev ihop en testkod och fick den att ta emot och sända NEXA protokoll. Sen kom annat imellan, och projektet har legat avsomnat tills nu. Tyvärr visade det sig, nu när jag började leta, att jag lyckats tappa bort den testkod jag skrev så jag startar mer eller mindre från början.

Min tanke nu är att bygga två identiska enheter, som fungerar både som sändare och mottagare (två för att få bättre räckvidd, framför allt på mottagaren). De skall vara nätverksanslutna, och mottagarna skickar data med UDP broadcast så att valfritt antal klienter kan ta emot den. Ett "server" program tar emot dessa data och skickar lämpliga förprogrammerade kommandon. Denna server är tänkt att vara en service som körs på min befintliga windowsserver. Samtidigt kan iRule också använa enheterna för att skicka kommandon från iPad eller iPhone.

Som hårdvara kommer jag använda en arduino ethernet, eftersom den tar mindre plats än en vanlig arduino med ethernet shield. Visst skulle jag kunna göra ett eget kort, men eftersom jag inte behöver någon annan hårdvara än mikrokontroller, ethernet kontroller och transcievern så är det betydligt enklare att ta en färdig arduino.

Arduino Ethernet från Lawicel:
Arduino.jpg
Och transceiver, också från Lawicel:
Transceiver.jpg

Efterhand som projektet fortskrider postar jag källkoder till både Arduinon och pc-programmet.
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
Användarvisningsbild
ecenier
Inlägg: 1107
Blev medlem: 13 december 2007, 17:51:42
Ort: Älvsjö
Kontakt:

Re: NEXA Mottagare och sändare

Inlägg av ecenier »

Hur går det med det här projektet? Jag är nyfiken på om du fått till det och om räckvidden är bra.
cjonash
Inlägg: 613
Blev medlem: 20 maj 2011, 08:53:58
Ort: Göteborg

Re: NEXA Mottagare och sändare

Inlägg av cjonash »

Här har jag varit lite dålig på att uppdatera kan jag se...

Mottagningen fungerar, och räckvidden håller till min lägenhet i alla fall. Med tanke på att modulen har en "riktig" antenn (och jag utgår i från att den är anpassad till frekvensen) så har jag förutsatt att den i alla fall har samma räckvidd som NEXA's orginalenheter. Men det är inget jag gjort någon uttömmande test på.

Jag har ännu inte implementerat kod för att sända data, så funktion och räckvidd för sändaren har jag ingen uppfattning om än.
RadioDJ
Inlägg: 407
Blev medlem: 7 november 2005, 16:18:15
Ort: Helsingborg

Re: NEXA Mottagare och sändare

Inlägg av RadioDJ »

Det är alltid roligt att följa dina projekt cjonash.
Jag vet ju att de fungerar riktigt bra och jag ser även fram emot en fortsättning på detta projektet.
cjonash
Inlägg: 613
Blev medlem: 20 maj 2011, 08:53:58
Ort: Göteborg

Re: NEXA Mottagare och sändare

Inlägg av cjonash »

Efter ett drygt års uppehåll, främst på grund av tidsbrist, har jag till slut tagit upp det här projektet igen.
Nu har jag gjort färdigt första versionen av mjukvaran till den kombinerade mottagaren och sändaren, och här kommer en beskrivning av systemet:

Hårdvara
Som framgått tidigare så består hårdvaran av en Arduino Ethernet och en 433 MHz transceiver från Parallax. Och det är allt... (utöver en USB till seriell konverter för programmering, eftersom Arduino Ethernet inte har en inbyggd USB port).
IMG_1463.JPG
Transceivern matas med 5V från Arduinon. Den har en datasignal som används för både sändning och mottagning (som är märkt DATA), och den kopplas till digital pin 2 på Arduinon. Den har också en signal som väljer mellan RX och TX (märkt TX-RX) och denna kopplas till digital pin 9 på Arduinon.


Mjukvara
Programmet som körs på Arduinon är baserat på ett bibliotek som heter NewRemoteSwitch (https://github.com/hjgode/homewatch/tre ... moteSwitch). Det ska sägas redan nu att den bara fungerar med det självlärande NEXA systemet, och inte med det gamla som byggde på hus- och enhetskoder.

Kommunikationen till och från systemet är uppbyggt på UDP. Alla NEXA signaler som tas emot kommer att skickas ut på den angivna broadcast-adressen (men inget hindrar att man anger en enstaka IP istället, om man bara vill skicka till en specifik IP). En heartbeat skickas också till samma adress med en intervall på 10 sekunder. För att sända ett NEXA kommando så skickar man en UDP sträng till enheten innehållande alla parametrar.


Källkod
Jag har bifogat källkoden, inklusive NewRemoteSwitch biblioteket. Det är inte en speciellt snygg kod - den är ihopskriven på några timmar idag som ett proof-of-concept - men den fungerar och bör gå att förstå om någon vill ge sig på att använda den:
NEXA Ethernet Gateway.zip



Fortsatt Utveckling
Nästa steg är att dokumentera protokollet som enheten använder. Därefter är planen att bygga in den i en låda, och i mitt fall dessutom bygga en enhet till då jag vill förbättra (den redan goda) räckvidden.


Styrsystem
Det jag börjat jobba med nu är att bygga ett styrsystem som skall användas tillsammans med transceivern. Tanken är att göra en servermjukvara som körs på en (i mitt fall virtuell) PC, och som innehåller en skriptmotor som hanterar alla events som kommer dels från transceivern och dels från iRule appen som jag också planerar att använda. Planen är tillsvidare att göra all källkod tillgänglig här.
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
cjonash
Inlägg: 613
Blev medlem: 20 maj 2011, 08:53:58
Ort: Göteborg

Re: NEXA Mottagare och sändare

Inlägg av cjonash »

Nästa steg i projektet är nu avklarat; första transceivern är inbyggd i en låda, och jag har dessutom kopplat ihop ytterligare en för att kunna testa servermjukvaran med flera enheter. Lådan är en färdig standard Arduino box, som bara behöver en liten modifiering för att nätverkskontakten skall passa där USB-kontakten normalt sitter. Och så klart ett hål för antennen också:
IMG_1466.JPG
IMG_1467.JPG
Sedan har jag skrivit klart en första version av ett protokolldokument (på engelska till förmån för en av mina vänner som också bygger en likadan enhet):
NEXA Ethernet Gateway Protocol.pdf
Till sist så har jag programmerat början på de som så småningom ska bli serverprogrammet. Ännu bara ett testprogram, men den klass som innehåller kommunikationen med transceivern är färdig (mer eller mindre i alla fall), och jag kan ta emot och skicka data. Det är skrivet i Delphi (XE6), men med lite programmeringsvana är det nog möjligt att porta de intressanta delarna till något annat språk. Källkoden, i form av hela projektet, är bifogat här:
Test Server.zip
För den som vill försöka i ett annat språk så är det filen uNEXAGateways.pas som är mest intressant (den kan öppnas i t.ex. notepad om du inte har Delphi).

Fortsättning följer...
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
cjonash
Inlägg: 613
Blev medlem: 20 maj 2011, 08:53:58
Ort: Göteborg

Re: NEXA Mottagare och sändare

Inlägg av cjonash »

Kvällen har använts till att göra lite uppdateringar på projektet.

Mjukvaran i transceivern är uppdaterad och kan nu också läsa av temperaturgivare av modellen WT450H från ESIC (dessa kan bl.a. köpas hos Clas Ohlson, http://www.clasohlson.com/se/Temperatur ... er/36-1797). Jag har provat med tre stycken samtidigt, och det verkar fungera utan problem.

Serverprogrammet och dokumentationen är också uppdaterade med den nya funktionen.

Senaste versionen av källkod och dokumentation finns här:
Ethernet Gateway.zip
NEXA Ethernet Gateway Protocol.pdf
Test Server.zip
Jag har dessutom börjat bygga grunderna i den "riktiga" servern, som fortfarande är planerad att vara en serviceapplikation som körs i bakgrunden i Windows, och med en tillhörande GUI applikation som kan startas för att monitorera och konfigurera systemet.
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
SMØW
Inlägg: 6
Blev medlem: 5 december 2014, 13:52:11
Ort: Stockholm

Re: NEXA Mottagare och sändare

Inlägg av SMØW »

Riktigt spännande projekt, jag har tänkt att byta ut alla befintliga dimmers/strömbrytare mot NEXA hemma. Hade tänkt köra tellstick men hade samma farhågor som du beträffande täckningen. Tänkte bygga ett antal "gateways" under julledigheten och följer med spänning när du får till serverprogrammet som Windowsapplikation.

En fråga, jag har funderat på att montera en liten androidplatta med touch i vissa rum för styrning, kommer du implementera någon sorts support för att skicka tredjepartskommandon för att aktivera ett visst "event" i serverapplikationen? Det vore ju grymt häftigt isåfall.
cjonash
Inlägg: 613
Blev medlem: 20 maj 2011, 08:53:58
Ort: Göteborg

Re: NEXA Mottagare och sändare

Inlägg av cjonash »

Ja, servern kommer kunna ta emot event både via TCP och UDP från externa system. Du skickar helt enkelt en textsträng och sedan hanterar skriptet vad som händer.

Jag har redan implementerat den delen och testat det med iRule, som är den app jag kommer att använde både på IOS och på en eller ett par Android plattor. Det är redan testat med en Samsung Galaxy pad (7" modell), och det fungerar.

Men såklart kan man skriva sin egen app också.

Ny version av projektet kommer jag ladda upp senare i veckan, eftersom jag är på en jobbresa just nu. Hoppas komma i mål med alla viktiga delar innan jul - det är planen i alla fall.
SMØW
Inlägg: 6
Blev medlem: 5 december 2014, 13:52:11
Ort: Stockholm

Re: NEXA Mottagare och sändare

Inlägg av SMØW »

Kanon! Ser verkligen fram emot fortsättningen på detta, såg dessutom att Arduino Ethernet fanns som en variant med PoE. Håller på att gör i ordning en inköpslista som jag skall skicka till tomten ;) så man får något att pyssla med under julledigheten.
Användarvisningsbild
cazz
Inlägg: 963
Blev medlem: 11 maj 2009, 12:44:01
Ort: Småland

Re: NEXA Mottagare och sändare

Inlägg av cazz »

Intressant tråd, har själv Tellstick DUO kopplad till en server och den har en extern antenn så det täcker huset.

Det jag är mest nyfiken på är bygga en mottagare och NewRemoteSwitch biblioteket kan vara en lösning då jag ska bara ha den som mottager och
i detta fall i början tända en LED.
cjonash
Inlägg: 613
Blev medlem: 20 maj 2011, 08:53:58
Ort: Göteborg

Re: NEXA Mottagare och sändare

Inlägg av cjonash »

Jag insåg när jag länkade till den här tråden att det här projektet blivit liggande lite väl länge...

Det står två lådor innehållandes mina två hemmabyggda transceivers, en hög med NEXA sändare (strömbrytare), några oanvända mottagare och en Samsung surfplatta (som skall fungera som väggmonterad "masterkontroll"). Och servermjukvaran har det heller inte hänt så mycket mera med.
Så det börjar bli hög tid att slutföra det här. Jag hoppas få lite tid över inom en inte alltför avlägsen framtid.
Användarvisningsbild
Lennart Aspenryd
Tidigare Lasp
Inlägg: 12607
Blev medlem: 1 juli 2011, 19:09:09
Ort: Helsingborg

Re: NEXA Mottagare och sändare

Inlägg av Lennart Aspenryd »

Nää cjonash! Det finns flera som kan Nexa Så kör med PCB som chassi med ledningsdragning från guide till motor och belysning! Separat framvagn och justerbar motorvagga löser WB problem! ;-)
Skriv svar