Cuprins:
- Pasul 1: Folosind-o
- Pasul 2: Hardware
- Pasul 3: PCB și lista de piese
- Pasul 4: Firmware
- Pasul 5: Bootloader pentru actualizări de firmware de rețea
- Pasul 6: Luând-o mai departe, obține-ți propriile
Video: Twitter Watcher, #twatch: 6 pași (cu imagini)
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:47
#Twatch derulează cele mai recente subiecte la modă de pe Twitter pe un ecran LCD. Este un dispozitiv de rețea autonom care rămâne actualizat fără un computer. A fost minunat să privim #iranelection, Michael Jackson și alte evenimente istorice derulând în timp ce dezvoltam #twatch. Acest instructabil documentează hardware-ul și designul #twatch. În plus față de un marker de tendință Twitter, #twatch este, de asemenea, un rucsac generic pentru ethernet LCD. Va afișa liste de redare, statistici pentru PC și alte informații cu programe precum LCD Smartie. De asemenea, software-ul poate fi actualizat, deci nu este niciodată depășit. #Twatch este open source, astfel încât să puteți descărca desenele noastre și să vă construiți propriile dvs. Seeed Studio are câteva pachete LCD ethernet #twatch asamblate la 45 USD, inclusiv livrare în întreaga lume. Obțineți-le cât durează, pentru că nu vom face mai multe în curând. Dacă ați ratat acest proiect, înscrieți-vă aici pentru a fi informat despre viitoarele precomenzi #twatch. Consultați acest articol cu formatarea originală la DangerousPrototypes.com, mai multe discuții în forumul #twatch. Vom trimite un PCB #twatch gratuit dacă sunteți primul care trimite pe Twitter #twatch! Prezentare generală a conceptului #twatch preia cele mai recente subiecte la modă de pe Twitter, apoi încarcă câteva tweet-uri pentru fiecare. Subiectele în tendință și tweet-urile se derulează pe un ecran. #Twatch captează tendințe și tweet-uri noi la fiecare cinci minute, astfel încât să vedeți întotdeauna cele mai recente subiecte de tendință. Am adăugat, de asemenea, un mod de rucsac ethernet generic, astfel încât #twatch să poată afișa și statistici pentru PC dintr-un program precum LCD Smartie, mai multe despre această caracteristică în partea 2.
Pasul 1: Folosind-o
#Twatch este ușor de utilizat.
- Conectați-l la o rețea Ethernet de acasă cu acces la Internet. #Twatch necesită configurare automată a rețelei (DHCP), aceasta este setarea implicită pentru aproape fiecare rețea modernă de acasă.
- Porniți-l. #Twatch necesită o sursă de alimentare de 6-7 volt DC. Folosește o priză de alimentare de 2,1 mm DC, cel mai comun tip. Sursele de alimentare universale DC ar trebui să includă o priză de 2,1 mm.
- Reglați contrastul. Ecranele LCD se schimbă odată cu temperatura și vârsta, utilizați șurubul de reglare pentru a modifica contrastul ecranului.
- #Twatch va configura setările de rețea și va începe să deruleze cele mai recente subiecte de tendință și câteva tweets din fiecare. Este posibil să trebuiască să reglați contrastul din nou pentru cel mai curat efect de derulare.
Obțineți actualizări #twatch pe blogul Dangerous Prototype.
Pasul 2: Hardware
Am folosit versiunea freeware a Cadsoft Eagle pentru a realiza circuitul și PCB-ul. Descărcați cele mai recente fișiere din pagina Google Code a proiectului. Această secțiune a pierdut o mulțime de formatare la Instructables, puteți vedea versiunea originală aici. Microcontroler Ethernet PIC 18F67J60 Microchip PIC 18F67J60 este perfect pentru acest proiect deoarece combină o interfață de rețea ethernet și un microcontroler de 41 MHz (10 MPI) într-un pachet mic pentru doar câțiva dolari. Vine doar în pachete de 64 pini + TQFP, dar nu am avut nicio problemă de lipire manuală către un PCB profesional. PIC necesită o sursă de alimentare de 3,3 volt. Porțiunea Ethernet este într-adevăr înfometată, așa că am folosit un regulator gigant TO-220 LD117-3.3volt (VR1). Am ales un regulator mare, deoarece ar putea fi necesar să disipeze o grămadă de căldură în funcție de sursa de alimentare de intrare. Regulatorul necesită un condensator mic de decuplare de intrare (C15) și un condensator mare de ieșire de 10 uF (C3). Există o mare captură cu aceste cipuri: pot fi programate doar de aproximativ 100 de ori. Acest lucru face ca dezvoltarea să fie dificilă, așa că am proiectat și o versiune de dezvoltare a #twatch bazată pe un alt cip. Mai multe despre acest design într-un articol viitor. Fiecare pin de alimentare PIC primește un condensator de decuplare 0.1uF (C17-C23). PIC are un regulator intern de 2,5 volți pentru microcontroler și nuclee Ethernet, regulatorul necesită un condensator de tantal de 10 uF (C1). PIC este programat printr-un antet ICSP cu 5 pini. Știftul de resetare MCLR este susținut cu un rezistor de tracțiune de 10K (R21), un rezistor suplimentar (R4) și un condensator (C16) recomandate de foaia tehnică care oferă protecție împotriva diferitelor condiții de resetare accidentală. Secțiunea Ethernet impune un cristal extern de 25 MHz (Q1). Doi condensatori de 33pF (C4, C5) completează circuitul oscilatorului. Am folosit o mufă Ethernet cu magnetice integrate (J2). Mufa este un HanRun HR911105A, oferit de către Seeed Studio - asigurați-vă că obțineți același muf, un muf compatibil sau reglați PCB-ul pentru un muf pe care îl puteți găsi. Interfața Ethernet necesită un circuit de terminare (R30-33, C10-11, L1) și rezistor de polarizare de 2,28 Kohm 1% (R7, nu este prezentat). LCD cu caracter HD44780 #twatch acceptă un LCD „standard” 4line by 20character 5volt HD44780 LCD cu o lumină de fundal de + 5 volt. De obicei, le puteți găsi la aproximativ 10 USD pe eBay. Asigurați-vă că verificați dacă ecranul LCD se potrivește cu pin-ul #twatch înainte de al atașa. Majoritatea LCD-urilor sunt la fel, dar nu toate. Aproape toate LCD-urile cu caractere funcționează la 5 volți, deci furnizăm o sursă de alimentare de 5 volți de la un regulator comun 7805 (VR2, C14, C2). Ecranul LCD cu iluminare din spate ar putea utiliza o grămadă de curent, așa că am folosit un alt regulator To-220 mare. C12 este un condensator de decuplare pentru alimentarea LCD, dar LCD-urile au deja decuplare la bord. C12 nu trebuie să fie completat, tocmai l-am inclus în caz de probleme de stabilitate. Pentru viteza maximă de reîmprospătare, LCD-ul este controlat prin interfața completă de 8 biți., dar PIC 18F65J60 este doar o parte de 3,3 volt. Din fericire, PIC are o grămadă de pini toleranți de 5 volți, astfel încât să putem ține semnalul la 5 volți cu un rezistor de tracțiune de 10 K (R10-R19) și apoi să-l împământăm schimbând setarea direcției pinului PIC. Aceasta se numește de obicei o ieșire de scurgere deschisă. Unele LCD-uri mai noi rulează la 5 volți, dar funcționează în continuare la niveluri de interfață de 3,3 volt. #Twatch va accepta acest mod dacă lăsați R10-19 astfel încât nici o tensiune de tracțiune nu intră pe pini și schimbați firmware-ul pentru a comuta registrul LAT în loc de registrul TRIS în HD44780.c. Contrastul ecranului LCD este controlat de o tensiune de polarizare, generată de obicei cu un potențiometru de 10 Kohm. #Twatch PCB are amprente pentru o oală ieftină de 3 mm SMD (R2) și un al doilea spațiu pentru a utiliza o oală mai mare, prin gaură (R2A). Doar unul ar trebui să fie populat! Doar în cazul în care există zgomot în sursa de alimentare de la toate elementele ethernet, filtrăm tensiunea de polarizare printr-o mică margele de ferită (L2). De asemenea, am inclus un condensator pentru filtrare suplimentară (C13), dar nu l-am folosit, deoarece niciunul dintre elemente nu este de fapt necesar. PIC comută un tranzistor (NPN1) printr-un rezistor de limitare a curentului de 240ohm (R3, neprezentat). Am folosit un tranzistor care poate gestiona 800mA + cu un câștig de 250hfe +, astfel încât PIC poate comuta o sarcină mare cu curentul maxim de ieșire cu pin de 20mA. R1 este un rezistor de limitare a curentului pentru lumina de fundal LCD, dacă este necesar. Am folosit un rezistor prin gaură, astfel încât să poată disipa o mulțime de căldură cu lumini de fundal mari și pentru că este cea mai ușoară dimensiune de găsit local și de lipit. Dacă iluminarea de fundal nu necesită rezistență, înlocuiți R1 cu o bucată de sârmă. LCD-ul nostru a necesitat un rezistor de 3 ohm pentru o sursă de alimentare cu iluminare din spate de 240 mA. Unele lumini de fundal consumă multă energie, așa că am pus pinii de alimentare chiar lângă sursa de alimentare și am întărit planul de masă cu o grămadă de VIA-uri. Unele lumini de fundal LCD fanteziste necesită circuite speciale de acționare, deci asigurați-vă că utilizează o sursă simplă de + 5 volți pentru a evita deteriorarea. Sursa de alimentare #twatch necesită o sursă de alimentare de 6-7 volt printr-o mufă de alimentare de 2,1 mm (J1). Mufele de 2,1 mm sunt cele mai comune dimensiuni și ar trebui să vină cu fiecare sursă de alimentare universală. Cu cât este mai mare tensiunea de alimentare pe care o utilizați, cu atât mai multă căldură trebuie disipată din VR1 și VR2. Amintiți-vă că #twatch este un tablou de învățare prototip, nu este un produs comercial complet și testat. Luați măsurile de siguranță corespunzătoare și nu îl executați nesupravegheat.
Pasul 3: PCB și lista de piese
Am folosit versiunea freeware a Cadsoft Eagle pentru a realiza schema și PCB. Descărcați cele mai recente fișiere din pagina Google Code a proiectului. PCB este un design cu 2 straturi, cu urme mici și separare (10mil) în jurul cipului TQFP PIC de 64 pini. Am pregătit gerbers și i-am trimis la serviciul PCB Seeed Studio pentru lucrări open source. PCB-uri suplimentare din comanda noastră sunt disponibile în magazinul Seeed Studio. Dacă cumpărați PCB-urile noastre suplimentare, asigurați-vă că obțineți mufa Ethernet HanRun care se potrivește cu placa. Deoarece găurile de montare de pe LCD-urile de 20x4 variază, nu am încercat să montăm PCB-ul în găurile LCD. L-am făcut cât mai mic posibil, cum ar fi rucsacul LCD serial al SparkFun, astfel încât să rămână departe de orificiile originale. Ca efect secundar, nu este prea îngrozitor în spatele unui ecran mai mic, cum ar fi acest LCD 16x2 de la Adafruit. Lista pieselor Faceți clic pentru o imagine de plasare la dimensiune completă [PNG]. Partea | Valoare | Pachet IC1 PIC 18F67J60 TQFP-64C1-3 Condensator de tantal 10uF, 10 volți + SMC_AC4, 5 condensator 33pF 0805C10, 11, C14-23 Condensator 0.1uF 0805ICSP 5x 0.1 "header pin masculin J1 2.1mm Cablu de alimentare SMD SMDJ2 HR911105A Cablu ethernet L1 RJ2 margele, 200ma + 0805NPN1 tranzistor NPN, 250hfe +, 800ma + SOT-23Q1 25MHz SMD cristal HC49UPR2 (A) 10K rezistență de tundere cu o singură rotație 3mm SMD sau orificiu de trecere R3 rezistență de 240 ohmi 0805R4-6 rezistență de 390 ohmi 0805R7 2, rezistență de 260 ohmi, 1% 0805 21 10 000 000 rezistor 0805R30-33 49,9 ohm rezistor, 1% 0805VR1 Regulator LDO 3,3 volt (LD1117) TO-220VR2 7805T 5 volt regulator TO-220HD44780-LCD 20x4 HD44780 LCD
Pasul 4: Firmware
Cea mai recentă descărcare completă de firmware #twatch se află pe pagina Google Code a proiectului. Codul este scris în C și este compilat cu compilatorul demonstrativ Microchip C18. Stiva TCP / IP și funcțiile de rețea de bază Stiva TCP / IP „gratuită” a Microchip oferă toate funcțiile de rețea de care avem nevoie pentru a exista într-o rețea de acasă și pentru a prelua date de pe Twitter. Stiva este open source și gratuită, dar licența Microchip interzice distribuirea. Din cauza problemelor de licențiere, introducem doar codul sursă de domeniu public în proiectul Google Code SVN, aflați cum să descărcați și să compilați sursa aici. Stiva are un client Dynamic Host Configuration Protocol care configurează automat setările de rețea utilizând DHCP server din rețeaua dvs. locală. #Twatch necesită un server DHCP, dar marea majoritate a rețelelor și routerelor au acest lucru activat. Adresa IP, masca, gateway-ul și primul server DNS sunt afișate pe ecranul LCD până când sunt disponibile date Twitter valabile. Stiva include și serverul de anunțuri al Microchip. Când adresa IP este achiziționată de DHCP, #twatch își anunță adresa IP cu un pachet de transmisie către toate computerele din rețeaua locală. Utilizați utilitarul MCHPDetect.exe din arhiva proiectului pentru a vizualiza aceste pachete. În cele din urmă, am inclus un server ping (IMCP). Utilizați orice client ping pentru a verifica dacă #twatch este activ în rețea. Client TCP Twitter Programul de urmărire a tendinței Twitter este un client TCP simplu, similar cu un browser web, care extrage date de pe serverele web. API-ul Twitter ne va oferi date într-o varietate de formate. Am folosit formatul JSON ușor, deoarece este cel mai ușor pentru decodarea cipului PIC de mică putere, verificați JSONView dacă utilizați Firefox. După ce #twatch configurează automat setările de rețea, clientul TCP Twitter preia controlul și apucă actualele subiecte de tendință.. Se caută prin acest feed de date JSON și caută eticheta „nume”. Până la 10 subiecte la modă sunt copiate într-un buffer de 225 de biți. O matrice separată stochează poziția finală a fiecărui subiect în buffer, astfel încât să putem prelua subiectele în pasul următor. În continuare, #twatch caută pe Twitter 2 tweets pentru fiecare subiect. Se adaugă fiecare subiect la sfârșitul adresei de căutare Twitter JSON, caractere speciale precum spațiile și punctuația sunt codificate prin URL. Clientul TCP analizează rezultatele căutării și caută tweets care urmează eticheta „text”. Tweeturile au mai multe straturi de codificare. Decodăm caractere rezervate HTML, cum ar fi ampersand (&) și ghilimele ("), deoarece ecranul LCD le poate afișa. Eliminăm caracterele internaționale UTF8, deoarece LCD-ul HD44780 nu le are în setul de caractere. Tweets-urile analizate, decodate sunt stocate în un buffer de 2100byte, o matrice suplimentară marchează începutul și sfârșitul fiecărui tweet din buffer. Spațiul RAM a fost o mare problemă pe cipul 18F67J60, are doar aproximativ 4000bytes în total, dar bufferul de 2100byte pare suficient de mare pentru a gestiona 20 de dimensiuni medii Am avut o grijă deosebită pentru a ne proteja de problemele de memorie și am testat clientul în condiții de memorie RAM reduse pentru a ne asigura că nu reușește cu grație în timpul erorilor. conectați-vă la Twitter, afișează un mesaj de eroare de conexiune și reîncearcă de două ori. Dacă nu se poate conecta după trei încercări, așteaptă cinci minute înainte de a încerca din nou. Acest lucru oferă Twitter șansa de a rezolva problemele lor fără a fi ciocănit de #twatch q Ueries. #twatch prinde o tendință proaspătă și transmite tweet-uri la fiecare cinci minute. Twitter pune o limită asupra numărului de întrebări pe care le poate face un client, așa că fiți atenți la reîmprospătarea mai des. Twitter permite 150 de actualizări de subiecte pe oră și „mult mai multe” interogări de căutare. Mod de rucsac LCD în rețea Server TCP #twatch poate afișa și informații despre starea sistemului din programe precum LCD Smartie. #Twatch are un server TCP pe portul 1337 care acceptă comenzi formatate Matrix Orbital. Acest lucru oferă, de asemenea, control asupra luminii de fundal LCD. Vă vom arăta cum să redirecționați ecranul LCD Smartie dintr-un port COM către serverul #twatch TCP în partea a doua a articolului nostru #twatch.
Pasul 5: Bootloader pentru actualizări de firmware de rețea
#Twatch poate fi actualizat de pe un computer din rețeaua locală grație bootloader-ului pe internet al Microchip. Amintiți-vă că PIC-urile ethernet 18F pot fi programate doar în medie de 100 de ori, astfel încât actualizările sunt oarecum limitate. Încă nu am epuizat un cip, dar am ajuns la aproximativ 55 de cicluri în timpul dezvoltării. Dacă utilizați un cip nou, va trebui să programați bootloader-ul în PIC18F67J60 prin antetul ICSP, atunci puteți încărca #fwatch firmware prin rețea. Programați twatchv2-bl-vxx. HEX în cip cu un programator PIC precum un ICD2 sau PicKit. Când #twatch se aprinde, bootloaderul rulează înainte ca programul principal să înceapă. Bootloader-ul verifică dacă există o conexiune între pinii PGD și PGC ai antetului de programare, arătat în imaginea de mai sus. Dacă găsește o conexiune, bootloaderul preia și așteaptă ca noul firmware să fie încărcat. Există o șansă foarte mică ca bootloader-ul să pornească accidental chiar și fără un jumper între pinii PGC și PGD. Acest lucru nu va deteriora #twatch, doar deconectați sursa de alimentare și încercați din nou. Intrarea accidentală a încărcătorului de boot poate fi prevenită prin deplasarea jumper-ului peste o poziție, astfel încât să conecteze pinii PGD și GND. #Twatch bootloader folosește adresa IP 192.168.1.123 și masca de subrețea 255.255.255.0. De asemenea, computerul dvs. trebuie să aibă o adresă IP care începe cu 192.168.1.xxx pentru a comunica cu #twatch. Am ales gama 192.168.1.xxx deoarece este cea mai comună implicită pentru routerele de acasă. Dacă computerul dvs. folosește un alt interval de adrese IP, va trebui să îl reglați temporar înainte de a putea face actualizarea.
- Asigurați-vă că computerul dvs. se află în aceeași gamă IP și subrețea ca #twatch. PC-ul dvs. ar trebui să aibă o adresă IP în intervalul 192.168.1.xxx și o mască de subrețea de 255.255.255.0. Adresa IP implicită #twatch bootloader este 192.168.1.123, asigurați-vă că niciun alt computer conectat la același router nu folosește deja această adresă.
- Deconectați sursa de alimentare #twatch.
- Puneți un jumper între pinii PGC și PGD.
- Conectați cablul de rețea, dacă este necesar, și conectați sursa de alimentare. Ecranul poate fi gol, să aibă blocuri solide sau gunoi.
- Folosiți un utilitar TFTP pentru a trimite noul firmware la adresa IP #twatch, folosim TFTP.exe din linia de comandă Windows.
- Actualizarea TFTP raportează succesul sau eroarea.
- Deconectați sursa de alimentare, scoateți jumperul de actualizare.
- Conectați din nou sursa de alimentare. #Twatch ar trebui să înceapă să deruleze tweets. Dacă bootloader-ul pornește, puneți un jumper între pinii PGD și GND și încercați din nou.
Pasul 6: Luând-o mai departe, obține-ți propriile
Am proiectat #twatch pentru a utiliza pe deplin resursele pe un singur cip, un design extins ar adăuga caracteristici, dar ar fi mai scump. #Twatch ar putea urma propriul feed Twitter. Ar fi nevoie de un server web mic pentru a vă introduce datele de conectare pe Twitter și de o EEPROM externă pentru a stoca informațiile de configurare. #Twatch ar putea stoca, de asemenea, mai multe tweets sau informații suplimentare despre fiecare tweeter, cum ar fi numele și locația. Microchip nu face un controler Ethernet integrat cu mai mult de 4K de memorie RAM, dar am putea adăuga un SRAM extern pentru a stoca tweet-uri și meta-informații tweet. Hardware-ul actualizat ar putea adăuga un antet I / O pentru conectarea butoanelor cu LCD Smartie. de 4line LCD nu are mult spațiu de afișare. Am proiectat interfața #twatch în jurul acestei cantități limitate de spațiu. Un firmware actualizat poate gestiona mai multe dimensiuni de ecran. Bootloader-ul poate adopta adresa IP dobândită de DHCP. O viitoare actualizare de firmware #twatch va profita de această caracteristică pentru actualizări mai ușoare ale rețelei. Săptămâna viitoare vom acoperi serverul TCP LCD Smartie compatibil încorporat în # twatch. Obțineți unul! Ce se îndoaie la # ceas? Dacă doriți un #twatch sau PCB asamblat, iată câteva opțiuni:
- Seeed Studio are câteva pachete LCD ethernet #twatch asamblate la 45 USD, inclusiv livrare în întreaga lume. Obțineți-le cât durează, pentru că nu vom face mai multe în curând. Dacă ați ratat acest proiect, înscrieți-vă aici pentru a fi informat despre viitoarele precomenzi #twatch.
- Dacă doriți să vă construiți propriile dvs., Seeed Studio vinde PCB-urile #twatch v1 și v2 suplimentare din comanda noastră. Asigurați-vă că obțineți o mufă Ethernet de la Seeed sau asigurați-vă că puteți găsi una care se potrivește cu PCB. Vom scrie despre v1 în câteva zile, schema și PCB sunt în proiectul SVN.
- Vom trimite gratuit un PCB #twatch v2 bare primelor 2 persoane care trimit pe Twitter #twatch.
Dacă doriți să vă implicați, alăturați-vă proiectului hardware deschis Dangerous Prototypes la Google Code sau veniți la chat pe forumul #twatch. Săptămâna viitoare vă vom arăta cum să redirecționați statisticile sistemului LCD Smartie către serverul #twatch TCP.
Recomandat:
Twitter și Arduino Yún: 3 pași
Twitter și Arduino Yún: După ce ați cheltuit aproape 100 de dolari pe un Arduino Yún pentru a vedea despre ce a fost vorba, mi s-a părut o idee bună să găsiți și să demonstrați câteva utilizări pentru acesta. Deci, în acest articol vom examina modul în care Yún poate trimite un tweet folosind câteva exemple simple de schițe - și
Cum să dezasamblați un computer cu pași și imagini ușoare: 13 pași (cu imagini)
Cum să dezasamblați un computer cu pași și imagini ușoare: Aceasta este o instrucțiune despre cum să dezasamblați un computer. Majoritatea componentelor de bază sunt modulare și ușor de îndepărtat. Cu toate acestea, este important să fiți organizat în acest sens. Acest lucru vă va ajuta să nu vă pierdeți piese și, de asemenea, să faceți reasamblarea
Tweetbot - Cabină foto conectată la Twitter: 4 pași (cu imagini)
Tweetbot - Cabină foto conectată Twitter: În acest proiect, vom realiza o cameră alimentată cu Raspberry Pi care poate fi utilizată într-o cabină foto la petreceri. După ce fotografia este făcută, aceasta poate fi postată pe un cont Twitter desemnat pentru ca toată lumea să o poată vedea mai târziu. Acest tutorial va cuprinde te
Build Machine Watcher: 9 pași
Build Machine Watcher: Punctul de plecare pentru acest proiect a fost lucrul la un proiect concret pentru a învăța câteva lucruri despre plăcile de microcontrolere. Ideea inițială a fost crearea unui obiect fizic care să poată monitoriza un sistem de integrare continuă (VSTS | Azure DevOps) și rep
Analiza sentimentelor Twitter cu Raspberry Pi: 3 pași (cu imagini)
Analiza sentimentelor Twitter cu Raspberry Pi: Ce este analiza sentimentului și de ce ar trebui să vă intereseze? Analiza sentimentului este procesul de determinare a tonului emoțional din spatele unei serii de cuvinte, folosit pentru a înțelege atitudinile, opiniile și emoțiile exprimate în termen de