Nu tänkte jag ändligen sätta igång med ett litet projekt jag funderat på länge. Som en del i ett större automation och övervakningsprojekt så behöver jag några reläer som kan styras via IP eller Ethernet.
Inledningsvis så tänkte jag börja med en "plats", med minst 4 reläer, men i framtiden så kommer reläer behövas på fler platser.
Då programmeringen är min svaga sida så tänkte jag försöka hålla det så enkelt som möjligt. Har inte heller någon möjlighet att tillverka egna kretskort, så då antar jag att Arduino är den mest lämpade platformen?
Hårdvarumässigt så ser planen ut så här i dagsläget:
Arduino uno
Relän: http://www.buyincoins.com/item/11203.html
Ethernet: http://www.buyincoins.com/item/9026.html
Som jag fattar det så är det bara att ta typ en digital-ut från Arduinon, koppla den till typ pinne IN1 på relä-kortet, och slå på pinnen, så aktiveras relä 1 på kortet?
Ethernetmodulen står ju beskrivet här hur man kopplar in: http://arduino.cc/en/reference/ethernet
De största frågetecknen är dock hur man ska "tänka" mjukvarumässigt.
Då det kommer att installeras flera reläer på nätverket framöver så är det ju lika bra att planera för det redan nu.
Funktioner som ska finnas är att kunna styra samtliga reläer individuellt, se status på samtliga reläer, slå av/på samtliga reläer på en plats, och av/på med alla reläer på alla platser.
Ytterligare en idé är ju att skapa olika "grupper", så man kan köra typ "slå på alla lampor på alla reläer".
En första tanke som slog mig var att använda multicast. Då slipper klienterna hålla reda på vilka IP-adresser som alla arduinos har, och man slipper krångla med DHCP. Identifikation av specifika platser kan ju ske genom MAC-adressen på ethernet-porten.
Sen hur själva styrningen ska fungera har jag ingen aning om. Men på något vis så behöver man ju skicka ett paket till Arduinon, som säger typ "slå på Rerä 7 på plats A1:B2".
Styrningen ska kunna ske genom bash-script och PHP. Om man sen skriver ett eget program, som i sin tur används av Bash/PHP, om man kör bash-scriptet genom PHP, eller hur det ska lösas har jag ingen aning om. Idéer?
Alla övriga idéer och synpunkter är välkomna!
