Hos Touchlogic samledes hele kontoret om at hacke dørtelefonen og gøre den fjernstyret, så den lange tur til buzzer-knappen nu kan spares væk, hver gang nogen skal ind af døren. Den bekvemmelighed har de lavet en guide til, så andre nørder kan nørkle med.

Hos app-udviklingsvirksomheden Touchlogic er man en tæt sammenslutning af udviklere, der sætter en dyd i af nørde om ting, der for eksempel kan gøre hverdagen på kontoret lettere. Sådan en idé materialiserede sig for nylig, da virksomheden afholdt Hack Days på kontoret.

”Temaet var denne gang ”den virtuelle receptionist” i form af små ændringer på kontoret, der kan skabe større værdi for kontoret og vores kunder. Temaet bundede også i ”the internet of things” og hvordan flere og flere af vores apparater bliver digitaliserede og netværksbaserede. Alt kan i dag fjernstyres og gøres smarte. Derfor besluttede vi os at prøve og hacke vores dørtelefon og gøre den fjernstyret over smartphonen,” siger Emil Schjelde, kommunikationsmedarbejder hos Touchlogic.

Nysgerrighed om “Android Things”

På den måde spares turen hen til døren for at trykke på knappen, når nogen skal ind på kontoret. Det lyder måske som meget arbejde for en lille tidsmæssig besparelse. Men når man som folkene bag Touchlogic kan lide at nørkle med små nørdede projekter, kan et konkret resultat som dette være kulminationen på en sjov og lærerig process i selskab kollegaerne.

”Årsagen kunne have været en række bekvemmelighedsgrunde – og var det delvist – men for vores vedkommende, var det primært for at kigge nærmere på ”Android Things”, og fungere som et ”proof of concept”, siger Andreas Alstrøm Sørensen, der sammen med Anders Kierkegaard står bag projektet.

Og de erfaringer vil Touchlogic gerne dele med ligesindede. Derfor har de efterfølgende udarbejdet en guide, der beskriver processen.

Gik i krig med dørtelefonens mave

Fra start valgte man at afgrænse sig til at fokusere på dørtelefonens knap, som benyttes til at åbne dørene ned til gaden. Målet blev at lave et system, hvor man igennem en mobil applikation kunne lukke gæster ind uden nogen fysisk kontakt med dørtelefonen.

”Vi startede med at tage et kig ind i maven på telefonen for at se hvilken mekanisme den brugte til at signalere døråbning. Det viste sig at være et stykke plastik (den fysiske knap), der trykker en metal klips ind på en base. Herved skabes en forbindelse, der så sender et signal til dørene om at åbne”, siger Andreas Alstrøm Sørensen, Junior Android Udvikler hos Touchlogic.


Indeni Touchlogics dørtelefon.

Det stod derfor klart, at der var behov for en form for digital kontakt mellem de to komponenter.

Men hvad er så “Android Things”?

Til at løse den opgave valgte Touchlogic at anvende en Raspberry Pi 3, hvorpå Android Things blev installeret.

”Android Things er langt hen af vejen en Android pendant til den populære Arudino platform, der gør det nemt at lave kode, som kan interagere med den fysiske verden gennem sensorer, motorer, lys og lignende. Android Things er en simplificeret udgave af det traditionelle Android styresystem, målrettet internet of things enheder, der gør at det imødekommer de hardware specs, som Internet of things enheder typisk har. Det kan installeres på mange forskellige boards herunder den populære og prisvenlige Raspberry Pi 3,” forklarer Andreas Alstrøm Sørensen.

Med Android Things er udviklingen fuldstændig tilsvarende den traditionelle udvikling til Android, hvilket giver mulighed for at benytte de samme API’er, hvilket også har været tilfældet ved dette projekt.

Videre til prototypen

Med opsætningen af Android Things klaret var det tid til at bygge den digitale kontakt.

”Til at starte med lavede vi opsætningen på et breakboard for at sikre, vi nemt kunne skifte komponenter og lave målinger på kredsløbet. Vores store bekymring ved projektet var, at systemet ville riste dørtelefonen. Vi brugte derfor et multimeter til at foretage rigeligt med målinger, inden vi koblede det til dørtelefonen,” siger Andreas Alstrøm Sørensen.

Den endelig opsætning blev inspireret af et projekt fra Arduino Starter Kit. Det specifikke komponent, som styrer hvornår der skal være forbindelse hedder Optocoupler, og fungerer som et relæ. Ved et sende et signal kan man så styre, om den skal skabe forbindelse i det tilkoblede system.


Prototypen

Firebase som backend

Endelig skulle der findes en måde, hvorpå kontakten kunne fjernstyres. Til at kommunikere med Android Things enheden og slå kontakten til og fra, valgte Touchlogic Firebase Realtime Database.

”I og med at Android Things er baseret på Android, kan man også bruge mange af de almindelige Android libraries, herunder Firebase. Fordelen ved at benytte Firebase til dette projekt var, at der ikke ville opstå et behov for at oprette en direkte forbindelse mellem mobil applikationen og Android Things applikationen. Og samtidig kunne vi udnytte Raspberry Pis mulighed for at forbinde til Wi-fi. Selve databasen, vi oprettede, var utrolig simpel og bestod af en enkel boolean, der fortalte om dørene skulle åbne eller lukke,” siger Andreas Alstrøm Sørensen.

OnClickListener, Handler og andre fikse elementer

Hos Touchlogic endte man med følgende opstilling:

I mobilapplikationen var alt der skulle tilføjes en database-reference med en ”ValueEventListener” for at sikre applikationen konstant kender dørenes tilstand.

Til at ændre dørens tilstand, blev der tilføjet en knap med en ”OnClickListener”, hvor man ændrede database-værdien.

I Android Things applikationen, skulle der første oprettes en forbindelse til systemet. Herefter oprettede Touchlogic en metode til at styre tilstanden af Optocoupleren. Der blev ligeledes oprettet en database-reference og sat en ValueEventListener, hvor den nye værdi fortalte om dørene skulle åbne eller lukke. Der blev også tilføjet en Handler, der afbrød systemet efter 2 sekunder. På den måde kan man sikre sig, at en afbrudt forbindelse ikke resulterer i døre, der konstant åbner.

Har lagt en fuld guide ud til andre nørder

Til sidst blev prototypen testet, inden den fungerende version blev skabt i et mere færdigt look.


Det færdige resultat

“Da vi havde færdiggjort testen af vores prototype, og havde en fungerende version, besluttede vi at bygge en “pæn” version. Vi gik fra et breadboard, til en printplade, og fik hele opsætningen til at passe i den officielle Raspberry Pi-case,” siger Andreas Alstrøm Sørensen.

Den fulde guide, der også indeholder den anvendte kode, kan læses på Touchlogics blog.