ok, här är en lite utförligare beskrivning av hur det funkar:
Det är en ATTiny2313 på ett Olimex "prototyp"-kort (jag är inte mycket för att mecka med pcb-design o sånt, mer mjukvara). Den "läser" in skruvens gångtider genom att jag kopplat in mig parallellt på skruvutgången i Eurofires styrbox in på en optokopplare på mitt kort, denna är sedan kopplad till en pinne på microkontrollern. En annan pinne är via optokopplare kopplad till larmutgången på styrboxen.
Microkontrollern kör sedan ett timerinterrupt varje millisekund och pollar av ingångarna, och mäter hur lång tid skruven kördes. Skruvkörtiderna analyseras sedan, jag vet ju t.ex. att Min-skruvtiden är 0.8s och Max-skruvtiden är 1.4s, uppstarten kör skruven i 44s. På så sätt kan den detektera vilken "fas" brännaren befinner sig i.
_Avsaknad_ av skruvaktivitet inom en viss tidsrymd när den kört en Uppstart innebär ju att den gått tillbaka till vänteläge. (Larmsituationer hanteras separat med en egen ingång).
Ändringarna av dessa detekterade "faser" skickas upp till min Linksys router (som agerar liten, strömsnål "dator" snarare än "router"), när vänteläget infaller skickas även den totala skruvtiden med, via en RS232-lina.
Linksys routern har modifierats dels mjukvarumässigt genom att jag flashat om den med OpenWRT (och plockat bort alla moduler som jag inte behöver, den har bara 4Mb minne), och dels håtrdvarumässigt genom att löda in ett litet kort med en MAX232 som kopplats på de seriella kontakter som faktiskt finns på moderkortet. Utgångarna från Max232:an kopplas dels till en gammal mobiltelefon (med seriell kontakt) och dels till linan från mikrokontrollerkortet vid brännaren.
"Routern" kör sedan ett egensnickrat litet "daemon"-program som läser av de "meddelanden" som kommer via serielinan, läser av temperatur från
www.temperatur.nu (jag har ingen egen tempmätning ännu) och sedan postar upp datat till dels min Google AppEnginge-applikation (som aggregerar datat till lämpligt tidsintervall, ritar grafer och sånt) och dels uppdaterar Twitter-kontot med en lämplig status via enkla webserviceanrop.
"Routern" skickar också ut sms med larmmeddelande i de fall som larm meddelandet kommer från microkontrollerna via enkla AT-kommandon TPDU-formatterade. Den kan även läsa inkommande sms och skicka status tillbaka, om man t.ex. skickar texten "STATUS" till telefonen, så svarar den automatiskt med de senaste 20 "loggningarna".
/johan