Seismiska reflektorn (2 / 4 steg)
Steg 2: Programvaran
Denna programvara roll är att kontrollera USGS 1 dag jordbävning RSS-feed och utlösa en händelse om en ny post läggs till i listan. Just nu app kontrollerar fodret var 30 sekunder som jag tror är förmodligen lite för ofta, men du kan ändra det om det behövs.
Om en ny händelse tillsätts fodret och app finner detta, skickar den ett paket med den maskinvara som innehåller omfattningen av jordbävningen. Maskinvaran tar över på denna punkt och vet hur man ska bemöta olika styrkor. Appen har också förmågan att spela en hörbar varning (som jag har ställt till vara en WW2 air raid siren) när en ny jordbävning bokförs.
En rad med knappar längst ned i programmet gör det möjligt för en viss konfiguration och testning, men det är inte precis ett komplicerat gränssnitt.
Det skulle vara bra om jag kunde få bearbetning app att sitta i system bricka på en PC, kanske någon vet hur man gör. Jag vet att du kan få tredje part apps att minimera andra program att facket, men det verkar vara fusk. Det är också en bra storlek vara en Vista eller Win7 widget, så om någon vill ta koden och kör med det, vara mig gäst!
Den bifogade zip-filen är den senaste versionen av koden. Anslutningsknappen visas inte korrekt beteende ännu, även om det bör fungera (så länge du har ändrat den COM-porten för att återspegla vad som används i din set-up). Denna utgåva av programvaran även Air Raid siren som jag hämtat från den mycket utmärkt Freesound.org (länk till prov är här). Framtida versioner kommer inte att ha det här exemplet ingår i zip på grund av storleken, så ta det medan det är varmt!
Det finns utan tvivel några buggar i den här koden, jag har inte testat det alltför väl, men om du har problem med det, sedan lämna en kommentar och jag ska göra mitt bästa för att svara. Jag vill ge en ropa ut till Bruno Nadeau, författare till den RomeFeeder Lib för bearbetning (länk) som hjälpte mig att få USGS foder arbetande. Vänligen kontrollera Brunos webbplats för de senaste versionerna av biblioteket. (du behöver detta för att sammanställa app)