Under the hood (deel 1): Twitter data afhalen en afhandelen

In dit artikel wordt ingegaan op hoe er data van Twitter gehaald wordt en hoe die data afgehandeld wordt op de microcontroller.

Eerst wordt er een verzoek gedaan naar Twitter om zijn data beschikbaar te stellen, dit wordt gedaan door een WebRequest te maken naar de zoekpagina van Twitter. Je kan dit zelf proberen door dit in je browser te typen: http://search.twitter.com/search.json?q=    en daarachter hetgene naarwat je zoekt (voor hashtags %23HASHTAG).

Het resultaat van die pagina wordt afgehaald naar de microcontroller, waarna het geparset wordt, dit wil zeggen dat de microcontroller de nuttige info (zoals tweet ID, user, text) uit het resultaat wordt gehaald.

De code van bovenstaande text is te vinden op: http://pastebin.com/fHdBXUU8

 

Hier is een stukje code waar het bovenstaande 100 keer wordt uitgevoerd, achteraf wordt telkens de tijd weergegeven hoe lang dit duurde: http://pastebin.com/XvnibD4W

Aansturen I²C port expander

We gaan meer dan 140 individuele splitflaps moeten aansturen, maar het netduino board heeft maar 13+5 uitgangen, veel te weinig dus. Om dit probleem op te lossen gebruiken we een port expander chip. We gebruiken daarvoor de chip MCP23018. Dit is een 16-bit I²C port expander.

Deze chip werkt als volgt: Je moet 2 uitgangen van het netduino board aansluiten met de port expander. Het netduino board zegt dan tegen de port expander “zet op jouw eerste pin een 0, op jouw tweede pin een 1,…” Waarna de port expander dat doet. Zo kan je 2 pinnen “expanden” tot 16 pinnen.

We hebben natuurlijk meer dan 16 pinnen nodig. Daar komt het I²C protocol bij te pas. Dit zorgt ervoor dat we meerdere chips kunnen aansturen door die 2 pinnen. Iedere chip krijgt dan een adres. Het netduino board zegt dan “chip 1, zet pin 1 op 0″.

Dankzij de Netduino community is het ons gelukt om de port expander aan de praat te krijgen. Dit is een stukje testcode die 8 poorten van 1 chip laat wisselen tussen 0 en 1. 

En hier is een filmpje van de MCP23018 die een led aanstuurt.

Form admin

Via deze form kan je de map selecteren die op de SD kaart zal staan. Zo krijg je een lijst te zien van de verboden woorden en kan je eventueel woorden toevoegen, aanpassen of verwijderen. Ook de hashtag kan aangepast worden via deze form.

FREE STUFF!!

We hebben enkele bedrijven gecontacteerd om te vragen of ze ons project willen steunen door gratis samples op te sturen. De componenten die we vragen zullen gebruikt worden voor de sturing van de splitflaps.

- 1 voeding 12V 10A
- 8 16-bit I2c poort multiplexers (MCP23017 of TCA6416A)
- 16 NOT-poort IC’s (SN74HC04N)
- 80 H-brug IC’s (L293D of L293NE)

EBV Elektronik heeft laten weten dat ze ons de 80 H-bruggen en de 8 multiplexers schenken. De 80 H-bruggen zijn al verzonden, maar de 8 multiplexers hadden ze niet in stock. Die zullen verzonden worden van het moment ze in stock zijn.

Samples zijn toegekomen

We hebben enkele gratis samples van een multiplexer IC aangevraagd bij Texas Instruments. Deze IC zou gebruikt worden voor de schakeling van de sturing van de splitflaps. We hebben die samples donderdag aangevraagd en ze zijn zondag toegekomen. Als dat geen goede service is!

Spijtig genoeg is het het verkeerde package type. We hebben er nodig van SPDIP maar het was een SOIC. We hebben er dus nieuwe aangevraagd.

SOIC multiplexer

“Als je goed kijkt zie je zelfs een IC’tje tussen alle verpakking!”

Netduino board is toegekomen!

Het brein van de twitterfeed, het Netduino board, is toegekomen!

 

 

Wat is dit nu eigenlijk?
Dit is een microcontroller, een kleine computer die speciaal gemaakt is om hardware direct aan te sturen. Dit heeft enkele analoge poorten speciaal gemaakt om met IC’s te communiceren. Dit is volledig Open Source. Zowel de schema’s van de hardware als de broncode van de software is gratis te vinden en mag je aanpassen naar eigen goesting. We hebben een Netduino PLUS besteld omdat deze uitgave meer poorten heeft dan de normale Netduino.

Waarom hebben we dit nodig?
We gaan een programma schrijven in de programmeertaal C#. Dit programma zal op het .net framework draaien op het netduino board.  Dit programma zal online gaan en zal iedere tweet die gepost wordt doorgeven aan de sturing van de splitflaps.

Hello World

Wij zijn studenten van 2ICT aan kaho Sint Lieven en schrijven deze blog over ons project. We gaan een twitterfeed maken met splitflaps. Deze twitterfeed zal in het kantoor van USE-IT komen te staan.

Je kan het project ook volgen op github twitter splitflaps

 

Volg

Ontvang elk nieuw bericht direct in je inbox.