Оглавление:

1975 Hitachi Pi Info-TV: 13 шагов (с изображениями)
1975 Hitachi Pi Info-TV: 13 шагов (с изображениями)

Видео: 1975 Hitachi Pi Info-TV: 13 шагов (с изображениями)

Видео: 1975 Hitachi Pi Info-TV: 13 шагов (с изображениями)
Видео: Веб-программирование – информатика для руководителей бизнеса 2016 2024, Ноябрь
Anonim
Image
Image
1975 Hitachi Pi Info-TV
1975 Hitachi Pi Info-TV
1975 Hitachi Pi Info-TV
1975 Hitachi Pi Info-TV
1975 Hitachi Pi Info-TV
1975 Hitachi Pi Info-TV

Это милый маленький портативный телевизор Hitachi I-89-311, который я переделал в настенную информационную станцию в стиле ретро! Он отображает полезный контент в серии полноэкранных вкладок Chrome, а поворот ручки настройки переключает страницы, так же, как вы изначально меняли телеканалы. Кнопка громкости управляет прокруткой, кнопка включения-выключения обновляет страницу, и у нее есть датчик движения PIR, поэтому экран отключается, когда вы уходите.

Он использует экран Pimoroni 8 4: 3 и Raspberry Pi 3 для отображения контента, а некоторые настраиваемые переключатели позволяют использовать все оригинальные элементы управления телевизором.

Если вы не видите встроенное видео, оно находится по адресу:

Шаг 1. Демонтаж и принятие решений

Демонтаж и решения
Демонтаж и решения
Демонтаж и решения
Демонтаж и решения
Демонтаж и решения
Демонтаж и решения

Летом на распродаже этот телевизор обошелся мне в 5 фунтов стерлингов, и мне не терпелось вернуться домой и разобрать его. Я имел в виду просто разобрать его, порубить, заменить экран моим старым 10-дюймовым планшетом и повесить на стену - хороший быстрый проект! Разборка, безусловно, прошла хорошо, все развалилось очень чисто и благодаря новый лоток для магнитных деталей Я ни разу не потерял ни одного винта. Как только я поднес планшет к урезанному корпусу, было очевидно, что он никогда не поместится, рамка вокруг экрана была слишком толстой, чтобы поместиться в корпус.

Я представлял себе, что просто настраиваю домашний экран Android с виджетами для отображения предстоящих календарных встреч, погоды, новостей и так далее, но с этим из окна я обратился к параметрам Raspberry Pi. Сначала я начал искать программное обеспечение для отображения информационных панелей, так как это было примерно то, что мне было нужно. Я попробовал dashing.io после рекомендаций, но нашел его немного неудобным в установке и настройке. Многие другие параметры были больше ориентированы на бизнес, поэтому менее вероятно, что они будут иметь такие функции, как отображение прямой трансляции веб-камеры CCTV. Через некоторое время я почти решил создать свою собственную веб-страницу, чтобы отображать именно тот контент, который мне нужен, но потом пришла в голову идея, почему бы не создать несколько веб-страниц и иметь возможность прокручивать между ними с помощью элементов управления телевизором? Это означало бы меньше компромиссов в отношении того, что поместится на маленьком экране, и упростило бы добавление или удаление элементов. После этого момента «Эврика» все, что мне нужно было сделать, это сделать так, чтобы это произошло - и это не было слишком сложно.

Шаг 2: код Chromium

Код хрома
Код хрома

Чтобы идея веб-страниц работала, первое, что мне нужно было сделать, это выяснить, как открыть полноэкранный режим браузера Chromium при загрузке с несколькими предопределенными вкладками. Благодаря гибкости Pi и Chromium этого было довольно легко добиться, просто отредактировав файл автозапуска:

sudo nano.config / lxsession / LXDE-pi / автозапуск

… И добавление

@ Chrome-browser --noerrdialogs --start-fullscreen https:// url1 https:// url2 https:// url3

… В конец файла, сохраняя изменения.

Затем мне нужно было найти способ каким-то образом использовать кнопки телевизора для управления вкладками браузера. Я планировал иметь рядом отдельную беспроводную комбинацию клавиатуры и мыши, поэтому не использовал режим киоска и не интересовался движениями мыши или щелчками, но я действительно хотел иметь возможность вводить базовую информацию «Я иду на работу» -грабить просто используя оригинальные элементы управления ТВ. Я знал, что, скорее всего, буду подключать переключатели к GPIO Pi и управлять ими на Python, поэтому поискал код, который имитировал бы нажатия клавиш, чтобы я мог использовать сценарий для отправки их через вход от физического переключателя.

После некоторого поиска я наткнулся на xdotool, который идеально подходил для этой работы, поскольку позволяет моделировать нажатия клавиш с помощью кода, который можно легко встроить в Python. Сначала установил…

sudo apt-get install xdotool

… Затем с помощью терминала возился с командой для переключения вкладок в Chrome, имитируя сочетание клавиш CTRL-TAB:

xdotool search --onlyvisible --class "chromium" windowfocus && клавиша xdotool ctrl + Tab

Затем я сделал то же самое, чтобы создать фрагмент кода для выполнения действия «Обновить», имитируя нажатие клавиши F5:

xdotool search --onlyvisible --class "chromium" windowfocus && xdotool key F5

Теперь, когда у меня были основные части кода, следующей задачей было отсортировать физические кнопки, подключить их к GPIO и создать скрипт Python, чтобы заставить их управлять браузером.

Шаг 3. Элементы управления телевизором

Управление ТВ
Управление ТВ
Управление ТВ
Управление ТВ
Управление ТВ
Управление ТВ

Звездой шоу в плане кнопок был прекрасный большой настроечный диск, так что я работал над ним первым. Мне нужно было, чтобы вращающееся действие циферблата переводилось в нажатия клавиш, вызванные GPIO, для срабатывания переключателя вкладки браузера, так что поворот переключал бы «канал». Удобно, что раньше я делал нечто подобное для своего проекта Neon Infinity Television, поэтому решил использовать тот же метод.

Для начала я взял 12-полюсный однонаправленный поворотный переключатель и припаял чередующиеся клеммы друг к другу, так что 6 из них были подключены к одному проводу. Другой провод был подключен к узлу переключателя, так что каждый поворотный щелчок перемещал его между открытым и закрытым состояниями. Это означало, что для каждого переключения канала потребуется 2 «щелчка», один для того, чтобы щелкнуть переключатель «закрыт», а другой - для его повторного открытия.

После тестирования с помощью мультиметра я перешел к следующей кнопке (Вкл. / Выкл.) - я хотел только «обновить» страницу, поэтому использовал стандартный переключатель «нажми и сделай».

Когда оба они были готовы, я припаял их к небольшой части макетной платы рядом с перемычкой, чтобы упростить подключение. Затем я подключил их к Pi (GPIO6, GPIO26 и 3v) и собрал скрипт Python для преобразования их физических движений в нажатия клавиш для управления окном браузера. Скрипт, который я использовал, довольно прост и доступен на GitHub. Когда он полностью заработал, я настроил его на автозапуск, добавив в строку…

@sudo python /home/pi/tabswitch.py

… В файл автозапуска, прямо под тем местом, где я ранее добавил команду @ chromium-browser.

Итак, осталось две кнопки, одна осталась!

Шаг 4: прокрутка

Прокрутка вокруг
Прокрутка вокруг

Я действительно хотел, чтобы третья кнопка (Громкость) прокручивала страницу браузера вверх и вниз для просмотра заголовков и прогнозов погоды - это была отличная идея, но ее сложно реализовать! Я изучал разные варианты, но вернулся к одной из моих любимых - дешевым USB-мышам. Поездка в багажник автомобиля дала четыре старых пищалки в разных состояниях (около 50 пенсов каждый), и я надеялся, что у одного из них будет взломанная печатная плата, которую я мог бы просто положить в корпус, соединив колесо прокрутки с ручкой регулировки громкости и USB-кабель к Pi.

Однако это было не так просто, поскольку у всех мышей колесо прокрутки было зафиксировано под углом 90 градусов к основной плате, что имеет смысл для мыши, но не годится для размещения в тесном корпусе телевизора! Чтобы сделать вещи более гибкими, я отрезал поворотный регулятор от одной мыши и подключил его к печатной плате второй, оставив кабели между ними, чтобы я мог закрепить его под любым углом, который я хотел. Несмотря на то, что мыши были от разных производителей, все работало нормально!

Шаг 5: сон и пробуждение

Сон и бодрствование
Сон и бодрствование
Сон и бодрствование
Сон и бодрствование

Я знал, что телевизор будет на стене в коридоре, поэтому я не хотел, чтобы он был включен 24 часа в сутки, 7 дней в неделю, но в то же время я хотел иметь возможность взглянуть на него мимоходом и не видеть. нажмите кнопку, чтобы включить экран. Я решил использовать датчик PIR для обнаружения движения поблизости, чтобы экран оставался выключенным (или, по крайней мере, на пустой заставке), если кто-то не находился перед ним.

Я раньше не использовал PIR-датчик с Pi, поэтому последовал за отличным руководством по родительскому детектору и получил код, который мне нужен, для работы довольно быстро, по крайней мере, в терминале.

Датчик PIR легко подключить к GPIO Pi (5 В, GND и GPIO4), но потребовались некоторые эксперименты с неудобными «подстроечками», чтобы получить правильную задержку и чувствительность.

Следующим шагом было включение экрана при обнаружении движения. Опять же, для этого есть разные варианты, но я решил сделать так, чтобы движение, обнаруженное датчиком PIR, просто отключало заставку. Я предполагал, что смогу снова использовать xdotool для отправки любого старого нажатия клавиш, и это разбудит экран, но, к сожалению, это не сработало.

Чтобы дать мне больше контроля над типом заставки и опциями, я установил xscreensaver:

sudo apt-get install xscreensaver

Это было идеально, так как теперь я мог полностью контролировать время задержки заставки через меню настроек - что было еще удобнее, так это то, что xscreensaver имеет множество параметров командной строки, что означает, что я мог использовать код …

xscreensaver-команда -deactivate

… Чтобы разбудить экран. Я добавил эту команду в сценарий PIR (также на GitHub), и как только он заработал, добавил…

@sudo python /home/pi/PIR.py

… В файл автозапуска, сразу под предыдущими записями для команд Chromium и tabswitch.

Итак, теперь большая часть работы Pi была завершена, и с подключенными датчиком PIR, кнопкой, поворотным переключателем и убитой USB-мышью я перешел к сложной части - заставил ее работать с маленьким экраном и поместил все это в корпус.

Шаг 6: экранное время

Экранное время
Экранное время
Экранное время
Экранное время
Экранное время
Экранное время

Найти подходящий экран для этого проекта всегда было непросто, так как «отверстие» было неудобного размера в 9-10 дюймов, а также в формате 4: 3.

После периода бесплодных поисков выгодных покупок я решил купить новый - главным образом по той причине, что я хотел, чтобы это было практичным дополнением к моему дому, и поэтому мне нужно было быть уверенным в том, что он будет подключаться большую часть времени. Я наконец начал искать ЖК-панели 800x600 и 1024x768 и нашел 8-дюймовый экран Pimoroni. Это был идеальный вариант, поскольку мне нравился продавец, экран был хорошо проверен и имел идеальную форму - единственным компромиссом было то, что он был немного меньше чем мне бы хотелось, но это не сильно повлияло на окончательную сборку.

Комплект экрана поставлялся с собственной платой драйвера и кнопками меню, и их было легко подключить для небольшого теста на рабочем месте. Я с удовольствием прочитал, что экран может питаться от самого Pi, так что включите его и - ничего! Я пробовал разные USB-порты для питания, затем разные кабели HDMI, но он просто не работал. После долгих размышлений я нашел решение в Интернете - поскольку оно питалось от USB Pi, оно не отображалось как «настоящее» в процессе загрузки достаточно рано, чтобы Pi понял, что он есть. Все, что мне нужно было сделать, это отредактировать файл

/boot/config.txt

и раскомментируйте вариант

hdmi_force_hotplug = 1

и Привет, Престо! Это сработало сразу. Меня всегда поражает, насколько простыми могут быть некоторые решения. Я был уверен, что хоть как-то поджарил экран, но одна крошечная настройка все изменила. Теперь, когда все это работало на скамейке, мне просто нужно было поместить его в чехол и как-то сохранить работоспособность.

Несмотря на то, что это был идеальный размер, было несколько проблем: лицевая панель ЖК-панели была блестящей серебристой, а также были видны зазоры с внешней стороны, где исходная телевизионная трубка была изогнута. Сначала я подумал о том, чтобы окрасить лицевую панель в черный цвет, тем более что на ней все еще оставалась защитная пленка для экрана, которая была бы идеальной маскировкой. Поразмыслив, мне удалось убить двух зайцев одним выстрелом, и я добавил полосы толстого черного самоклеящегося войлока по краям экрана, которые покрыли серебряные полосы и перекрыли достаточно, чтобы заполнить пробелы.

Шаг 7: полупрозрачные шаблоны

Полупрозрачные шаблоны
Полупрозрачные шаблоны
Полупрозрачные шаблоны
Полупрозрачные шаблоны
Полупрозрачные шаблоны
Полупрозрачные шаблоны
Полупрозрачные шаблоны
Полупрозрачные шаблоны

После закрепления экрана на месте были кнопки, Pi и кабели!

Чтобы закрепить экран, я вырезал кусок полупрозрачного пластика из крышки старого ящика для хранения вещей, используя оригинальные винты для телевизора и винтовые стойки, чтобы надежно закрепить его на месте, поэтому решил сделать то же самое, чтобы удерживать кнопки.. Прелесть изготовления кронштейнов из такого пластика в том, что вы можете надеть его на корпус и увидеть сквозь него, чтобы точно отметить, где должны быть отверстия для винтов!

Я вырезал небольшой кусок пластика, чтобы удерживать элементы управления телевизором, и сначала отметил и просверлил отверстия, чтобы закрепить его на оригинальных креплениях телевизора. Затем, прикручивая его к корпусу, я отметил центр отверстий для пуговиц с внешней стороны, чтобы убедиться, что они будут выровнены правильно, когда будете протыкать корпус. Это прошло довольно гладко для поворотных и нажимных переключателей, мне просто пришлось прибегнуть к горячему клею, чтобы установить «колесо мыши» в нужное место.

Затем я построил еще одну «колоду», чтобы сидеть над переключателями и удерживать Raspberry Pi, используя тот же метод, что и раньше, и несколько оригинальных штифтов. Это работало хорошо, но, к сожалению, задняя часть поворотного переключателя выступала слишком высоко, поэтому мне пришлось повторно припаять его после того, как согнули клеммы основанием. Наконец, я слегка приклеил датчик PIR за вентиляционным отверстием, все еще не уверенный, будет ли он работать, не будучи полностью обнаженным.

Теперь, когда все части были зафиксированы в своих «окончательных» положениях, мне пришлось добавить ручки управления. Поворотный переключатель был простым, так как они стандартной формы, и ему просто нужно было обрезать его, чтобы соответствовать циферблату. Для выключателя я использовал часть оригинального шпинделя от телевизора и приклеил его к кнопочному выключателю. Колесо мышки было немного сложнее, я снова использовал оригинальный шпиндель от телевизора, соединенный со шпинделем колесика мыши пластиковой «манжетой».

Шаг 8: больше кнопок

Больше кнопок
Больше кнопок
Больше кнопок
Больше кнопок

Вы могли подумать, что этого было бы достаточно, чтобы возиться с кнопками, но это еще не все! У ЖК-экрана был собственный набор из 5 микропереключателей на плате для управления яркостью, цветом и т. Д., Поэтому я хотел, чтобы они были доступны, не снимая телевизор со стены.

После легкого измельчения было достаточно места, чтобы разместить плату по краю «внутреннего» корпуса, все, что мне нужно было сделать, это вырезать отверстия во «внешнем» корпусе, чтобы сделать доступными микровыключатели. Мне также нужно было найти какие-то физические кнопки, чтобы проткнуть корпус и совместиться с микровыключателями. Раньше я использовал для этого серебряные «ручные ручки», но на этот раз мне не удалось найти дешевые. В конце концов, я отрезал ножки от некоторых старых светодиодов и вставил их в отверстия, которые я просверлил в корпусе - они были идеальными, поскольку расширяющееся основание светодиода не давало им выскользнуть, и они были как раз подходящей формы и размера. Больше не сверля, я глубоко вздохнул и перешел к «большой выемке».

Шаг 9: Разделка корпуса

Разделка дела
Разделка дела
Разделка дела
Разделка дела
Разделка дела
Разделка дела

Со всеми установленными платами, экраном и переключателями я теперь мог точно видеть, какой глубины должен быть внешний корпус телевизора, или, точнее, насколько тонким я смогу его сделать. Оставив зазор в пару сантиметров между печатными платами и стеной, я разметил корпус и срубил его вращающимся инструментом. Это был, безусловно, самый нервный момент, так как было очень шумно, и одна оплошность могла испортить дело. Окончательный срез был довольно хорош, и просто нужно было немного отшлифовать и подрезать края, чтобы закончить его перед покраской - «задняя часть» телевизора изначально была белой, но с годами пожелтела.

Шаг 10: подвесная ручка

Подвесная ручка
Подвесная ручка
Подвесная ручка
Подвесная ручка
Подвесная ручка
Подвесная ручка
Подвесная ручка
Подвесная ручка

Следующая проблема заключалась в том, как повесить телевизор на стену, чтобы он был ровным и надежным, но в то же время легко снимался для обслуживания. Раньше я читал об использовании "французских шипов" или "Z-образных скоб" для подвешивания больших картинок, но никогда не пробовал их, поэтому заказал их на Amazon - они оказались абсолютно идеальными! В пакете даже был крошечный спиртовой уровень.

Установить настенный кронштейн было легко, я привинтил его к стене мастерской для тестирования в течение нескольких минут, а затем мне нужно было выяснить, как установить его противоположный номер на телевизор. Внешний корпус будет прикручиваться к передней части телевизора в четырех местах, поэтому он был довольно прочным, поэтому я решил, что это лучшее место для кронштейна. Сложность заключалась в том, чтобы установить кронштейн в нужном месте, чтобы он не мешал платам или проводам. Я также не хотел, чтобы через верхнюю часть корпуса выступали болты.

В какой-то момент мой мозг понял, что я могу повторно использовать оригинальную ручку телевизора, сделать из нее особенность, а также использовать ее для удержания кронштейна в нужном месте. После тщательных измерений я просверлил новые отверстия для ручки, затем прикрепил ее к z-образному кронштейну, используя пару маленьких прямоугольных скоб и обрезок деревянного пола, все прочно скрепленные болтами.

Шаг 11: доработки и сборка

Touch-Ups и сборка
Touch-Ups и сборка
Touch-Ups и сборка
Touch-Ups и сборка
Touch-Ups и сборка
Touch-Ups и сборка

В качестве последних штрихов я отшлифовал и покрасил спреем внешний корпус и ручку, сделав последние красным для контраста и как намек на малину внутри. После того, как краска затвердела, все детали собраны, ручки и крышка экрана с надписью «Solid State» вставлялись на место в последнюю очередь. Крышка экрана была слегка дымчатой, но после настройки яркости и контрастности (рад, что я включил эти ЖК-кнопки) дисплей выглядел так же ярко, как и раньше.

Шаг 12: выбор сайта

Выбор сайта
Выбор сайта
Выбор сайта
Выбор сайта

Вскоре я переместил z-образную скобу со стены мастерской в ее «последний» дом в коридоре и повесил телевизор, добавив тонкий пластиковый шланг, чтобы убрать кабель питания Pi. Теперь, когда он был установлен, самое интересное - решить, какие веб-страницы отображать!

Изучая параметры панели инструментов, я наткнулся на Dakboard - веб-панель, на которую вы можете ссылаться на свой онлайн-календарь, чтобы отображать встречи, новостную ленту и погоду. В то время я считал его слишком простым, но он идеально подходил для одной из моих страниц. Мне больше всего нравится в нем возможность отображать мой собственный фотоальбом Google, тем более, что он с радостью отображает анимированные GIF-файлы.

Следующие несколько вариантов выбора вкладок были довольно предсказуемыми, BBC News и BBC Weather, которые необходимо проверить перед тем, как выйти из дома.

Затем я добавил ссылку на прямую трансляцию с одной из моих камер Pi Zero - это уже оказалось полезным для отслеживания почтальона или доставки покупок.

Наконец, я добавил в наш список покупок в Google - мы привыкли использовать Google Pi Intercom для добавления элементов в список, поэтому стоит проверить, прежде чем отправиться в путь.

Я сопоставил URL-адреса с ноутбука в документ блокнота и скопировал его в Pi, а затем добавил их в строку @Chromium в файле автозапуска (см. Шаг 2 выше).

Шаг 13: Заключительные мысли

Последние мысли
Последние мысли
Последние мысли
Последние мысли
Последние мысли
Последние мысли

Мне очень понравилась эта сборка, создание чего-то, что я знаю, что буду использовать ежедневно, действительно не дает мне срезать углы - даже если это займет гораздо больше времени. Больше всего мне нравится большой циферблат для переключения каналов, очень приятно использовать оригинальный механизм.

Намного лучше, чем ожидалось, оказался датчик PIR, который, как я был убежден, не будет работать, заправленный в вентиляционное отверстие корпуса - я действительно не хотел открывать весь датчик, поэтому я очень рад, что это сработало. Он довольно чувствительный, и нам всем нравится пытаться проползти мимо него, не включая экран. Сфотографировать это оказалось действительно непросто - дымчатая крышка экрана такая светоотражающая!

Мне нравится, как он выглядит в коридоре, и он работает так, как я и надеялся - обычно достаточно нескольких щелчков вперед и назад и небольшого прокрутки, чтобы утром вытащить меня за дверь со всей необходимой мне информацией..

Если вам нравится этот проект и вы хотите увидеть больше, вы можете зайти на мой веб-сайт, чтобы узнать о текущих обновлениях проекта по адресу bit.ly/OldTechNewSpec, присоединиться к Twitter @OldTechNewSpec или подписаться на растущий канал YouTube по адресу bit.ly/oldtechtube - дайте некоторые из ваших старых технологий - новые спецификации!

Рекомендуемые: