Съдържание:

Twitter Watcher, #twatch: 6 стъпки (със снимки)
Twitter Watcher, #twatch: 6 стъпки (със снимки)

Видео: Twitter Watcher, #twatch: 6 стъпки (със снимки)

Видео: Twitter Watcher, #twatch: 6 стъпки (със снимки)
Видео: Шесть фишек Apple Watch 6! 2024, Ноември
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 превърта най -новите актуални теми от Twitter на LCD екран. Това е самостоятелен мрежов уред, който се актуализира без компютър. Беше страхотно да гледаме #iranelection, Майкъл Джексън и други исторически събития, докато се развиваме, докато разработвахме #twatch. Този Instructable документира хардуера и дизайна на #twatch. В допълнение към тенденцията в Twitter, #twatch е и универсална Ethernet LCD раница. Той ще показва плейлисти, статистика за компютър и друга информация с програми като LCD Smartie. Също така е софтуерно надграждащ се, така че никога не е остарял. #Twatch е с отворен код, така че можете да изтеглите нашите дизайни и да създадете свой собствен. Seeed Studio разполага с няколко сглобени пакета #twatch ethernet LCD за 45 долара, включително доставка по целия свят. Вземете ги, докато издържат, защото скоро няма да направим повече. Ако сте пропуснали този проект, регистрирайте се тук, за да получавате известия за бъдещи #twatch предварителни поръчки, Вижте тази статия с оригиналното й форматиране на DangerousPrototypes.com, повече дискусия във форума #twatch. Ще изпратим безплатна печатна платка #twatch, ако първият чуете #twatch! Преглед на концепцията #twatch грабва най -новите актуални теми от Twitter, след което зарежда по няколко туитове за всеки. Актуалните теми и туитовете се превъртат на екрана. #Twatch улавя свежи тенденции и туитове на всеки пет минути, така че винаги да виждате най -новите актуални теми. Добавихме и общ режим на раница за Ethernet, така че #twatch може да показва и статистика за компютър от програма като LCD Smartie, повече за тази функция в част 2.

Стъпка 1: Използвайте го

Използвайки го
Използвайки го

#Twatch е лесен за използване.

  • Свържете го към домашна Ethernet мрежа с достъп до Интернет. #Twatch изисква автоматична мрежова конфигурация (DHCP), това е настройката по подразбиране за почти всяка съвременна домашна мрежа.
  • Включете го. #Twatch изисква захранване с постоянен ток 6-7 волта. Той използва 2.1 мм DC захранващ щепсел, най -често срещаният тип. Универсалните DC захранвания трябва да включват щепсел с диаметър 2,1 мм.
  • Регулирайте контраста. LCD екраните се променят с температурата и възрастта, използвайте регулиращия винт, за да промените контраста на екрана.
  • #Twatch ще конфигурира мрежовите настройки и ще започне да превърта най -новите актуални теми и няколко туитове от всяка. Може да се наложи отново да регулирате контраста за най -чист ефект на превъртане.

Вземете #twatch актуализации в блога Dangerous Prototype.

Стъпка 2: Хардуер

Хардуер
Хардуер
Хардуер
Хардуер
Хардуер
Хардуер

Използвахме безплатната версия на Cadsoft Eagle, за да направим веригата и печатната платка. Изтеглете най -новите файлове от страницата на проекта Google Code. Този раздел загуби много форматиране в Instructables, можете да видите оригиналната версия тук. Ethernet PIC 18F67J60 микроконтролер Микрочипът PIC 18F67J60 е идеален за този проект, тъй като комбинира мрежов интерфейс на Ethernet и 41MHz микроконтролер (10MIPs) в малък пакет само за няколко долара. Той идва само в пакети с 64pin+ TQFP, но нямахме проблем да го запояваме на ръка към професионална печатна платка. PIC изисква захранване от 3.3 волта. Етернет частта е наистина гладна за захранване, затова използвахме гигантски регулатор TO-220 LD117-3.3 волта (VR1). Избрахме голям регулатор, защото може да се наложи да разсейва куп топлина в зависимост от входното захранване. Регулаторът изисква малък кондензатор за отделяне на входа (C15) и голям изходен кондензатор 10uF (C3). Има голям улов с тези чипове: те могат да бъдат програмирани само около 100 пъти. Това затруднява разработването, затова разработихме и версия за разработка на #twatch въз основа на различен чип. Повече за този дизайн в бъдеща статия. Всеки PIC захранващ щифт получава 0.1uF отделящ кондензатор (C17-C23). PIC има вътрешен 2.5 -волтов регулатор за микроконтролера и Ethernet ядра, регулаторът изисква 10uF танталов кондензатор (C1). PIC се програмира чрез 5 -пинов ICSP заглавие. Щифтът за нулиране на MCLR се държи високо с 10K изтеглящ резистор (R21), допълнителен резистор (R4) и кондензатор (C16), препоръчани от листа с данни, осигуряват защита срещу различни условия на случайно нулиране. Q1). Два 33pF кондензатора (C4, C5) допълват веригата на осцилатора. Използвахме Ethernet жак с интегрирана магнитика (J2). Жакът е HanRun HR911105A, предоставен ни от Seeed Studio - не забравяйте да вземете същия жак, съвместим жак или да настроите печатната платка за жак, който можете да намерите. Интерфейсът на Ethernet изисква терминална верига (R30-33, C10-11, L1) и 2,28Kohm 1% пристрастен резистор (R7, не е показан). HD44780 символен LCD дисплей #twatch поддържа "стандартен" 4 -редов по 20 -знаков 5 -волтов HD44780 LCD с подсветка +5 волта. Обикновено можете да ги намерите за около 10 долара в eBay. Уверете се, че сте проверили, че вашият LCD дисплей съвпада с разпечатката #twatch, преди да го прикачите. Повечето LCD дисплеи са едни и същи, но не всички. LCD с подсветка потенциално може да използва куп ток, затова използвахме друг голям регулатор To-220. C12 е кондензатор за отделяне на захранването на LCD дисплея, но LCD дисплеите вече имат вградено отделяне. C12 не е необходимо да се попълва, просто го включихме в случай на проблеми със стабилността. За максимална скорост на опресняване, LCD дисплеят се управлява чрез пълния 8 -битов интерфейс. Повечето LCD дисплеи са 5 -волтови части, които изискват около 4,25 волта+ за регистриране на високо ниво на пиновете за данни, но PIC 18F65J60 е само част от 3.3 волта. За щастие, PIC има куп 5-волтови толерантни щифтове, така че можем да задържим сигнала на 5 волта с 10K издърпващ се резистор (R10-R19) и след това да го заземим, като променим настройката на посоката на PIC. Това обикновено се нарича отворен източник. Някои по -нови LCD дисплеи работят на 5 волта, но все още работят на нива на интерфейс 3,3 волта. #Twatch ще поддържа този режим, ако оставите R10-19, така че напрежението да не излиза на щифтовете, и променете фърмуера, за да превключите регистъра LAT вместо регистъра TRIS в HD44780.c. Контрастът на LCD екрана се контролира от напрежение на отклонение, обикновено генерирано с 10Kohm потенциометър. Печатната платка #twatch има отпечатъци за евтин 3 мм SMD пот (R2) и второ място за използване на по-голям съд с проходни отвори (R2A). Само един трябва да бъде населен! Само в случай, че в захранването има шум от всички неща на Ethernet, ние филтрираме напрежението на отклонение през малко феритно зърно (L2). Включихме и кондензатор за допълнително филтриране (C13), но не го използвахме, тъй като нито един елемент всъщност не е необходим. #Twatch може да контролира обикновени +5 -волтови подсветки до 400mA или така. PIC превключва транзистор (NPN1) през 240ohm ограничаващ ток резистор (R3, не е показан). Използвахме транзистор, който може да се справи с 800mA+ с печалба от 250hfe+, така че PIC може да превключи голям товар с максимален изходен ток на пина от 20mA. R1 е ограничител на тока за подсветката на LCD, ако е необходимо. Използвахме резистор с проходни отвори, така че той може да разсейва много топлина с големи подсветки и тъй като това е най-лесният размер, който да намерите локално и да се запоявате сами. Ако подсветката ви не изисква резистор, просто заменете R1 с парче тел. Нашият LCD дисплей изискваше 3ohm резистор за захранване с подсветка от 240mA. Някои подсветки използват много енергия, така че поставихме захранващите щифтове точно до захранването и подсилихме заземяващата равнина с куп VIA. Някои фантастични LCD подсветки изискват специални задвижващи вериги, така че бъдете сигурни, че вашият използва обикновен +5волта захранване, за да избегне повреда. Захранване #twatch изисква захранване 6-7 волта през 2,1 мм жак за захранване (J1). Щепселите с диаметър 2,1 мм са най -често срещаните размери и трябва да идват с всяко универсално захранване. Колкото по -високо захранващо напрежение използвате, толкова повече топлина трябва да се разсейва от VR1 и VR2. Не забравяйте, че #twatch е прототипна дъска за обучение, не е завършен и тестван търговски продукт. Вземете подходящи предпазни мерки и не работете без надзор.

Стъпка 3: PCB и Partlist

PCB и Partlist
PCB и Partlist
PCB и Partlist
PCB и Partlist

Използвахме безплатната версия на Cadsoft Eagle, за да направим схемата и печатната платка. Изтеглете най -новите файлове от страницата на проекта Google Code. ПХБ е двуслоен дизайн с малки следи и разделяне (10 мили) около 64-пиновия TICFP PIC чип. Подготвихме гербери и ги изпратихме на печатната платка на Seeed Studio за произведения с отворен код. Допълнителни платки от нашата поръчка се предлагат в магазина на Seeed Studio. Ако купувате нашите допълнителни печатни платки, не забравяйте да вземете Ethernet жака HanRun, който пасва на платката. Тъй като монтажните отвори на 20x4 LCD дисплеи варират, не се опитахме да поставим печатната платка към отворите на LCD. Направихме го възможно най -малък, като серийната LCD раница на SparkFun, така че да стои настрана от оригиналните дупки. Като страничен ефект, не е твърде ужасно неудобно зад някакъв по -малък екран като този 16x2 LCD в Adafruit. Списък с части Щракнете за изображение в пълен размер [PNG]. Част | Стойност | Пакет IC1 PIC 18F67J60 TQFP-64C1-3 10uF танталов кондензатор, 10volts+ SMC_AC4, 5 33pF кондензатор 0805C10, 11, C14-23 0.1uF кондензатор 0805ICSP 5x 0.1 "мъжки щифт J1 2.1mm SMD жак за захранване SMDJ2 HR911105A ethernet мънисто, 200ma+ 0805NPN1 NPN транзистор, 250hfe+, 800ma+ SOT-23Q1 25MHz SMD кристал HC49UPR2 (A) 10K резистор с едно завъртане 3 mm SMD или през отвор R3 240 ома резистор 0805R4-6 390 ома резистор 0805R7 2, 260 ома резистор, 1% 0 21 10 000 ома резистор 0805R30-33 49,9 ома резистор, 1% 0805VR1 LDO 3.3 волтов регулатор (LD1117) TO-220VR2 7805T 5-волтов регулатор TO-220HD44780-LCD 20x4 HD44780 символ LCD

Стъпка 4: Фърмуер

Фърмуер
Фърмуер
Фърмуер
Фърмуер
Фърмуер
Фърмуер

Последното пълно изтегляне на фърмуера на #twatch е на страницата на Google Code на проекта. Кодът е написан на C и е компилиран с демонстрационния компилатор на Microchip C18. Стек TCP/IP и базови мрежови функции „Безплатният“стек на TCP/IP на Microchip предоставя всички мрежови функции, от които се нуждаем, за да съществуваме в домашна мрежа и да вземем данни от Twitter. Стекът е с отворен код и безплатен като бира, но лицензът за Microchip забранява разпространението. Поради проблеми с лицензирането, ние само поставяме нашия изходен код за обществено достояние в проекта Google Code SVN, научете как да изтеглите и компилирате източника тук. Стекът има клиент за протокол за динамична конфигурация на хост, който автоматично конфигурира мрежовите настройки, използвайки DHCP сървър във вашата локална мрежа. #Twatch изисква DHCP сървър, но по -голямата част от мрежите и рутерите имат това разрешено. IP адресът, маската, шлюзът и първият DNS сървър се показват на LCD екрана, докато са налични валидни данни в Twitter. Стекът включва и сървъра за обявяване на Microchip. Когато IP адресът се получи от DHCP, #twatch съобщава своя IP адрес с пакет за излъчване на всички компютри в локалната мрежа. Използвайте помощната програма MCHPDetect.exe в архива на проекта, за да видите тези пакети. Накрая включихме сървър за ping (IMCP). Използвайте всеки ping клиент, за да проверите дали #twatch е жив в мрежата. Twitter TCP клиент Следващата тенденция в Twitter програмата е прост TCP клиент, подобен на уеб браузър, който изтегля данни от уеб сървъри. API на Twitter ще ни предоставя данни в различни формати. Използвахме лекия JSON формат, защото е най-лесно PIC чипът с ниска мощност да декодира, проверете JSONView, ако използвате Firefox, След като #twatch автоматично конфигурира мрежовите настройки, TCP клиентът на Twitter поема контрола и грабва текущите актуални теми. Той търси чрез този JSON канал за данни и търси маркера "име". До 10 актуални теми се копират в 225 -байтов буфер. Отделен масив съхранява крайната позиция на всяка тема в буфера, за да можем да извлечем темите в следващата стъпка. След това #twatch търси в Twitter за 2 туитове за всяка тема. Той добавя всяка тема в края на URL адреса за търсене на JSON в Twitter, специални символи като интервали и пунктуация са кодирани с URL адрес. Клиентът TCP анализира резултатите от търсенето и търси туитове, които следват текстовия маркер. Туитовете имат няколко слоя кодиране. Декодираме HTML запазени символи като амперсанд (&) и кавички ("), защото LCD екранът може да ги показва. Премахваме международните символи на UTF8, тъй като HD44780 LCD ги няма в своя набор от символи. Анализираните, декодирани туитове се съхраняват в 2100-байтов буфер, допълнителен масив отбелязва началото и края на всеки туит tweets. Положихме специални грижи, за да се предпазим от проблеми с паметта, и тествахме клиента при намалени условия на RAM, за да гарантираме, че той се проваля грациозно по време на грешки. Twitter е добре известен със своите периодични прекъсвания. Ако #twatch не може свържете се с Twitter, той показва съобщение за грешка при връзката и прави повторен опит два пъти. Ако не може да се свърже след три опита, той изчаква пет минути, преди да опита отново. Това дава възможност на Twitter да поправи проблемите си, без да бъде чукнат от #twatch q ueries. The #twatch улавя свежата тенденция и изпраща туитове на всеки пет минути. Twitter поставя ограничение за броя на заявките, които клиентът може да направи, така че внимавайте да опреснявате по -често. Twitter позволява 150 актуални актуализации на теми на час и "значително повече" заявки за търсене. Мрежов режим на LCD раница TCP сървър #twatch може също да показва информация за състоянието на системата от програми като LCD Smartie. #Twatch има TCP сървър на порт 1337, който приема команди, форматирани в Matrix Orbital. Това също осигурява контрол върху LCD подсветката. Ще ви покажем как да пренасочите LCD Smartie от COM порт към #twatch TCP сървъра във втора част от нашата статия #twatch.

Стъпка 5: Буутлоудър за надстройки на мрежовия фърмуер

Буутлоудър за надстройки на мрежовия фърмуер
Буутлоудър за надстройки на мрежовия фърмуер
Буутлоудър за надстройки на мрежовия фърмуер
Буутлоудър за надстройки на мрежовия фърмуер
Буутлоудър за надстройки на мрежовия фърмуер
Буутлоудър за надстройки на мрежовия фърмуер

#Twatch може да се актуализира от компютър в локалната мрежа благодарение на интернет зареждащото устройство на Microchip. Не забравяйте, че PIC картите на 18F ethernet могат да бъдат програмирани средно само 100 пъти, така че надстройките са донякъде ограничени. Все още не сме изгорили чип, но достигнахме само около 55 цикъла по време на разработката. Ако използвате чисто нов чип, ще трябва да програмирате буутлоудъра в PIC18F67J60 чрез заглавката на ICSP, тогава можете да качите #гледайте фърмуера по мрежата. Програмирайте twatchv2-bl-vxx. HEX в чипа с PIC програмист като ICD2 или PicKit. Когато #twatch се включи, буутлоудъра работи преди стартирането на основната програма. Буутлоудърът проверява за връзка между PGD и PGC щифтовете на заглавката за програмиране, показана на изображението по -горе. Ако намери връзка, буутлоудърът поема и изчаква да бъде качен нов фърмуер. Има много малък шанс буутлоудъра да започне случайно дори без джъмпер между PGC и PGD щифтовете. Това няма да повреди #часовника, просто изключете захранването и опитайте отново. Случайното влизане на буутлоудъра може да бъде предотвратено чрез преместване на джъмпера върху една позиция, така че да свързва PGD и GND щифтовете. #Twatch буутлоудъра използва IP адреса 192.168.1.123 и маската на подмрежата 255.255.255.0. Вашият компютър също трябва да има IP адрес, който започва с 192.168.1.xxx, за да комуникира с #twatch. Избрахме диапазона 192.168.1.xxx, защото това е най -често срещаното по подразбиране за домашни рутери. Ако компютърът ви използва друг диапазон от IP адреси, ще трябва да го коригирате временно, преди да можете да извършите актуализацията.

  • Уверете се, че вашият компютър е в същия IP диапазон и подмрежа като #twatch. Вашият компютър трябва да има IP адрес в диапазона 192.168.1.xxx и маска на подмрежата от 255.255.255.0. По подразбиране IP адресът за зареждане на зареждане на #twatch е 192.168.1.123, уверете се, че никой друг компютър, свързан към същия рутер, вече не използва този адрес.
  • Изключете #twatch захранването.
  • Поставете джъмпер между щифтовете PGC и PGD.
  • Включете мрежовия кабел, ако е необходимо, и включете захранването. Екранът може да е празен, да има твърди блокове или боклук.
  • Използвайте помощна програма TFTP, за да изпратите новия фърмуер до IP адреса на #twatch, ние използваме TFTP.exe от командния ред на Windows.
  • Актуализацията на TFTP съобщава за успех или грешка.
  • Изключете захранването, премахнете джъмпера за актуализация.
  • Включете отново захранването. #Twatch трябва да започне да превърта туитове. Ако вместо това стартира буутлоудъра, поставете джъмпер между щифтовете PGD и GND и опитайте отново.

Стъпка 6: Вземете по -нататък, вземете своето

Приемайки го по -нататък, вземете своето
Приемайки го по -нататък, вземете своето
Приемайки го по -нататък, вземете своето
Приемайки го по -нататък, вземете своето
Приемайки го по -нататък, вземете своето
Приемайки го по -нататък, вземете своето
Приемайки го по -нататък, вземете своето
Приемайки го по -нататък, вземете своето

Ние проектирахме #twatch, за да използваме пълноценно ресурсите на един чип, разширеният дизайн би добавил функции, но би бил по -скъп. #Twatch може да следва собствената ви емисия в Twitter. Ще се нуждае от малък уеб сървър, за да въведете данните си за вход в Twitter, и външен EEPROM за съхраняване на информацията за конфигурацията. #Twatch може също да съхранява повече туитове или допълнителна информация за всеки високоговорител, като име и местоположение. Microchip не прави интегриран Ethernet контролер с повече от 4K RAM, но бихме могли да добавим външен SRAM за съхраняване на туитове и метаинфо за tweet. Актуализираният хардуер може да добави I/O заглавка за свързване на бутони с LCD Smartie. by 4line LCD няма много място за показване. Ние проектирахме интерфейса #twatch около това ограничено пространство. Актуализиран фърмуер може да обработва няколко размера на екрана. Зареждащият може да приеме IP адреса, получен от DHCP. Бъдеща актуализация на фърмуера на #twatch ще се възползва от тази функция за по -лесно надграждане на мрежата. Следващата седмица ще покрием съвместимия с LCD Smartie TCP сървър, вграден в #twatch. Вземете такъв! Какво е twending на вашия #twatch? Ако искате сглобен #twatch или печатна платка, ето няколко опции:

  • Seeed Studio разполага с няколко сглобени пакета #twatch ethernet LCD за 45 долара, включително доставка по целия свят. Вземете ги, докато издържат, защото скоро няма да направим повече. Ако сте пропуснали този проект, регистрирайте се тук, за да получавате известия за бъдещи #twatch предварителни поръчки.
  • Ако искате да създадете свой собствен, Seeed Studio продава допълнителните платки #twatch v1 и v2 от нашата поръчка. Не забравяйте да вземете Ethernet жак от Seeed или се уверете, че можете да намерите такъв, който съответства на печатната платка. Ще пишем за v1 след няколко дни, схемата и печатната платка са в проекта SVN.
  • Ще изпратим безплатна #twatch v2 гола печатна платка на първите 2 души, които туитват #twatch.

Ако искате да се включите, присъединете се към отворения хардуерен проект на Dangerous Prototypes в Google Code или влезте в чата във форума #twatch. Следващата седмица ще ви покажем как да пренасочите системната статистика на LCD Smartie към #twatch TCP сървъра.

Препоръчано: