Hacka din egen radiosändare

Nästa steg är att få ett par av dem att prata med varandra, så anslut en andra JeeLink (eller annan SBC) till ett annat USB-uttag. Naturligtvis kan du använda en andra PC; det kan vara lättare. Men om du är som jag, kommer du att bli förvirrad och skriva kommandon i fel maskin.

Hacka din egen radiosändare

När detta är inställt, gå in i din Arduino IDE, till Arkiv | Exempel | JeeLib | RF12, och öppna en skiss som heter RF12demo. Från Verktyg | Seriell port, välj en av dina JeeLinks och ladda upp skissen och gå sedan till Verktyg | Seriell monitor för att ansluta till enhetens seriella port. Du måste ändra baudhastigheten till 57600 baud.

Du bör se en kort hjälptext tillsammans med en rad som visar enhetens nuvarande konfiguration, som kommer att se ut ungefär så här:

JeeLib-biblioteket använder konceptet med grupper, unika koder som identifierar särskilda lokala miljöer och nod-ID:n som identifierar varje enhet inom en grupp. I det sista exemplet är gruppkoden 210 och nod-ID 10. Så länge som båda enheterna rapporterar samma frekvensband och gruppkod behöver du bara uppdatera deras gruppkoder. För att göra detta, skicka N1 till en enhet och N2 till den andra. För att få enheterna att prata, skicka bara ett meddelande, säg 1,2,3,0s, till en av enheterna; på den andra bör du se något i stil med: ”OK 2 1 2 3”.

OK betyder att data togs emot med kontrollsumman intakt – du kommer att se ett ”?” snarare än OK om det finns någon korruption. De första 2 är avsändarens nod-ID och efter det är den faktiska datanyttolasten, 1 2 3. 0:an i kommandot var inte data utan betyder ”alla grupper”; ”s” är kommandot Skicka.

Försök att skicka tillbaka samma data till den andra noden men avsluta med ett ”a” istället för ett ”s”: detta begär en bekräftelse på att data har tagits emot. Om det lyckas kommer du att se ett OK-meddelande från sändningsnoden. (För ett enkelt test, prova kommandot ”t”, som är en förkortning för 0,1,2,3,…63,64,65,0a.)

Som ett test från nod två skulle du kunna skicka 1,2,3,1a, som skickar data 1 2 3 endast till nod ett. Även om detta är ett ganska trivialt exempel, hoppas jag att du kan börja se de möjligheter som ett sådant system kan erbjuda. Till att börja med, ta en titt på några av de andra exempel RF12-skisser som finns tillgängliga från filmenyn i Arduino IDE när du har installerat JeeLib.

Det är också möjligt att använda en JeeLink för att ta emot data från och skicka kommandon till andra kommersiellt tillgängliga kit.
Om du till exempel har antingen ett elövervakningskit för nuvarande kostnad, EDF eller Sailwider, ta en titt på Jack Kellys github, där han tillhandahåller ett system som läser förbrukningsdata från apparatmodulerna som du kan använda för att slå på och av dem.

Mikrogeneration

Om du har investerat i någon form av mikrogenerationsteknik, som vindkraftverk eller solpaneler, kan du enkelt använda Jacks kod som grund för ett system som slår på saker som elradiatorer och elpatron endast när det finns överskottskraft tillgänglig.

Det finns massor av andra liknande ”hack” tillgängliga. Jag tillbringade fem minuter med att googla vad andra människor har gjort med den här typen av kit och hittade någon som hämtar data från en trådlös väderstation; en annan som har använt RFM12B-moduler för att automatisera sitt centralvärmesystem; och även någon som njuter av att kunna höja och sänka sin grannes fjärrstyrda garageport.

Ett annat projekt som gör stor användning av RFM12B (och som också är baserat på JeeLib) är OpenEnergyMonitor. Detta är ett system med öppen källkod för att övervaka elförbrukningen och överföra denna data till både en fjärransluten LCD-panel och (valfritt) en basstation, där data kan laddas upp till en server för senare analys.

Det är ett underbart projekt, men jag bör varna er för att det ibland blir lite tekniskt. Du måste också utföra lite ömtålig lödning för att surra ihop det hela. Men eftersom både hårdvaran och mjukvaran är öppen källkod är det lätt att modifiera det så att det passar dina krav exakt. Om du kollar OpenEnergyMonitor-forumen hittar du en livlig gemenskap tillsammans med expertis i världsklass.

Lämna en kommentar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *