Weasley klockan (1 / 9 steg)
Steg 1: Allmän uppfattning
Innan du börjar är det alltid bra att få en allmän uppfattning om hur projektet fungerar. Vi ska tala i termer av programvara bits snarare än specifika enheter eftersom den hårdvara som vi använt råkade vara den vi redan hade, och inte allt som behövs. I följande steg ska vi naturligtvis gå in mer i detalj.
Så hur fungerar det exakt?
Varje medlem i familjen har en smartphone (ledsen men detta är en förutsättning!): Låt oss ta användaren A, som har en Android-telefon.
På den här telefonen är en app som följer deras nuvarande plats (app fungerar på iOS också). När app upptäcker användare A har ändrat läge, skickar den aktuella positionen (geografiska koordinater) till en server. Det protokoll som används är MQTT, så servern kallas "mäklaren" och app på smartphone "publicerar" till den.
En node.js program som körs på en server har "prenumererar" på varje uppdatering för användare A, så den får kännedom om denna nya position. Servern vet de geografiska koordinaterna för varje möjlig plats för användare A: hemma, på jobbet, etc. Det jämför nuvarande position till dessa data och sluter sig till användarens plats. Det gör därefter ett API-anrop på Spark molnet att klockan ändras.
Hur servern vet koordinaterna för varje möjlig plats för denna användare? Det hämtar dem från en MySQL-databas var sjätte timme, så om en användare ändrar sin favoritrestaurang eller sin arbetsplats, koden fortfarande fungerar, de har bara uppdatera koordinaterna i databasen
Nu när det allmänna arbetsflödet är klart, kan vi komma igång!
Material som behövs
Som nämnts ovan, bör du kunna använda olika hårdvara eftersom de flesta av de verktyg vi använt stöd en hel del plattformar. Vi rekommenderar dock följande:
- Raspberry PI
- Spark kärna: detta projekt tar fördel av mycket specifika funktioner som erbjuds av Spark molnet
- 74HC595 SKIFT register... men vi kommer tillbaka till det snart nog!
- Lysdioder: massor av dem! I vårt fall väljer vi att spåra fem familjemedlemmar. Var och en har sin tilldelade färg (röd/blå/vit/gul/grön) och kan vara i 12 olika platser (en av dem att vara "Okänd") så det är 60 lysdioder
- Hölje: sedan den intressanta delen av detta projekt är, enligt vår mening, den elektroniska delen, övergripande byggprocessen av höljet inte är mycket väl detaljerat (eftersom vi inte gjorde det så bra som vi ville också!). Den interna strukturen var klar med plywood och externa skulle göras med akryl
Med 12 olika platser kom från inspiration till projektet, klockan från Harry Potter, men du kan enkelt ändra detta till något annat, och ändra höljet därmed