Sommario:

Twitter Watcher, il #twatch: 6 passaggi (con immagini)
Twitter Watcher, il #twatch: 6 passaggi (con immagini)

Video: Twitter Watcher, il #twatch: 6 passaggi (con immagini)

Video: Twitter Watcher, il #twatch: 6 passaggi (con immagini)
Video: 10 SCARY GHOST Videos Filmed By Accident 2024, Dicembre
Anonim
Twitter Watcher, il #twatch
Twitter Watcher, il #twatch
Twitter Watcher, il #twatch
Twitter Watcher, il #twatch
Twitter Watcher, il #twatch
Twitter Watcher, il #twatch
Twitter Watcher, il #twatch
Twitter Watcher, il #twatch

Il #twatch scorre gli ultimi argomenti di tendenza da Twitter su uno schermo LCD. È un dispositivo di rete autonomo che rimane aggiornato senza un PC. È stato fantastico vedere #iranelection, Michael Jackson e altri eventi storici scorrere mentre sviluppavamo il #twatch. Questo Instructable documenta l'hardware e il design di #twatch. Oltre a un trend ticker di Twitter, il #twatch è anche uno zaino LCD ethernet generico. Mostrerà playlist, statistiche del PC e altre informazioni con programmi come LCD Smartie. È anche aggiornabile via software, quindi non è mai obsoleto. Il #twatch è open source, quindi puoi scaricare i nostri design e crearne uno tuo. Seeed Studio ha alcuni packpack ethernet LCD #twatch assemblati per $ 45, inclusa la spedizione in tutto il mondo. Prendili finché durano perché non ne faremo di più a breve. Se ti sei perso questo progetto, iscriviti qui per essere informato sui futuri preordini di #twatch. Consulta questo articolo con la sua formattazione originale su DangerousPrototypes.com, ulteriori discussioni nel forum #twatch. Invieremo un PCB #twatch gratuito se sei il primo a twittare il #twatch !Panoramica del concettoIl #twatch prende gli ultimi argomenti di tendenza da Twitter, quindi carica alcuni tweet per ciascuno. Gli argomenti di tendenza e i tweet scorrono su uno schermo. Il #twatch cattura le nuove tendenze e twitta ogni cinque minuti in modo da vedere sempre gli ultimi argomenti di tendenza. Abbiamo anche aggiunto una modalità zaino ethernet generica, quindi il #twatch può anche mostrare le statistiche del PC da un programma come LCD Smartie, maggiori informazioni su questa funzione nella parte 2.

Passaggio 1: utilizzo di esso

Usandolo
Usandolo

Il #twatch è facile da usare.

  • Collegalo a una rete ethernet domestica con accesso a Internet. Il #twatch richiede la configurazione di rete automatica (DHCP), questa è l'impostazione predefinita su quasi tutte le moderne reti domestiche.
  • Accendilo. Il #twatch richiede un alimentatore DC 6-7volt. Utilizza una spina di alimentazione CC da 2,1 mm, il tipo più comune. Gli alimentatori CC universali dovrebbero includere una spina da 2,1 mm.
  • Regola il contrasto. Gli schermi LCD cambiano con la temperatura e l'età, utilizzare la vite di regolazione per modificare il contrasto dello schermo.
  • Il #twatch configurerà le impostazioni di rete e inizierà a scorrere gli ultimi argomenti di tendenza e alcuni tweet da ciascuno. Potrebbe essere necessario regolare nuovamente il contrasto per ottenere l'effetto di scorrimento più pulito.

Ricevi aggiornamenti su #twatch sul blog Dangerous Prototype.

Passaggio 2: hardware

Hardware
Hardware
Hardware
Hardware
Hardware
Hardware

Abbiamo usato la versione freeware di Cadsoft Eagle per realizzare il circuito e il PCB. Scarica i file più recenti dalla pagina del codice Google del progetto. Questa sezione ha perso molta formattazione su Instructables, puoi vedere la versione originale qui. Microcontrollore Ethernet PIC 18F67J60 Il Microchip PIC 18F67J60 è perfetto per questo progetto perché combina un'interfaccia di rete ethernet e un microcontrollore da 41 MHz (10 MIP) in un piccolo pacchetto per pochi dollari. Viene fornito solo in pacchetti TQFP da 64 pin +, ma non abbiamo avuto problemi a saldarlo a mano su un PCB professionale. Il PIC richiede un alimentatore da 3,3 volt. La parte ethernet è davvero affamata di energia, quindi abbiamo usato un gigantesco regolatore TO-220 LD117-3.3 volt (VR1). Abbiamo scelto un grande regolatore perché potrebbe dover dissipare molto calore a seconda dell'alimentazione in ingresso. Il regolatore richiede un piccolo condensatore di disaccoppiamento in ingresso (C15) e un grande condensatore in uscita da 10uF (C3). C'è un grosso problema con questi chip: possono essere programmati solo circa 100 volte. Ciò rende difficile lo sviluppo, quindi abbiamo anche progettato una versione di sviluppo del #twatch basata su un chip diverso. Maggiori informazioni su quel design in un prossimo articolo. Ogni pin di alimentazione PIC riceve un condensatore di disaccoppiamento da 0.1uF (C17-C23). Il PIC ha un regolatore interno da 2,5 volt per il microcontrollore e i core ethernet, il regolatore richiede un condensatore al tantalio da 10 uF (C1). Il PIC è programmato tramite un'intestazione ICSP a 5 pin. Il pin di ripristino MCLR è tenuto alto con un resistore di pull-up da 10K (R21), un resistore aggiuntivo (R4) e un condensatore (C16) raccomandati dalla scheda tecnica forniscono protezione contro varie condizioni di ripristino accidentale. La sezione Ethernet richiede un cristallo esterno da 25 MHz (Q1). Due condensatori da 33 pF (C4, C5) completano il circuito dell'oscillatore. Abbiamo utilizzato un jack ethernet con magneti integrati (J2). Il jack è un HanRun HR911105A, fornitoci da Seeed Studio: assicurati di ottenere lo stesso jack, un jack compatibile o regola il PCB per un jack che puoi trovare. L'interfaccia ethernet richiede un circuito di terminazione (R30-33, C10-11, L1) e un resistore di polarizzazione dell'1% da 2,28Kohm (R7, non mostrato). LCD a caratteri HD44780 Il #twatch supporta un LCD 'standard' 4line da 20 caratteri 5volt HD44780 con retroilluminazione +5volt. Di solito puoi trovarli per circa $ 10 su eBay. Assicurati di verificare che il tuo LCD corrisponda al pinout di #twatch prima di collegarlo. La maggior parte degli LCD è la stessa, ma non tutti. Quasi tutti gli LCD a caratteri funzionano a 5 volt, quindi forniamo un'alimentazione a 5 volt da un comune regolatore 7805 (VR2, C14, C2). L'LCD con retroilluminazione potrebbe potenzialmente utilizzare un sacco di corrente, quindi abbiamo usato un altro grande regolatore To-220. C12 è un condensatore di disaccoppiamento per l'alimentatore LCD, ma gli LCD hanno già il disaccoppiamento a bordo. C12 non deve essere popolato, lo abbiamo solo incluso in caso di problemi di stabilità. Per la massima velocità di aggiornamento, l'LCD è controllato tramite l'interfaccia completa a 8 bit. La maggior parte degli LCD sono parti a 5 volt che richiedono circa 4,25 volt + per registrare un livello elevato sui pin dei dati, ma il PIC 18F65J60 è solo una parte da 3,3 volt. Fortunatamente, il PIC ha un mucchio di pin tolleranti a 5 volt in modo da poter mantenere il segnale a 5 volt con un resistore di pull-up da 10 K (R10-R19), e quindi collegarlo a terra modificando l'impostazione della direzione del pin PIC. Questo è solitamente chiamato un'uscita a scarico aperto. Alcuni LCD più recenti funzionano a 5 volt, ma funzionano ancora a livelli di interfaccia di 3,3 volt. Il #twatch supporterà questa modalità se si esclude R10-19 in modo che nessuna tensione di pull-up vada sui pin e si modifichi il firmware per cambiare il registro LAT invece del registro TRIS nell'HD44780.c. Il contrasto dello schermo LCD è controllato da una tensione di polarizzazione, solitamente generata con un potenziometro da 10Kohm. Il PCB #twatch ha impronte per un vaso SMD da 3 mm economico (R2) e un secondo spazio per utilizzare un vaso più grande a foro passante (R2A). Solo uno dovrebbe essere popolato! Nel caso in cui ci sia rumore nell'alimentatore da tutte le cose ethernet, filtriamo la tensione di polarizzazione attraverso una piccola perlina di ferrite (L2). Abbiamo incluso anche un condensatore per un ulteriore filtraggio (C13), ma non l'abbiamo usato poiché nessuno dei due elementi è effettivamente necessario. Il #twatch può controllare semplici retroilluminazioni a +5 volt fino a 400 mA circa. Il PIC commuta un transistor (NPN1) attraverso un resistore di limitazione della corrente da 240 ohm (R3, non mostrato). Abbiamo usato un transistor in grado di gestire 800 mA+ con un guadagno di 250hfe+, quindi il PIC può commutare un carico elevato con la sua corrente di uscita pin massima di 20 mA. R1 è un resistore di limitazione della corrente per la retroilluminazione LCD, se necessario. Abbiamo usato un resistore a foro passante in modo che possa dissipare molto calore con grandi retroilluminazione e perché è la dimensione più semplice da trovare localmente e saldare da soli. Se la tua retroilluminazione non richiede un resistore, sostituisci R1 con un pezzo di filo. Il nostro LCD richiedeva un resistore da 3 ohm per un alimentatore di retroilluminazione da 240 mA. Alcune retroilluminazione consumano molta energia, quindi abbiamo posizionato i pin di alimentazione proprio accanto all'alimentatore e abbiamo rinforzato il piano di massa con una serie di VIA. Alcune fantasiose retroilluminazione LCD richiedono circuiti di azionamento speciali, quindi assicurati che il tuo utilizzi una semplice alimentazione a +5 volt per evitare danni. Alimentazione Il #twatch necessita di un'alimentazione da 6-7 volt tramite un jack di alimentazione da 2,1 mm (J1). Le spine da 2,1 mm sono le dimensioni più comuni e dovrebbero essere fornite con ogni alimentatore universale. Maggiore è la tensione di alimentazione utilizzata, più calore deve essere dissipato da VR1 e VR2. Ricorda che il #twatch è un prototipo di lavagna di apprendimento, non è un prodotto commerciale completo e testato. Prendere le dovute precauzioni di sicurezza e non farlo funzionare incustodito.

Passaggio 3: PCB e lista componenti

PCB e lista pezzi
PCB e lista pezzi
PCB e lista componenti
PCB e lista componenti

Abbiamo usato la versione freeware di Cadsoft Eagle per realizzare lo schema e il PCB. Scarica i file più recenti dalla pagina del codice Google del progetto. Il PCB è un design a 2 strati con piccole tracce e separazione (10mil) attorno al chip PIC TQFP a 64 pin. Abbiamo preparato i gerber e li abbiamo inviati al servizio PCB di Seeed Studio per lavori open source. PCB extra dal nostro ordine sono disponibili nel negozio Seeed Studio. Se acquisti i nostri PCB extra, assicurati di ottenere il jack ethernet HanRun adatto alla scheda. Poiché i fori di montaggio sugli LCD 20x4 variano, non abbiamo cercato di adattare il PCB ai fori LCD. Lo abbiamo reso il più piccolo possibile, come lo zaino LCD seriale di SparkFun, in modo che rimanga lontano dai fori originali. Come effetto collaterale, non è troppo imbarazzante dietro uno schermo più piccolo come questo LCD 16x2 di Adafruit. Elenco delle parti Fare clic per un'immagine di posizionamento a dimensione intera [PNG]. Parte | Valore | PacchettoIC1 PIC 18F67J60 TQFP-64C1-3 Condensatore al tantalio 10uF, 10volts+ SMC_AC4, 5 condensatore 33pF 0805C10, 11, C14-23 Condensatore 0,1uF 0805ICSP 5x connettore pin maschio 0,1"J1 Jack di alimentazione SMD da 2,1 mm SMDJ2 HR911105A jack Ethernet RJ-45L1, L2 Ferrite tallone, 200ma+ 0805NPN1 transistor NPN, 250hfe+, 800ma+ SOT-23Q1 Cristallo SMD 25MHz HC49UPR2(A) Resistore trim a giro singolo 10K 3mm SMD o foro passanteR3 Resistenza 240 ohm 0805R4-6 Resistenza 390 ohm 0805R7 Resistenza 2, 260 ohm, 1% 0805R10- 21 Resistenza da 10.000 ohm 0805R30-33 Resistenza da 49,9 ohm, 1% 0805VR1 Regolatore LDO da 3,3 volt (LD1117) TO-220VR2 7805T Regolatore da 5 volt TO-220HD44780-LCD LCD a caratteri 20x4 HD44780

Passaggio 4: firmware

Firmware
Firmware
Firmware
Firmware
Firmware
Firmware

L'ultimo download completo del firmware #twatch si trova nella pagina del codice Google del progetto. Il codice è scritto in C ed è compilato con il compilatore dimostrativo Microchip C18. Stack TCP/IP e funzioni di rete di base Lo stack TCP/IP "gratuito" di Microchip fornisce tutte le funzioni di rete necessarie per esistere su una rete domestica e acquisire dati da Twitter. Lo stack è open source e free-as-in-beer, ma la licenza Microchip ne vieta la distribuzione. A causa di problemi di licenza, stiamo solo inserendo il nostro codice sorgente di dominio pubblico nel progetto Google Code SVN, scopri come scaricare e compilare il sorgente qui. Lo stack ha un client Dynamic Host Configuration Protocol che configura automaticamente le impostazioni di rete utilizzando il DHCP server sulla rete locale. Il #twatch richiede un server DHCP, ma la stragrande maggioranza delle reti e dei router lo ha abilitato. L'indirizzo IP, la maschera, il gateway e il primo server DNS vengono visualizzati sullo schermo LCD fino a quando non sono disponibili dati Twitter validi. Lo stack include anche il server annuncio di Microchip. Quando l'indirizzo IP viene acquisito da DHCP, il #twatch annuncia il suo indirizzo IP con un pacchetto broadcast a tutti i computer della rete locale. Utilizzare l'utilità MCHPDetect.exe nell'archivio del progetto per visualizzare questi pacchetti. Infine, abbiamo incluso un server ping (IMCP). Usa qualsiasi client ping per verificare se il #twatch è attivo sulla rete. Client TCP di Twitter Il programma che segue le tendenze di Twitter è un semplice client TCP, simile a un browser Web, che estrae i dati dai server Web. L'API di Twitter ci fornirà dati in una varietà di formati. Abbiamo usato il formato JSON leggero perché è più facile da decodificare per il chip PIC a bassa potenza, controlla JSONView se usi Firefox. Dopo che il #twatch configura automaticamente le impostazioni di rete, il client TCP di Twitter prende il controllo e cattura gli argomenti di tendenza attuali. Cerca in questo datafeed JSON e cerca il tag "name". Fino a 10 argomenti di tendenza vengono copiati in un buffer da 225 byte. Un array separato memorizza la posizione finale di ciascun argomento nel buffer in modo da poter recuperare gli argomenti nel passaggio successivo. Successivamente, il #twatch cerca su Twitter 2 tweet per ciascun argomento. Aggiunge ogni argomento alla fine dell'URL di ricerca JSON di Twitter, i caratteri speciali come gli spazi e la punteggiatura sono codificati nell'URL. Il client TCP analizza i risultati della ricerca e cerca i tweet che seguono il tag "testo". I tweet hanno più livelli di codifica. Decodifichiamo caratteri riservati HTML come e commerciale (&) e virgolette (") perché lo schermo LCD può visualizzarli. Rimuoviamo i caratteri internazionali UTF8 perché l'LCD HD44780 non li ha nel set di caratteri. I tweet analizzati e decodificati sono memorizzati in un buffer da 2100 byte, un array aggiuntivo segna l'inizio e la fine di ogni tweet nel buffer. Lo spazio RAM era un grosso problema sul chip 18F67J60, ha solo circa 4000 byte in totale, ma il buffer da 2100 byte sembra abbastanza grande da gestire 20 di dimensioni medie tweet. Abbiamo prestato particolare attenzione alla protezione da problemi di memoria esaurita e abbiamo testato il client in condizioni di RAM ridotta per assicurarci che si guastasse correttamente durante gli errori. Twitter è ben noto per i suoi occasionali tempi di inattività. Se il #twatch non può connettersi a Twitter, visualizza un messaggio di errore di connessione e riprova due volte. Se non riesce a connettersi dopo tre tentativi, attende cinque minuti prima di riprovare. Ciò dà a Twitter la possibilità di risolvere i propri problemi senza essere martellato da #twatch q ueries. Il #twatch cattura nuovi trend e tweet feed ogni cinque minuti. Twitter pone un limite al numero di query che un client può effettuare, quindi fai attenzione ad aggiornare più spesso. Twitter consente 150 aggiornamenti di argomenti di tendenza all'ora e query di ricerca "significativamente di più". Rete LCD modalità zaino TCP server Il #twatch può anche visualizzare informazioni sullo stato del sistema da programmi come LCD Smartie. Il #twatch ha un server TCP sulla porta 1337 che accetta comandi formattati Matrix Orbital. Ciò fornisce anche il controllo sulla retroilluminazione LCD. Ti mostreremo come reindirizzare LCD Smartie da una porta COM al server TCP #twatch nella seconda parte del nostro articolo #twatch.

Passaggio 5: Bootloader per gli aggiornamenti del firmware di rete

Bootloader per gli aggiornamenti del firmware di rete
Bootloader per gli aggiornamenti del firmware di rete
Bootloader per gli aggiornamenti del firmware di rete
Bootloader per gli aggiornamenti del firmware di rete
Bootloader per gli aggiornamenti del firmware di rete
Bootloader per gli aggiornamenti del firmware di rete

Il #twatch può essere aggiornato da un PC in rete locale grazie al bootloader internet di Microchip. Ricorda che i PIC ethernet 18F possono essere programmati solo in media 100 volte, quindi gli aggiornamenti sono alquanto limitati. Dobbiamo ancora bruciare un chip, ma abbiamo raggiunto solo circa 55 cicli durante lo sviluppo. Se stai usando un chip nuovo di zecca dovrai programmare il bootloader nel PIC18F67J60 tramite l'intestazione ICSP, quindi puoi caricare il #twatch firmware in rete. Programma twatchv2-bl-vxx. HEX nel chip con un programmatore PIC come un ICD2 o PicKit. Quando il #twatch si accende, il bootloader viene eseguito prima dell'avvio del programma principale. Il bootloader verifica la connessione tra i pin PGD e PGC dell'intestazione di programmazione, mostrata nell'immagine sopra. Se trova una connessione, il bootloader prende il sopravvento e attende il caricamento del nuovo firmware. C'è una minima possibilità che il bootloader si avvii accidentalmente anche senza un ponticello tra i pin PGC e PGD. Questo non danneggerà il #twatch, ti basterà scollegare l'alimentazione e riprovare. L'ingresso accidentale del bootloader può essere impedito spostando il ponticello su una posizione in modo che colleghi i pin PGD e GND. Il bootloader #twatch utilizza l'indirizzo IP 192.168.1.123 e la subnet mask 255.255.255.0. Il tuo computer deve anche avere un indirizzo IP che inizia con 192.168.1.xxx per comunicare con il #twatch. Abbiamo scelto la gamma 192.168.1.xxx perché è l'impostazione predefinita più comune per i router domestici. Se il tuo computer utilizza un altro intervallo di indirizzi IP, dovrai modificarlo temporaneamente prima di poter eseguire l'aggiornamento. Come eseguire l'aggiornamento:

  • Assicurati che il tuo PC sia nello stesso intervallo IP e sottorete del #twatch. Il tuo PC dovrebbe avere un indirizzo IP nell'intervallo 192.168.1.xxx e una subnet mask 255.255.255.0. L'indirizzo IP predefinito del bootloader #twatch è 192.168.1.123, assicurati che nessun altro computer connesso allo stesso router utilizzi già questo indirizzo.
  • Scollega l'alimentatore del #twatch.
  • Metti un ponticello tra i pin PGC e PGD.
  • Collegare il cavo di rete, se necessario, e collegare l'alimentatore. Lo schermo potrebbe essere vuoto, avere blocchi solidi o spazzatura.
  • Usa un'utility TFTP per inviare il nuovo firmware all'indirizzo IP #twatch, usiamo TFTP.exe dalla riga di comando di Windows.
  • L'aggiornamento TFTP segnala l'esito positivo o negativo.
  • Scollegare l'alimentatore, rimuovere il ponticello di aggiornamento.
  • Ricollega l'alimentatore. Il #twatch dovrebbe iniziare a scorrere i tweet. Se invece si avvia il bootloader, metti un ponticello tra i pin PGD e GND e riprova.

Passaggio 6: portalo oltre, prendi il tuo

Portalo oltre, prendi il tuo
Portalo oltre, prendi il tuo
Portalo oltre, prendi il tuo
Portalo oltre, prendi il tuo
Portalo oltre, prendi il tuo
Portalo oltre, prendi il tuo
Portalo oltre, prendi il tuo
Portalo oltre, prendi il tuo

Abbiamo progettato il #twatch per sfruttare appieno le risorse su un singolo chip, un design esteso aggiungerebbe funzionalità ma sarebbe più costoso. Il #twatch potrebbe seguire il tuo feed Twitter. Avrebbe bisogno di un piccolo server web per inserire il tuo login Twitter e una EEPROM esterna per memorizzare le informazioni di configurazione. Il #twatch potrebbe anche memorizzare più tweet o informazioni extra su ciascun tweeter, come nome e posizione. Microchip non produce un controller Ethernet integrato con più di 4K di RAM, ma potremmo aggiungere una SRAM esterna per memorizzare tweet e meta-info tweet. L'hardware aggiornato potrebbe aggiungere un'intestazione I/O per il collegamento dei pulsanti con LCD Smartie. A 20 caratteri di 4line LCD non ha molto spazio di visualizzazione. Abbiamo progettato l'interfaccia #twatch attorno a questa quantità limitata di spazio. Un firmware aggiornato può gestire più dimensioni dello schermo. Il bootloader può adottare l'indirizzo IP acquisito da DHCP. Un futuro aggiornamento del firmware #twatch trarrà vantaggio da questa funzione per aggiornamenti di rete più semplici. La prossima settimana tratteremo il server TCP compatibile con LCD Smartie integrato nel #twatch. Prendine uno! Cosa sta succedendo sul tuo #twatch? Se vuoi un #twatch o un PCB assemblato, ecco un paio di opzioni:

  • Seeed Studio ha alcuni packpack ethernet LCD #twatch assemblati per $ 45, inclusa la spedizione in tutto il mondo. Prendili finché durano perché non ne faremo di più a breve. Se ti sei perso questo progetto, iscriviti qui per essere informato sui futuri preordini di #twatch.
  • Se vuoi costruire il tuo, Seeed Studio sta vendendo i PCB extra #twatch v1 e v2 dal nostro ordine. Assicurati di ottenere un jack ethernet da Seeed o assicurati di trovarne uno che corrisponda al PCB. Parleremo della v1 tra qualche giorno, lo schema e il PCB sono nel progetto SVN.
  • Invieremo un PCB nudo #twatch v2 gratuito alle prime 2 persone che twittano il #twatch.

Se vuoi essere coinvolto, unisciti al progetto hardware aperto Dangerous Prototypes su Google Code o vieni a chattare nel forum #twatch. La prossima settimana ti mostreremo come reindirizzare le statistiche del sistema LCD Smartie al server TCP #twatch.

Consigliato: