INHOUDSOPGAWE:

Twitter Watcher, die #twatch: 6 stappe (met foto's)
Twitter Watcher, die #twatch: 6 stappe (met foto's)

Video: Twitter Watcher, die #twatch: 6 stappe (met foto's)

Video: Twitter Watcher, die #twatch: 6 stappe (met foto's)
Video: 10 SCARY GHOST Videos That Scared You This Year 2024, November
Anonim
Twitter Watcher, die #twatch
Twitter Watcher, die #twatch
Twitter Watcher, die #twatch
Twitter Watcher, die #twatch
Twitter Watcher, die #twatch
Twitter Watcher, die #twatch
Twitter Watcher, die #twatch
Twitter Watcher, die #twatch

Die #twatch blaai die nuutste trending -onderwerpe van Twitter op 'n LCD -skerm. Dit is 'n losstaande netwerkapparaat wat sonder 'n rekenaar opgedateer word. Dit was wonderlik om te kyk hoe #iranelection, Michael Jackson en ander historiese gebeure verbyrol terwyl ons die #twatch ontwikkel het. Hierdie Instructable dokumenteer die #twatch -hardeware en ontwerp. Benewens 'n Twitter -tendensmerk, is die #twatch ook 'n generiese ethernet LCD -rugsak. Dit bevat snitlyste, rekenaarstatistieke en ander inligting met programme soos LCD Smartie. Dit kan ook sagteware opgradeer, dus dit is nooit verouderd nie. Die #twatch is 'n open source, sodat u ons ontwerpe kan aflaai en u eie kan bou. Seeed Studio het 'n paar saamgestelde #twatch -ethernet -LCD -pakkies vir $ 45, insluitend wêreldwye aflewering. Kry dit so lank as moontlik, want ons maak nie gou meer nie. As u hierdie projek gemis het, meld u hier aan om in kennis gestel te word van toekomstige #twatch voorafbestellings. Sien hierdie artikel met sy oorspronklike opmaak op DangerousPrototypes.com, meer bespreking in die #twatch forum. Ons stuur 'n gratis #twatch -PCB as u die eerste is om die #twatch te tweet! Konsepoorsig Die #twatch haal die nuutste onderwerpe op Twitter, en laai dan 'n paar tweets vir elkeen. Die gewilde onderwerpe en tweets rol op 'n skerm. Die #twatch gryp elke vyf minute nuwe tendense en tweets aan, sodat u altyd die nuutste onderwerpe kan sien. Ons het ook 'n generiese ethernet -rugsakmodus bygevoeg, sodat die #twatch ook rekenaarstatistieke van 'n program soos LCD Smartie kan wys, meer oor hierdie funksie in deel 2.

Stap 1: Gebruik dit

Gebruik dit
Gebruik dit

Die #twatch is maklik om te gebruik.

  • Koppel dit aan 'n tuis -ethernetnetwerk met internettoegang. Die #twatch benodig outomatiese netwerkopstelling (DHCP); dit is die standaardinstelling op byna elke moderne tuisnetwerk.
  • Skakel dit aan. Die #twatch benodig 'n 6-7 volt DC-kragtoevoer. Dit gebruik 'n 2,1 mm DC -kragprop, die algemeenste tipe. Universele GS -kragtoevoer moet 'n 2,1 mm -prop bevat.
  • Pas die kontras aan. LCD -skerms verander met temperatuur en ouderdom, gebruik die verstelschroef om die skermkontras aan te pas.
  • Die #twatch sal die netwerkinstellings opstel en begin blaai deur die nuutste trending onderwerpe en 'n paar tweets van elk. Miskien moet u die kontras weer aanpas vir die skoonste blaai -effek.

Kry #twatch -opdaterings by die blog Dangerous Prototype.

Stap 2: Hardeware

Hardeware
Hardeware
Hardeware
Hardeware
Hardeware
Hardeware

Ons het die freeware -weergawe van Cadsoft Eagle gebruik om die kring en PCB te maak. Laai die nuutste lêers af van die Google Code -bladsy van die projek. Hierdie afdeling het baie formatering by Instructables verloor, en u kan die oorspronklike weergawe hier sien. Ethernet PIC 18F67J60 mikrokontroller Die Microchip PIC 18F67J60 is ideaal vir hierdie projek omdat dit 'n ethernet netwerk koppelvlak en 'n 41MHz mikro kontroleerder (10MIP) in 'n klein pakket vir slegs 'n paar dollar kombineer. Dit kom slegs in 64pin+ TQFP -pakkette, maar ons het nie 'n probleem gehad om dit met die hand aan 'n professionele PCB te soldeer nie. Die PIC benodig 'n 3,3 volt -kragtoevoer. Die ethernetgedeelte is regtig kraghonger, daarom gebruik ons 'n reuse TO-220 LD117-3.3volt-reguleerder (VR1). Ons het 'n groot reguleerder gekies omdat dit moontlik 'n klomp hitte moet afvoer, afhangende van die ingevoerde kragtoevoer. Die reguleerder benodig 'n klein ingangskoppelingskondensator (C15) en 'n groot 10uF -uitgangskondensator (C3). Daar is 'n groot vangs met hierdie skyfies: hulle kan slegs ongeveer 100 keer geprogrammeer word. Dit maak ontwikkeling moeilik, daarom het ons ook 'n ontwikkelingsweergawe van die #twatch ontwerp wat gebaseer is op 'n ander chip. Meer oor die ontwerp in 'n toekomstige artikel. Elke PIC-kragpen kry 'n 0.1uF ontkoppelingskondensator (C17-C23). Die PIC het 'n interne 2,5 volt -reguleerder vir die mikrobeheerder en ethernetkerne, die reguleerder benodig 'n 10uF tantaalkapasitor (C1). Die PIC word geprogrammeer deur 'n 5 -pins ICSP -kop. Die MCLR-resetpen word hoog gehou met 'n 10K-optrekweerstand (R21), 'n bykomende weerstand (R4) en kapasitor (C16) wat deur die datablad aanbeveel word, en bied beskerming teen verskillende toevallige hersteltoestande. V1). Twee 33pF -kapasitors (C4, C5) voltooi die ossillatorbaan. Ons het 'n ethernetaansluiting met geïntegreerde magnetika (J2) gebruik. Die domkrag is 'n HanRun HR911105A, wat deur Seeed Studio aan ons verskaf word - kry seker dieselfde aansluiting, 'n verenigbare aansluiting, of pas die printplaat aan vir 'n aansluiting wat u kan vind. Die ethernet-koppelvlak benodig 'n beëindigingskring (R30-33, C10-11, L1) en 'n voorspanningsweerstand van 2.28Kohm 1% (R7, nie getoon nie). HD44780 karakter LCD Die #twatch ondersteun 'n 'standaard' 4lyn by 20 karakters 5volt HD44780 LCD met 'n +5volt agtergrond. U kan dit gewoonlik vir ongeveer $ 10 op eBay vind. Maak seker dat u LCD ooreenstem met die #twatch pinout voordat u dit aanheg. Die meeste LCD's is dieselfde, maar nie almal nie. Byna alle karakter LCD's werk op 5volts, daarom bied ons 'n 5 volt -kragtoevoer van 'n gewone 7805 -reguleerder (VR2, C14, C2). Die LCD met agterlig kan moontlik 'n klomp stroom gebruik, so ons gebruik nog 'n groot To-220-reguleerder. C12 is 'n ontkoppelingskondensator vir die LCD-kragtoevoer, maar LCD's het reeds aan boord ontkoppeling. C12 hoef nie ingevul te word nie; ons het dit net ingesluit in geval van stabiliteitsprobleme. Vir maksimum verversingsnelheid word die LCD deur die volle 8bit -koppelvlak beheer. Die meeste LCD's is 5volt -dele wat ongeveer 4.25volt+ benodig om 'n hoë vlak op die datapennetjies te registreer., maar die PIC 18F65J60 is slegs 'n 3.3volt -deel. Gelukkig het die PIC 'n klomp 5 volt verdraagsame penne, sodat ons die sein op 5 volt kan hou met 'n 10K optrekweerstand (R10-R19), en dit dan kan maal deur die instelling van die PIC-penrigting te verander. Dit word gewoonlik 'n oop drein -uitvoer genoem. Sommige nuwer LCD's werk op 5volts, maar werk steeds op 3,3volt -koppelvlakvlakke. Die #twatch ondersteun hierdie modus as u R10-19 weglaat, sodat geen spanning op die penne gaan nie, en die firmware verander om die LAT-register te verander in plaas van die TRIS-register in HD44780.c. LCD-skermkontras word beheer deur 'n voorspanning, gewoonlik gegenereer met 'n 10Kohm potensiometer. Die #twatch-PCB het voetspore vir 'n goedkoop 3 mm SMD-pot (R2), en 'n tweede ruimte om 'n groter pot met 'n gat (R2A) te gebruik. Slegs een moet bevolk word! As daar net geraas in die kragtoevoer van al die ethernet -goed is, filter ons die voorspanning deur 'n klein ferrietkraal (L2). Ons het ook 'n kapasitor ingesluit vir bykomende filter (C13), maar ons het dit nie gebruik nie, aangesien geen element eintlik nodig is nie. Die #twatch kan eenvoudige +5volt -agterligte tot 400mA of so beheer. Die PIC skakel 'n transistor (NPN1) deur 'n stroombegrensende weerstand van 240ohm (R3, nie getoon nie). Ons het 'n transistor gebruik wat 800mA+ kan hanteer met 'n wins van 250hfe+, sodat die PIC 'n groot las kan verander met 'n maksimum uitgangsstroom van 20mA. R1 is 'n stroombeperkende weerstand vir die LCD -agtergrond, indien nodig. Ons het 'n deur-weerstand gebruik, sodat dit baie hitte kan verdryf met groot agterligte, en omdat dit die maklikste grootte is om plaaslik te vind en self te soldeer. As u agtergrond nie 'n weerstand benodig nie, vervang dan slegs R1 met 'n stuk draad. Ons LCD benodig 'n 3ohm -weerstand vir 'n 240mA -agterligkragbron. Sommige agterligte gebruik baie krag, daarom plaas ons die toevoerspelde langs die kragtoevoer en versterk die grondvlak met 'n klomp VIA's. Sommige fancy LCD -agterligte benodig spesiale dryfbane, dus maak seker dat u 'n eenvoudige +5 volt -toevoer gebruik om skade te voorkom. Kragtoevoer Die #twatch benodig 'n 6-7 volt-kragtoevoer deur 'n 2,1 mm-kragaansluiting (J1). 2.1 mm -proppe is die algemeenste en moet by elke universele kragtoevoer kom. Hoe hoër die voedingsspanning wat u gebruik, hoe meer hitte moet u van VR1 en VR2 afvoer. Onthou dat die #twatch 'n prototipe leerbord is, dit is nie 'n volledige en beproefde kommersiële produk nie. Neem die nodige veiligheidsmaatreëls en moenie dit sonder toesig laat loop nie.

Stap 3: PCB en deellys

PCB en deellys
PCB en deellys
PCB en deellys
PCB en deellys

Ons het die freeware -weergawe van Cadsoft Eagle gebruik om die skematiese en PCB te maak. Laai die nuutste lêers af van die projekkode -bladsy van die projek. Die PCB is 'n tweelaagse ontwerp met klein spore en skeiding (10mil) rondom die 64-pins TQFP PIC-chip. Ons het gerbers voorberei en na die PCB -diens van Seeed Studio gestuur vir open source -werke. Ekstra PCB's van ons bestelling is beskikbaar in die Seeed Studio -winkel. As u ons ekstra PCB's koop, moet u die HanRun -ethernetaansluiting kry wat op die bord pas. Aangesien die monteergate op 20x4 LCD's verskil, het ons nie probeer om die PCB by die LCD -gate te pas nie. Ons het dit so klein as moontlik gemaak, soos die reekse LCD -rugsak van SparkFun, sodat dit nie uit die weg kom van die oorspronklike gate nie. As 'n newe -effek is dit nie te ongemaklik agter 'n kleiner skerm soos hierdie 16x2 LCD by Adafruit nie. Onderdele -lys Klik vir 'n volgrootte plasingsbeeld [PNG]. Deel | Waarde | Pakket IC1 PIC 18F67J60 TQFP-64C1-3 10uF tantaalkondensator, 10volts+ SMC_AC4, 5 33pF kapasitor 0805C10, 11, C14-23 0.1uF kondensator 0805ICSP 5x 0.1 "male pin headerJ1 2.1mm SMD power jack SMDJ2 HR911105A ether1 jack RJ kraal, 200ma+ 0805NPN1 NPN transistor, 250hfe+, 800ma+ SOT-23Q1 25MHz SMD kristal HC49UPR2 (A) 10K enkeldraai trimweerstand 3mm SMD of doorgaand R3 240 ohm weerstand 0805R4-6 390 ohm weerstand 0805R7 2, 260 ohm weerstand, 1% 0805R10 21 10.000 ohm weerstand 0805R30-33 49.9 ohm weerstand, 1% 0805VR1 LDO 3.3volt regulator (LD1117) TO-220VR2 7805T 5volt regulator TO-220HD44780-LCD 20x4 HD44780 karakter LCD

Stap 4: Firmware

Firmware
Firmware
Firmware
Firmware
Firmware
Firmware

Die nuutste volledige #firmware -aflaai van die horlosie is op die projekkode -bladsy van die projek. Die kode is in C geskryf en word saamgestel met die Microchip C18 demonstrasie samesteller. TCP/IP -stapel- en basisnetwerkfunksies Microchip se 'gratis' TCP/IP -stapel bied al die netwerkfunksies wat ons benodig om op 'n tuisnetwerk te bestaan en data van Twitter af te haal. Die stapel is open source en gratis soos in bier, maar die Microchip-lisensie verbied verspreiding. Weens lisensiekwessies plaas ons slegs ons bronkode in die publieke domein in die Google Code SVN -projek, leer hoe u die bron hier kan aflaai en saamstel. bediener op u plaaslike netwerk. Die #twatch benodig 'n DHCP -bediener, maar die oorgrote meerderheid netwerke en routers het dit moontlik. Die IP -adres, masker, gateway en eerste DNS -bediener word op die LCD -skerm vertoon totdat geldige Twitter -data beskikbaar is. Die stapel bevat ook Microchip se aankondigingsbediener. As die IP -adres deur DHCP verkry word, kondig die #twatch sy IP -adres met 'n uitsaaipakket aan alle rekenaars op die plaaslike netwerk aan. Gebruik die program MCHPDetect.exe in die projekargief om hierdie pakkies te sien. Uiteindelik het ons 'n ping -bediener (IMCP) ingesluit. Gebruik enige ping -kliënt om te kyk of die #twatch op die netwerk lewendig is. Twitter TCP -kliënt Die Twitter -tendensprogram is 'n eenvoudige TCP -kliënt, soortgelyk aan 'n webblaaier, wat data van webbedieners haal. Twitter se API gee ons data in verskillende formate. Ons het die liggewig JSON-formaat gebruik omdat die PIC-chip met 'n lae krag die maklikste is om te dekodeer, kyk na JSONView as u Firefox gebruik.. Dit soek deur hierdie JSON -datastroom en soek na die 'naam' -etiket. Tot 10 gewilde onderwerpe word in 'n buffer van 225 byte gekopieer. 'N Afsonderlike skikking stoor die eindposisie van elke onderwerp in die buffer sodat ons die onderwerpe in die volgende stap kan opspoor. Volgens soek die #twatch op Twitter na twee tweets vir elke onderwerp. Dit voeg elke onderwerp by aan die einde van die Twitter JSON -soek -url, spesiale karakters soos spasies en leestekens word URL -gekodeer. Die TCP -kliënt ontleed die soekresultate en soek tweets wat op die 'teks' -etiket volg. Tweets het verskeie lae kodering. Ons dekodeer HTML gereserveerde karakters soos ampersand (&) en aanhalings (") omdat die LCD -skerm dit kan vertoon. Ons verwyder UTF8 internasionale karakters omdat die HD44780 LCD dit nie in sy karakterset het nie. Die ontleed, gedekodeerde tweets word gestoor in 'n buffer van 2100 byte, 'n ekstra skikking dui aan die begin en einde van elke tweet in die buffer. RAM-ruimte was 'n groot probleem op die 18F67J60-chip, dit het slegs ongeveer 4000 bytes in totaal, maar die 2100byte-buffer lyk groot genoeg om 20 gemiddelde grootte te hanteer Ons het veral gesorg vir die beskerming teen probleme met geheue, en ons het die kliënt getoets onder verminderde RAM-toestande om te verseker dat dit tydens foute grasieus misluk. Twitter is bekend vir sy af en toe stilstand. As die #horlosie nie kan nie maak 'n verbinding met Twitter, dit gee 'n verbindingsfoutboodskap en die pogings word twee keer herprobeer. As dit na drie probeerslae nie kan koppel nie, wag dit vyf minute voordat dit weer probeer word. Dit gee Twitter die kans om hul probleme op te los sonder om te word gehamer deur #twatch q ueries. The #twatch gryp elke vyf minute vars tendense en tweet -feeds aan. Twitter stel 'n beperking op die aantal navrae wat 'n kliënt kan rig, dus wees versigtig om meer gereeld te verfris. Twitter laat 150 gewilde onderwerpopdaterings per uur toe, en 'aansienlik meer' soeknavrae. Netwerk LCD -rugsakmodus TCP -bediener Die #twatch kan ook stelselstatusinligting van programme soos LCD Smartie vertoon. Die #twatch het 'n TCP -bediener op poort 1337 wat Matrix Orbital -geformateerde opdragte aanvaar. Dit bied ook beheer oor die LCD -agtergrond. In deel twee van ons #twatch -artikel sal ons u wys hoe u LCD Smartie van 'n COM -poort na die #twatch TCP -bediener kan herlei.

Stap 5: Bootloader vir netwerk -firmware -opgraderings

Bootloader vir netwerk -firmware -opgraderings
Bootloader vir netwerk -firmware -opgraderings
Bootloader vir netwerk -firmware -opgraderings
Bootloader vir netwerk -firmware -opgraderings
Bootloader vir netwerk -firmware -opgraderings
Bootloader vir netwerk -firmware -opgraderings

Die #twatch kan opgedateer word vanaf 'n rekenaar op die plaaslike netwerk danksy Microchip se internet -selflaaiprogram. Onthou dat die 18F -ethernet -PIC's slegs gemiddeld 100 keer geprogrammeer kan word, dus is opgraderings ietwat beperk. Ons het nog nie 'n chip uitgebrand nie, maar ons het slegs ongeveer 55 siklusse bereik tydens die ontwikkeling. As u 'n splinternuwe chip gebruik, moet u die selflaaiprogram in die PIC18F67J60 deur die ICSP -kop oplaai, dan kan u die #twatch firmware oor die netwerk. Program twatchv2-bl-vxx. HEX in die chip met 'n PIC-programmeerder soos 'n ICD2 of PicKit. As die #twatch aanskakel, loop die selflaaiprogram voordat die hoofprogram begin. Die selflaaiprogram kyk of daar 'n verbinding is tussen die PGD- en PGC -penne van die programmeringskop, soos in die prent hierbo getoon. As dit 'n verbinding vind, neem die selflaaiprogram oor en wag totdat nuwe firmware opgelaai word. Daar is 'n baie klein kans dat die selflaaier per ongeluk sal begin, selfs sonder 'n springer tussen die PGC- en PGD -penne. Dit sal die #twatch nie beskadig nie; ontkoppel net die kragtoevoer en probeer weer. Toevallige bootloader -toegang kan voorkom word deur die jumper oor een posisie te skuif sodat dit die PGD- en GND -pen verbind. Die #twatch bootloader gebruik die IP -adres 192.168.1.123 en subnetmasker 255.255.255.0. U rekenaar moet ook 'n IP -adres hê wat met 192.168.1.xxx begin om met die #twatch te kommunikeer. Ons het die reeks 192.168.1.xxx gekies omdat dit die algemeenste standaard vir tuisrouters is. As u rekenaar 'n ander IP -adresreeks gebruik, moet u dit tydelik aanpas voordat u die opdatering kan doen.

  • Maak seker dat u rekenaar in dieselfde IP -reeks en subnet is as die #twatch. U rekenaar moet 'n IP -adres in die reeks 192.168.1.xxx en 'n subnetmasker van 255.255.255.0 hê. Die standaard #twatch -opstartlaaier se IP -adres is 192.168.1.123, maak seker dat geen ander rekenaar wat aan dieselfde router gekoppel is, reeds hierdie adres gebruik nie.
  • Ontkoppel die #twatch -kragtoevoer.
  • Sit 'n trui tussen die PGC- en PGD -penne.
  • Koppel die netwerkkabel aan, indien nodig, en koppel die kragtoevoer aan. Die skerm kan leeg wees, soliede blokke of vullis hê.
  • Gebruik 'n TFTP -nut om die nuwe firmware na die #twatch IP -adres te stuur; ons gebruik TFTP.exe vanaf die Windows -opdragreël.
  • Die TFTP -opdatering meld sukses of fout.
  • Ontkoppel die kragtoevoer, verwyder die bywerkingskoppelaar.
  • Koppel die kragtoevoer weer aan. Die #twatch moet begin twiets blaai. As die laaiprogram eerder begin, plaas 'n trui tussen die PGD- en GND -penne en probeer weer.

Stap 6: Neem dit verder, kry u eie

Neem dit verder, kry u eie
Neem dit verder, kry u eie
Neem dit verder, kry u eie
Neem dit verder, kry u eie
Neem dit verder, kry u eie
Neem dit verder, kry u eie
Neem dit verder, kry u eie
Neem dit verder, kry u eie

Ons het die #twatch ontwerp om die hulpbronne op 'n enkele chip ten volle te benut; 'n uitgebreide ontwerp sal funksies byvoeg, maar duurder wees. Die #twatch kan u eie Twitter -feed volg. Dit benodig 'n klein webbediener om u Twitter -aanmelding in te voer, en 'n eksterne EEPROM om die konfigurasie -inligting te stoor. Die #twatch kan ook meer tweets of ekstra inligting oor elke tweeter stoor, soos naam en plek. Microchip maak nie 'n geïntegreerde ethernetbeheerder met meer as 4K RAM nie, maar ons kan 'n eksterne SRAM byvoeg om tweets en meta-inligting te tweet. by 4line LCD het nie veel vertoonruimte nie. Ons het die #twatch -koppelvlak rondom hierdie beperkte hoeveelheid ruimte ontwerp. 'N Opgedateerde firmware kan verskeie skermgroottes hanteer. Die selflaaiprogram kan die IP -adres aanvaar wat DHCP verkry het. 'N Toekomstige firmware -opdatering van #watch sal van hierdie funksie gebruik maak vir makliker netwerkopgraderings. Volgende week dek ons die LCD Smartie -versoenbare TCP -bediener wat in die #twatch ingebou is. Kry een! Wat is die twending op jou #twatch? Hier is 'n paar opsies as u 'n saamgestelde #twatch of PCB wil hê:

  • Seeed Studio het 'n paar saamgestelde #twatch -ethernet -LCD -pakkies vir $ 45, insluitend wêreldwye aflewering. Kry dit so lank as moontlik, want ons maak nie gou meer nie. As u hierdie projek gemis het, meld u hier aan om in kennis gestel te word van toekomstige #twatch voorafbestellings.
  • As u u eie wil bou, verkoop Seeed Studio die ekstra #twatch v1 en v2 PCB's uit ons bestelling. Maak seker dat u 'n ethernetaansluiting van Seeed kry, of u kan een vind wat by die PCB pas. Ons skryf oor 'n paar dae oor v1; die skematiese en PCB is in die SVN -projek.
  • Ons stuur 'n gratis #twatch v2 bloot PCB aan die eerste 2 mense wat die #twatch tweet.

As u betrokke wil raak, sluit aan by die oop hardeware -projek van Dangerous Prototypes by Google Code, of kom gesels in die #twatch -forum. Volgende week wys ons u hoe u LCD Smartie -stelselstatistieke na die #twatch TCP -bediener kan herlei.

Aanbeveel: