raspberry pi

Постов: 8 Рейтинг: 18497
10293

Magic mirror

Развернуть

Вероятно, многие из нас смотрели в детстве фильм Шестой день со Шварцем. Там в кадре мелькала такая вот вещица.

Magic mirror

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

Впрочем, обо всём по-порядку. Однажды мне на глаза попалась реализация подобного устройства от одного чувака из гугла, она выглядела куда кошернее и лаконичнее.

Magic mirror

Просидев некоторое время с сердечками из глаз и высунутым языком, я тотчас захотел себе такое же, изучив сперва матчасть, разумеется. А суть этого устройства такова. Основой является двустороннее зеркало (оно же зеркало-шпион, оно же зеркало Гизелла), как в комнатах допросов. Оно остаётся зеркалом, если смотреть из светлого помещения в тёмное, и пропускает свет в обратном направлении. Далее впритык к нему вешается планшет, матрица от ноута, монитор, да хоть 60" телевизор. И на него передаётся что-то, что вы пожелаете: погода, новости, расписание электричек, курс цветмета на лондонской бирже, мультики. Соответственно нужно управляющее устройство и софт. Тот товарищ использовал Amazon FireTV и наваял себе легкий интерфейс. Но, поскольку род моей деятельности никак не связан с разработкой, пришлось искать аналогичные реализации с выложенными исходниками.

И решение нашлось довольно скоро. Другой товарищ, Michael Teeuw, не только собрал себе такой девайс, написал под него полноценную клиент-серверную приложуху и выложил на гитхаб, но, благодаря такому подходу, ещё и набрал немалое компьюнити, где народ делился своими результатами, разрабатывал новые модули и предлагал новые идеи.

Дело осталось за малым, руки зачесались, но жаба уже начала придушивать. Выяснилось, что в замкадье совершеннейшая беда с такими зеркалами. Товар штучный и люто дорогой для своих размеров. В Москве чуток подешевле, но доставка, доставка... Это нехорошие люди за доставку до транспортной компании зеркала 60*40 см заряжали как за доставку витражного стекла до Версаля. Но деваться было некуда, жаба проиграла. Если не изменяет память, зеркало вышло в 1700, плюс забор груза и доставка транспортной компанией 1500.

Ещё раньше, в процессе поиска зеркала, была куплена Raspberry Pi 3 model B, б/у монитор 24" с косячком на матрице, на который мне, ввиду сокрытия монитора за зеркалом и тёмного интерфейса совершенно побоку, шкафчик в ванную комнату в одном малоизвестном скандинавском магазине (под размер его дверцы и бралось зеркало), ну и всякая мелочёвка а-ля HDMI кабель, БП для малины и датчик движения, о нём позже.

Итак, всё приехало, все собрались. С дверцы шкафчика снимается штатное зеркало (хорошо проклеено, зараза), выпиливается в нём прямоугольное отверстие под размер моника, лицевая сторона небрежно обклеивается чёрной матовой плёнкой, заподлицо вставляется моник и столь же небрежно фиксируется.

Magic mirror

Зеркало кстати при равном освещении по обе стороны выглядит примерно так (светопропускаемость вроде 12%)

Magic mirror

Далее оно устанавливается на штатное место, дверца встаёт на своё место. В нижний "отсек" шкафчика опять же небрежно укладывается пилот, малина, все провода. Вроде готово, можно вешать.

Magic mirror

Далее пойдёт пачка самострелов (я же не вампир, чтобы в зеркалах не отражаться), дабы показать интерфейс, светопропускаемость и отражаемость, вид при отсутствии освещения в ванной. Фотки прошлогодние, давно хотел запилить пост, да всё лень-матушка.

Magic mirror
Magic mirror
Magic mirror
Magic mirror

Да, кстати, о датчике движения. Вот он, притаился внизу. Зачем монитору гореть весь день, даже когда в ванной никого нет. После небольшой настройки прекрасно выполняет свою функцию - гасит моник через 20 секунд после того, как вы вышли и зажигает при появлении.

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

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

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

Что касается влажности, спустя год могу сказать, что всё ок, инцидентов не было.

Итог: долго, дорого, прикольно.

Если у кого есть вопросы или пожелания, прошу в комменты.

2710

Как далеко мы ушли...

Развернуть
Как далеко мы ушли...
233

Minimalism Raspberry Pi

Развернуть
Minimalism Raspberry Pi
743

Игровая приставка своими руками.

Развернуть
Приветствую Пикабу, и в частности любителей ретро-гейминга, эмуляции и всяческих извращений с паяльником. Как-то гуляя на просторах интернета и читая гиктаймс, я наткнулся на статью о игровой консоли на Raspberry Pi. Прочитав ее, я понял, что сей девайс может быть полезен за свои деньги. А еще в последнее время мне сильно хотелось сделать что-нибудь своими руками.
Игровая приставка своими руками.
Итак, почему именно RPi3? Разумеется, эмулировать ретро игры можно и на пк - качаем эмуляторы, выводим картинку через HDMI на большой экран и подключаем пад. Я и сам так делал, но от таких манипуляций не ощущается никакой эстетики и удобства, как от работы с аналоговой приставкой. Хочется, чтоб не было никаких клавиатур и мышек, простой старт от нажатия кнопки, высокая скорость загрузки и эмуляции, возможность полного контроля с помощью геймпада, и, по возможности, корпус от какой-либо оригинальной консоли.

Низкое энергопотребление, бесшумность и, начиная с Raspberry Pi 3, мощность - позволяют это воплотить в реальность. Мощности хватит для эмуляции всех систем вплоть до 5-го поколения. Со всем остальным нам поможет проект RetroArch и его графическая надстройка Emulation Station. Или говоря проще - Retro Pie.
Игровая приставка своими руками.
Игровая приставка своими руками.
Выбор геймпада.

Со всем этим фаршем можно использовать любой USB геймпад. У меня уже есть проводной XBOX 360. Но я делаю ретро консоль, поэтому важно, чтобы у пада была удобная крестовина, достаточное количество кнопок (помимо действий в игре так же нужны горячие клавиши для сейвов, сброса игры и тп) и удобная классическая форма. XBOX пад сразу пролетает из-за своей крестовины (кто пробовал играть на нем в старые файтинги - поймет меня), поэтому мой выбор пал Dualshock или его копию. Вопрос в выборе корпуса сразу отпадает. Прочесав местные барахолки я отыскал мертвую Sony Playstation FAT и пару геймпадов за сущие гроши.
Игровая приставка своими руками.
Проанализировав тз, получаем список:

Raspberry Pi 3 Model B + радиаторы охлаждения и простенький корпус (для удобства крепления) - 2700 р на небезызвестном сайте.
Блок питания с выходом 5V 2.5A - около 300 р (можно использовать и обычную USB зарядку 1-2 ампер, но лучше обеспечить рекомендованное питание)
HDMI кабель 1 метр - 90 р
Короткие HDMI и USB удлинители - 200 р
Сетевой кабель AC IN - уже был в наличии.
RGB светодиоды с медленным переливанием (для красивой индикации) - 60 р
Аэрозольная матовая краска для пластика (всегда считал, что модель Net Yaroze красивее серийных фаток) - 400 р
SD карта 6-10 класса - уже есть на 8 gb
Переходник USB-2x Dualshock - 160 р
Игровая приставка своими руками.
Разворачиваем систему на флешку.

Тут все просто - скачиваем образ и заливаем его на флешку при помощи Win 32 Disk Imager для винды, на линуксе и маке это можно сделать из под терминала.

После заливки образа вставляем карточку в малину, подключаем HDMI, питание, переходник для геймпадов и сами пады, а так же клавиатуру (в дальнейшем она будет не нужна). При первом включении малина перезагрузится, а затем откроет нам окно с настройкой геймпада. После настройки откроется GUI меню с уже предустановленными играми и эмуляторами (в основном всякая еруеда и порты вроде Doom, Quake и пр.)

Настройка.

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

При первом же включении у меня обнаружились черные отступы по всем краям экрана, а так-же при каждом старте на долю секунды загорался радужный квадрат, за которым несколько секунд шли строки кода (boot text). Чтобы привести это все в человеческий вид и спрятать подальше от глаз, открываем консоль по F4 и вводим: sudo nano /boot/config.txt, в открывшемся документе вводим разрешение нашего монитора/телевизора и находим 4 строки начинающиеся с overscan - в каждой строке изменяем значение с 16 до 1, затем под ними вводим новую строку: disable_overscan=1. А за ней еще одну: disable_splash=1. Должно получиться так:

А вот краткий видео гайд, как спрятать boot text.

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

Следующий этап - установка SFTP связи между малиной и компьютером для передачи образов игр и удобного редактирования конфигов и тп. Для этого малина и пк должны находиться в одной wi fi сети. Качаем WinSCP и Putty (удаленный терминал), и подключаемся к малине через SFTP. Имя хоста - IP адрес малины. юзернейм - pi, пароль - raspberry.
Игровая приставка своими руками.
Далее определяемся, что мы будем эмулировать. Мне интересны лишь nes, snes, gba, genesis и psx. Для gba и psx нужно предварительно скачать Bios образы и скинуть в соответствующую папку.

Чтобы удалить стоковые системы, эмуляторы и порты - достаточно удалить соответствующие ромы в каталоге roms. Следующим шагом нужно обновить ядра и прочую программную начинку. Это можно сделать из GUI, но необходимо подключение к интернету. Долго ждем, пока это все устанавливается и перезагружаемся.

После трансфера ромов и всех настроек можно играть. Но я решил зайти немного дальше и установить свой собственный экран заставки (splashscreen), ведь по дефолту там пара статичных картинок. На его место можно поставить либо картинку, либо видео (mp4 h264 подходит идеально). Для этого картинку или видео нужно скопировать в /home/pi/RetroPie/splashscreens. Я решил сделать видеозаставку, взяв за основу оригинальную заставку от самой Sony Playstation, лишь заменив пару деталей и адаптировав ее под широкий экран. Получилось как-то так.
Последний, завершающий штрих, - загрузка информаций и обложек к вашим играм. Для этого жмем start на паде и выбираем scrapper - там все интуитивно понятно.

Подготовка корпуса и сборка.

От оригинальной приставки остался только пластик, лазерная головка (решил ее оставить, дабы под крышкой дисковода не зияла дыра с потрашками) и кусок текстолита с кнопкой питания. Корпус разбираем по частям и отправляем в подъезд на покраску. Сразу скажку, это мой первый опыт как покраски, так и пайки, и всего этого рукоблудия.
Игровая приставка своими руками.
Игровая приставка своими руками.
Игровая приставка своими руками.
Покраска вышла удачно, хватило ровно на все. Но я допустил ошибку, не покрыв это все матовым лаком - краску легко содрать и она люто собирает пыль и грязь. Для логотипа и обозначения кнопок я решил использовать простые стикеры, которые мне распечатала на струйнике и нарезала плоттером подруга. Логотип вписался отлично, а вот остальное уже не очень - на первое время сгодится.

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

Следующий шаг - установка питания. Прождав заветный блок питания около 3х месяцев и наконец получив его (привет почте россии), сразу избавляем его от корпуса. Затем берем кусок текстолита от родного блока питания приставки, выпаиваем все лишнее, зашлифовываем все дорожки, укорачиваем ее до нужных размеров и впаиваем кнопку питания, светодиод и резистор (они подключаются отдельно к интерфейсу GPIO). После этого подпаиваем проводки от нового блока к кнопке. И на этом как-бы все, приставка готова.
Игровая приставка своими руками.
Игровая приставка своими руками.
Вот примитивная схема, что и куда подключается.
Игровая приставка своими руками.
Конечный результат:
Игровая приставка своими руками.
Игровая приставка своими руками.
А также небольшое видео без слов, как это все работает.
В будущем я планирую прицепить к ней беспроводные дуалшоки, исправить косметические косяки и наконец покрыть прозрачной эмалью для защиты извне, но это уже другая история...

Спасибо всем, кто дочитал. Не знаю как закончить, поэтому вот вам мой кабанчик.
Игровая приставка своими руками.
180

Code minimalism minified

Развернуть
Code minimalism minified
782

Для получения пароля от Wi-Fi потрогай банан

Развернуть
Для получения пароля от Wi-Fi потрогай банан
Системный администратор на работе стенд, который выдает временный пароль для Wi-Fi после прикосновения к банану. 
Для получения пароля от Wi-Fi потрогай банан GIF
К банану подключен датчик Makey Makey GO который имитирует нажатие через разные предметы:
1945

Обновил железо (Raspberry Pi)

Развернуть
с просторов
Обновил железо (Raspberry Pi)
1611

Бюджетный компьютер в машину своими руками

Развернуть
Аккуратно, длиннопост !
Бюджетный компьютер в машину своими руками