Indholdsfortegnelse:

Twitter Watcher, #twatch: 6 trin (med billeder)
Twitter Watcher, #twatch: 6 trin (med billeder)

Video: Twitter Watcher, #twatch: 6 trin (med billeder)

Video: Twitter Watcher, #twatch: 6 trin (med billeder)
Video: TON PLACE + TON COIN НОВАЯ КРИПТО СОЦ СЕТЬ 2024, November
Anonim
Twitter Watcher, #twatchet
Twitter Watcher, #twatchet
Twitter Watcher, #twatchet
Twitter Watcher, #twatchet
Twitter Watcher, #twatchet
Twitter Watcher, #twatchet
Twitter Watcher, #twatchet
Twitter Watcher, #twatchet

#Twatchet ruller de nyeste trendemner fra Twitter på en LCD -skærm. Det er et enkeltstående netværksapparat, der forbliver opdateret uden en pc. Det var fantastisk at se #iranelection, Michael Jackson og andre historiske begivenheder rulle forbi, mens vi udviklede #twatchet. Denne instruktionsbog dokumenterer #urets hardware og design. Ud over en Twitter -trend -ticker er #twatch også en generisk ethernet LCD -rygsæk. Det viser afspilningslister, pc -statistik og anden information med programmer som LCD Smartie. Det er også software, der kan opgraderes, så det er aldrig forældet. #Twatchet er open source, så du kan downloade vores designs og bygge dit eget. Seeed Studio har et par samlede #twatch ethernet LCD -pakker til $ 45, inklusive forsendelse på verdensplan. Få dem så længe de varer, for vi får ikke snart flere. Hvis du gik glip af dette projekt, skal du tilmelde dig her for at få besked om fremtidige #twatch -forudbestillinger. Se denne artikel med den originale formatering på DangerousPrototypes.com, mere diskussion i #twatch -forum. Vi sender et gratis #twatch -printkort, hvis du er den første til at tweet #twatchet! Konceptoversigt #twatchet griber de nyeste trendemner fra Twitter og indlæser derefter et par tweets for hver. De populære emner og tweets ruller på en skærm. #Twatchet fanger friske tendenser og tweets hvert femte minut, så du altid kan se de nyeste trendemner. Vi tilføjede også en generisk ethernet -rygsækstilstand, så #twatchet kan også vise pc -statistik fra et program som LCD Smartie, mere om denne funktion i del 2.

Trin 1: Brug det

Brug det
Brug det

#Turet er let at bruge.

  • Tilslut det til et hjemmenethernetværk med internetadgang. #Twatchet kræver automatisk netværkskonfiguration (DHCP), dette er standardindstillingen på næsten alle moderne hjemmenetværk.
  • Tænd for den. #Twatchet kræver en 6-7 volt jævnstrømforsyning. Den bruger et 2,1 mm DC -stik, den mest almindelige type. Universal DC -strømforsyninger skal indeholde et 2,1 mm stik.
  • Juster kontrasten. LCD -skærme ændres med temperatur og alder, brug justeringsskruen til at justere skærmkontrasten.
  • #Twatchet konfigurerer netværksindstillingerne og begynder at rulle de seneste trendemner og et par tweets fra hver. Du skal muligvis justere kontrasten igen for den reneste rulleeffekt.

Få #twatch -opdateringer på bloggen Dangerous Prototype.

Trin 2: Hardware

Hardware
Hardware
Hardware
Hardware
Hardware
Hardware

Vi brugte freeware -versionen af Cadsoft Eagle til at lave kredsløbet og printkortet. Download de nyeste filer fra projektet Google Code -side. Denne sektion mistede meget formatering på Instructables, du kan se den originale version her. Ethernet PIC 18F67J60 mikrokontroller Microchip PIC 18F67J60 er perfekt til dette projekt, fordi den kombinerer et ethernet -netværksinterface og en 41MHz mikrokontroller (10MIP'er) i en lille pakke til kun få dollars. Den fås kun i 64pin+ TQFP -pakker, men vi havde ikke problemer med at lodde den i hånden til et professionelt printkort. PIC kræver en 3,3 volt strømforsyning. Ethernet-delen er virkelig strømsulten, så vi brugte en kæmpe TO-220 LD117-3.3volt regulator (VR1). Vi valgte en stor regulator, fordi den muligvis skulle aflede en masse varme afhængigt af strømforsyningen. Regulatoren kræver en lille inputfrakoblingskondensator (C15) og en stor 10uF udgangskondensator (C3). Der er en stor fangst med disse chips: de kan kun programmeres cirka 100 gange. Det gør udviklingen vanskelig, så vi har også designet en udviklingsversion af #twatchet baseret på en anden chip. Mere om dette design i en fremtidig artikel. Hver PIC-strømstik får en 0.1uF afkoblingskondensator (C17-C23). PIC'en har en intern 2,5 volt regulator til mikrokontroller og ethernetkerner, regulatoren kræver en 10uF tantal kondensator (C1). PIC er programmeret via et 5pin ICSP header. MCLR nulstillingstappen holdes høj med en 10K pull-up modstand (R21), en ekstra modstand (R4) og kondensator (C16) anbefalet af databladet giver beskyttelse mod forskellige utilsigtede nulstillingsforhold. Ethernet-sektionen kræver en 25MHz ekstern krystal (Q1). To 33pF kondensatorer (C4, C5) fuldender oscillatorkredsløbet. Vi brugte et ethernetstik med integreret magnetik (J2). Stikket er et HanRun HR911105A, leveret til os af Seeed Studio - sørg for at få det samme stik, et kompatibelt stik, eller juster printkortet til et stik, du kan finde. Ethernet-grænsefladen kræver et afslutningskredsløb (R30-33, C10-11, L1) og 2,28Kohm 1% bias-modstand (R7, ikke vist). HD44780 tegn LCD #uret understøtter en 'standard' 4linje med 20karakter 5volt HD44780 LCD med en +5volt baggrundsbelysning. Du kan normalt finde dem for omkring $ 10 på eBay. Sørg for at kontrollere, at din LCD -skærm matcher #watch pinout, før du vedhæfter den. De fleste LCD -skærme er ens, men ikke alle. Næsten alle karakter -LCD'er fungerer ved 5 volt, så vi leverer en 5 volt strømforsyning fra en fælles 7805 -regulator (VR2, C14, C2). LCD'et med baggrundsbelysning kan muligvis bruge en masse strøm, så vi brugte en anden stor To-220-regulator. C12 er en afkoblingskondensator til LCD-strømforsyningen, men LCD-skærme har allerede indbygget afkobling. C12 behøver ikke at blive udfyldt, vi inkluderede det bare i tilfælde af stabilitetsproblemer. For maksimal opdateringshastighed styres LCD'et via hele 8bit -grænsefladen. De fleste LCD'er er 5volts dele, der kræver ca. 4,25volt+ for at registrere et højt niveau på datapinnene, men PIC 18F65J60 er kun en 3,3 volt del. Heldigvis har PIC en flok 5 volt tolerante stifter, så vi kan holde signalet på 5 volt med en 10K pull-up-modstand (R10-R19) og derefter jorde det ved at ændre PIC pin-retningens indstilling. Dette kaldes normalt en open drain output. Nogle nyere LCD -skærme kører med 5 volt, men fungerer stadig på 3,3 volt interface -niveauer. #Twatchet understøtter denne tilstand, hvis du udelader R10-19, så ingen pull-up spænding går på benene, og ændrer firmwaren for at skifte LAT-register i stedet for TRIS-registret i HD44780.c. LCD-skærmkontrast styres af en forspænding, normalt genereret med et 10Kohm potentiometer. #Twatch-printkortet har fodaftryk til en billig 3 mm SMD-gryde (R2) og en anden plads til brug af en større, gennemgående hul (R2A). Kun en skal være befolket! Bare hvis der er støj i strømforsyningen fra alle ethernet -tingene, filtrerer vi forspændingen gennem en lille ferritperle (L2). Vi inkluderede også en kondensator til yderligere filtrering (C13), men vi brugte den ikke, da ingen af elementerne faktisk er nødvendige. #Twatchet kan styre simple +5 volt baggrundsbelysning op til 400mA eller deromkring. PIC'en skifter en transistor (NPN1) gennem en 240ohm strømbegrænsende modstand (R3, ikke vist). Vi brugte en transistor, der kan håndtere 800mA+ med en forstærkning på 250hfe+, så PIC kan skifte en stor belastning med sin 20mA maksimale pin -udgangsstrøm. R1 er en strømbegrænsende modstand til LCD -baggrundsbelysningen, hvis det er nødvendigt. Vi brugte en gennemgående hulmodstand, så den kan sprede meget varme med store baggrundsbelysning, og fordi det er den letteste størrelse at finde lokalt og lodde selv. Hvis din baggrundsbelysning ikke kræver en modstand, skal du bare udskifte R1 med et stykke ledning. Vores LCD krævede en 3ohm modstand til en 240mA baggrundsbelysning strømforsyning. Nogle baggrundsbelysninger bruger meget strøm, så vi lagde forsyningsstifterne lige ved siden af strømforsyningen og forstærkede jordplanet med en flok VIA'er. Nogle smarte LCD -baggrundslygter kræver særlige drevkredsløb, så sørg for, at din bruger en simpel +5 volt forsyning for at undgå skader. Strømforsyning #twatchet kræver en 6-7 volt strømforsyning gennem et 2,1 mm strømstik (J1). 2,1 mm stik er den mest almindelige størrelse og bør komme med alle universelle strømforsyninger. Jo højere forsyningsspænding du bruger, jo mere varme skal der spredes fra VR1 og VR2. Husk, at #twatchet er en prototype læringstavle, det er ikke et komplet og testet kommercielt produkt. Tag passende sikkerhedsforanstaltninger og lad det ikke køre uden opsyn.

Trin 3: PCB og Partlist

PCB og Partlist
PCB og Partlist
PCB og Partlist
PCB og Partlist

Vi brugte freeware -versionen af Cadsoft Eagle til at lave skematisk og PCB. Download de nyeste filer fra projektets Google Code -side. PCB'et er et 2-lags design med små spor og adskillelse (10mil) omkring den 64pin TQFP PIC-chip. Vi forberedte gerbers og sendte dem til Seeed Studios PCB -service til open source -værker. Ekstra printkort fra vores ordre er tilgængelige i Seeed Studio -butikken. Hvis du køber vores ekstra printkort, skal du sørge for at få HanRun -ethernetstikket, der passer til brættet. Da monteringshullerne på 20x4 LCD -skærme varierer, forsøgte vi ikke at montere printkortet på LCD -hullerne. Vi gjorde den så lille som muligt, ligesom SparkFuns serielle LCD -rygsæk, så den holder sig ude af vejen for de originale huller. Som en bivirkning er det ikke for frygteligt akavet bag en mindre skærm som denne 16x2 LCD på Adafruit. Deleliste Klik for et fuldstændigt placeringsbillede [PNG]. Del | Værdi | Pakke IC1 PIC 18F67J60 TQFP-64C1-3 10uF tantal kondensator, 10 volt+ SMC_AC4, 5 33pF kondensator 0805C10, 11, C14-23 0,1 uF kondensator 0805ICSP 5x 0,1 "hanstikhoved J1 2,1 mm SMD strømstik SMDJ2 HR911105A etherl jackstik RJ perle, 200ma+ 0805NPN1 NPN-transistor, 250hfe+, 800ma+ SOT-23Q1 25MHz SMD-krystal HC49UPR2 (A) 10K enkeltsvinget modstand 3mm SMD eller gennemgående hulR3 240 ohm modstand 0805R4-6 390 ohm modstand 0805R7 2, 260 ohm modstand, 1% 0805R10 21 10.000 ohm modstand 0805R30-33 49.9 ohm modstand, 1% 0805VR1 LDO 3.3volt regulator (LD1117) TO-220VR2 7805T 5volt regulator TO-220HD44780-LCD 20x4 HD44780 karakter LCD

Trin 4: Firmware

Firmware
Firmware
Firmware
Firmware
Firmware
Firmware

Den seneste komplette #twatch -firmware -download er på projektets Google Code -side. Koden er skrevet i C og kompileres med Microchip C18 demonstrationskompilatoren. TCP/IP -stack og basenetværksfunktioner Microchips 'gratis' TCP/IP -stack giver alle de netværksfunktioner, vi har brug for, for at eksistere på et hjemmenetværk og få fat i data fra Twitter. Stakken er open source og gratis-som-i-øl, men Microchip-licensen forbyder distribution. På grund af licensproblemer sætter vi kun vores kildekode til det offentlige domæne i projektet Google Code SVN, lær hvordan du downloader og kompilerer kilden her. Stakken har en Dynamic Host Configuration Protocol -klient, der automatisk konfigurerer netværksindstillingerne ved hjælp af DHCP server på dit lokale netværk. #Twatchet kræver en DHCP -server, men langt de fleste netværk og routere har dette aktiveret. IP -adressen, masken, gatewayen og den første DNS -server vises på LCD -skærmen, indtil gyldige Twitter -data er tilgængelige. Stakken indeholder også Microchips annonceringsserver. Når IP -adressen er erhvervet af DHCP, meddeler #twatch sin IP -adresse med en broadcast -pakke til alle computere på det lokale netværk. Brug værktøjet MCHPDetect.exe i projektarkivet til at se disse pakker. Endelig inkluderede vi en ping (IMCP) server. Brug en hvilken som helst ping -klient til at kontrollere, om #twatchet er i live på netværket. Twitter TCP -klient Twitter -trendprogrammet er en simpel TCP -klient, der ligner en webbrowser, der henter data fra webservere. Twitters API giver os data i forskellige formater. Vi brugte det lette JSON-format, fordi det er lettest for PIC-chip med lav effekt at afkode, tjek JSONView, hvis du bruger Firefox.. Den søger gennem denne JSON -datafeed og leder efter "navn" -tagget. Op til 10 populære emner kopieres til en 225byte buffer. Et separat array gemmer slutpositionen for hvert emne i bufferen, så vi kan hente emnerne i det næste trin. Derefter søger #twatch på Twitter efter 2 tweets for hvert emne. Det tilføjer hvert emne til slutningen af Twitter JSON -søge -url'en, specialtegn som mellemrum og tegnsætning er URL -kodet. TCP -klienten gennemgår søgeresultaterne og leder efter tweets, der følger "tekst" -tagget. Tweets har flere lag kodning. Vi afkoder HTML -reserverede tegn som ampersand (&) og citater ("), fordi LCD -skærmen kan vise dem. Vi fjerner UTF8 internationale tegn, fordi HD44780 LCD ikke har dem i sit tegnsæt. De analyserede, afkodede tweets gemmes i en 2100byte buffer, et ekstra array markerer begyndelsen og slutningen på hver tweet i bufferen. RAM-plads var et stort problem på 18F67J60-chippen, den har kun omkring 4000bytes i alt, men 2100byte-bufferen virker stor nok til at klare 20 gennemsnitlige størrelser Vi lagde særlig vægt på at beskytte mod problemer med hukommelse, og vi testede klienten under reducerede RAM-forhold for at sikre, at den fejler yndefuldt under fejl. Twitter er kendt for sin lejlighedsvise nedetid. Hvis #twatchet ikke kan oprette forbindelse til Twitter, viser den en forbindelsesfejlmeddelelse og prøver igen to gange. Hvis den ikke kan oprette forbindelse efter tre forsøg, venter den fem minutter, før den prøver igen. Dette giver Twitter en chance for at løse deres problemer uden at blive hamret af #twatch q ueries. #twatch fanger frisk trend og tweet feeds hvert femte minut. Twitter sætter en grænse for antallet af forespørgsler, en klient måtte stille, så pas på med at opdatere oftere. Twitter tillader 150 populære emneopdateringer i timen og "betydeligt flere" søgeforespørgsler. Netværk LCD -rygsækstilstand TCP -server #twatchet kan også vise systemstatusoplysninger fra programmer som LCD Smartie. #Twatchet har en TCP -server på port 1337, der accepterer Matrix Orbital -formaterede kommandoer. Dette giver også kontrol over LCD -baggrundsbelysningen. Vi viser dig, hvordan du omdirigerer LCD Smartie fra en COM -port til #twatch TCP -serveren i del to af vores #twatch -artikel.

Trin 5: Bootloader til netværksfirmwareopgraderinger

Bootloader til netværksfirmwareopgraderinger
Bootloader til netværksfirmwareopgraderinger
Bootloader til netværksfirmwareopgraderinger
Bootloader til netværksfirmwareopgraderinger
Bootloader til netværksfirmwareopgraderinger
Bootloader til netværksfirmwareopgraderinger

#Twatchet kan opdateres fra en pc på det lokale netværk takket være Microchips internet bootloader. Husk, at 18F ethernet PIC'erne kun kan programmeres i gennemsnit 100 gange, så opgraderinger er noget begrænsede. Vi har endnu ikke brændt en chip ud, men vi nåede kun omkring 55 cykler under udviklingen. Hvis du bruger en helt ny chip, skal du programmere bootloaderen til PIC18F67J60 via ICSP -headeren, så kan du uploade #twatch firmware over netværket. Programmer twatchv2-bl-vxx. HEX i chippen med en PIC-programmør som en ICD2 eller PicKit. Når #twatchet tændes, kører bootloaderen, før hovedprogrammet starter. Bootloaderen kontrollerer en forbindelse mellem PGD- og PGC -benene i programmeringsoverskriften, vist på billedet ovenfor. Hvis den finder en forbindelse, overtager bootloaderen og venter på, at ny firmware uploades. Der er en meget lille chance for, at bootloaderen ved et uheld starter selv uden en jumper mellem PGC- og PGD -stifterne. Dette beskadiger ikke #uret, bare afbryd strømforsyningen og prøv igen. Utilsigtet bootloader -indtastning kan forhindres ved at flytte jumperen over en position, så den forbinder PGD- og GND -benene. #Twatch bootloader bruger IP -adressen 192.168.1.123 og subnetmasken 255.255.255.0. Din computer skal også have en IP -adresse, der begynder med 192.168.1.xxx for at kommunikere med #twatch. Vi valgte området 192.168.1.xxx, fordi det er den mest almindelige standard for hjemmeroutere. Hvis din computer bruger et andet IP -adresseinterval, skal du midlertidigt justere det, før du kan foretage opdateringen.

  • Sørg for, at din pc er i det samme IP -område og subnet som #twatchet. Din pc skal have en IP -adresse i området 192.168.1.xxx og en subnetmaske på 255.255.255.0. Standard #twatch bootloader IP -adresse er 192.168.1.123, sørg for, at ingen anden computer, der er forbundet til den samme router, allerede bruger denne adresse.
  • Tag stikket ud af #twatch.
  • Sæt en jumper mellem PGC- og PGD -benene.
  • Tilslut om nødvendigt netværkskablet, og tilslut strømforsyningen. Skærmen kan være blank, have massive blokke eller affald.
  • Brug et TFTP -værktøj til at sende den nye firmware til #twatch IP -adressen, vi bruger TFTP.exe fra kommandolinjen i Windows.
  • TFTP -opdateringen rapporterer om succes eller fejl.
  • Tag strømforsyningen ud, fjern opdateringsjumperen.
  • Tilslut strømforsyningen igen. #Twatchet skal begynde at rulle tweets. Hvis bootloaderen starter i stedet, skal du sætte en jumper mellem PGD- og GND -benene og prøve igen.

Trin 6: Tag det videre, få dit eget

Tag det videre, få dit eget
Tag det videre, få dit eget
Tag det videre, få dit eget
Tag det videre, få dit eget
Tag det videre, få dit eget
Tag det videre, få dit eget
Tag det videre, få dit eget
Tag det videre, få dit eget

Vi designet #twatchet til at udnytte ressourcerne fuldt ud på en enkelt chip, et udvidet design ville tilføje funktioner, men være dyrere. #Twatchet kunne følge dit eget Twitter -feed. Det ville have brug for en lille webserver for at indtaste dit Twitter -login og en ekstern EEPROM til at gemme konfigurationsoplysningerne. #Twatchet kunne også gemme flere tweets eller ekstra oplysninger om hver tweeter, f.eks. Navn og placering. Microchip laver ikke en integreret ethernet controller med mere end 4K RAM, men vi kan tilføje en ekstern SRAM til lagring af tweets og tweet meta-info. Opdateret hardware kan tilføje et I/O header til tilslutning af knapper med LCD Smartie. 20 karakter by 4line LCD har ikke meget displayplads. Vi designede #twatch -grænsefladen omkring denne begrænsede mængde plads. En opdateret firmware kunne håndtere flere skærmstørrelser. Bootloaderen kan vedtage den IP -adresse, der er erhvervet af DHCP. En fremtidig #twatch firmwareopdatering vil drage fordel af denne funktion til lettere netværksopgraderinger. Næste uge dækker vi den LCD Smartie -kompatible TCP -server indbygget i #twatch. Få en! Hvad twending på dit #twatch? Hvis du vil have et samlet #ur eller printkort, er her et par muligheder:

  • Seeed Studio har et par samlede #twatch ethernet LCD -pakker til $ 45, inklusive forsendelse på verdensplan. Få dem så længe de varer, for vi får ikke snart flere. Hvis du gik glip af dette projekt, skal du tilmelde dig her for at få besked om fremtidige #twatch forudbestillinger.
  • Hvis du vil bygge din egen, sælger Seeed Studio de ekstra #twatch v1 og v2 PCB fra vores ordre. Sørg for at få et ethernetstik fra Seeed, eller sørg for at du kan finde et, der matcher printkortet. Vi skriver om v1 om et par dage, skematisk og PCB er i projektet SVN.
  • Vi sender et gratis #twatch v2 bare PCB til de første 2 personer, der tweeter #twatchet.

Hvis du vil deltage, kan du deltage i Dangerous Prototypes open hardware -projektet på Google Code, eller kom og chat i #twatch -forumet. Næste uge viser vi dig, hvordan du omdirigerer LCD Smartie -systemstatistik til #twatch TCP -serveren.

Anbefalede: