!UIT 2012
Frack gaat op de !UIT-markt van 2012 (op 9 september 2012) de Poerbêst Button maken. Dit wordt een knop die bij elke stand op de markt geplaatst wordt. Bezoekers wordt gevraagd wanneer ze een stand leuk vinden (of om andere redenen?) op de knop te drukken. Centraal op de markt worden deze drukacties geregistreerd en gepresenteerd op het grote scherm.
Contents
Presentatie van resultaat
- Tagcloud op het grote LED-scherm
- Stands die een 'like' krijgen worden naar het midden van het scherm bewogen
- Recent veelgedrukte stands worden groter afgedrukt (15 minuten 'reset' timeout)
- Totaalteller voor het aantal stemmen, zonder individuele telling per instelling
Gerelateerde activiteiten
Naam | Datum en tijd | Omschrijving |
---|---|---|
!UIT Eerste werkdag | 22 juli 2012 om 15:00 | Eerste werkdag van het project !uit 2012. We kunnen bespreken wat we precies nodig hebben om dit project mogelijk te maken zodat het besteld kan worden |
!UIT 2012 Tweede Werkdag | 26 augustus 2012 om 13:37 | Met nog 2 weken voor de boeg moet er flink gehacked worden om dit project tot een goed einde te brengen. DEADLINE voor definitief ontwerp en actiepunten om 15:15 |
!UIT 2012 Werkdag 3 | 28 augustus 2012 om 20:00 | Avondje verder knutselen, prototype testen. |
!UIT 2012 Werkdag 4 | 30 augustus 2012 om 20:00 | Verder knutselen |
!UIT 2012 Werkdag 5 | 2 september 2012 om 14:00 | DEADLINE prototypes en testopstelling. Vandaag moeten een aantal knoppen op minimaal 1 aggregatiepunt zijn aangesloten en moet er op de PC zichtbaar zijn dat alles met elkaar wil babbelen. |
!UIT 2012 Evaluatie | 11 september 2012 om 20:00 | Even napraten over wat er goed ging en wat beter kan |
Actiepunten
Bron | Actiepunt | Eigenaar |
---|---|---|
!UIT 2012 Werkdag 4 | Arduino POST Request werkend gekregen. | Lijnenspel |
!UIT 2012 Werkdag 4 | Eerste opzetje frontend voor op de beamer klaar. | Lijnenspel |
Status tot nu toe
Er is besloten om 25 knoppen te maken van 1 meter PVC-buis, op een houten voet (all weather hout in de aanbieding) van ongeveer 25x50cm. De bovenkant van de buis komt een gewone stevige rioolpijp-dop op. Op deze dop komt een deurbel als knopje. Een aantal van deze knoppen zullen gecombineerd binnen komen op 1 microcontroller (in een kistje met 230V en ethernet). Een 5-tal Arduino's moet genoeg flexibiliteit geven om alle 25 knoppen een beetje fysiek handig te combineren. Via ethernet komen de tellertjes uiteindelijk bij een centrale pc waarop alle tellers worden bijgehouden.
Het prototype wordt op 26 augustus in elkaar gezet. Het hout voor alle palen is gekocht en op maat gezaagd (gratis, dankzij
z'n glimlach). Er zijn Arduino's en ethernetmodules onderweg, dezelfde die
heeft gebruikt voor z'n eigen project, dus moet snel aan de praat te krijgen zijn. De PC moet alleen nog even voorzien worden van een versie linux-install en is dan ook gereed voor actie.
Nog nodig
- Arduino-software
- PC-software
- Accu's/flinke batterijen/230V -> 5V/stroomvoorziening knoppen
- Goedkeuring definitief ontwerp knop
- Knoppen/deurbellen
- Beslissen over presenteren van gegevens
- Kabelplan
- Switches
- wat we nog aan het vergeten zijn
- Behuizing aggregatiepunten
- Chinees doosjes?
Kostenraming Poerbêst Button
Knoppen
25 stuks nodig
- Button – EUR 3,-
- Arduino/dk-duino – EUR 13,50 (per stuk EURO 2,70)
- SPI -> Ethernet uC - ENC28J60 – EUR 3,- (per stuk EURO 0,50)
- Fysieke button
- Rioolpijp – 125mm diameter bij 5m 16,- euro (per stuk EURO 3,20)
- Einddop – EURO 2,-
- Stukje hout – EURO 2,-
- Klein ijzerwerk – EUR 3,-
- Totaal per knop: EUR 16,50
Totaal: EUR ~410
Infrastructuur
Door gebruik te maken van kleine aggregatiepunten van kortsluitsignalen die daarna via Ethernet naar de centrale machine gestuurd worden kunnen we met een paar duurdere onderdelen een deel bekabeling besparen. Er is alleen stroom en netwerk nodig bij de aggretiepunten, vanaf daar kan er met feitelijk elk twee-aderig kabeltje een knop aangesloten worden op het systeem.
Grove schatting: needs work!
- 800 meter UTP voor het netwerk van aggregatiepunten (combi van ster+daisychain)
- 25x 5-50 meter tweeling snoer (resten telefoonsnoer, gestripte ethernetkabel, anything)
Beschikbare Kabel
- Voor de communicatie tussen de arduino en het centrale punt is er voldoende UTP
- Kabels die beschikbaar is voor de verbinding tussen de arduino en de knop media:Kabellengtes.ods
Technische uitwerking
Arduino's
De Arduino's zijn uitgerust met een ENC28J60 module. Dit zijn geen shields, maar met een beetje uitzoekwerk kom je er achter dat JeeNode (arduino kloon) dezelfde chip gebruikt voor hun EtherCard. Na veel spelen werkte de EtherCard library en dus ethernet op de Arduino ook. Dit hebben we nodig om de likes door te sturen naar de database door middel van een POST request naar de REST API. In de repository (projects/uitmarkt/arduino/jsonpost/jsonpost.ino) kun je de code vinden van arduino code.
CouchDB
De achterliggende database waar de 'likes' op binnenkomen is CouchDB. Dit omdat deze database een REST API heeft en ondersteuning voor de pushen van database verandering naar de frontend. Zo kunnen we de webpagina waar de teller opstaat realtime laten mee veranderen met de binnengekomen 'likes'. Ook wordt de frontend webpagina gehost in Couchdb op basis van het Couchapps principe. In de repository (projects/uitmarkt/couchapp/) staat de code voor de couchapp. Om de couchapp in de couchdb database te zetten heb je een handig tooltje nodig genaamd 'soca'. Hoe wel de couchdb in productie lokaal zal draaien, is een kleine preview te zien op een externe couchdb.
Configuratie verschillende arduino's
Alle Arduino's hebben een statisch ip adres en pinnen 0 tot 9 hebben uniek 'pollid' wat verstuurd word naar de Couchdb. Het pollid is gebasseerd op het Arduino nummer en de pin waarop de paal is aangesloten. Pin 2 op Arduino 3 is dus pollid 32.
- 192.168.42.10 arduino 1 (pollid = pin+10)
- 192.168.42.20 arduino 2 (pollid =pin+20)
- 192.168.42.30 arduino 3 (pollid = pin+30)
- 192.168.42.40 arduino 4 (pollid = pin+40)
- 192.168.42.2 server
- 192.168.42.3 client
- 192.168.42.50+ laptops/pc's
FrontEnd
De frontend is volledig javascript/html5. Om de verandering van de database realtime in te zien wordt er gebruik gemaakt van jQuery.couch. Om de taartdiagram te laten zien wordt er gebruik gemaakt van Raphael.
Planning deze week
Dinsdag
Communicatie Arduino fixen (Lijnenspel)Backend afmaken (couchdb) (Lijnenspel)"Arduino-palen" voorzien van extra kabeldoorvoer en manier verzinnen binnenin te bevestigen (Fludizz)Mail naar orga met vragen over weggevallen standjes
Donderdag
Arduino code afmaken (detecteer knop, stuur POST) (CrazyA)PC/laptop klaarmaken voor backend (CrazyA/Lijnenspel)Knopjes schroeven (Fludizz/Iisschots)Paalbekabeling in orde maken (Fludizz/Iisschots)Frontend afmaken (functioneel, ook al shiny?) (Lijnenspel/FruitCake)- Final check alle componenten (iedereen :) )
Vrijdag
Tweaking front-endExtra test connectie paal naar front-endSuper last minute alle problemen en foutjes van de donderdag oplossenKnopjes schroeven (Pepo/...)Paalbekabeling in orde maken (Pepo/...)
Uitmarkt zelf + op&afbouw
Zaterdag
- Vanaf een uur of 10 opbouwen
- Exacte plaats bepalen Arduino's en palen
Arduino's "uniek" maken in code, ip-adressen instellen (192.168.42.xxx)- Accesspoint instellen
- Kabels neerleggen, stukken koppelen
- 13:00 Uitmarkt wil graag eventjes bespreken wat onze plannen zijn met de stroompunten. 13:00 uur (bij de koperen tuin, het cafe in de Prinsentuin). Afspraak met Sanne (Iisschots/Will-do/Martijn)
- Voor de nacht groot deel van de kabels (met labels) weer even opbergen
- Arduino's labelen van 1-4 en van bijbehorende code (in de repo) voorzien.
- Personen die helpen met opbouw + vanaf hoe laat:
- , vanaf 10 uur tot $etenstijd oid
- Lijnenspel, van 10-13.Jelle (Lijnenspel) Rol: niet-deelnemer Deskundig met: Arduino, Programmeren, Sammy Werkt aan: Geen projecten :(
- , van 10-hoe lang nodig
Zondag
- Vanaf 9 uur alle kabels terugleggen
- Palen neerzetten en aansluiten
- Laptop/pc opzetten
- Definitie couchapp code op server dmv. soca.
- Infrastructuur in de lucht brengen
- Win!
- 17 = afsluiting, vanaf dan opruimen
- Personen die aanwezig zijn bij de uitmarkt:
- Will-Do, vanaf 9 uur, weet nog niet tot hoe laat. Kan zijn dat ik 's avonds in Den Haag ga zijn, zoja, vertrek ik rond 17 uur
- vanaf 13:00
- Lijnenspelvan 12-17Jelle (Lijnenspel) Rol: niet-deelnemer Deskundig met: Arduino, Programmeren, Sammy Werkt aan: Geen projecten :(
- FruitCakeKan de ochtend wel, beetje brakkerig waarschijnlijk. Rest van de dag nog geen concrete plannen.Guido Bouman (FruitCake) Rol: niet-deelnemer Deskundig met: Javascript, Pannenkoeken, Sammy Werkt aan: Geen projecten :(
- Vanaf 9 uur tot einde
Foto's
Leerpunten
- Volgende keer duidelijk Frack standje.
- Niet alleen aan technische gedeelte denken bij ontwikkeling, ook aan standje.
- Beter herkenbaar promo-materiaal / shirtjes.
- Eerder beginnen aan het hoofdproject, vanaf begin enthousiasme, we begonnen nu pas vrij laat.
- Rekening houden met andere projecten en vakanties e.d. bij plannen van tijd
- Opbouw/afbouw makkelijker maken door betere voorbereiding. Stekkertjes aan kabels bijvoorbeeld.
- Hoger budget of meer tijd hiervoor nodig.
- Volgende keer rustiger kijken naar budget, eventueel paar dagen de tijd nemen.
- Hoger budget of meer tijd hiervoor nodig.
- Duidelijker presenteren wat like button is, eerder foto's, contact met stand-houders.
- We hadden nu 4 schermen met grafieken, beter zou zijn: 2 met uitleg en 2 met output van schermen.
- Gebruikers verwachtten feedback (lampje/belletje als je drukt)
- Beter overzicht tijdens opbouw / 1 manager oid
- Eventueel uitbouwen tot volledig af-project zodat het ook naar andere festivals kan