Sadržaj:

Twitter Watcher, #twatch: 6 koraka (sa slikama)
Twitter Watcher, #twatch: 6 koraka (sa slikama)

Video: Twitter Watcher, #twatch: 6 koraka (sa slikama)

Video: Twitter Watcher, #twatch: 6 koraka (sa slikama)
Video: Моя работа наблюдать за лесом и здесь происходит что-то странное 2024, Novembar
Anonim
Twitter Watcher, #twatch
Twitter Watcher, #twatch
Twitter Watcher, #twatch
Twitter Watcher, #twatch
Twitter Watcher, #twatch
Twitter Watcher, #twatch
Twitter Watcher, #twatch
Twitter Watcher, #twatch

#Twatch pomiče najnovije teme u trendu s Twittera na LCD ekranu. To je samostalni mrežni uređaj koji se ažurira bez računara. Bilo je strašno gledati #iranelection, Michaela Jacksona i druge historijske događaje kako se kreću dok smo razvijali #twatch. Ovaj Instructable dokumentira #twatch hardver i dizajn. Osim Twitter oznake, #twatch je i generički ethernet LCD ruksak. Prikazat će popise za reprodukciju, statistiku računara i druge informacije s programima poput LCD Smartie. Takođe je moguće nadograditi softver, pa nikada nije zastario. #Twatch je otvorenog koda, pa možete preuzeti naše dizajne i izraditi vlastiti. Seeed Studio ima nekoliko sastavljenih #twatch ethernet LCD paketa za 45 USD, uključujući isporuku širom svijeta. Nabavite ih dok traju jer uskoro nećemo zaraditi više. Ako ste propustili ovaj projekt, prijavite se ovdje da biste bili obaviješteni o budućim predbilježbama #twatch. Pogledajte ovaj članak s izvornim oblikovanjem na DangerousPrototypes.com, više rasprava na forumu #twatch. Poslat ćemo besplatnu tiskanu ploču #twatch ako prvi tweetate #twatch! Pregled koncepta #twatch hvata najnovije teme u trendu s Twittera, a zatim učitava nekoliko tweetova za svaki. Aktualne teme i tweetovi se pomiču po ekranu. #Twatch hvata svježe trendove i tvitove svakih pet minuta tako da uvijek vidite najnovije trendove. Dodali smo i generički način rada za ethernet ruksak, tako da #twatch može prikazati i statistiku računara iz programa poput LCD Smartie, više o ovoj funkciji u drugom dijelu.

Korak 1: Upotreba

Use It
Use It

#Twatch je jednostavan za upotrebu.

  • Povežite ga s kućnom ethernet mrežom s pristupom internetu. #Twatch zahtijeva automatsku konfiguraciju mreže (DHCP), ovo je zadana postavka na gotovo svakoj modernoj kućnoj mreži.
  • Uključite ga. Za #twatch je potrebno napajanje istosmjernom strujom 6-7 volti. Koristi 2.1 mm DC utikač za napajanje, najčešći tip. Univerzalna DC napajanja trebaju uključivati 2,1 mm utikač.
  • Podesite kontrast. LCD ekrani se mijenjaju s temperaturom i godinama, koristite vijak za podešavanje da biste prilagodili kontrast ekrana.
  • #Twatch će konfigurirati mrežne postavke i početi listati najnovije teme u trendu i nekoliko tweetova od svake. Možda ćete morati ponovo podesiti kontrast za najčišći efekt pomicanja.

Nabavite #twatch ažuriranja na blogu Dangerous Prototype.

Korak 2: Hardver

Hardver
Hardver
Hardver
Hardver
Hardver
Hardver

Koristili smo besplatnu verziju Cadsoft Eagle -a za izradu kola i PCB -a. Preuzmite najnovije datoteke sa stranice Google Code projekta. Ovaj odjeljak je izgubio mnogo oblikovanja na Instructables, originalnu verziju možete vidjeti ovdje. Ethernet PIC 18F67J60 mikrokontroler Mikročip PIC 18F67J60 savršen je za ovaj projekt jer kombinira Ethernet mrežni interfejs i 41MHz mikrokontroler (10MIPs) u malom paketu za samo nekoliko dolara. Dolazi samo u 64pin+ TQFP paketima, ali nismo imali problema s ručnim lemljenjem na profesionalnu PCB. PIC -u je potrebno napajanje od 3,3 volta. Dio etherneta je jako gladan, pa smo koristili ogromni regulator TO-220 LD117-3.3volt (VR1). Odabrali smo veliki regulator jer će možda morati rasipati hrpu topline ovisno o ulaznom napajanju. Regulator zahtijeva mali ulazni kondenzator za razdvajanje (C15) i veliki izlazni kondenzator od 10 uF (C3). Postoji velika greška kod ovih čipova: oni se mogu programirati samo oko 100 puta. To otežava razvoj, pa smo osmislili i razvojnu verziju #twatch -a zasnovanu na drugom čipu. Više o tom dizajnu u budućem članku. Svaki PIC pin za napajanje dobiva 0,1uF kondenzator za odvajanje (C17-C23). PIC ima interni regulator od 2,5 volta za jezgre mikrokontrolera i etherneta, za regulator je potreban tantalni kondenzator od 10uF (C1). PIC je programiran putem 5 -pinskog ICSP zaglavlja. MCLR pin za poništavanje je visoko držan sa 10K pull-up otpornikom (R21), dodatnim otpornikom (R4) i kondenzatorom (C16) preporučenim u listu s podacima pruža zaštitu od različitih slučajnih resetiranja. Eternet dio zahtijeva vanjski kristal od 25 MHz (Q1). Dva kondenzatora od 33 pF (C4, C5) upotpunjuju oscilatorno kolo. Koristili smo ethernet priključak sa integriranom magnetikom (J2). Utičnica je HanRun HR911105A, koju nam je dao Seeed Studio - nabavite istu utičnicu, kompatibilnu utičnicu ili prilagodite PCB za utičnicu koju možete pronaći. Ethernet sučelje zahtijeva završni krug (R30-33, C10-11, L1) i otpornik pristranosti od 2,28Kohm 1% (R7, nije prikazan). HD44780 karakter LCD #twatch podržava 'standardni' 44 x 20 volti HD44780 LCD sa 20 karaktera sa pozadinskim osvjetljenjem od 5 volti. Obično ih možete pronaći za oko 10 USD na eBayu. Prije nego što ga pričvrstite, provjerite da li vaš LCD odgovara ispisu #twatch. Većina LCD -a su isti, ali ne svi. Gotovo svi LCD -i sa znakovima rade na 5 volti, pa pružamo napajanje od 5 volti iz uobičajenog regulatora 7805 (VR2, C14, C2). LCD sa pozadinskim osvjetljenjem potencijalno bi mogao koristiti hrpu struje, pa smo koristili još jedan veliki regulator To-220. C12 je kondenzator za razdvajanje za napajanje LCD-a, ali LCD-i već imaju ugrađeno odvajanje. C12 se ne mora popunjavati, samo smo ga uključili u slučaju problema sa stabilnošću. Za maksimalnu brzinu osvježavanja, LCD se kontrolira preko punog 8 -bitnog sučelja. Većina LCD -a su dijelovi od 5 volti koji zahtijevaju oko 4,25 volta+ za registraciju visokog nivoa na pinovima podataka, ali PIC 18F65J60 je samo dio od 3,3 volta. Srećom, PIC ima hrpu pinova tolerantnih na 5 volti, tako da možemo držati signal na 5 volti s 10K pull-up otpornikom (R10-R19), a zatim ga uzemljiti promjenom postavke smjera pina PIC-a. To se obično naziva izlaz s otvorenim odvodom. Neki noviji LCD -i rade na 5 volti, ali i dalje rade na razinama sučelja od 3,3 volta. #Twatch će podržati ovaj način rada ako izostavite R10-19 tako da naponski napon ne ide na pinove i promijenite firmver tako da promijenite registar LAT umjesto registra TRIS u HD44780.c. Kontrast LCD ekrana kontrolira prednapon, obično generiran s potenciometrom od 10Kohm. #Twatch PCB ima otiske za jeftin SMD lonac od 3 mm (R2) i drugi prostor za upotrebu većeg lonca kroz otvor (R2A). Samo jedan treba biti naseljen! Samo u slučaju da postoji buka u napajanju iz svih ethernet stvari, filtriramo napon pristranosti kroz malu feritnu kuglicu (L2). Uključili smo i kondenzator za dodatno filtriranje (C13), ali ga nismo koristili jer nijedan element zapravo nije potreban. #Twatch može kontrolirati jednostavno +5voltno pozadinsko osvjetljenje do 400mA ili tako dalje. PIC prebacuje tranzistor (NPN1) kroz otpornik za ograničavanje struje od 240 ohma (R3, nije prikazan). Koristili smo tranzistor koji može podnijeti 800mA+ sa pojačanjem od 250hfe+, tako da PIC može prebaciti veliko opterećenje sa maksimalnom izlaznom strujom od 20mA. R1 je otpornik za ograničavanje struje za pozadinsko osvjetljenje LCD -a, ako je potrebno. Koristili smo otpornik kroz rupu tako da može odvesti mnogo topline s velikim pozadinskim osvjetljenjem, i zato što je najlakše pronaći ga lokalno i sami zalemiti. Ako za vaše pozadinsko osvjetljenje nije potreban otpornik, zamijenite R1 komadom žice. Naš LCD je zahtijevao otpornik od 3 ohma za napajanje sa pozadinskim osvjetljenjem od 240 mA. Neka pozadinska osvjetljenja troše mnogo energije, pa smo pinove za napajanje stavili tik uz napajanje i ojačali ravninu zemlje gomilom VIA -a. Za neka otmjena LCD pozadinska svjetla potrebna su posebna pogonska kola, stoga budite sigurni da vaš koristi jednostavno napajanje od 5 volti kako biste izbjegli oštećenja. Napajanje #satima je potrebno napajanje 6-7 volti kroz 2,1 mm utičnicu za napajanje (J1). Utikači od 2,1 mm najčešće su veličine i trebali bi se isporučiti sa svakim univerzalnim izvorom napajanja. Što veći napon napajanja koristite, to je više topline koja se mora odvoditi iz VR1 i VR2. Zapamtite da je #twatch prototipna ploča za učenje, nije kompletan i testiran komercijalni proizvod. Poduzmite odgovarajuće mjere opreza i nemojte raditi bez nadzora.

Korak 3: PCB i lista dijelova

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

Koristili smo besplatnu verziju Cadsoft Eagle za izradu sheme i PCB -a. Preuzmite najnovije datoteke sa stranice Google Code projekta. PCB je dvoslojni dizajn sa malim tragovima i odvajanjem (10mil) oko 64-pinskog TQFP PIC čipa. Pripremili smo gerbere i poslali ih u servisnu ploču Seeed Studio za radove otvorenog koda. Dodatne PCB ploče iz naše narudžbe dostupne su u trgovini Seeed Studio. Ako kupujete naše dodatne PCB -e, obavezno nabavite HanRun ethernet priključak koji odgovara ploči. Budući da se montažne rupe na LCD -ovima veličine 20x4 razlikuju, nismo pokušali ugraditi PCB u rupe na LCD -u. Napravili smo ga što je moguće manjim, poput SparkFunovog serijskog LCD ruksaka, tako da se ne miješa s izvornim rupama. Kao nuspojava, nije previše strašno iza nekog manjeg ekrana poput ovog 16x2 LCD -a na Adafruit -u. Lista dijelova Kliknite za sliku položaja u punoj veličini [PNG]. Dio | Vrijednost | PaketIC1 PIC 18F67J60 TQFP-64C1-3 Tantalni kondenzator od 10uF, 10 volti+ SMC_AC4, 5 kondenzator od 33 pF 0805C10, 11, C14-23 0,1 uF kondenzator 0805ICSP 5x 0,1 "muški pinJJ1 2,1 mm SMD utičnica SMDJ2 HR911105A ethernet kuglica, 200ma+ 0805NPN1 NPN tranzistor, 250hfe+, 800ma+ SOT-23Q1 25MHz SMD kristal HC49UPR2 (A) 10K jednosmjerni trim otpornik 3 mm SMD ili kroz otvorR3 240 ohmski otpornik 0805R4-6 otpornik 390 oma 0805R7 otpornik 2, 260 ohma, 1% 0 21 otpornik od 10 000 ohma 0805R30-33 Otpornik od 49,9 ohma, 1% 0805VR1 LDO regulator od 3,3 volta (LD1117) TO-220VR2 7805T regulator od 5 volti TO-220HD44780-LCD 20x4 HD44780 LCD LCD

Korak 4: Firmware

Firmware
Firmware
Firmware
Firmware
Firmware
Firmware

Najnovije potpuno preuzimanje firmvera #twatch nalazi se na stranici Google Code projekta. Kôd je napisan na jeziku C i kompiliran je demonstracijskim kompajlerom Microchip C18. TCP/IP stek i osnovne mrežne funkcije Micročipov 'besplatni' TCP/IP stek pruža sve mrežne funkcije koje su nam potrebne za postojanje na kućnoj mreži i preuzimanje podataka s Twittera. Snop je otvorenog koda i besplatan kao u pivu, ali licenca za Microchip zabranjuje distribuciju. Zbog problema s licenciranjem, samo stavljamo izvorni kôd javne domene u projekt Google Code SVN, ovdje naučite kako preuzeti i kompajlirati izvor. Snop ima klijenta Dynamic Host Configuration Protocol klijenta koji automatski konfigurira mrežne postavke pomoću DHCP -a poslužitelja na vašoj lokalnoj mreži. #Twatch zahtijeva DHCP poslužitelj, ali velika većina mreža i usmjerivača ima to omogućeno. IP adresa, maska, mrežni prolaz i prvi DNS server prikazuju se na LCD ekranu sve dok ne budu dostupni važeći Twitter podaci. Niz takođe uključuje Microchip -ov server za najave. Kada DHCP dobije IP adresu, #twatch objavljuje svoju IP adresu sa paketom za emitovanje svim računarima u lokalnoj mreži. Za pregled ovih paketa koristite uslužni program MCHPDetect.exe u arhivi projekta. Na kraju smo uključili i ping (IMCP) server. Pomoću bilo kojeg ping klijenta provjerite je li #twatch živ na mreži. Twitter TCP klijent Twitter program koji prati trend je jednostavan TCP klijent, sličan web pregledniku, koji izvlači podatke s web servera. Twitter -ov API će nam dati podatke u različitim formatima. Koristili smo lagani JSON format jer je PIC čip male snage najlakše dekodirati, provjerite JSONView ako koristite Firefox. Nakon što #twatch automatski konfigurira mrežne postavke, Twitter TCP klijent preuzima kontrolu i hvata trenutne teme u trendu. Pretražuje ovaj JSON datafeed i traži oznaku "name". Do 10 trendovskih tema kopira se u bafer od 225 bajtova. Zasebni niz sprema krajnju poziciju svake teme u međuspremnik kako bismo mogli dohvatiti teme u sljedećem koraku. Zatim #twatch traži 2 tvita za svaku temu na Twitteru. On dodaje svaku temu na kraj Twitter JSON URL -a za pretraživanje, posebni znakovi poput razmaka i interpunkcije kodirani su URL -om. TCP klijent analizira rezultate pretraživanja i traži tweetove koji slijede oznaku "text". Tweetovi imaju više slojeva kodiranja. Dekodiramo HTML rezervirane znakove poput ampersanda (&) i navodnika (") jer ih LCD zaslon može prikazati. Uklanjamo međunarodne znakove UTF8 jer ih HD44780 LCD nema u svom skupu znakova. Raščlanjeni, dekodirani tweetovi pohranjeni su u međuspremnik od 2100 bajtova, dodatni niz označava početak i kraj svakog tvita u međuspremniku. Prostor RAM-a bio je veliki problem na čipu 18F67J60, ima samo oko 4000 bajtova ukupno, ali čini se da je bafer od 2100 bajtova dovoljno velik za rukovanje s 20 prosječnih veličina tweetove. Posebno smo se pobrinuli za zaštitu od problema s memorijom i testirali smo klijenta u uslovima smanjene RAM memorije kako bismo se uvjerili da ne radi ispravno tokom grešaka. Twitter je poznat po povremenom zastoju. Ako #twatch ne može povežite se s Twitterom, prikazuje poruku o grešci pri povezivanju i pokušava dva puta. Ako se ne može povezati nakon tri pokušaja, čeka pet minuta prije nego što pokuša ponovo. Ovo daje Twitteru priliku da riješi svoje probleme, a da ga ne omete #twatch q ueries. The #twatch hvata svjež trend i tweetuje svakih pet minuta. Twitter postavlja ograničenje na broj upita koje klijent može postaviti, stoga budite oprezni pri češćem osvježavanju. Twitter dopušta 150 ažuriranih tema po satu i "znatno više" upita za pretraživanje. Mrežni način rada LCD ruksaka TCP server #twatch takođe može prikazati informacije o statusu sistema iz programa kao što je LCD Smartie. #Twatch ima TCP poslužitelj na portu 1337 koji prihvaća naredbe formatirane Matrix Orbital. Ovo takođe omogućava kontrolu pozadinskog osvetljenja LCD ekrana. Pokazaćemo vam kako da preusmerite LCD Smartie sa COM porta na #twatch TCP server u drugom delu našeg članka #twatch.

Korak 5: Bootloader za nadogradnju mrežnog firmvera

Bootloader za nadogradnju mrežnog firmvera
Bootloader za nadogradnju mrežnog firmvera
Bootloader za nadogradnju mrežnog firmvera
Bootloader za nadogradnju mrežnog firmvera
Bootloader za nadogradnju mrežnog firmvera
Bootloader za nadogradnju mrežnog firmvera

#Twatch se može ažurirati s računara na lokalnoj mreži zahvaljujući Microchip -ovom internetskom pokretaču. Imajte na umu da se 18F ethernet PIC -ovi mogu programirati samo u prosjeku 100 puta, pa su nadogradnje donekle ograničene. Tek trebamo izgorjeti čip, ali smo tokom razvoja dostigli samo 55 ciklusa. Ako koristite potpuno novi čip, morat ćete programirati pokretački program u PIC18F67J60 putem ICSP zaglavlja, tada možete prenijeti #twatch firmware preko mreže. Programirajte twatchv2-bl-vxx. HEX u čip pomoću PIC programatora poput ICD2 ili PicKit-a. Kada se #twatch uključi, pokretački program se pokreće prije pokretanja glavnog programa. Bootloader provjerava postoji li veza između PGD i PGC pinova programskog zaglavlja, prikazanog na gornjoj slici. Ako pronađe vezu, pokretački program preuzima i čeka da se učita novi firmver. Postoji vrlo mala šansa da se pokretački program slučajno pokrene čak i bez kratkospojnika između PGC i PGD pinova. Ovo neće oštetiti #twatch, samo isključite napajanje i pokušajte ponovo. Slučajan unos bootloadera može se spriječiti pomicanjem kratkospojnika preko jednog položaja tako da poveže PGD i GND pinove. Bootloader #twatch koristi IP adresu 192.168.1.123 i masku podmreže 255.255.255.0. Računar takođe mora imati IP adresu koja počinje sa 192.168.1.xxx za komunikaciju sa #twatch -om. Odabrali smo raspon 192.168.1.xxx jer je to najčešće zadano za kućne usmjerivače. Ako vaše računalo koristi drugi raspon IP adresa, morat ćete ga privremeno prilagoditi prije nego što izvršite ažuriranje. Kako nadograditi:

  • Uverite se da je vaš računar u istom IP opsegu i podmreži kao i #twatch. Vaš računar bi trebao imati IP adresu u rasponu 192.168.1.xxx i masku podmreže od 255.255.255.0. Zadana IP adresa pokretačkog programa za učitavanje #twatch je 192.168.1.123, pazite da nijedan drugi računar povezan na isti usmjerivač već ne koristi ovu adresu.
  • Isključite #twatch napajanje.
  • Postavite kratkospojnik između pinova PGC i PGD.
  • Uključite mrežni kabel, ako je potrebno, i uključite napajanje. Ekran može biti prazan, imati čvrste blokove ili smeće.
  • Pomoću pomoćnog programa TFTP pošaljite novi firmver na IP adresu #twatch, koristimo TFTP.exe iz Windows naredbene linije.
  • Ažuriranje TFTP -a prijavljuje uspjeh ili grešku.
  • Isključite napajanje, uklonite kratkospojnik za ažuriranje.
  • Ponovo uključite napajanje. #Twatch bi trebao početi listati tweetove. Ako se pokretački program umjesto toga pokrene, postavite kratkospojnik između PGD i GND pinova i pokušajte ponovo.

Korak 6: Napredujući, steknite svoje

Ako nastavite dalje, dobijte svoje
Ako nastavite dalje, dobijte svoje
Ako nastavite dalje, dobijte svoje
Ako nastavite dalje, dobijte svoje
Ako nastavite dalje, dobijte svoje
Ako nastavite dalje, dobijte svoje
Ako nastavite dalje, dobijte svoje
Ako nastavite dalje, dobijte svoje

Dizajnirali smo #twatch kako bismo u potpunosti iskoristili resurse na jednom čipu, prošireni dizajn bi dodao funkcije, ali bi bio skuplji. #Twatch bi mogao pratiti vaš vlastiti Twitter feed. Za unos vaše prijave na Twitter trebao bi mali web server i vanjski EEPROM za spremanje podataka o konfiguraciji. #Twatch bi također mogao pohraniti više tweetova ili dodatne informacije o svakom visokotoncu, poput imena i lokacije. Mikročip ne čini integrirani ethernet kontroler s više od 4K RAM-a, ali mogli bismo dodati vanjski SRAM za pohranu tweetova i metainfota o tvitanju. Ažurirani hardver mogao bi dodati I/O zaglavlje za povezivanje gumba s LCD-om Smartie. 20 znakova by 4line LCD nema puno prostora za prikaz. Mi smo dizajnirali interfejs #twatch oko ove ograničene količine prostora. Ažurirani firmver može podnijeti više veličina ekrana. Bootloader može usvojiti IP adresu koju je dobio DHCP. Buduće ažuriranje firmvera #twatch iskoristit će ovu značajku za lakše nadogradnje mreže. Sljedeće sedmice ćemo pokriti TCP server kompatibilan sa LCD Smartie ugrađen u #twatch. Uzmite ga! Šta je twending na vašem #twatchu? Ako želite sastavljeni #sat ili PCB, evo nekoliko mogućnosti:

  • Seeed Studio ima nekoliko sastavljenih ethernet LCD paketa #twatch za 45 USD, uključujući isporuku širom svijeta. Nabavite ih dok traju jer uskoro nećemo zaraditi više. Ako ste propustili ovaj projekt, prijavite se ovdje kako biste bili obaviješteni o budućim #twatch predbilježbama.
  • Ako želite izgraditi vlastiti, Seeed Studio prodaje dodatne tiskane ploče #twatch v1 i v2 iz naše narudžbe. Obavezno nabavite ethernet priključak od Seeeda ili pronađite onu koja odgovara PCB -u. O v1 ćemo pisati za nekoliko dana, shematski i PCB su u projektu SVN.
  • Poslat ćemo besplatnu #twatch v2 golu PCB ploču za prve 2 osobe koje tvitaju #twatch.

Ako se želite uključiti, pridružite se otvorenom hardverskom projektu Dangerous Prototypes na Google Code -u ili dođite na chat na forum #twatch. Sljedeće sedmice ćemo vam pokazati kako preusmjeriti sistemsku statistiku LCD Smartie na TCP server #twatch.

Preporučuje se: