Obsah:

Twitter Watcher, #twatch: 6 kroků (s obrázky)
Twitter Watcher, #twatch: 6 kroků (s obrázky)

Video: Twitter Watcher, #twatch: 6 kroků (s obrázky)

Video: Twitter Watcher, #twatch: 6 kroků (s obrázky)
Video: Jak založit a ovládat firemní Twitter - ZeptejSeFilipa (11. díl) 2024, Listopad
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 posouvá nejnovější trendová témata z Twitteru na LCD obrazovce. Je to samostatné síťové zařízení, které zůstává aktualizováno bez počítače. Bylo úžasné sledovat, jak se #iranelection, Michael Jackson a další historické události posouvají, zatímco jsme vyvíjeli #twatch. Tento Instructable dokumentuje hardware a design #twatch. Kromě Twitter trendového tickeru je #twatch také obecný ethernetový LCD batoh. Ukáže seznamy skladeb, statistiky počítače a další informace pomocí programů, jako je LCD Smartie. Je také možné aktualizovat software, takže nikdy není zastaralý. #Twatch je open source, takže si můžete stáhnout naše návrhy a vytvořit si vlastní. Seeed Studio má několik sestavených ethernetových LCD balíčků #twatch za 45 USD, včetně celosvětové dopravy. Získejte je, dokud trvají, protože brzy nevytvoříme další. Pokud vám tento projekt unikl, zaregistrujte se zde a budete informováni o budoucích předobjednávkách #twatch. Podívejte se na tento článek s původním formátováním na DangerousPrototypes.com, další diskuse ve fóru #twatch. Pošleme zdarma #twatch PCB, pokud jste první, kdo tweetuje #twatch! Přehled konceptu Trendová témata a tweety se posouvají po obrazovce. #Twatch pořizuje nové trendy a tweety každých pět minut, takže vždy vidíte nejnovější trendová témata. Přidali jsme také obecný režim ethernetového batohu, takže #twatch mohou také zobrazovat statistiky počítače z programu, jako je LCD Smartie, více o této funkci v části 2.

Krok 1: Použití

Používat to
Používat to

#Twatch se snadno používá.

  • Připojte jej k domácí ethernetové síti s přístupem na internet. #Twatch vyžaduje automatickou konfiguraci sítě (DHCP), což je výchozí nastavení téměř v každé moderní domácí síti.
  • Zapněte to. #Twatch vyžaduje 6–7voltové stejnosměrné napájení. Používá 2,1 mm DC napájecí zástrčku, nejběžnější typ. Univerzální stejnosměrné napájecí zdroje by měly obsahovat zástrčku 2,1 mm.
  • Upravte kontrast. LCD obrazovky se mění s teplotou a stářím, pomocí nastavovacího šroubu upravte kontrast obrazovky.
  • #Twatch nakonfiguruje nastavení sítě a začne procházet nejnovějšími trendovými tématy a několika tweety od každého. Pro nejčistší efekt posouvání bude možná nutné znovu nastavit kontrast.

Získejte aktualizace #twatch na blogu Dangerous Prototype.

Krok 2: Hardware

Hardware
Hardware
Hardware
Hardware
Hardware
Hardware

K výrobě obvodů a desek plošných spojů jsme použili freewarovou verzi Cadsoft Eagle. Stáhněte si nejnovější soubory z projektové stránky Google Code. Tato část ztratila mnoho formátování na Instructables, původní verzi můžete vidět zde. Mikrokontrolér Ethernet PIC 18F67J60 Microchip PIC 18F67J60 je pro tento projekt ideální, protože kombinuje ethernetové síťové rozhraní a 41MHz mikrokontrolér (10MIP) v malém balení za pouhých pár dolarů. Dodává se pouze v 64pinových+ TQFP balíčcích, ale neměli jsme problém s ručním pájením na profesionální desku plošných spojů. PIC vyžaduje 3,3voltové napájení. Část ethernetu je opravdu hladová po energii, proto jsme použili obří regulátor TO-220 LD117-3.3volt (VR1). Vybrali jsme velký regulátor, protože v závislosti na vstupním napájecím zdroji možná bude muset rozptýlit spoustu tepla. Regulátor vyžaduje malý vstupní odpojovací kondenzátor (C15) a velký výstupní kondenzátor 10uF (C3). Tyto čipy mají velký háček: lze je naprogramovat pouze asi 100krát. To ztěžuje vývoj, proto jsme také navrhli vývojovou verzi #twatch založenou na jiném čipu. Více o tomto designu v budoucím článku. Každý napájecí pin PIC dostane odpojovací kondenzátor 0,1 uF (C17-C23). PIC má interní 2,5voltový regulátor pro mikrokontrolér a ethernetová jádra, regulátor vyžaduje tantalový kondenzátor 10uF (C1). PIC je naprogramován pomocí 5pin ICSP záhlaví. Resetovací kolík MCLR je držen vysoko pomocí 10K pull-up rezistoru (R21), přídavného rezistoru (R4) a kondenzátoru (C16) doporučeného v datovém listu poskytuje ochranu proti různým podmínkám náhodného resetu. Sekce ethernetu vyžaduje externí krystal 25MHz (Q1). Dva kondenzátory 33pF (C4, C5) doplňují obvod oscilátoru. Použili jsme ethernetový konektor s integrovanou magnetikou (J2). Konektor je HanRun HR911105A, který nám poskytla společnost Seeed Studio - ujistěte se, že získáte stejný konektor, kompatibilní konektor nebo upravíte desku plošných spojů pro konektor, který najdete. Rozhraní ethernet vyžaduje zakončovací obvod (R30-33, C10-11, L1) a 1% předpínací odpor 2,28Kohm (R7, nezobrazeno). HD44780 znakový LCD monitor #twatch podporuje „standardní“4řádkový 20voltový 5voltový HD44780 LCD displej s +5voltovým podsvícením. Na eBay je obvykle najdete za zhruba 10 dolarů. Před připojením si nezapomeňte ověřit, zda se váš displej LCD shoduje s vývodem #twatch. Většina displejů LCD je stejných, ale ne všechny. Téměř všechny znaky LCD pracují na napětí 5 voltů, proto poskytujeme napájení 5 voltů ze společného regulátoru 7805 (VR2, C14, C2). LCD s podsvícením by potenciálně mohl použít spoustu proudu, takže jsme použili další velký regulátor To-220. C12 je oddělovací kondenzátor pro napájení LCD, ale LCD již mají integrované oddělení. C12 nemusí být naplněn, pouze jsme jej zahrnuli v případě problémů se stabilitou. Pro maximální obnovovací rychlost je LCD ovládán prostřednictvím plného 8bitového rozhraní. Většina LCD je 5voltových částí, které vyžadují přibližně 4,25voltů+ k registraci vysoké úrovně na datových pinech, ale PIC 18F65J60 je pouze 3,3voltová část. Naštěstí má PIC spoustu 5volt tolerantních pinů, takže můžeme držet signál na 5voltech pomocí 10K pull-up rezistoru (R10-R19) a poté jej uzemnit změnou nastavení směru kolíku PIC. Toto se obvykle nazývá výstup s otevřeným odtokem. Některé novější LCD běží na 5 voltů, ale stále fungují na úrovni rozhraní 3,3 voltů. #Twatch bude podporovat tento režim, pokud vynecháte R10-19, takže na piny nepůjde žádné napínací napětí, a změníte firmware tak, aby místo registru TRIS v HD44780.c přepínal registr LAT místo registru TRIS. Kontrast obrazovky LCD je řízen předpěťové napětí, obvykle generované 10Kohmovým potenciometrem. Deska #twatch PCB má stopy pro levný 3mm hrnec SMD (R2) a druhý prostor pro použití většího hrnce s průchozím otvorem (R2A). Měl by být naplněn pouze jeden! Jen v případě, že je v napájecím zdroji šum ze všech ethernetových věcí, filtrujeme předpětí přes malý feritový korálek (L2). Zahrnuli jsme také kondenzátor pro další filtrování (C13), ale nepoužili jsme ho, protože žádný prvek ve skutečnosti není potřeba. #Twatch může ovládat jednoduché +5voltové podsvícení až do 400mA nebo tak. PIC přepíná tranzistor (NPN1) přes odpor omezující proud 240 ohmů (R3, není zobrazeno). Použili jsme tranzistor, který zvládne 800mA+ se ziskem 250hfe+, takže PIC může přepínat velké zatížení s maximálním výstupním proudem 20mA. R1 je odpor omezující proud pro podsvícení LCD, pokud je to potřeba. Použili jsme odpor s průchozím otvorem, aby mohl odvádět hodně tepla s velkým podsvícením, a protože je to nejjednodušší velikost, kterou můžete lokálně najít a pájet sami. Pokud vaše podsvícení nevyžaduje odpor, stačí nahradit R1 kusem drátu. Náš LCD displej vyžadoval 3ohmový odpor pro napájecí zdroj s podsvícením 240mA. Některá podsvícení spotřebovávají hodně energie, takže jsme umístili napájecí kolíky hned vedle napájecího zdroje a zesílili základní rovinu spoustou VIA. Některá fantastická podsvícení LCD vyžadují speciální obvody pohonu, takže se ujistěte, že váš používá jednoduché napájení +5 V, aby nedošlo k poškození. Napájení Hodinky #twatch vyžadují 6–7voltové napájení pomocí 2,1mm napájecího konektoru (J1). Zástrčky 2,1 mm jsou nejběžnější velikostí a měly by být součástí každého univerzálního napájecího zdroje. Čím vyšší napájecí napětí použijete, tím více tepla musí být odváděno z VR1 a VR2. Pamatujte, že #twatch je prototypová výuková deska, není to kompletní a vyzkoušený komerční produkt. Proveďte příslušná bezpečnostní opatření a nespouštějte jej bez dozoru.

Krok 3: PCB a Partlist

PCB a seznam dílů
PCB a seznam dílů
PCB a seznam dílů
PCB a seznam dílů

Ke schématu a PCB jsme použili freewarovou verzi Cadsoft Eagle. Stáhněte si nejnovější soubory z projektové stránky Google Code. PCB je dvouvrstvý design s malými stopami a oddělením (10 mil.) Kolem 64pinového čipu TQFP PIC. Připravili jsme gerbery a odeslali je do služby PCB společnosti Seeed Studio pro práce s otevřeným zdrojovým kódem. Další PCB z naší objednávky jsou k dispozici v obchodě Seeed Studio. Pokud si koupíte naše další desky plošných spojů, zajistěte si ethernetový konektor HanRun, který se hodí k desce. Protože se montážní otvory na 20x4 LCD liší, nepokoušeli jsme se osadit desku plošných spojů do otvorů pro LCD. Udělali jsme to tak malé, jak to jen šlo, jako sériový LCD batoh SparkFun, takže to zůstalo mimo cestu původním otvorům. Jako vedlejší efekt to není za nějakou menší obrazovkou, jako je tento 16x2 LCD na Adafruit, příliš trapné. Seznam dílů Kliknutím zobrazíte obrázek umístění v plné velikosti [PNG]. Část | Hodnota | PackageIC1 PIC 18F67J60 TQFP-64C1-3 10uF tantalový kondenzátor, 10voltů+ SMC_AC4, 5 33pF kondenzátor 0805C10, 11, C14-23 0,1uF kondenzátor 0805ICSP 5x 0,1 "zásuvka pin JJ 2,1 mm SMD napájecí konektor SMDJ2 HR911105A ethernet jack RJ-45 korálek, 200ma+ 0805NPN1 NPN tranzistor, 250hfe+, 800ma+ SOT-23Q1 25MHz SMD krystal HC49UPR2 (A) 10K jednootáčkový trimovací rezistor 3mm SMD nebo průchozí otvorR3 odpor 240 ohmů 0805R4-6 odpor 390 ohmů 0805R7 2, odpor 260 ohmů, 1% 080 21 odpor 10 000 ohmů 0805R30-33 odpor 49,9 ohmů, 1% 0805VR1 LDO 3,3voltový regulátor (LD1117) TO-220VR2 7805T 5voltový regulátor TO-220HD44780-LCD 20x4 HD44780 znakový LCD

Krok 4: Firmware

Firmware
Firmware
Firmware
Firmware
Firmware
Firmware

Nejnovější úplné stažení firmwaru #twatch je na kódové stránce projektu Google. Kód je napsán v jazyce C a je kompilován pomocí demonstračního kompilátoru Microchip C18. Funkce TCP/IP stack a základní síť 'Free' TCP/IP stack společnosti Microchip poskytuje všechny síťové funkce, které potřebujeme k existenci v domácí síti a získávání dat z Twitteru. Zásobník je open source a zdarma jako pivo, ale licence Microchip distribuci zakazuje. Kvůli problémům s licencemi vkládáme do projektu Google Code SVN pouze náš zdrojový kód public domain, zde se dozvíte, jak stáhnout a zkompilovat zdroj. Zásobník má klienta Dynamic Host Configuration Protocol, který automaticky konfiguruje nastavení sítě pomocí DHCP server ve vaší místní síti. #Twatch vyžaduje server DHCP, ale drtivá většina sítí a směrovačů to má povoleno. IP adresa, maska, brána a první server DNS se zobrazují na LCD obrazovce, dokud nejsou k dispozici platná data z Twitteru. Zásobník také obsahuje oznamovací server Microchip. Když je adresa IP získána protokolem DHCP, #twatch oznámí svou adresu IP vysílaným paketem všem počítačům v místní síti. K zobrazení těchto paketů použijte nástroj MCHPDetect.exe v archivu projektu. Nakonec jsme zahrnuli server ping (IMCP). Pomocí libovolného klienta ping zkontrolujte, zda je #twatch v síti aktivní. Twitter TCP klient Program sledující trend Twitteru je jednoduchý TCP klient, podobný webovému prohlížeči, který načítá data z webových serverů. Twitter API nám poskytne data v různých formátech. Použili jsme formát JSON s nízkou hmotností, protože dekódování nízkoenergetického PIC čipu je nejjednodušší, podívejte se na JSONView, pokud používáte Firefox. Poté, co #twatch automaticky konfiguruje nastavení sítě, klient TCP TCP převezme kontrolu a uchopí aktuální trendová témata. Prohledává tento datový kanál JSON a hledá značku "name". Do 225bajtové vyrovnávací paměti je zkopírováno až 10 trendových témat. Samostatné pole ukládá koncovou pozici každého tématu do vyrovnávací paměti, abychom mohli témata načíst v dalším kroku. Dále #twatch vyhledává na Twitteru 2 tweety pro každé téma. Připojí každé téma na konec vyhledávací adresy URL JSON na Twitteru, speciální znaky, jako jsou mezery a interpunkce, jsou kódovány URL. Klient TCP analyzuje výsledky vyhledávání a hledá tweety, které následují za značkou „text“. Tweety mají více vrstev kódování. Dekódujeme vyhrazené znaky HTML, jako jsou ampersand (&) a uvozovky ("), protože je dokáže zobrazit obrazovka LCD. Odstraníme mezinárodní znaky UTF8, protože LCD HD44780 je ve své znakové sadě nemá. Analyzované dekódované tweety jsou uloženy v vyrovnávací paměť 2100 bajtů, další pole označuje začátek a konec každého tweetu ve vyrovnávací paměti. Prostor RAM byl na čipu 18F67J60 velkým problémem, celkem má jen asi 4 000 bajtů, ale 2100 bajtový vyrovnávací paměť se zdá být dostatečně velký, aby zvládl 20 průměrně velkých Zvláštní pozornost jsme věnovali ochraně před problémy s nedostatkem paměti a testovali jsme klienta za podmínek snížené paměti RAM, abychom zajistili, že během chyb ladně selže. Twitter je dobře známý svým občasným výpadkem. Pokud #twatch nemůže připojit se ke Twitteru, zobrazí se chybová zpráva o připojení a pokus se opakuje dvakrát. Pokud se nemůže připojit ani po třech pokusech, čeká pět minut, než to zkusí znovu. Twitter tak má šanci opravit své problémy, aniž by byl zatlučen #twatch q. #twatch chytí nový trend a tweetuje kanály každých pět minut. Twitter omezuje počet dotazů, které může klient provést, takže si dávejte pozor na častější obnovování. Twitter umožňuje 150 trendových aktualizací témat za hodinu a „výrazně více“vyhledávacích dotazů. Síťový režim batohu LCD server TCP Server #twatch může také zobrazovat informace o stavu systému z programů, jako je LCD Smartie. #Twatch má server TCP na portu 1337, který přijímá příkazy ve formátu Matrix Orbital. To také poskytuje kontrolu nad podsvícením LCD. Ve druhé části našeho článku #twatch vám ukážeme, jak přesměrovat LCD Smartie z portu COM na server TCP #twatch TCP.

Krok 5: Bootloader pro upgrady síťového firmwaru

Bootloader pro upgrady síťového firmwaru
Bootloader pro upgrady síťového firmwaru
Bootloader pro upgrady síťového firmwaru
Bootloader pro upgrady síťového firmwaru
Bootloader pro upgrady síťového firmwaru
Bootloader pro upgrady síťového firmwaru

#Twatch lze aktualizovat z počítače v místní síti díky internetovému zavaděči Microchip. Pamatujte, že ethernetové PIC 18F lze naprogramovat pouze v průměru 100krát, takže upgrady jsou poněkud omezené. Čip jsme ještě nevypálili, ale během vývoje jsme dosáhli pouze asi 55 cyklů. Pokud používáte zcela nový čip, budete muset naprogramovat zavaděč do PIC18F67J60 přes ICSP záhlaví, poté můžete nahrát #twatch firmware přes síť. Naprogramujte twatchv2-bl-vxx. HEX na čip pomocí PIC programátoru jako ICD2 nebo PicKit. Když se #twatch zapne, bootloader se spustí před spuštěním hlavního programu. Bootloader kontroluje spojení mezi PGD a PGC piny programovací hlavičky, jak je znázorněno na obrázku výše. Pokud najde připojení, zavaděč převezme kontrolu a čeká na nahrání nového firmwaru. Je velmi malá šance, že se zavaděč omylem spustí i bez propojky mezi kolíky PGC a PGD. #Twatch to nepoškodí, stačí odpojit napájení a zkusit to znovu. Náhodnému vstupu zavaděče lze zabránit přesunutím propojky přes jednu pozici, takže propojí piny PGD a GND. Bootloader #twatch používá IP adresu 192.168.1.123 a masku podsítě 255.255.255.0. Ke komunikaci s #twatch musí mít váš počítač také IP adresu, která začíná na 192.168.1.xxx. Vybrali jsme rozsah 192.168.1.xxx, protože je to nejběžnější výchozí nastavení pro domácí routery. Pokud váš počítač používá jiný rozsah IP adres, budete jej muset před provedením aktualizace dočasně upravit.

  • Zajistěte, aby byl váš počítač ve stejném rozsahu IP adres a podsítí jako #twatch. Váš počítač by měl mít IP adresu v rozsahu 192.168.1.xxx a masku podsítě 255.255.255.0. Výchozí adresa IP bootloaderu #twatch je 192.168.1.123, ujistěte se, že tuto adresu již nepoužívá žádný jiný počítač připojený ke stejnému routeru.
  • Odpojte napájecí zdroj #twatch.
  • Umístěte propojku mezi kolíky PGC a PGD.
  • V případě potřeby zapojte síťový kabel a zapojte napájecí zdroj. Obrazovka může být prázdná, může obsahovat pevné bloky nebo odpadky.
  • Pomocí nástroje TFTP odešlete nový firmware na IP adresu #twatch, používáme TFTP.exe z příkazového řádku Windows.
  • Aktualizace TFTP hlásí úspěch nebo chybu.
  • Odpojte napájecí zdroj a odstraňte propojku aktualizace.
  • Zapojte napájecí zdroj zpět. #Twatch by měl začít rolovat tweety. Pokud se místo toho spustí bootloader, vložte propojku mezi piny PGD a GND a zkuste to znovu.

Krok 6: Vezměte to dále, pořiďte si vlastní

Vezmeme to dále, pořiďte si vlastní
Vezmeme to dále, pořiďte si vlastní
Vezmeme to dále, pořiďte si vlastní
Vezmeme to dále, pořiďte si vlastní
Vezmeme to dále, pořiďte si vlastní
Vezmeme to dále, pořiďte si vlastní
Vezmeme to dále, pořiďte si vlastní
Vezmeme to dále, pořiďte si vlastní

#Twatch jsme navrhli tak, aby plně využíval zdroje na jednom čipu, rozšířený design by přidal funkce, ale byl by dražší. #Twatch by mohl sledovat váš vlastní zdroj na Twitteru. K zadání vašich přihlašovacích údajů ke Twitteru by potřeboval malý webový server a k uložení konfiguračních informací externí EEPROM. #Twatch by také mohl ukládat více tweetů nebo další informace o každém tweeteru, jako je název a umístění. Microchip nevyrábí integrovaný ethernetový řadič s více než 4K RAM, ale mohli bychom přidat externí SRAM pro ukládání tweetů a tweet meta-informací. Aktualizovaný hardware by mohl přidat I/O hlavičku pro připojení tlačítek s LCD Smartie. 4řádkový LCD nemá mnoho zobrazovacího prostoru. Okolo tohoto omezeného prostoru jsme navrhli rozhraní #twatch. Aktualizovaný firmware zvládne více velikostí obrazovky. Bootloader může převzít IP adresu získanou pomocí DHCP. Budoucí aktualizace firmwaru #twatch bude využívat tuto funkci pro snazší upgrady sítě. Příští týden se budeme věnovat serveru TCP kompatibilnímu s LCD Smartie integrovanému v #twatch. Získejte jeden! Co se ve vašem #twatch mění? Pokud chcete sestavený #twatch nebo PCB, máte několik možností:

  • Seeed Studio má několik sestavených ethernetových LCD balíčků #twatch za 45 USD, včetně celosvětové dopravy. Získejte je, dokud trvají, protože brzy nevytvoříme další. Pokud vám tento projekt unikl, zaregistrujte se zde a budete informováni o budoucích předobjednávkách #twatch.
  • Pokud si chcete postavit vlastní, Seeed Studio prodává další PCB #twatch v1 a v2 z naší objednávky. Ujistěte se, že získáte ethernetový konektor od společnosti Seeed, nebo se ujistěte, že najdete ten, který odpovídá desce plošných spojů. O v1 napíšeme za pár dní, schéma a PCB jsou v projektu SVN.
  • Prvním 2 lidem, kteří tweetují #twatch, zašleme bezplatnou desku plošných spojů #twatch v2.

Pokud se chcete zapojit, připojte se k otevřenému hardwarovému projektu Dangerous Prototypes na Google Code nebo si popovídejte na fóru #twatch. Příští týden vám ukážeme, jak přesměrovat statistiky systému LCD Smartie na server TCP #twatch.

Doporučuje: