Оглавление:
- Шаг 1. Использование
- Шаг 2: Оборудование
- Шаг 3: печатная плата и список деталей
- Шаг 4: Прошивка
- Шаг 5. Загрузчик для обновлений сетевой прошивки
- Шаг 6: Двигайтесь дальше, получите свое
Видео: Twitter Watcher, #twatch: 6 шагов (с изображениями)
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:55
#Twatch прокручивает последние популярные темы из Twitter на ЖК-экране. Это автономное сетевое устройство, которое обновляется без ПК. Было здорово наблюдать, как #iranelection, Майкл Джексон и другие исторические события прокручиваются, пока мы разрабатывали #twatch. В этой инструкции описаны аппаратное обеспечение и дизайн #twatch. Помимо тикера в Twitter, #twatch также является универсальным ЖК-рюкзаком для Ethernet. Он покажет плейлисты, статистику ПК и другую информацию с такими программами, как 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 мм, самый распространенный тип. Универсальные блоки питания постоянного тока должны иметь вилку 2,1 мм.
- Отрегулируйте контраст. ЖК-экраны меняются в зависимости от температуры и возраста, используйте регулировочный винт, чтобы настроить контрастность экрана.
- #Twatch настроит параметры сети и начнет прокручивать последние популярные темы и несколько твитов по каждой из них. Возможно, вам придется снова отрегулировать контраст для получения наиболее чистого эффекта прокрутки.
Получайте обновления #twatch в блоге Dangerous Prototype.
Шаг 2: Оборудование
Мы использовали бесплатную версию Cadsoft Eagle для изготовления схемы и печатной платы. Загрузите последние файлы со страницы проекта Google Code. Этот раздел потерял много форматирования в Instructables, вы можете увидеть исходную версию здесь. Микроконтроллер Ethernet PIC 18F67J60 Microchip PIC 18F67J60 идеально подходит для этого проекта, поскольку он сочетает в себе сетевой интерфейс Ethernet и микроконтроллер 41 МГц (10MIP) в небольшом корпусе всего за несколько долларов. Он поставляется только в корпусах 64pin + TQFP, но у нас не возникло проблем с припаиванием его вручную к профессиональной печатной плате. Для PIC требуется источник питания на 3,3 В. Часть Ethernet действительно потребляет много энергии, поэтому мы использовали гигантский регулятор TO-220 LD117–3,3 вольта (VR1). Мы выбрали большой регулятор, потому что он может рассеивать много тепла в зависимости от входного источника питания. Для регулятора требуется небольшой входной развязывающий конденсатор (C15) и большой выходной конденсатор 10 мкФ (C3). У этих микросхем есть большая загвоздка: их можно запрограммировать только около 100 раз. Это затрудняет разработку, поэтому мы также разработали разрабатываемую версию #twatch на основе другого чипа. Подробнее об этой конструкции в будущей статье. Каждый вывод питания PIC имеет развязывающий конденсатор емкостью 0,1 мкФ (C17-C23). PIC имеет внутренний регулятор на 2,5 В для ядер микроконтроллера и Ethernet, для регулятора требуется танталовый конденсатор емкостью 10 мкФ (C1). PIC программируется через 5-контактный разъем ICSP. Вывод сброса MCLR удерживается на высоком уровне с помощью подтягивающего резистора 10 кОм (R21), дополнительного резистора (R4) и конденсатора (C16), рекомендованного таблицей данных, для защиты от различных случайных условий сброса. В секции Ethernet требуется внешний кристалл 25 МГц (Q1). Два конденсатора по 33 пФ (C4, C5) завершают цепь генератора. Мы использовали разъем Ethernet со встроенным магнитом (J2). Разъем - это HanRun HR911105A, предоставленный нам компанией Seeed Studio - обязательно возьмите такой же разъем, совместимый разъем или отрегулируйте печатную плату для разъема, который вы можете найти. Интерфейс Ethernet требует оконечной цепи (R30-33, C10-11, L1) и резистора смещения 2,28 кОм 1% (R7, не показан). Символьный ЖК-дисплей HD44780 Часы #twatch поддерживают «стандартный» 4-строчный, 20-символьный 5-вольтовый ЖК-дисплей HD44780 с подсветкой +5 В. Обычно их можно найти на eBay примерно за 10 долларов. Перед установкой убедитесь, что ваш ЖК-дисплей соответствует распиновке #twatch. Большинство ЖК-дисплеев одинаковы, но не все. Почти все символьные ЖК-дисплеи работают от напряжения 5 вольт, поэтому мы обеспечиваем источник питания 5 вольт от обычного регулятора 7805 (VR2, C14, C2). ЖК-дисплей с подсветкой потенциально мог использовать пучок тока, поэтому мы использовали еще один большой регулятор To-220. C12 - это развязывающий конденсатор для источника питания ЖК-дисплея, но ЖК-дисплеи уже имеют встроенную развязку. C12 не нужно заполнять, мы просто включили его в случае проблем со стабильностью. Для максимальной скорости обновления ЖК-дисплей управляется через полный 8-битный интерфейс. Большинство ЖК-дисплеев представляют собой части с напряжением 5 В, которым требуется около 4,25 В + для регистрации высокого уровня на выводах данных., но PIC 18F65J60 - это только часть 3,3 В. К счастью, PIC имеет набор выводов, устойчивых к 5 вольт, поэтому мы можем удерживать сигнал на уровне 5 вольт с помощью подтягивающего резистора 10 кОм (R10-R19), а затем заземлить его, изменив настройку направления вывода PIC. Обычно это называется выходом с открытым стоком. Некоторые новые ЖК-дисплеи работают при 5 вольтах, но все еще работают при уровнях интерфейса 3,3 вольт. #Twatch будет поддерживать этот режим, если вы не укажете R10-19, чтобы на контакты не поступало подтягивающее напряжение, и измените прошивку, чтобы переключить регистр LAT вместо регистра TRIS в HD44780.c. Контрастность ЖК-экрана регулируется с помощью напряжение смещения, обычно генерируемое потенциометром 10 кОм. На печатной плате #twatch есть посадочные места для недорогого 3-миллиметрового SMD-потенциометра (R2) и второе место для использования большего, сквозного отверстия (R2A). Только один должен быть заселен! На случай, если в источнике питания есть шум от всего, что связано с Ethernet, мы фильтруем напряжение смещения через небольшую ферритовую бусину (L2). Мы также включили конденсатор для дополнительной фильтрации (C13), но мы его не использовали, поскольку ни один элемент на самом деле не нужен. #Twatch может управлять простой подсветкой +5 В до 400 мА или около того. PIC переключает транзистор (NPN1) через токоограничивающий резистор 240 Ом (R3, не показан). Мы использовали транзистор, который может обрабатывать 800 мА + с коэффициентом усиления 250 гф +, поэтому PIC может переключать большую нагрузку с максимальным выходным током на выводе 20 мА. R1 - токоограничивающий резистор для подсветки ЖК-дисплея, если это необходимо. Мы использовали резистор в сквозном отверстии, чтобы он мог рассеивать много тепла с большой подсветкой, а также потому, что его легче всего найти на месте и припаять самостоятельно. Если для вашей подсветки не требуется резистор, просто замените R1 на кусок провода. Нашему ЖК-дисплею требуется резистор 3 Ом для источника питания подсветки на 240 мА. Некоторые подсветки потребляют много энергии, поэтому мы поместили контакты питания прямо рядом с источником питания и укрепили заземляющую поверхность с помощью кучи переходников. Для некоторых причудливых ЖК-подсветок требуются специальные схемы управления, поэтому убедитесь, что у вас используется простой источник питания +5 вольт, чтобы избежать повреждений. Электропитание Для #twatch требуется источник питания 6-7 вольт через разъем питания 2,1 мм (J1). Штекеры 2,1 мм являются наиболее распространенным размером и должны поставляться с каждым универсальным источником питания. Чем выше напряжение питания, которое вы используете, тем больше тепла должно быть отведено от VR1 и VR2. Помните, что #twatch - это прототип обучающей доски, а не законченный и проверенный коммерческий продукт. Примите соответствующие меры безопасности и не запускайте его без присмотра.
Шаг 3: печатная плата и список деталей
Мы использовали бесплатную версию Cadsoft Eagle для создания схемы и печатной платы. Загрузите последние файлы со страницы проекта Google Code. Печатная плата представляет собой двухслойную конструкцию с небольшими дорожками и разделением (10 мил) вокруг 64-контактного чипа TQFP PIC. Мы подготовили герберы и отправили их в сервис PCB Seeed Studio для работ с открытым кодом. Дополнительные платы из нашего заказа доступны в магазине Seeed Studio. Если вы покупаете наши дополнительные печатные платы, обязательно получите разъем Ethernet HanRun, который подходит к плате. Поскольку монтажные отверстия на ЖК-дисплеях 20x4 различаются, мы не пытались подогнать печатную плату к отверстиям ЖК-дисплея. Мы сделали его как можно меньше, как серийный ЖК-рюкзак SparkFun, чтобы он не мешал исходным отверстиям. Как побочный эффект, это не так уж и неудобно за небольшим экраном, таким как этот ЖК-дисплей 16x2 в Adafruit. Список деталей Щелкните для размещения полноразмерного изображения [PNG]. Часть | Значение | Корпус IC1 PIC 18F67J60 TQFP-64C1-3 Танталовый конденсатор 10 мкФ, 10 В + SMC_AC4, 5 Конденсатор 33 пФ 0805C10, 11, C14-23 Конденсатор 0,1 мкФ 0805ICSP 5x 0,1-дюймовый штыревой разъем J1 Разъем питания SMD 2,1 мм SMDJ2 HR911105A L21, разъем для подключения к сети Ethernet Ferrari 45L1, RJ2 HR911105A бусина, 200 мА + 0805NPN1 NPN транзистор, 250hfe +, 800 мА + SOT-23Q1 SMD кристалл 25 МГц HC49UPR2 (A) Подстроечный резистор 10 кОм, 3 мм SMD или сквозное отверстиеR3 Резистор 240 Ом 0805R4-6 Резистор 390 Ом 0805R7 2, резистор 260 Ом, R10- 0805- 0805% 21 Резистор 10 000 Ом 0805R30-33 Резистор 49,9 Ом, 1% 0805VR1 Регулятор LDO 3,3 В (LD1117) TO-220VR2 7805T Регулятор 5 В TO-220HD44780-LCD 20x4 HD44780 символьный ЖК-дисплей
Шаг 4: Прошивка
Последняя полная загрузка прошивки #twatch находится на странице проекта Google Code. Код написан на C и скомпилирован с помощью демонстрационного компилятора Microchip C18. Стек TCP / IP и базовые сетевые функции «Бесплатный» стек TCP / IP Microchip обеспечивает все сетевые функции, необходимые для работы в домашней сети и получения данных из Twitter. Стек является открытым исходным кодом и распространяется бесплатно, но лицензия Microchip запрещает распространение. Из-за проблем с лицензированием мы помещаем только исходный код нашего общедоступного домена в проект Google Code SVN, узнайте, как загрузить и скомпилировать исходный код здесь. В стеке есть клиент протокола динамической конфигурации хоста, который автоматически настраивает параметры сети с помощью DHCP. сервер в вашей локальной сети. Для #twatch требуется DHCP-сервер, но в подавляющем большинстве сетей и маршрутизаторов он включен. IP-адрес, маска, шлюз и первый DNS-сервер отображаются на ЖК-экране до тех пор, пока не станут доступны действительные данные Twitter. Стек также включает сервер объявлений Microchip. Когда IP-адрес получен DHCP, #twatch объявляет свой IP-адрес широковещательным пакетом всем компьютерам в локальной сети. Для просмотра этих пакетов воспользуйтесь утилитой MCHPDetect.exe в архиве проекта. Наконец, мы включили сервер ping (IMCP). Используйте любой клиент ping, чтобы проверить, работает ли #twatch в сети. TCP-клиент Twitter Программа Twitter, следующая за тенденцией, представляет собой простой TCP-клиент, похожий на веб-браузер, который извлекает данные с веб-серверов. API Twitter предоставит нам данные в различных форматах. Мы использовали облегченный формат JSON, потому что его проще всего декодировать для PIC-чипа с низким энергопотреблением, проверьте JSONView, если вы используете Firefox. После того, как #twatch автоматически настроит параметры сети, TCP-клиент Twitter берет на себя управление и захватывает текущие тенденции.. Он просматривает этот канал данных JSON и ищет тег «name». В буфер размером 225 байт копируется до 10 актуальных тем. В отдельном массиве хранится конечная позиция каждой темы в буфере, чтобы мы могли получить темы на следующем шаге. Затем #twatch выполняет поиск в Twitter двух твитов для каждой темы. Он добавляет каждую тему в конец URL-адреса поиска Twitter JSON, специальные символы, такие как пробелы и знаки препинания, кодируются в URL-адресе. TCP-клиент анализирует результаты поиска и ищет твиты, следующие за тегом «text». Твиты имеют несколько уровней кодирования. Мы декодируем зарезервированные символы HTML, такие как амперсанд (&) и кавычки ("), потому что ЖК-экран может их отображать. Мы удаляем международные символы UTF8, потому что ЖК-дисплей HD44780 не имеет их в своем наборе символов. Проанализированные, декодированные твиты хранятся в 2100-байтовый буфер, дополнительный массив отмечает начало и конец каждого твита в буфере. Пространство ОЗУ было большой проблемой на микросхеме 18F67J60, у него всего около 4000 байтов, но 2100-байтовый буфер кажется достаточно большим, чтобы обрабатывать 20 средних Мы позаботились о защите от проблем, связанных с нехваткой памяти, и протестировали клиента в условиях ограниченного объема оперативной памяти, чтобы убедиться, что он корректно выходит из строя во время ошибок. Твиттер хорошо известен периодическими простоями. При подключении к Twitter он отображает сообщение об ошибке подключения и повторные попытки дважды. Если он не может подключиться после трех попыток, он ждет пять минут перед повторной попыткой. Это дает Twitter возможность исправить свои проблемы, не подвергаясь критике #twatch q #twatch собирает свежие тренды и публикует твиты каждые пять минут. Твиттер устанавливает ограничение на количество запросов, которые может сделать клиент, поэтому будьте осторожны при более частом обновлении. Twitter позволяет обновлять 150 актуальных тем в час и "значительно больше" поисковых запросов. Сетевой режим рюкзака с ЖК-дисплеем TCP-сервер #twatch может также отображать информацию о состоянии системы из таких программ, как LCD Smartie. #Twatch имеет TCP-сервер на порту 1337, который принимает команды в формате Matrix Orbital. Это также обеспечивает управление подсветкой ЖК-дисплея. Мы покажем вам, как перенаправить LCD Smartie с COM-порта на TCP-сервер #twatch во второй части нашей статьи #twatch.
Шаг 5. Загрузчик для обновлений сетевой прошивки
#Twatch можно обновить с ПК в локальной сети благодаря интернет-загрузчику Microchip. Помните, что PIC Ethernet 18F можно запрограммировать в среднем только 100 раз, поэтому обновления несколько ограничены. Нам еще предстоит сжечь чип, но мы достигли всего 55 циклов во время разработки. Если вы используете совершенно новый чип, вам нужно запрограммировать загрузчик в PIC18F67J60 через заголовок ICSP, тогда вы можете загрузить # смотреть прошивку по сети. Запрограммируйте twatchv2-bl-vxx. HEX в чип с помощью программатора PIC, такого как ICD2 или PicKit. Когда #twatch включается, загрузчик запускается до запуска основной программы. Загрузчик проверяет наличие соединения между выводами PGD и PGC заголовка программирования, как показано на изображении выше. Если он находит соединение, загрузчик берет на себя и ждет загрузки новой прошивки. Существует очень небольшая вероятность того, что загрузчик случайно запустится даже без перемычки между контактами PGC и PGD. Это не повредит #twatch, просто отключите питание и попробуйте еще раз. Случайный вход в загрузчик можно предотвратить, переместив перемычку на одну позицию так, чтобы она соединяла контакты 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 с более чем 4 КБ ОЗУ, но мы могли бы добавить внешнюю SRAM для хранения твитов и метаинформации твитов. Обновленное оборудование могло бы добавить заголовок ввода / вывода для подключения кнопок с ЖК-дисплеем Smartie. 20 символов. на 4-строчном ЖК-дисплее не так много места для отображения. Мы разработали интерфейс #twatch для этого ограниченного пространства. Обновленная прошивка может работать с экранами разных размеров. Загрузчик может использовать IP-адрес, полученный DHCP. В будущих обновлениях прошивки #twatch эта функция будет использоваться для упрощения обновления сети. На следующей неделе мы рассмотрим TCP-сервер, совместимый с LCD Smartie, встроенный в # twatch. Получите его! Что меняют в твоих #twatch? Если вам нужны часы или печатная плата в сборе, вот несколько вариантов:
- У Seeed Studio есть несколько собранных пакетов #twatch Ethernet LCD за 45 долларов, включая доставку по всему миру. Купите их, пока они есть, потому что в ближайшее время мы не сделаем больше. Если вы пропустили этот проект, зарегистрируйтесь здесь, чтобы получать уведомления о будущих предзаказах #twatch.
- Если вы хотите создать свой собственный, Seeed Studio продает дополнительные печатные платы #twatch v1 и v2 из нашего заказа. Обязательно приобретите разъем Ethernet в компании Seeed или убедитесь, что вы найдете тот, который соответствует печатной плате. О v1 напишем через несколько дней, схема и плата есть в проекте SVN.
- Мы отправим бесплатную голую печатную плату #twatch v2 первым двум людям, которые напишут в Твиттере #twatch.
Если вы хотите принять участие, присоединяйтесь к открытому аппаратному проекту Dangerous Prototypes в Google Code или приходите в чат на форуме #twatch. На следующей неделе мы покажем вам, как перенаправить системную статистику LCD Smartie на TCP-сервер #twatch.
Рекомендуемые:
Twitter-бот с использованием Python: 5 шагов
Twitter-бот с использованием Python: Twitter-бот
Офисное кресло Twitter: 19 шагов (с изображениями)
Офисное кресло Твиттера: Офисное кресло Твиттера «твитнет» (публикует обновленную информацию в Твиттере) при обнаружении природного газа, такого как газ, производимый человеческим метеоризмом. Это часть моего стремления точно задокументировать и рассказать о своей жизни, как это происходит. Для более углубленной теории
Как использовать Twitter с Arduino: 7 шагов
Как использовать Twitter с Arduino: Хотите простой способ взаимодействия с пользователями, миром и вашими поклонниками? Напишите об этом в Твиттере! Используя только Arduino Uno и экран Ethernet, вы можете легко добавить возможность твитнуть любую информацию или данные
Tweetbot - Фотобудка с подключением к Twitter: 4 шага (с изображениями)
Tweetbot - фотобудка с подключением к Twitter: в этом проекте мы будем создавать камеру на базе Raspberry Pi, которую можно будет использовать в фотобудке на вечеринках. После того, как фотография сделана, ее можно опубликовать в специальной учетной записи Twitter, чтобы все могли просмотреть ее позже. Это руководство будет охватывать те
Анализ настроений в Twitter с помощью Raspberry Pi: 3 шага (с изображениями)
Анализ настроений в Twitter с помощью Raspberry Pi: что такое анализ настроений и почему он должен вас волновать? Анализ настроений - это процесс определения эмоционального тона, стоящего за серией слов, который используется для понимания выражаемых настроений, мнений и эмоций. в пределах