Innholdsfortegnelse:
- Trinn 1: Bruk den
- Trinn 2: Maskinvare
- Trinn 3: PCB og deleliste
- Trinn 4: Fastvare
- Trinn 5: Bootloader for nettverksfastvareoppgraderinger
- Trinn 6: Ta det videre, få ditt eget
Video: Twitter Watcher, #twatch: 6 trinn (med bilder)
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:26
#Twatch ruller de siste populære temaene fra Twitter på en LCD -skjerm. Det er et frittstående nettverksapparat som holder seg oppdatert uten PC. Det var fantastisk å se #iranelection, Michael Jackson og andre historiske hendelser rulle forbi mens vi utviklet #twatch. Denne instruksjonsboken dokumenterer #twatch maskinvare og design. I tillegg til en Twitter trend -ticker, er #twatch også en generisk ethernet LCD -ryggsekk. Den viser spillelister, PC -statistikk og annen informasjon med programmer som LCD Smartie. Det er også programvare som kan oppgraderes, så det er aldri utdatert. #Twatch er åpen kildekode, så du kan laste ned designene våre og bygge din egen. Seeed Studio har noen få sammensatte #twatch ethernet LCD -pakker for $ 45, inkludert verdensomspennende frakt. Få dem så lenge de varer, for vi får ikke mer snart. Hvis du savnet dette prosjektet, kan du registrere deg her for å bli varslet om fremtidige #twatch -forhåndsbestillinger. Se denne artikkelen med sin opprinnelige formatering på DangerousPrototypes.com, mer diskusjon i #twatch -forumet. Vi sender en gratis #watch PCB hvis du er den første som twitrer #watch! Konseptoversikt #twatchen tar tak i de siste populære temaene fra Twitter, og laster deretter inn noen tweets for hver. De populære temaene og tweets ruller på en skjerm. #Twatchen fanger nye trender og tweets hvert femte minutt, slik at du alltid ser de siste populære temaene. Vi har også lagt til en generisk ethernet -ryggsekkmodus, så #twatch kan også vise PC -statistikk fra et program som LCD Smartie, mer om denne funksjonen i del 2.
Trinn 1: Bruk den
#Twatch er enkel å bruke.
- Koble den til et hjemmenettverk med internettilgang. #Twatch krever automatisk nettverkskonfigurasjon (DHCP), dette er standardinnstillingen på nesten alle moderne hjemmenettverk.
- Slå på den. #Twatch krever en 6-7volts likestrømforsyning. Den bruker en 2,1 mm likestrømskontakt, den vanligste typen. Universelle likestrømforsyninger bør inneholde en 2,1 mm plugg.
- Juster kontrasten. LCD -skjermer endres med temperatur og alder, bruk justeringsskruen til å justere skjermkontrasten.
- #Twatch vil konfigurere nettverksinnstillingene og begynne å rulle de siste populære temaene og noen tweets fra hver. Du må kanskje justere kontrasten igjen for den reneste rulleeffekten.
Få #twatch -oppdateringer på bloggen Dangerous Prototype.
Trinn 2: Maskinvare
Vi brukte freeware -versjonen av Cadsoft Eagle for å lage krets og PCB. Last ned de nyeste filene fra prosjektet Google Code -siden. Denne delen mistet mye formatering på Instructables, du kan se originalversjonen her. Ethernet PIC 18F67J60 mikrokontroller Microchip PIC 18F67J60 er perfekt for dette prosjektet fordi den kombinerer et ethernet nettverksgrensesnitt og en 41MHz mikrokontroller (10MIP) i en liten pakke for bare noen få dollar. Den kommer bare i 64pin+ TQFP -pakker, men vi hadde ikke problemer med å lodde den for hånd til en profesjonell PCB. PIC krever en 3,3 volt strømforsyning. Ethernet-delen er virkelig kraftsulten, så vi brukte en gigantisk TO-220 LD117-3.3volts regulator (VR1). Vi valgte en stor regulator fordi den kanskje må avlede en haug med varme, avhengig av strømforsyningen. Regulatoren krever en liten inngangskoblingskondensator (C15) og en stor 10uF utgangskondensator (C3). Det er en stor fangst med disse brikkene: de kan bare programmeres omtrent 100 ganger. Det gjør utviklingen vanskelig, så vi har også designet en utviklingsversjon av #twatch basert på en annen brikke. Mer om dette designet i en fremtidig artikkel. Hver PIC-strømpinne får en 0.1uF frakoblingskondensator (C17-C23). PIC har en intern 2,5 volt regulator for mikrokontrolleren og ethernet kjerner, regulatoren krever en 10uF tantalkondensator (C1). PIC er programmert gjennom et 5 -pins ICSP -topptekst. MCLR-tilbakestillingsnålen holdes høyt med en 10K opptrekkmotstand (R21), en ekstra motstand (R4) og kondensator (C16) anbefalt av databladet, gir beskyttelse mot forskjellige tilfeldige tilbakestillingsforhold. Ethernet-delen krever en 25MHz ekstern krystall (Q1). To 33pF kondensatorer (C4, C5) fullfører oscillatorkretsen. Vi brukte en ethernet -kontakt med integrert magnetikk (J2). Kontakten er en HanRun HR911105A, levert av Seeed Studio - sørg for å få den samme kontakten, en kompatibel kontakt, eller juster PCB -en for en kontakt du kan finne. Ethernet-grensesnittet krever en avslutningskrets (R30-33, C10-11, L1) og 2,28Kohm 1% forspenningsmotstand (R7, ikke vist). HD44780 tegn LCD #watchen støtter en "standard" 4linje med 20 tegn 5 volts HD44780 LCD med +5 volts bakgrunnsbelysning. Du kan vanligvis finne dem for omtrent $ 10 på eBay. Sørg for å kontrollere at LCD -skjermen samsvarer med #watch pinout før du fester den. De fleste LCD -skjermer er de samme, men ikke alle. Nesten alle karakter -LCD -er fungerer på 5 volt, så vi tilbyr en 5 volt strømforsyning fra en vanlig 7805 -regulator (VR2, C14, C2). LCD-skjermen med bakgrunnsbelysning kan potensielt bruke en haug med strøm, så vi brukte en annen stor To-220-regulator. C12 er en frakoblingskondensator for LCD-strømforsyningen, men LCD-er har allerede innebygd frakobling. C12 trenger ikke fylles ut, vi inkluderte det bare i tilfelle av stabilitetsproblemer. For maksimal oppdateringshastighet styres LCD -skjermen gjennom hele 8 -biters grensesnittet. De fleste LCD -er er 5 volts deler som krever omtrent 4,25 volt+ for å registrere et høyt nivå på datapinnene, men PIC 18F65J60 er bare en 3,3 volt del. Heldigvis har PIC en haug med 5 volt tolerante pinner, slik at vi kan holde signalet på 5 volt med en 10K pull-up motstand (R10-R19), og deretter jorde den ved å endre PIC pin retningsinnstillingen. Dette kalles vanligvis en åpen dreneringsutgang. Noen nyere LCD -skjermer kjører på 5 volt, men fungerer fortsatt på 3,3 volt grensesnittnivåer. #Twatch vil støtte denne modusen hvis du utelater R10-19, slik at ingen opptrekksspenning går på pinnene, og endrer fastvaren for å bytte LAT-register i stedet for TRIS-registeret i HD44780.c. LCD-skjermkontrast styres av en forspenning, vanligvis generert med et 10Kohm potensiometer. #Twatch-kretskortet har fotavtrykk for en rimelig 3 mm SMD-gryte (R2), og en annen plass for bruk av en større, gjennomgående hullkanne (R2A). Bare en skal være befolket! Bare hvis det er støy i strømforsyningen fra alle ethernet -tingene, filtrerer vi forspenningen gjennom en liten ferrittperle (L2). Vi inkluderte også en kondensator for ytterligere filtrering (C13), men vi brukte den ikke siden ingen av elementene faktisk er nødvendige. #Twatchen kan styre enkle +5 volts bakgrunnsbelysning opp til 400mA eller så. PIC bytter en transistor (NPN1) gjennom en 240 ohm strømbegrensende motstand (R3, ikke vist). Vi brukte en transistor som kan håndtere 800mA+ med en forsterkning på 250hfe+, så PIC kan bytte en stor belastning med sin maksimale 20mA utgangsstrøm. R1 er en strømbegrensende motstand for LCD -bakgrunnsbelysningen, om nødvendig. Vi brukte en gjennomgående hullmotstand, slik at den kan spre mye varme med store bakgrunnsbelysning, og fordi det er den enkleste størrelsen å finne lokalt og lodde selv. Hvis bakgrunnsbelysningen ikke krever en motstand, er det bare å erstatte R1 med et stykke ledning. LCD -skjermen vår krevde en 3ohm motstand for en 240mA bakgrunnsbelyst strømforsyning. Noen bakgrunnsbelysning bruker mye strøm, så vi satte forsyningsnålene rett ved siden av strømforsyningen og forsterket bakkeplanet med en haug med VIA. Noen fancy LCD -bakgrunnsbelysning krever spesielle drivkretser, så sørg for at din bruker en enkel +5 volt forsyning for å unngå skade. Strømforsyning #twatch krever en 6-7volts strømforsyning gjennom en 2,1 mm strømforsyningskontakt (J1). 2,1 mm plugger er den vanligste størrelsen, og bør komme med alle universelle strømforsyninger. Jo høyere forsyningsspenning du bruker, desto mer varme må avledes fra VR1 og VR2. Husk at #twatch er en prototype læringsbrett, det er ikke et komplett og testet kommersielt produkt. Ta passende sikkerhetstiltak og ikke kjør den uten tilsyn.
Trinn 3: PCB og deleliste
Vi brukte freeware -versjonen av Cadsoft Eagle for å lage skjematisk og PCB. Last ned de nyeste filene fra prosjektets Google Code -side. Kretskortet er et 2-lags design med små spor og separasjon (10mil) rundt 64-pinners TQFP PIC-brikken. Vi forberedte gerber og sendte dem til Seeed Studios PCB -tjeneste for åpen kildekodeverk. Ekstra PCB fra bestillingen vår er tilgjengelig i Seeed Studio -butikken. Hvis du kjøper våre ekstra PCB -er, må du sørge for å få HanRun -ethernet -kontakten som passer til brettet. Siden monteringshullene på 20x4 LCD -er varierer, prøvde vi ikke å montere PCB -en på LCD -hullene. Vi gjorde den så liten som mulig, som SparkFuns serielle LCD -ryggsekk, så den holder seg unna de originale hullene. Som en bivirkning er det ikke så veldig vanskelig bak noen mindre skjerm som denne 16x2 LCD -en på Adafruit. Deleliste Klikk for et fullstendig plasseringsbilde [PNG]. Del | Verdi | Pakke IC1 PIC 18F67J60 TQFP-64C1-3 10uF tantalkondensator, 10volt+ SMC_AC4, 5 33pF kondensator 0805C10, 11, C14-23 0.1uF kondensator 0805ICSP 5x 0,1 "mannlig stifthodet J1 2,1 mm SMD strømkontakt SMDJ2 HR911105A ether1-kontakt RJ perle, 200ma+ 0805NPN1 NPN transistor, 250hfe+, 800ma+ SOT-23Q1 25MHz SMD krystall HC49UPR2 (A) 10K enkeltsvinget motstand 3mm SMD eller gjennomgående hull R3 240 ohm motstand 0805R4-6 390 ohm motstand 0805R7 2, 260 ohm motstand, 1% 0805R10 21 10 000 ohm motstand 0805R30-33 49,9 ohm motstand, 1% 0805VR1 LDO 3,3 volt regulator (LD1117) TO-220VR2 7805T 5 volt regulator TO-220HD44780-LCD 20x4 HD44780 tegn LCD
Trinn 4: Fastvare
Den siste fullstendige nedlastingen av fastvare for #twatch er på prosjektets Google Code -side. Koden er skrevet i C, og er kompilert med Microchip C18 demonstrasjonskompilatoren. TCP/IP -stack- og basenettverksfunksjoner Microchips 'gratis' TCP/IP -stack gir alle nettverksfunksjonene vi trenger for å eksistere på et hjemmenettverk og hente data fra Twitter. Stakken er åpen kildekode og gratis-som-i-øl, men Microchip-lisensen forbyr distribusjon. På grunn av lisensproblemer setter vi bare kildekoden til det offentlige domenet i prosjektet Google Code SVN, lær hvordan du laster ned og kompilerer kilden her. Stakken har en Dynamic Host Configuration Protocol -klient som automatisk konfigurerer nettverksinnstillingene ved hjelp av DHCP server på ditt lokale nettverk. #Twatch krever en DHCP -server, men de aller fleste nettverk og rutere har dette aktivert. IP -adressen, masken, gatewayen og den første DNS -serveren vises på LCD -skjermen til gyldige Twitter -data er tilgjengelige. Stakken inneholder også Microchips kunngjøringsserver. Når IP -adressen er anskaffet av DHCP, kunngjør #twatch sin IP -adresse med en kringkastingspakke til alle datamaskiner på det lokale nettverket. Bruk verktøyet MCHPDetect.exe i prosjektarkivet for å se disse pakkene. Til slutt inkluderte vi en ping -server (IMCP). Bruk en hvilken som helst ping -klient for å sjekke om #twatch er i live på nettverket. Twitter TCP -klient Twitter -trenden som følger programmet er en enkel TCP -klient, lik en nettleser, som henter data fra webservere. Twitters API vil gi oss data i en rekke formater. Vi brukte det lette JSON-formatet fordi det er lettest for PIC-brikken med lite strøm å dekode, sjekk JSONView hvis du bruker Firefox. Etter at #twatch automatisk konfigurerer nettverksinnstillinger, tar Twitter TCP-klienten kontrollen og tar tak i aktuelle tema. Den søker gjennom denne JSON -datafeed og ser etter "navn" -taggen. Opptil 10 populære temaer blir kopiert til en 225byte buffer. En egen matrise lagrer sluttposisjonen til hvert emne i bufferen slik at vi kan hente emnene i neste trinn. Deretter søker #twatch på Twitter etter 2 tweets for hvert emne. Det legger hvert emne til slutten av Twitter JSON -søkeadressen, spesialtegn som mellomrom og tegnsetting er URL -kodet. TCP -klienten analyserer gjennom søkeresultatene og ser etter tweets som følger "tekst" -taggen. Tweets har flere lag med koding. Vi dekoder HTML -reserverte tegn som ampersand (&) og anførselstegn (") fordi LCD -skjermen kan vise dem. Vi fjerner UTF8 internasjonale tegn fordi HD44780 LCD ikke har dem i tegnsettet. De analyserte, dekodede tweets lagres i en 2100byte buffer, en ekstra matrise markerer begynnelsen og slutten av hver tweet i bufferen. RAM-plass var et stort problem på 18F67J60-brikken, den har bare ca 4000bytes totalt, men 2100byte-bufferen virker stor nok til å håndtere 20 gjennomsnittlige størrelser Vi var spesielt forsiktige med å beskytte oss mot problemer med minne, og vi testet klienten under reduserte RAM-forhold for å sikre at den mislykkes grasiøst under feil. Twitter er kjent for sporadisk nedetid. Hvis #twatch ikke kan koble til Twitter, viser den en tilkoblingsfeilmelding og prøver på nytt to ganger. Hvis den ikke kan koble til etter tre forsøk, venter den fem minutter før den prøver igjen. Dette gir Twitter en sjanse til å fikse problemene sine uten å bli hamret av #twatch q ueries. #twatch fanger ny trend og tweet -feed hvert femte minutt. Twitter setter en grense for antall spørsmål en klient kan komme med, så vær forsiktig med å oppdatere oftere. Twitter tillater 150 populære temaoppdateringer per time, og "betydelig flere" søk. Nettverk LCD -ryggsekkmodus TCP -server #twatchen kan også vise systemstatusinformasjon fra programmer som LCD Smartie. #Twatch har en TCP -server på port 1337 som godtar Matrix Orbital -formaterte kommandoer. Dette gir også kontroll over LCD -bakgrunnsbelysningen. Vi viser deg hvordan du omdirigerer LCD Smartie fra en COM -port til #twatch TCP -serveren i del to av vår #watch -artikkel.
Trinn 5: Bootloader for nettverksfastvareoppgraderinger
#Twatchen kan oppdateres fra en PC på det lokale nettverket takket være Microchips internettoppstartslaster. Husk at 18F ethernet PIC -er bare kan programmeres i gjennomsnitt 100 ganger, så oppgraderinger er noe begrenset. Vi har ennå ikke brent ut en brikke, men vi har bare nådd omtrent 55 sykluser under utviklingen. Hvis du bruker en helt ny brikke, må du programmere oppstartslasteren til PIC18F67J60 gjennom ICSP -overskriften, så kan du laste opp #twatch fastvare over nettverket. Programmer twatchv2-bl-vxx. HEX inn i brikken med en PIC-programmerer som en ICD2 eller PicKit. Når #twatch slår seg på, starter opplastingsprogrammet før hovedprogrammet starter. Oppstartslasteren ser etter en forbindelse mellom PGD- og PGC -pinnene i programmeringsoverskriften, vist på bildet ovenfor. Hvis den finner en tilkobling, tar bootloaderen over og venter på at ny fastvare skal lastes opp. Det er en svært liten sjanse for at bootloaderen ved et uhell starter selv uten en jumper mellom PGC- og PGD -pinnene. Dette vil ikke skade #twatch, bare koble fra strømforsyningen og prøv igjen. Utilsiktet oppstart av bootloader kan forhindres ved å flytte jumperen over én posisjon slik at den kobler PGD- og GND -pinnene. #Twatch bootloader bruker IP -adressen 192.168.1.123 og nettverksmasken 255.255.255.0. Datamaskinen din må også ha en IP -adresse som begynner med 192.168.1.xxx for å kommunisere med #twatch. Vi valgte området 192.168.1.xxx fordi det er den vanligste standarden for hjemmerutere. Hvis datamaskinen din bruker et annet IP -adresseområde, må du midlertidig justere det før du kan gjøre oppdateringen.
- Sørg for at PC -en din er i samme IP -område og delnett som #twatch. PC -en din skal ha en IP -adresse i området 192.168.1.xxx og en nettverksmaske på 255.255.255.0. Standard #twatch bootloader IP -adresse er 192.168.1.123, sørg for at ingen andre datamaskiner som er koblet til den samme ruteren allerede bruker denne adressen.
- Koble fra #twatch -strømforsyningen.
- Sett en jumper mellom PGC- og PGD -pinnene.
- Koble om nødvendig til nettverkskabelen, og koble til strømforsyningen. Skjermen kan være blank, ha solide blokker eller søppel.
- Bruk et TFTP -verktøy for å sende den nye fastvaren til #twatch IP -adressen, vi bruker TFTP.exe fra kommandolinjen i Windows.
- TFTP -oppdateringen rapporterer om suksess eller feil.
- Koble fra strømforsyningen, fjern oppdateringshopperen.
- Koble til strømforsyningen igjen. #Twatch bør begynne å rulle tweets. Hvis bootloaderen starter i stedet, setter du en jumper mellom PGD- og GND -pinnene og prøver igjen.
Trinn 6: Ta det videre, få ditt eget
Vi designet #twatch for å dra full nytte av ressursene på en enkelt brikke, et utvidet design vil legge til funksjoner, men bli dyrere. #Twatch kan følge din egen Twitter -feed. Det vil trenge en liten webserver for å angi Twitter -påloggingen, og en ekstern EEPROM for å lagre konfigurasjonsinformasjonen. #Twatch kan også lagre flere tweets eller ekstra informasjon om hver diskant, for eksempel navn og plassering. Microchip lager ikke en integrert ethernet-kontroller med mer enn 4K RAM, men vi kan legge til en ekstern SRAM for å lagre tweets og tweet meta-info. Oppdatert maskinvare kan legge til en I/O-topptekst for tilkobling av knapper med LCD Smartie. 20 tegn by 4line LCD har ikke mye visningsplass. Vi designet #twatch -grensesnittet rundt denne begrensede mengden plass. En oppdatert fastvare kan håndtere flere skjermstørrelser. Oppstartslasteren kan vedta IP -adressen som er hentet av DHCP. En fremtidig #twatch fastvareoppdatering vil dra nytte av denne funksjonen for enklere nettverksoppgraderinger. Neste uke dekker vi den LCD Smartie -kompatible TCP -serveren som er innebygd i #twatch. Få en! Hva er twending på #twatchen din? Hvis du vil ha en samlet #twatch eller PCB, er det et par alternativer:
- Seeed Studio har noen få sammensatte #twatch ethernet LCD -pakker for $ 45, inkludert verdensomspennende frakt. Få dem så lenge de varer, for vi får ikke mer snart. Hvis du savnet dette prosjektet, kan du registrere deg her for å bli varslet om fremtidige #twatch forhåndsbestillinger.
- Hvis du vil bygge din egen, selger Seeed Studio de ekstra #twatch v1 og v2 PCB fra bestillingen vår. Sørg for å få en ethernet -kontakt fra Seeed, eller sørg for at du kan finne en som matcher PCB. Vi skriver om v1 om noen dager, skjematisk og PCB er i prosjektet SVN.
- Vi sender en gratis #twatch v2 bare PCB til de to første personene som twitrer #watchen.
Hvis du vil engasjere deg, kan du bli med i Dangerous Prototypes åpne maskinvareprosjekt på Google Code, eller komme til chat i #twatch -forumet. Neste uke viser vi deg hvordan du omdirigerer LCD Smartie -systemstatistikk til #twatch TCP -serveren.
Anbefalt:
Slik bruker du Twitter med Arduino: 7 trinn
Hvordan bruke Twitter med Arduino: Vil du ha en enkel måte å samhandle med brukere, verden og fansen din? Tweet det! Ved å bruke bare en Arduino Uno og et Ethernet -skjold kan du enkelt legge til muligheten til å tweet hvilken som helst informasjon eller data
Slik demonterer du en datamaskin med enkle trinn og bilder: 13 trinn (med bilder)
Slik demonterer du en datamaskin med enkle trinn og bilder: Dette er en instruksjon om hvordan du demonterer en PC. De fleste grunnkomponentene er modulære og fjernes lett. Det er imidlertid viktig at du er organisert om det. Dette vil bidra til å hindre deg i å miste deler, og også i å gjøre monteringen igjen
Tweetbot - Twitter Connected Photo Booth: 4 trinn (med bilder)
Tweetbot - Twitter Connected Photo Booth: I dette prosjektet skal vi lage et Raspberry Pi -drevet kamera som kan brukes i en fotoboks på fester. Etter at bildet er tatt, kan det legges ut på en utpekt Twitter -konto som alle kan se senere. Denne opplæringen vil omfatte te
Bygg Machine Watcher: 9 trinn
Build Machine Watcher: Utgangspunktet for dette prosjektet var å jobbe med et konkret prosjekt for å lære noen ting om mikrokontrollerkort.Den første ideen var å lage et fysisk objekt som kunne overvåke et kontinuerlig integreringssystem (VSTS | Azure DevOps) og rep
Twitter Sentiment Analysis With Raspberry Pi: 3 trinn (med bilder)
Twitter Sentimentanalyse med Raspberry Pi: Hva er sentimentanalyse, og hvorfor bør du bry deg om det? Sentimentanalyse er prosessen med å bestemme den emosjonelle tonen bak en rekke ord, som brukes for å få en forståelse av holdninger, meninger og følelser som er uttrykt innenfor en