Hanne lager IoT-bonger for Oslo Pride

Meldte seg som frivillig, endte opp med å digitalisere bongene. - Tror ikke jeg har hatt det så gøy på mange år!

Hanne Johnsen jobber som utvikler i Bouvet, men har den siste tida utviklet et bongsystem for Oslo Pride som frivillig. 📸: Privat
Hanne Johnsen jobber som utvikler i Bouvet, men har den siste tida utviklet et bongsystem for Oslo Pride som frivillig. 📸: Privat Vis mer

Festivalen Oslo Pride foregår denne uka i hovedstaden.

"Oslo Pride er Norges største og viktigste feiring av skeiv kjærlighet og mangfold" skriver festivalen på egne nettsider.

"Hundrevis av frivillige ildsjeler går sammen om å arrangere en ti-dagers festival hvor alle får være akkurat den man er."

Én av disse frivillige er utvikleren Hanne Johnsen i Bouvet. Og da hun fikk jobben som backstage-ansvarlig, inkludert å ha orden på drikkebongene artister får utdelt, så hun en mulighet til å gjøre det hun kan best: Kode.

Slik digitaliserte hun årets bongsystem på Oslo Pride - med Azure, IoT-teknologi, LED-lamper og laserkuttere.

Hanne Johnsen har alltid likt dingser og ting som lyser, noe prosjektet bærer preg av. 📸: Privat
Hanne Johnsen har alltid likt dingser og ting som lyser, noe prosjektet bærer preg av. 📸: Privat Vis mer

Hva har du bygd, og hvorfor?

Jeg meldte meg som frivillig for årets Pride for første gang i år, og fikk jobbinstruksen som backstageansvarlig, som inkluderer å holde styr på drikke som gis ut, som en liten bar – og holde oversikt over raidere.

«Jeg er veldig interessert i dingser, ting som blinker og praktiske løsninger som gjør livet enklere.»

Her fikk jeg plutselig ideen om å digitalisere bongsystemet de hadde. Jeg er stor fan av å erstatte papir, og tenke at kanskje det hadde vært «smoothere» å digitalisere det. Det skal sies at jeg også er veldig interessert i dingser, ting som blinker og praktiske løsninger som gjør livet enklere.

Jeg har derfor laget et system for raiderhåndtering backstage til Oslo Pride. Maskinen gir artister som skal delta på Pride et kort med en RFID-brikke, istedenfor å gi ut papirbonger til baren.

Til dette har jeg laget en boks med WEMOS-mikrokontroller, en NeoPixel-ring og en RFID-leser for å lese kortene. Når et kort er lest, vil LED-ringen lyse opp i regnbuefarger, chipen sender en request til en Azure function, som sender et signal til en SignalR-hub. Leser den et kort den ikke kjenner, vil det danse røde lys over boksen.

Hanne Johnsen i sving med å prototyper av den fysiske boksen. 📸: Privat
Hanne Johnsen i sving med å prototyper av den fysiske boksen. 📸: Privat Vis mer

Hvor lenge har du jobbet med dette hobbyprosjektet?

Ideen om maskinen kom til meg på et internt arrangement med Bouvet. Jeg snakket med mine kollegaer Martin Gravråk og Jesper Andersson om konseptet, og de likte det. De er begge aktive på Bouvet-labben i Oslo, og de foreslo at jeg kunne komme på labben for å teste litt og se hva man kunne få til. Jeg tok dem på ordet.

Deretter jobbet jeg videre med ideen og tegnet systemskisser over hvordan jeg ville at systemet skulle fungere. For å administrere systemet med en datamodell lagde jeg en webapp.

For å se om jeg kunne ta ideen et steg videre, «hardwaremessig», dro jeg til labben på jobben. Min kollega Jesper Andersson foreslo at jeg kunne bruke en WEMOS D1 mini-chip, som er veldig liten og har WiFi, i tillegg til en NFC-leser. Vi fant en LED-ring som var litt ødelagt, som jeg prøvde å få til å fungere, men den var grillet. Dro derfor og kjøpte litt forskjellige LED-ringer. Et lite usponset tips: Kjell og Co har alt!

Jeg laget først en prototype for å se om ideen ville fungere. Videre forsøkte jeg meg på litt forskjellige fremgangsmåter, for å se hva som ville fungere best, med tanke på elementer som lys og plassering.

Slik ser de digitale bongene under Oslo Pride ut. 📸: Privat
Slik ser de digitale bongene under Oslo Pride ut. 📸: Privat Vis mer

Når maskinen fungerte, og jeg hadde klar en referansemodell, dro jeg på labben hos Bouvet og loddet maskinen sammen. Labben hadde alt av utstyr som jeg trengte, og det fungerte veldig bra å jobbe med systemet der.

Jeg fikk hjelp av min kollega Martin Gravråk, som tok meg med på Bitraf for å lage boksene som systemet skulle være i. Vi lagde to bokser, slik at vi hadde backup, i tilfelle en går i stykker eller ikke fungerer med CNC-maskinen og laserkutteren. Boksen ble utrolig «smooth» i valcromat og pleksiglass.

Den ene boksen er liten, og i den originale gråtonen. Den andre sprakk litt, så jeg måtte sparkle, grunne og male den, dermed økte også størrelsen. Jeg er ikke en god spraymaler, så det ble et par omganger med pussing og maling. Boksen ble tilslutt glossy og svart. Nå har jeg lært hvordan få til det også!

Hanne Johnsen fikk samlet all teknologien i én pen boks. 📸: Privat
Hanne Johnsen fikk samlet all teknologien i én pen boks. 📸: Privat Vis mer

Hvordan henger prosjektet sammen?

C#, Azure og React på webapps og backend, C++ på boksen. FastLed for å animere lys. En blanding av Azure IoT Hub og Serverless Azure Functions for kommunikasjon fra boksen til backend, og SignalR fra Azure Functions til webapps.

For at koden skal «deployes» hver gang jeg sjekker inn, satt jeg opp hele systemet i Azure DevOps, på den måten har jeg har oversikt over all kode, til enhver tid.

LED-lys i regnbuefarger slår aldri feil, men passer ekstra bra under Pride. 📸: Privat
LED-lys i regnbuefarger slår aldri feil, men passer ekstra bra under Pride. 📸: Privat Vis mer

Hva har vært den største utfordringen hittil?

Jeg hadde ikke gjort mye med lys og LED før. Det tok en del testing samt forskjellige biblioteker og teknikker til før jeg fikk til å lage en fin regnbue og de andre lysanimasjonene jeg har laget til systemet.

Et par ganger holdt jeg på å gi opp fordi systemet krasjet hver gang jeg slo på lys og leste kort samtidig, og den sluttet å fungere helt når jeg skulle implementere Azure IoT-hub. I en periode mistet jeg også all kontakt med nett, og etter det datt en ledning ut.

Men jeg ga ikke opp og nå fungerer alt ypperlig. Når ting er «crap», ingen ting fungerer og man holder på å kaste hele prosjektet ut av vinduet ... Ta deg en pause, gå en tur, og så ordner alt seg til slutt! 😊

Hanne Johnsen fikk prøvd seg på det meste under prosjektet. 📸: Privat
Hanne Johnsen fikk prøvd seg på det meste under prosjektet. 📸: Privat Vis mer

Hva er du mest stolt av i forbindelse med prosjektet?

Det ble innmari kult, om jeg får lov til å si det selv – særlig med tanke på regnbuefargene som blinker på boksen når man registrerer chipen. Jeg har vist den frem, og fått gode tilbakemeldinger så langt.

Oslo Pride syntes dette var et spennende initiativ, med tanke på miljøperspektivet og effektiviseringen av festivalen. Jeg har tro på at det skal gjøre det veldig mye enklere for Pride å holde oversikt, samt at det vil redusere papirbruk.

Det har vært en god del jobb, men det har absolutt vært verdt det. Det har vært utrolig kult å faktisk realisere en ide man har sittet på lenge. Også litt gøy å bli møtt med reaksjon «ooooh, aaaah, regnbue!» når jeg viser den frem. 🌈

Hva er fordelene med å ha et hobbyprosjekt?

Det har vært en kjempespennende prosess! Tror heller ikke jeg har hatt det så gøy på mange år! Jeg fikk leke med masse maskiner, lodde, programmere, og gjøre en haug av ting jeg aldri hadde gjort før. Ved å lage et digitalt bongsystem har jeg også lært kjempemasse!

La nysgjerrigheten styre deg! Lys er gøy for eksempel, men det er sensorer også. Tenk at det finnes motorer, og tenk på mulighetene som dukker opp om man kunne få på et kamera og kjøre bildegjenkjenning?

Her er laserkutteren Hanne Johnsen brukte. 📸: Privat
Her er laserkutteren Hanne Johnsen brukte. 📸: Privat Vis mer

Du trenger bare ideen. Dra på labb (om du har det tilgjengelig), snakk med folk; kanskje de også kan hjelpe med å ta prosjektet videre. Bare start å lek med ideen, lag en prototype og viktigst av alt: Ha det gøy med det.

Husk at ingen ide er dum, og alt er mulig. Dra og se hva som skjer rundt om, kanskje det kommer en god ide når du er der! Begynn å tegne litt og drodle, og se hva du kommer frem til. Det hjelper også å ha en utfordring du ønsker å løse.

Programmering er moderne magi, og alt er mulig hvis man har nok tid og ressurser.