Taula de continguts:

Twitter Watcher, el #twatch: 6 passos (amb imatges)
Twitter Watcher, el #twatch: 6 passos (amb imatges)

Vídeo: Twitter Watcher, el #twatch: 6 passos (amb imatges)

Vídeo: Twitter Watcher, el #twatch: 6 passos (amb imatges)
Vídeo: Белый Тигр (4К , военный, реж. Карен Шахназаров, 2012 г., с субтитрами) 2024, Desembre
Anonim
Twitter Watcher, el #twatch
Twitter Watcher, el #twatch
Twitter Watcher, el #twatch
Twitter Watcher, el #twatch
Twitter Watcher, el #twatch
Twitter Watcher, el #twatch
Twitter Watcher, el #twatch
Twitter Watcher, el #twatch

El #twatch desplaça els últims temes de tendència de Twitter en una pantalla LCD. És un dispositiu de xarxa autònom que es manté actualitzat sense un PC. Va ser increïble veure #iranelection, Michael Jackson i altres esdeveniments històrics passant mentre desenvolupàvem el #twatch. Aquest document instructiu documenta el disseny i el maquinari de #twatch. A més d’un marcador de tendències de Twitter, el #twatch també és una motxilla genèrica d’ethernet LCD. Es mostraran llistes de reproducció, estadístiques de PC i altra informació amb programes com LCD Smartie. També es pot actualitzar de programari, de manera que mai no està obsolet. El #twatch és de codi obert, de manera que podeu descarregar els nostres dissenys i crear-ne els vostres. Seeed Studio té uns quants paquets LCD #twatch ethernet reunits per 45 dòlars, inclosos els enviaments a tot el món. Aconsegueix-los mentre durin perquè aviat no en farem més. Si us heu perdut aquest projecte, inscriviu-vos aquí per rebre notificacions de futures comandes anteriors de #twatch. Consulteu aquest article amb el format original a DangerousPrototypes.com, més discussió al fòrum #twatch. Enviarem un PCB #twatch gratuït si sou el primer a enviar un tuit al #twatch! Visió general del concepte El #twatch agafa els darrers temes de tendència de Twitter i, a continuació, carrega uns quants tweets per a cadascun. Els temes de moda i els tuits es desplacen per una pantalla. El #twatch agafa tendències i tweets nous cada cinc minuts perquè vegis sempre els últims temes de tendència. També hem afegit un mode de motxilla Ethernet genèric, de manera que #twatch també pot mostrar estadístiques de PC des d’un programa com LCD Smartie, més informació sobre aquesta característica a la part 2.

Pas 1: utilitzar-lo

Usant-lo
Usant-lo

El #twatch és fàcil d'utilitzar.

  • Connecteu-lo a una xarxa Ethernet domèstica amb accés a Internet. El #twatch requereix una configuració de xarxa automàtica (DHCP), aquest és el valor predeterminat de gairebé totes les xarxes domèstiques modernes.
  • Enceneu-lo. El #twatch requereix una font d'alimentació de CC de 6-7 volt. Utilitza un endoll de corrent continu de 2,1 mm, el tipus més comú. Les fonts d'alimentació DC universals han d'incloure un endoll de 2,1 mm.
  • Ajusteu el contrast. Les pantalles LCD canvien amb la temperatura i l’edat; utilitzeu el cargol d’ajust per ajustar el contrast de la pantalla.
  • El #twatch configurarà la configuració de la xarxa i començarà a desplaçar-se pels darrers temes de tendència i alguns tuits de cadascun. És possible que hàgiu de tornar a ajustar el contrast per obtenir l’efecte de desplaçament més net.

Obteniu actualitzacions de #twatch al bloc Dangerous Prototype.

Pas 2: maquinari

Maquinari
Maquinari
Maquinari
Maquinari
Maquinari
Maquinari

Hem utilitzat la versió freeware de Cadsoft Eagle per fer el circuit i el PCB. Descarregueu els fitxers més recents de la pàgina del projecte Google Code. Aquesta secció va perdre força format a Instructables; podeu veure la versió original aquí. Microcontrolador Ethernet PIC 18F67J60 El Microchip PIC 18F67J60 és perfecte per a aquest projecte perquè combina una interfície de xarxa ethernet i un microcontrolador de 41 MHz (10 MPIP) en un petit paquet per només uns pocs dòlars. Només ve en paquets de 64 pines + TQFP, però no hem tingut cap problema en soldar-lo a mà a un PCB professional. El PIC requereix una font d’alimentació de 3,3 volt. La porció Ethernet té molta gana, de manera que hem utilitzat un regulador gegant TO-220 LD117-3.3volt (VR1). Vam escollir un regulador important perquè podria haver de dissipar una gran quantitat de calor en funció de la font d'alimentació d'entrada. El regulador requereix un petit condensador de desacoblament d’entrada (C15) i un condensador de sortida de 10uF gran (C3). Hi ha una gran captura amb aquests xips: només es poden programar unes 100 vegades. Això dificulta el desenvolupament, de manera que també vam dissenyar una versió de desenvolupament del #twatch basada en un xip diferent. Més informació sobre aquest disseny en un futur article: cada pin de potència PIC rep un condensador de desacoblament de 0,1 uF (C17-C23). El PIC té un regulador intern de 2,5 volts per al nucli de microcontrolador i Ethernet, el regulador requereix un condensador de tantalio 10uF (C1). El PIC es programa mitjançant una capçalera ICSP de 5 pines. El pin de reinici MCLR es manté elevat amb una resistència de tracció de 10K (R21), una resistència addicional (R4) i un condensador (C16) recomanats per la fitxa tècnica que proporcionen protecció contra diverses condicions de restabliment accidentals. Q1). Dos condensadors de 33pF (C4, C5) completen el circuit de l’oscil·lador. Hem utilitzat una presa Ethernet amb magnètica integrada (J2). El jack és un HanRun HR911105A, proporcionat per Seeed Studio. Assegureu-vos d’obtenir el mateix jack, un jack compatible o ajustar el PCB per un jack que pugueu trobar. La interfície Ethernet requereix un circuit de terminació (R30-33, C10-11, L1) i una resistència de biaix de l'1% de 2,28 Kohm (R7, no es mostra). LCD de caràcters HD44780 El #twatch és compatible amb un LCD "estàndard" 4line per 20character de 5 volts HD44780 LCD amb retroiluminació de + 5 volt. Normalment els podeu trobar a eBay aproximadament per 10 dòlars. Assegureu-vos de verificar que el vostre LCD coincideix amb el pinout #twatch abans de connectar-lo. La majoria dels LCD són iguals, però no tots. Gairebé tots els LCD de caràcters funcionen a 5 volts, de manera que proporcionem una font d’alimentació de 5 volt d’un regulador comú 7805 (VR2, C14, C2). La pantalla LCD amb retroiluminació podria utilitzar una gran quantitat de corrent, de manera que hem utilitzat un altre regulador To-220 gran. El C12 és un condensador de desacoblament per a la font d'alimentació LCD, però els LCD ja tenen desacoblament integrat. No cal omplir C12, només l’hem inclòs en cas de problemes d’estabilitat. Per obtenir una velocitat màxima d’actualització, la pantalla LCD es controla a través de la interfície completa de 8 bits. La majoria dels LCD són peces de 5 volts que requereixen uns 4,25 volts + per registrar un nivell alt als pins de dades., però el PIC 18F65J60 és només una part de 3,3 volt. Afortunadament, el PIC té un munt de pins tolerants de 5 volts perquè puguem mantenir el senyal a 5 volts amb una resistència de tracció de 10 K (R10-R19) i, a continuació, posar-lo a terra canviant la configuració de la direcció del pin del PIC. Normalment s’anomena sortida de drenatge obert. Alguns LCD més recents funcionen a 5 volts, però continuen funcionant a nivells d’interfície de 3,3 volt. El #twatch donarà suport a aquest mode si deixeu de banda R10-19, de manera que no passa cap tensió de pujada als pins i canvieu el firmware per canviar el registre LAT en lloc del registre TRIS a HD44780.c. El contrast de la pantalla LCD es controla mitjançant un voltatge de biaix, generalment generat amb un potenciòmetre de 10 Kohm. El PCB #twatch té petjades per a un test SMD de 3 mm (R2) de baix cost i un segon espai per utilitzar un test de forat més gran (R2A). Només se n'hauria d'omplir un. Per si de cas hi ha soroll a la font d'alimentació de totes les matèries ethernet, filtrem el voltatge de polarització a través d'un petit cordó de ferrita (L2). També hem inclòs un condensador per a filtratge addicional (C13), però no l’hem utilitzat, ja que en realitat no es necessita cap element. El PIC commuta un transistor (NPN1) a través d’una resistència limitadora de corrent de 240ohm (R3, no mostrat). Hem utilitzat un transistor que pot suportar 800 mA + amb un guany de 250 hfe +, de manera que el PIC pot canviar una càrrega gran amb el seu corrent de sortida màxim de 20 mA. Hem utilitzat una resistència de forat passant perquè pugui dissipar molta calor amb llums de fons grans i perquè és la mida més fàcil de trobar localment i soldar-se. Si la vostra llum de fons no necessita resistència, substituïu R1 per un tros de filferro. La nostra pantalla LCD requeria una resistència de 3 ohm per a una font d’alimentació de retroiluminació de 240 mA. Algunes llums de fons utilitzen molta energia, de manera que posem els pins d’alimentació just al costat de la font d’alimentació i reforçem el pla de terra amb un munt de VIA. Algunes llums de fons LCD de luxe requereixen circuits especials de disc, així que assegureu-vos que utilitzeu un subministrament senzill de +5 volt per evitar danys. Font d'alimentació El #twatch requereix una font d'alimentació de 6-7 volt mitjançant una presa d'alimentació de 2,1 mm (J1). Els endolls de 2,1 mm són la mida més comuna i haurien de venir amb totes les fonts d’alimentació universals. Com més alta sigui la tensió d’alimentació que utilitzeu, més calor s’haurà de dissipar de VR1 i VR2. Recordeu que el #twatch és un prototip de tauler d’aprenentatge, no és un producte comercial complet i provat. Preneu les precaucions de seguretat adequades i no feu-ho sense vigilància.

Pas 3: PCB i llista de parts

PCB i Partlist
PCB i Partlist
PCB i Partlist
PCB i Partlist

Hem utilitzat la versió freeware de Cadsoft Eagle per fabricar l’esquema i el PCB. Baixeu-vos els fitxers més recents de la pàgina del codi de Google del projecte. El PCB és un disseny de 2 capes amb petites traces i separació (10mil) al voltant del xip TQFP PIC de 64 pines. Vam preparar gerbers i els vam enviar al servei de PCB de Seeed Studio per a treballs de codi obert. Els PCB addicionals de la nostra comanda estan disponibles a la botiga de Seeed Studio. Si compreu els nostres PCB addicionals, assegureu-vos d’aconseguir el connector ethernet HanRun que s’adapta a la placa. Com que els orificis de muntatge de les pantalles LCD de 20x4 varien, no hem intentat ajustar la PCB als forats de la pantalla LCD. La vam fer el més petita possible, com la motxilla LCD sèrie de SparkFun, de manera que es mantingui fora dels forats originals. Com a efecte secundari, no és massa terriblement darrere d’una pantalla més petita com aquesta pantalla LCD de 16x2 a Adafruit. Llista de peces Feu clic per obtenir una imatge d'ubicació a mida completa [PNG]. Part | Valor | Paquet IC1 PIC 18F67J60 TQFP-64C1-3 Condensador de tantal 10uF, 10 volts + SMC_AC4, 5 condensador 33pF 0805C10, 11, C14-23 Condensador 0.1uF 0805ICSP 5x 0.1 "capçal pin masculí J1 2.1mm Presa d'alimentació SMD SMDJ2 HR911105A Connector ethernet RL2 cordó, 200ma + 0805NPN1 transistor NPN, 250hfe +, 800ma + SOT-23Q1 25MHz cristall SMD HC49UPR2 (A) resistència de retallada de 10K de 3 mm SMD o forat passant R3 resistència de 240 ohms 0805R4-6 resistència de 390 ohms 0805R7 2, resistència de 260 ohms, 1% 0805 21 Resistència de 10.000 ohms 0805R30-33 Resistència de 49,9 ohms, 1% 0805VR1 Regulador LDO 3.3volt (LD1117) TO-220VR2 7805T Regulador de 5 volts TO-220HD44780-LCD 20x4 HD44780 LCD de caràcters

Pas 4: Firmware

Firmware
Firmware
Firmware
Firmware
Firmware
Firmware

La darrera descàrrega completa del firmware #twatch es troba a la pàgina del projecte Google Code. El codi està escrit en C i es compila amb el compilador de demostració Microchip C18. Pila TCP / IP i funcions de xarxa base La pila TCP / IP 'gratuïta' de Microchip proporciona totes les funcions de xarxa que necessitem per existir en una xarxa domèstica i agafar dades de Twitter. La pila és de codi obert i gratuïta, però la llicència Microchip prohibeix la distribució. A causa de problemes de llicència, només posem el nostre codi font de domini públic al projecte Google Code SVN, apreneu a baixar i compilar el codi font aquí. servidor de la vostra xarxa local. El #twatch requereix un servidor DHCP, però la gran majoria de xarxes i encaminadors ho tenen activat. L'adreça IP, la màscara, la passarel·la i el primer servidor DNS es mostren a la pantalla LCD fins que hi hagi dades vàlides de Twitter. La pila també inclou el servidor d'anuncis de Microchip. Quan DHCP adquireix l'adreça IP, el #twatch anuncia la seva adreça IP amb un paquet de difusió a tots els equips de la xarxa local. Utilitzeu la utilitat MCHPDetect.exe a l’arxiu del projecte per veure aquests paquets. Finalment, hem inclòs un servidor de ping (IMCP). Utilitzeu qualsevol client ping per comprovar si el #twatch està viu a la xarxa. Client TCP de Twitter El programa següent de la tendència de Twitter és un client TCP simple, similar a un navegador web, que extreu dades dels servidors web. L’API de Twitter ens proporcionarà dades en diversos formats. Hem utilitzat el format JSON lleuger perquè és més fàcil que es descodifiqui el xip PIC de baix consum, fes un cop d'ull a JSONView si utilitzeu Firefox. Després que el #twatch configuri automàticament la configuració de xarxa, el client TCP de Twitter pren el control i agafa els temes actuals de tendència.. Cerca a través d'aquest feed de dades JSON i busca l'etiqueta "nom". Es copien fins a 10 temes de tendència en un buffer de 225 bytes. Una matriu independent emmagatzema la posició final de cada tema a la memòria intermèdia perquè puguem recuperar-los al pas següent. A continuació, el #twatch busca a Twitter 2 tweets per a cada tema. Afegeix cada tema al final de l'URL de cerca JSON de Twitter, els caràcters especials com els espais i la puntuació estan codificats per URL. El client TCP analitza els resultats de la cerca i cerca els tweets que segueixen l'etiqueta "text". Els tuits tenen diverses capes de codificació. Decodifiquem caràcters reservats en HTML com ampersand (&) i cometes (") perquè la pantalla LCD els pot mostrar. Eliminem els caràcters internacionals UTF8 perquè la pantalla LCD HD44780 no els té dins del seu conjunt de caràcters. Els tuits analitzats i descodificats s'emmagatzemen a un buffer de 2100 bytes, una matriu addicional marca l’inici i el final de cada tweet del buffer. L’espai RAM era un gran problema al xip 18F67J60, només té uns 4.000 bytes en total, però el buffer de 2100byte sembla prou gran per gestionar 20 de mida mitjana Vam tenir una cura especial per protegir-nos contra problemes de memòria i vam provar el client en condicions de memòria RAM reduïdes per assegurar-nos que falla amb gràcia durant els errors. Twitter és ben conegut pel seu temps d’aturada ocasional. connecteu-vos a Twitter, mostra un missatge d'error de connexió i torna a intentar-ho dues vegades. Si no es pot connectar després de tres intents, espera cinc minuts abans de tornar-ho a provar. Això dóna a Twitter l'oportunitat de solucionar els problemes sense ser martellat per #twatch q El #twatch agafa tendència fresca i s’alimenta de tuits cada cinc minuts. Twitter posa un límit al nombre de consultes que pot fer un client, així que tingueu cura de refrescar-vos més sovint. Twitter permet 150 actualitzacions de temes de tendència per hora i consultes de cerca "significativament més". Servidor TCP en mode de motxilla LCD de xarxa El #twatch també pot mostrar informació d’estat del sistema de programes com LCD Smartie. El #twatch té un servidor TCP al port 1337 que accepta ordres amb format Matrix Orbital. Això també proporciona control sobre la llum de fons LCD. Us mostrarem com redirigir LCD Smartie des d’un port COM al servidor #twatch TCP a la segona part del nostre article sobre #twatch.

Pas 5: carregador d'arrencada per a actualitzacions de microprogramari de xarxa

Carregador d'arrencada per a actualitzacions de microprogramari de xarxa
Carregador d'arrencada per a actualitzacions de microprogramari de xarxa
Carregador d'arrencada per a actualitzacions de microprogramari de xarxa
Carregador d'arrencada per a actualitzacions de microprogramari de xarxa
Carregador d'arrencada per a actualitzacions de microprogramari de xarxa
Carregador d'arrencada per a actualitzacions de microprogramari de xarxa

El #twatch es pot actualitzar des d’un PC a la xarxa local gràcies al carregador d’arrencada d’Internet de Microchip. Recordeu que els PIC Ethernet 18F només es poden programar una mitjana de 100 vegades, de manera que les actualitzacions són una mica limitades. Encara hem esgotat un xip, però només hem assolit uns 55 cicles durant el desenvolupament. Si utilitzeu un nou xip, haureu de programar el carregador d’arrencada al PIC18F67J60 mitjançant la capçalera ICSP, llavors podeu penjar el #twatch firmware a la xarxa. Programa twatchv2-bl-vxx. HEX al xip amb un programador PIC com un ICD2 o PicKit. Quan s’encén #twatch, el carregador d’arrencada s’executa abans que s’iniciï el programa principal. El carregador d'arrencada comprova si hi ha una connexió entre els pins PGD i PGC de la capçalera de programació, que es mostra a la imatge superior. Si troba una connexió, el carregador d’arrencada pren el relleu i espera que es carregui el nou firmware. Hi ha molt poca probabilitat que el carregador d’arrencada s’engegui accidentalment fins i tot sense un pont entre els pins PGC i PGD. Això no danyarà el #twatch, només cal desconnectar la font d'alimentació i tornar-ho a provar. Es pot evitar l’entrada accidental del carregador movent el pont sobre una posició perquè connecti els pins PGD i GND. El carregador d’arrencada #twatch utilitza l’adreça IP 192.168.1.123 i la màscara de subxarxa 255.255.255.0. L'ordinador també ha de tenir una adreça IP que comenci per 192.168.1.xxx per comunicar-se amb el #twatch. Vam escollir l’interval 192.168.1.xxx perquè és el valor per defecte més comú per als encaminadors domèstics. Si l’ordinador utilitza un altre interval d’adreces IP, l’haureu d’ajustar temporalment abans de poder fer l’actualització.

  • Assegureu-vos que el vostre PC estigui al mateix rang i subxarxa IP que el #twatch. El vostre ordinador hauria de tenir una adreça IP del rang 192.168.1.xxx i una màscara de subxarxa 255.255.255.0. L'adreça IP per defecte del carregador d'arrencada #twatch és 192.168.1.123, assegureu-vos que cap altre equip connectat al mateix encaminador ja no utilitzi aquesta adreça.
  • Desconnecteu la font d'alimentació #twatch.
  • Col·loqueu un pont entre els passadors PGC i PGD.
  • Connecteu el cable de xarxa, si cal, i endolleu l’alimentació. La pantalla pot estar en blanc, tenir blocs sòlids o escombraries.
  • Utilitzeu una utilitat TFTP per enviar el nou firmware a l’adreça IP #twatch; fem servir TFTP.exe des de la línia d’ordres de Windows.
  • L'actualització TFTP informa d'èxit o error.
  • Desconnecteu la font d'alimentació i traieu el pont d'actualització.
  • Torneu a connectar la font d'alimentació. El #twatch hauria de començar a desplaçar-se pels tuits. Si s'inicia el carregador d'arrencada, poseu un pont entre els pins PGD i GND i torneu-ho a provar.

Pas 6: Preneu-lo més enllà, obteniu-ne el vostre

Si ho porteu més enllà, feu-ne el vostre
Si ho porteu més enllà, feu-ne el vostre
Si ho porteu més enllà, feu-ne el vostre
Si ho porteu més enllà, feu-ne el vostre
Si ho porteu més enllà, feu-ne el vostre
Si ho porteu més enllà, feu-ne el vostre
Si ho porteu més enllà, feu-ne el vostre
Si ho porteu més enllà, feu-ne el vostre

Hem dissenyat el #twatch per fer un ús complet dels recursos en un sol xip; un disseny ampliat afegiria funcions però seria més car. El #twatch podria seguir el vostre propi canal de Twitter. Necessitaria un petit servidor web per introduir el vostre inici de sessió a Twitter i una EEPROM externa per emmagatzemar la informació de configuració. El #twatch també podria emmagatzemar més tweets o informació addicional sobre cada tweeter, com ara el nom i la ubicació. Microchip no fa un controlador Ethernet integrat amb més de 4K de RAM, però podríem afegir un SRAM extern per emmagatzemar tweets i tweet meta-info. El maquinari actualitzat podria afegir una capçalera d'E / S per connectar botons amb LCD Smartie. per 4line LCD no té gaire espai de visualització. Hem dissenyat la interfície #twatch al voltant d'aquesta quantitat limitada d'espai. Un firmware actualitzat pot gestionar diverses mides de pantalla. El carregador d’arrencada pot adoptar l’adreça IP adquirida per DHCP. Una futura actualització de microprogramari #twatch aprofitarà aquesta funció per actualitzar la xarxa més fàcilment. La setmana que ve cobrirem el servidor TCP compatible amb Smartie LCD integrat al # twatch. Què hi ha de doble al vostre # rellotge? Si voleu un #twatch o PCB muntat, aquí teniu un parell d’opcions:

  • Seeed Studio té uns quants paquets LCD #twatch ethernet reunits per 45 dòlars, inclosos els enviaments a tot el món. Aconsegueix-los mentre durin perquè aviat no en farem més. Si heu perdut aquest projecte, inscriviu-vos aquí per rebre notificacions de futures comandes de #twatch.
  • Si voleu crear-ne de propis, Seeed Studio ven els PCB #twatch v1 i v2 addicionals de la nostra comanda. Assegureu-vos d’aconseguir un connector ethernet de Seeed o assegureu-vos de trobar-ne un que coincideixi amb el PCB. Escriurem sobre v1 d'aquí a uns dies, l'esquema i el PCB es troben al projecte SVN.
  • Enviarem un PCB nu de #twatch v2 gratuït a les dues primeres persones que han fet un tuit al #twatch.

Si voleu participar, uniu-vos al projecte de maquinari obert de Dangerous Prototypes a Google Code o vingueu a xatejar al fòrum #twatch. La setmana següent us mostrarem com redirigir les estadístiques del sistema LCD Smartie al servidor TCP #twatch.

Recomanat: