41

Медиацентр из старого монитора на базе Raspberry PI 3

Медиацентр из старого монитора на базе Raspberry PI 3 Своими руками, Raspberry, Raspberry pi, Медиацентр, Видео, Длиннопост

Добрый день!


Вряд ли тут найдутся люди, которые следят за историей моего канала на YouTube. тем не менее, я бы хотел поделиться простой и полезной самоделкой, которая прекрасно подойдет для гаража/кухни/дачи.

А именно - достаточно бюджетная но гораздо более функциональная замена Smart TV.

Купив средний телевизор LG я с разочарованием обнаружил, что встроенная операционная система предлагает серфинг в интернете с ужасными тормозами, скудный набор платных приложений и корявое меню.

И вот однажды, у меня появился микрокомпьютер Raspberry PI3, который открыл простор для творчества.

Настало время взяться за паяльник!

В ход пошли:

1. Монитор Samsung S23A300B LED (остался от старого ПК)

2. Колонки OClick (190 р)

3. Китайское зарядное (100 р)

4. Raspberry 3B (3500 р)

5. Корпус для Raspberry 3B (150 р)

6. Зарядное на 2,5А для Raspberry 3B (шло в комплекте)

7. Bluetooth клавиатура (700 р) + мышь (300 р)

8. Провод DVI-HDMI (280 р)

9. Удлинитель (100 р)

10. SD-карта 2 Гб (200 р)

11. Кнопка (25 р)

12. Корпус (распредкоробка из строительного магазина, 100 р)

Операционная система — OSMC (подробнее о системе, ее установке и настройке в следующем видео). В будущем планирую поставить Android.

Изначально была идея установить браузер, YouTube, IPTV. Но, как оказалось в системе есть поддержка AirPlay.

Этот факт позволил просто установить систему ничего не настраивая:)

Результат — шустрый телевизор для кухни, с отличным функционалом и низкой ценой (особенно, если Raspberri PI у тебя уже есть), который легко превращается в обычный ПК (с linux). Пошаговый процесс создания представлен в видеоролике ниже.

Если ты посмотрел видео и дочитал до конца - спасибо!:)

Медиацентр из старого монитора на базе Raspberry PI 3 Своими руками, Raspberry, Raspberry pi, Медиацентр, Видео, Длиннопост
Медиацентр из старого монитора на базе Raspberry PI 3 Своими руками, Raspberry, Raspberry pi, Медиацентр, Видео, Длиннопост

Дубликаты не найдены

+3

Я использовал Коди под малинку и пульт китайский с аэромышью

+1

Еее, управляю своим с помощью пульта от телека через сес-протокол

Иллюстрация к комментарию
раскрыть ветку 3
0
Управляю через бота в вк)
раскрыть ветку 2
0
Там задержка большая, не?
раскрыть ветку 1
+2
а не дешевле и проще сразу коробочку на андроиде за 1500 - 4000 (по вкусу) прицепить?
раскрыть ветку 6
0
Raspberry Pi3 уже был. До медиацентра он был занят другой задачей) Приставка однозначно проще, но тут больше возможности для поделок - Retro Pi и пр.
0

да, под такую задачу я бы тоже готовый вариант брал. Но вот если цеплять ambylight то уже готовые варианты будут слишком дороги, и тогда малина будет в кассу. Сам делал такую штуку на OSMC(типа оболочки над Kodi)

раскрыть ветку 3
-1

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

раскрыть ветку 2
0

И дешевле и компактнее.

0

raspberry 4 же в продаже, устройство намного более интересное

раскрыть ветку 1
0
Возможно. Raspberry PI3 уже был в наличии)
+1
Результат — шустрый телевизор для кухни, с отличным функционалом и низкой ценой (особенно, если Raspberri PI у тебя уже есть), который легко превращается в обычный ПК (с linux).

... Без поддержки DVB-T2, DVB-C, с ограничением битрейта при воспроизведении H.264 и отсутствием поддержки HEVC.

раскрыть ветку 15
0
Главное что малыми затратами, используя то что уже было в кладовке и отлично работает по воздуху). На кухне, в гараже и на даче - норм вариант.
+1

а оно надо?

раскрыть ветку 13
0

1. "Телевизор" без поддержки телевидения не может называться телевизором.

2. Эпоха H.264 заканчивается, HEVC обеспечивает более качественную картинку при меньшем объеме файла. Ремуксы сейчас все чаще в нем выходят, чем в H.264. На таком "медиацентре" максимум - низкобитрейтное говно можно смотреть, хотя автор заявляет что он "шустрый" и "с отличным функционалом".

раскрыть ветку 12
-5

Как это дерьмо в горячее попало?!

ещё комментарий
Похожие посты
37

Raspberry Pi 4 - Первый запуск через SSH

Вступление


Здравствуйте, добрые люди. Сегодня я стал счастливым обладателем Raspberry Pi 4.

Раньше у меня уже был опыт использования Raspberry Pi 3. А если по-конкретней, то я делал на базе малины простой домашний веб-сервер, учился работе в терминале и параллельно игрался с разными дистрибутивами. Тогда мой одноплатник адски глючил и работал, как улитка!

Я, подумав что аппарат слишком слабый в плане "железа", быстро продал его и забыл о нём.


Но каково было моё разочарование, когда я узнал что дело было в плохом блоке питания,

и что малинка всё время работала в половину мощности!)


Прошло пару месяцев, и теперь, когда ко мне в руки попала самая новая модель легендарного

одноплатника, я с радостью напишу цикл статей, где изложу всю нужную информацию, которая

пригодиться каждому пользователю Raspberry Pi.


Что ж, приступим :D

Нам понадобятся: Raspberry Pi, microSD карта (размером не меньше 4 гб), переходник для microSD карты, блок питания (в идеале 5V 3A), патч-корд (сетевой кабель).


По-скольку не у каждого есть монитор, то сегодня обойдемся без него.

Будем проводить установку через SSH.


После того как вы купили и распаковали плату, проверяем её на наличии дефектов,

если все в норме, то идём дальше.

Raspberry Pi 4 - Первый запуск через SSH Raspberry, Raspberry pi, Малина, Компьютер, Arm, Linux, Arduino, Minipc, Raspbian, Rpi, Одноплатный компьютер, Длиннопост, Электроника, Raspberry Pi Foundation, Одноплатник

Так выглядит девственная малинка)

На вашем персональном компьютере, преходим по ссылке: https://www.raspberrypi.org/downloads/raspberry-pi-os/

И качаем любой из трех вариантов дистрибутива.

Raspberry Pi 4 - Первый запуск через SSH Raspberry, Raspberry pi, Малина, Компьютер, Arm, Linux, Arduino, Minipc, Raspbian, Rpi, Одноплатный компьютер, Длиннопост, Электроника, Raspberry Pi Foundation, Одноплатник

Потом переходим по следующей ссылке:

https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.ht...

И выбираем вариант для вашей операционной системы.

Raspberry Pi 4 - Первый запуск через SSH Raspberry, Raspberry pi, Малина, Компьютер, Arm, Linux, Arduino, Minipc, Raspbian, Rpi, Одноплатный компьютер, Длиннопост, Электроника, Raspberry Pi Foundation, Одноплатник

И напоследок:

https://sourceforge.net/projects/win32diskimager/

VirusTotal ничего не обнаружил, смело выдыхаем...

Raspberry Pi 4 - Первый запуск через SSH Raspberry, Raspberry pi, Малина, Компьютер, Arm, Linux, Arduino, Minipc, Raspbian, Rpi, Одноплатный компьютер, Длиннопост, Электроника, Raspberry Pi Foundation, Одноплатник

Всё, последняя ссылка! Больше ничего скачивать не нужно! УРАААА!

Теперь распаковываем архив с нашим iso-образом (операционной системой)

Raspberry Pi 4 - Первый запуск через SSH Raspberry, Raspberry pi, Малина, Компьютер, Arm, Linux, Arduino, Minipc, Raspbian, Rpi, Одноплатный компьютер, Длиннопост, Электроника, Raspberry Pi Foundation, Одноплатник

По очереди устанавливаем Putty и Win32DiskImager

Raspberry Pi 4 - Первый запуск через SSH Raspberry, Raspberry pi, Малина, Компьютер, Arm, Linux, Arduino, Minipc, Raspbian, Rpi, Одноплатный компьютер, Длиннопост, Электроника, Raspberry Pi Foundation, Одноплатник
Raspberry Pi 4 - Первый запуск через SSH Raspberry, Raspberry pi, Малина, Компьютер, Arm, Linux, Arduino, Minipc, Raspbian, Rpi, Одноплатный компьютер, Длиннопост, Электроника, Raspberry Pi Foundation, Одноплатник

Подключаем MicroSD карту и форматируем её, нажав правой кнопкой по названии

Raspberry Pi 4 - Первый запуск через SSH Raspberry, Raspberry pi, Малина, Компьютер, Arm, Linux, Arduino, Minipc, Raspbian, Rpi, Одноплатный компьютер, Длиннопост, Электроника, Raspberry Pi Foundation, Одноплатник
Raspberry Pi 4 - Первый запуск через SSH Raspberry, Raspberry pi, Малина, Компьютер, Arm, Linux, Arduino, Minipc, Raspbian, Rpi, Одноплатный компьютер, Длиннопост, Электроника, Raspberry Pi Foundation, Одноплатник

Выбираем всё, как показано на экране и нажимаем Start.

Raspberry Pi 4 - Первый запуск через SSH Raspberry, Raspberry pi, Малина, Компьютер, Arm, Linux, Arduino, Minipc, Raspbian, Rpi, Одноплатный компьютер, Длиннопост, Электроника, Raspberry Pi Foundation, Одноплатник

Теперь запускаем Win32DiskImager, где выбираем наш образ и отформатированую флешку

Raspberry Pi 4 - Первый запуск через SSH Raspberry, Raspberry pi, Малина, Компьютер, Arm, Linux, Arduino, Minipc, Raspbian, Rpi, Одноплатный компьютер, Длиннопост, Электроника, Raspberry Pi Foundation, Одноплатник
Raspberry Pi 4 - Первый запуск через SSH Raspberry, Raspberry pi, Малина, Компьютер, Arm, Linux, Arduino, Minipc, Raspbian, Rpi, Одноплатный компьютер, Длиннопост, Электроника, Raspberry Pi Foundation, Одноплатник
Raspberry Pi 4 - Первый запуск через SSH Raspberry, Raspberry pi, Малина, Компьютер, Arm, Linux, Arduino, Minipc, Raspbian, Rpi, Одноплатный компьютер, Длиннопост, Электроника, Raspberry Pi Foundation, Одноплатник

Нажимаем Write , соглашаемся и ждём пока не появиться такое окошко:

Raspberry Pi 4 - Первый запуск через SSH Raspberry, Raspberry pi, Малина, Компьютер, Arm, Linux, Arduino, Minipc, Raspbian, Rpi, Одноплатный компьютер, Длиннопост, Электроника, Raspberry Pi Foundation, Одноплатник

Теперь переходим в главный каталог диска boot, и создаем пустой текстовый документ с названием ssh

Raspberry Pi 4 - Первый запуск через SSH Raspberry, Raspberry pi, Малина, Компьютер, Arm, Linux, Arduino, Minipc, Raspbian, Rpi, Одноплатный компьютер, Длиннопост, Электроника, Raspberry Pi Foundation, Одноплатник
Raspberry Pi 4 - Первый запуск через SSH Raspberry, Raspberry pi, Малина, Компьютер, Arm, Linux, Arduino, Minipc, Raspbian, Rpi, Одноплатный компьютер, Длиннопост, Электроника, Raspberry Pi Foundation, Одноплатник
Raspberry Pi 4 - Первый запуск через SSH Raspberry, Raspberry pi, Малина, Компьютер, Arm, Linux, Arduino, Minipc, Raspbian, Rpi, Одноплатный компьютер, Длиннопост, Электроника, Raspberry Pi Foundation, Одноплатник

Сохраняем пустой файл и извлекаем microSD карту.


Вставляем её в малинку, до упора как показано на фото.

Raspberry Pi 4 - Первый запуск через SSH Raspberry, Raspberry pi, Малина, Компьютер, Arm, Linux, Arduino, Minipc, Raspbian, Rpi, Одноплатный компьютер, Длиннопост, Электроника, Raspberry Pi Foundation, Одноплатник

Вставляем патч-корд в Ethernet разъем, другой стороной подключаем к роутеру.

Подключаем блок питания в розетку и вуаля...

Малинка работает!

Красный светодиод светит, а зеленый моргает.

Raspberry Pi 4 - Первый запуск через SSH Raspberry, Raspberry pi, Малина, Компьютер, Arm, Linux, Arduino, Minipc, Raspbian, Rpi, Одноплатный компьютер, Длиннопост, Электроника, Raspberry Pi Foundation, Одноплатник

Снова возвращаемя к рабочему компьютеру, вводим в адресной строке браузера:

192.168.0.1 (или же локальный ip-адрес вашего роутера)

Raspberry Pi 4 - Первый запуск через SSH Raspberry, Raspberry pi, Малина, Компьютер, Arm, Linux, Arduino, Minipc, Raspbian, Rpi, Одноплатный компьютер, Длиннопост, Электроника, Raspberry Pi Foundation, Одноплатник

После нас просят ввести логин и пароль (Он обычно указан на нижней крышке роутера)

Вводим его и нажимаем Enter

Raspberry Pi 4 - Первый запуск через SSH Raspberry, Raspberry pi, Малина, Компьютер, Arm, Linux, Arduino, Minipc, Raspbian, Rpi, Одноплатный компьютер, Длиннопост, Электроника, Raspberry Pi Foundation, Одноплатник

После попадаем в админку и нажимаем по вкладке DHCP  (которая находиться в левом списке)

Далее переходим по Списку клиентов DHCP

В таблице напротив raspberrypi копируем ip-адрес.

Raspberry Pi 4 - Первый запуск через SSH Raspberry, Raspberry pi, Малина, Компьютер, Arm, Linux, Arduino, Minipc, Raspbian, Rpi, Одноплатный компьютер, Длиннопост, Электроника, Raspberry Pi Foundation, Одноплатник
Raspberry Pi 4 - Первый запуск через SSH Raspberry, Raspberry pi, Малина, Компьютер, Arm, Linux, Arduino, Minipc, Raspbian, Rpi, Одноплатный компьютер, Длиннопост, Электроника, Raspberry Pi Foundation, Одноплатник

Потом заходим в программу Putty и вставляем в строку Host Name наш скопированный ip-адрес

Raspberry Pi 4 - Первый запуск через SSH Raspberry, Raspberry pi, Малина, Компьютер, Arm, Linux, Arduino, Minipc, Raspbian, Rpi, Одноплатный компьютер, Длиннопост, Электроника, Raspberry Pi Foundation, Одноплатник

Всплывает окно с вопросом, соглашаемся.

Дальше нас просят ввести логин и пароль.

login: pi

password: raspberry


Вводим их и нажимаем Enter

Вуаля! Все было не зря, теперь мы имеем удаленный доступ к нашей Raspberry pi .

Raspberry Pi 4 - Первый запуск через SSH Raspberry, Raspberry pi, Малина, Компьютер, Arm, Linux, Arduino, Minipc, Raspbian, Rpi, Одноплатный компьютер, Длиннопост, Электроника, Raspberry Pi Foundation, Одноплатник

В следующей статье мы обезопасим нашу малинку, а также, проведем её настройку.

Спасибо, за просмотр. Надеюсь кому-то помог.


P.S. Знаю, что получилось длинно.

Пожалуйста, не ругайте сильно, это мой первый пост)

Показать полностью 25
120

"Ламповый" ретрогейминг \ Настройка RecalBox для CRT-TV

Все кто интересуется старыми приставочными играми в 2020г уже наверняка знают что такое RecalBox и Raspberry Pi, а кто то уже мог и забыть)

"Ламповый" ретрогейминг \ Настройка RecalBox для CRT-TV Raspberry pi, Игры, Ретро-Игры, Своими руками, Хобби, Recalbox, Видео, Длиннопост

Кратко напомню RecalBox это удобная операционная система с большим набором эмуляторов, а Raspberry Pi это маленький одноплатный компьютер который отлично подходит для создания на его основе ретро игрового комбайна.

"Ламповый" ретрогейминг \ Настройка RecalBox для CRT-TV Raspberry pi, Игры, Ретро-Игры, Своими руками, Хобби, Recalbox, Видео, Длиннопост

В данном посте я расскажу, как настроить RecalBox, чтобы его можно было подключить к обычному ЭЛТ ТВ и получить хорошую аутентичную картинку. Плюсом это ещё и уменьшит инпут лаг (задержка вывода).

В сети уже есть куча видео и гайдов, как собрать и настроить свою ретро консоль, думаю на этом останавливаться нет смысла, но если нужен гайд от меня, то могу сделать)

Сейчас я хочу рассказать, как её настроить для вывода изображения на старенькие ЭЛТ ТВ. В русскоязычном интернете толковых инструкций я не нашёл, а те, что есть уже устарели и не подходят к новым версиям RECALBOX.
"Ламповый" ретрогейминг \ Настройка RecalBox для CRT-TV Raspberry pi, Игры, Ретро-Игры, Своими руками, Хобби, Recalbox, Видео, Длиннопост

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

переходник брал у китайцев

https://a.aliexpress.com/_eONyMk

ВАЖНО - с данным переходником изображение выводится по красному кабелю.


Также нужна будет программа WinSCP скачать можно с офф.сайта  https://winscp.net/eng/download.php

Запускаем нашу ретро консоль и включаем на ней сеть. Запускаем на компьютере WinSCP, для входа используем:

Имя хоста по умолчанию, если не меняли то будет - RECALBOX

Имя пользователя - root

Пароль - recalboxroot

"Ламповый" ретрогейминг \ Настройка RecalBox для CRT-TV Raspberry pi, Игры, Ретро-Игры, Своими руками, Хобби, Recalbox, Видео, Длиннопост

Далее переходим в корень и открываем папку boot. Запускаем терминал и вводим две команды по очереди.

mount -o remount,rw /

mount -o remount,rw /boot

"Ламповый" ретрогейминг \ Настройка RecalBox для CRT-TV Raspberry pi, Игры, Ретро-Игры, Своими руками, Хобби, Recalbox, Видео, Длиннопост

После чего можем редактировать файл config.txt. Находим строчку hdmi_force_hotplug=1 и sdtv_mode. Приводим их к такому же виду, как на картинки ниже и сохраняем файл.

"Ламповый" ретрогейминг \ Настройка RecalBox для CRT-TV Raspberry pi, Игры, Ретро-Игры, Своими руками, Хобби, Recalbox, Видео, Длиннопост

Теперь переходим корень/recalbox/share/system и правим файл recalbox.conf

Находим все строчки которые указаны ниже и выставляем и значение default

;system.es.videomode=defaultkodi.videomode=default

global.videomode=default

;snes.videomode=default

n64.videomode=default

dreamcast.videomode=default

Сохраняем файл перезагружаем приставку и можем подключатся по тюльпанам к любому ТВ.


Дам несколько советов, для более комфортной игры на малине, отключайте сглаживание и обратную перемотку это значительно понизит инпут лаг. Используйте качественный адаптер питания и USB кабель. Молнии, в правом верхнем углу не должно быть, если она появляется, это значит малине не хватает питания и она начинает работать на пониженной частоте, соответственно игры будут тормозить. Используйте качественные геймпады в приоритете пады от ps3, xbox, 8bitduo. Также очень хорошо себя показали проводные геймпады от PS Classic mini.

Спасибо всем, кто дочитал, надеюсь кому-нибудь будет полезно, видео с тем, как это всё работает прилагаю)

PS если после настройки RecalBox начал тормозить в самой оболочки, просто удалите заставки. при помощи WinSCP. Путь /recalbox/system/resources/splash все файлы с расширением mp4

Показать полностью 5 1
469

ZX Spectrum возрождается

Три года назад на Kickstarter открылась кампания по сбору средств на воссоздание и обновление некогда культового компьютера ZX Spectrum, полностью совместимого с оригиналом.

И вот теперь первые «спекки» стали доступны. При работе над проектом были проведены множественные доработки аппаратной части. Внешним видом компьютера занимался дизайнер оригиала Рик Дикинсон.

Эта машина должна была выйти ещё в 2018 году, но, как известно, обещанного ждут три года, а потому первый компьютер был отправлен заказчикам 6 февраля 2020 года.

ZX Spectrum возрождается Spectrum, Zx spectrum, Raspberry, Raspberry pi

Компьютер ZX Spectrum Next содержит впаянный процессор Z80, 1 МБ оперативной памяти с возможностью расширения до 2 МБ, аппаратные спрайты, 256-цветный вывод, видеовыходы RGB/VGA/HDMI и три аудиочипа AY-3-8912. В качестве платы расширения может быть добавлен Raspberry Pi Zero.

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


Источник: nvworld.ru

174

Самоуправляемый ГАЗ66 Monster Truck 1/16

Пикабу, привет!


Хочу рассказать вам о том, как я делал и сделал самоуправляему машинку)

Я мог бы рассказать сразу, как делать, сухо прикрепив схемы и bash команды, но так будет скучно. Предлагаю вам интересную (я надеюсь) историю о том, как лично я прошел этот путь, и куда пришел.


Те места, где было что фоткать, с фотками. Там, где про софт — скорее всего без фото)


Это будет действительно история в формате повествования, как я рассказывал бы вам за чашкой кофе) Это не про bash команды, python скрипты, и вот это вот всё)


Начнём с фотки и видео того, что получилось, и дальше вся история под катом

Самоуправляемый ГАЗ66 Monster Truck 1/16 Своими руками, Радиоуправляемая машинка, Tensorflow, Машинное обучение, Raspberry pi, Arduino, Видео, Длиннопост

История пройдет по такому сценарию


Почему я этого захотел

Как устроена самоуправляемая машина (взгляд сверху)

Эпоха 1 — Gelendwagen из детского мира + Raspberry Pi Zero W + камера

Эпоха 2 — ГАЗ66 + NVIDIA Jetson Nano + Камера для RaspberryPi

Эпоха 3 — Remo Hobby SMAX

Эпоха 4 — Соединение SMAX и ГАЗ66

Эпоха 5 — Монтирование компонентов на монстр траке

Эпоха 6 — Установка Donkey Car и окружения

Эпоха 7 — Сборка трассы, поездки

Эпоха 8 — Поездки с джойстика

Эпоха 9 — Обучение нейронки

Эпоха 9 — Всё работает, наконец-то!

Что дальше?

Вызов на батл

Сообщество

Образ sd карты моей машинки


Наливайте кофе, мы выезжаем!


Почему я этого захотел


Всё началось с того, что я фрустрировал с того, что в одной большой IT компании России делают очень классные беспилотники, это невероятно круто, а я не у дел)

Не, ну правда, это же так круто — самоуправляемые тачки) Отличный сплав из механики и алгоритмов)

Фрустрация продолжалась до тех пора, пока я не соединил у себя в голове разные факты о себе, а именно:


- я умею писать на питоне

- я (примерно) понимаю как работает машинное обучение

- я знаю, как работать с линуксом в консольке

- я провел детство с паяльником

- у меня есть целая коробка с diy компонентами (raspberry pi, arduino, сенсоры, и т.д.)


Когда всё в голове сложилось, я решил — self drirving car (sdc) быть!

Для начала, решил я, стоит вообще разобраться, как устроена sdc, и об этом будет следующий раздел.


Как устроена самоуправляемая машина (взгляд сверху)


Для того, чтобы машина поехала сама, ей нужно четыре компонента — тележка, сенсоры, компьютер, алгоритм.


Давайте разберемся:

Тележка

То, что собственно, будет ездить. Колеса, моторы, батарея, которая это все питает.

Здесь есть две условных когорты машинок, которые я назвал для себя так — машинки из детского мира, и машинки для хобби.

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

Машинки из мира хобби — то, что вам нужно. У них мощные двигатели, хорошие батареи, сервоприводы на передних колесах для поворотов. Считайте, что это порог входа. Самое дешевое и нормальное, что мне удалось найти — Remo Hobby SMAX.

Самоуправляемый ГАЗ66 Monster Truck 1/16 Своими руками, Радиоуправляемая машинка, Tensorflow, Машинное обучение, Raspberry pi, Arduino, Видео, Длиннопост

Сенсоры

То, что собирает некоторую информацию о окружающем мире, и передает в компьютер для принятия решений.

Базово, джентельменский набор для SDC такой:

— Камера. Основа основ SDC. Смотрит на кусок пространства перед собой, передает изображение компьютеру, который распознает происходящее, и решает, что делать. Кажется, что я не встречал реализаций SDC без камеры.

— IMU сенсор. Штука, показывающая ускорение и угол наклона по осям. Помогает понимать, куда мы, собственно, едем, и как изменилось наше местоположение относительно точки старта. Используется почти во всех коптерах.

— Лидар. Одновременно и простая и сложная штука, которая стреляет лазером вокруг себя, измеряет время возвращения луча, и понимает расстояние до границы пространства. Лидары бывают дорогими, как в настоящих SDC, и довольно дешевыми, как в вашем роботе пылесосе. Для сравнения, лидар из пылесоса стоит 75$, тогда как лидар для большой SDC от Velodyne нагуглился мне за 4K$. Такая разница в цене объясняется тем, что дорогие лидары строят 3D картинку, тогда как пылесосный лидар находит просто границы комнаты в 2D.

— GPS. Не используется в маленьких машинках, так как слишком большая погрешность измерения на маленьких расстояниях, но о нем стоит сказать, так как в больших SDC активно используется.

— Камера глубины. Работает примерно как смесь лидара и камеры — получает картинку с точками, и расстоянием до них. Позволяет строить 3D карту видимой области.

Самоуправляемый ГАЗ66 Monster Truck 1/16 Своими руками, Радиоуправляемая машинка, Tensorflow, Машинное обучение, Raspberry pi, Arduino, Видео, Длиннопост

Компьютер

То, что получает значения от сенсоров, анализирует ситуацию, передаем команды управления тележке.

В мире компьютеров для встраиваемой электроники правят бал энергоэффективные ARM процессоры (как в вашем телефоне), и одноплатные компьютеры на их основе.

На сегодня есть два самых популярных варианта одноплатников — RaspberryPi и NVIDIA Jetson.

RaspberryPi отличается меньшей ценой, бОльшим количеством разнообразных проектов, бОльшим сообществом.

NVIDIA отличается бОльшей ценой, меньшим количество проектов, но при этом бОльшей производительностью в задачах машинного обучению. Имеет на борту 128 CUDA ядер (как в вашей большей NVIDIA видеокарте), которые используются для ускорения алгоритмов машинного обучения.

В моей коллекции есть три штуки Raspberry Pi (ZeroW, 3, 4) и NVIDIA Jetson Nano. Машинку я решил собирать, конечно же, на Jetson.

Самоуправляемый ГАЗ66 Monster Truck 1/16 Своими руками, Радиоуправляемая машинка, Tensorflow, Машинное обучение, Raspberry pi, Arduino, Видео, Длиннопост

Алгоритм

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

Если вы хотите освежить, как работает нейросеть, то предлагаю вам посмотреть вот такое видео — www.youtube.com/watch?v=RJCIYBAAiEI

Здесь я описал самый простой вариант, где есть только камера и езда по разметке. Но есть варианты с бОльшим количеством сенсоров и другой логикой работы — об этом здесь будет отдельный пост.


Если очень высокоуровнено, то это всё.

Остается только:

— собрать тележку

— повесить сенсоры

— подключить компьютер

— нарисовать разметку

— поездить по ней

— обучить нейросеть

— поехать


Теперь, когда мы разобрались, из чего состоит самоуправляемая тачка, давайте перейдем к тому, какие эпохи реализации были конкретно у меня.


Эпоха 1 — Gelendwagen из детского мира + Raspberry Pi Zero W + камера


Да, самый мой первый подход был именно такой. Так получилось потому, что рядом с моим домом был детский мир, в который я зашел, в котором мне понравился гелик, и я его купил.

Окей, подумал я, гелик есть, теперь нужен компьютер и сенсор. Подумано — сделано. Заказал RPi Zero W и камеру для неё. Пока ждал компьютер и камеру, зашел, купил для этого дела пауэрбанк.

Итак, всё на месте, пора собирать. Нашел вот такой проект, решил идти по нему - https://becominghuman.ai/building-self-driving-rc-car-series...
Разобрал гелик, вытащил его родные мозги, перекинул их на контроллер двигателя, его, в свою очередь, перекинул на RPi, к ней подключил камеру, запитал всё это дело пауэрбанком, остался доволен.


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

Тут-то меня и ждала пара провалов.

Первый — Raspberry Pi Zero W очень слабая в плане производительности.

Второй — Проходимость гелика из детского мира почти никакая, его останавливало почти любое минимальное препятствие.

Уже сейчас стало понятно, что проект мертворожденный, но ради интереса я попробовал собрать для Raspberry Pi Zero компьютерное зрение (OpenCV) прямо на ней же. Это заняло, без шуток, больше суток, и стало последним гвоздем в крышку гроба этой реализации SDC.

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


Получилось довольно смешно

Самоуправляемый ГАЗ66 Monster Truck 1/16 Своими руками, Радиоуправляемая машинка, Tensorflow, Машинное обучение, Raspberry pi, Arduino, Видео, Длиннопост

Эпоха 2 — ГАЗ66 + NVIDIA Jetson Nano + Камера для RaspberryPi


Итак, на этом моменте стало понятно, что нужно какая-то более проходимая машина, и желательно, грузовик, чтобы положить в кузов все компоненты. После штудирования одного сервиса по подбору товаров, стало понятно, что мне подходит модель нашего родного ГАЗ66, он же шишига в народе. Окей, заказал, жду, пора думать про компьютер. К этому моменту NVIDIA как раз готовила старт продаж своих Jetson Nano, и я оформил заказ в первый день продаж.

Приехал грузовик, я продолжал ждать Jetson, в нетерпении катался на шишиге по дому, катал котят, которых родила кошка, упомянутая выше. Не сказать, что котятам нравилось — пришлось перестать.

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

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

Пора собирать! Но сначала, надо разобрать, лол. Разобрал шишигу, выкинул ее родные мозги, смазал механизмы, начал собирать уже на базе компьютера.

Подключил камеру, контроллер двигателя, поворотный двигатель, двигатель газ/тормоз, завел питоновские скрипты для теста — снова облом!

В этот раз история такая — у шишиги для поворота используется обычный двигатель, не сервопривод. А значит, у него нет обратной связи. А значит, я не могу им упрвлять точно, а значит, он не подходит для SDC.

Штош, снова нужно как-то это решать, что-то делать. Переходим к следующей эпохе.

Самоуправляемый ГАЗ66 Monster Truck 1/16 Своими руками, Радиоуправляемая машинка, Tensorflow, Машинное обучение, Raspberry pi, Arduino, Видео, Длиннопост

Эпоха 3 — Remo Hobby SMAX


Так как в этот момент времени было понятно, что машинка нужна не только проходимая, но и минимально хорошая по комплектующим, выбор пал на магазины для тех, у кого RC, это хобби.

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

Приехал домой, достал шишигу, скинул всё с неё, сел подключать к SMAX. И что, как вы думаете? Правильно — снова неудача!

Базово, RC машинки устроены так, что двигатель подключается к контроллеру двигателя, а тот, в свою очередь, подключается к радио модулю, который общается с пультом. И вот именно SMAX устроен так, что там контроллер двигателя и радио модуль были объединены — у меня буквально не было возможности подключиться к контроллеру двигателя вместо радио модуля.

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

Заказываю, привозят, собираю всё заново — работает, но только повороты. А газ и реверс нет! Да что, блин, такое, думая я, но продолжаю ковыряться.

В этот раз не работало то, что, оказывается, для того, чтобы двигатель SMAX проснулся, пульт должен прислать ему определенное значение (360) через радиомодуль. Но я об этом не знал, и вводил значения непосредственно для газа тормоза. А двигатель не реагировал, исходя из логики, что никто его не просил просыпаться.

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

Сначала я перебирал по 100 — мимо. Потом по 50 — мимо. И вот когда дошел до перебора по 10, на 360 услышал какой-то приветственный писк — ура! Работает!

Потестил из консоли газ/реверс/лево/право, все работает. Вот это огонь, вот это я программист =)

Кажется, пора собирать, но есть проблема — положить компоненты совершенно некуда. RC машинки устроены так, что их верх — весьма условная вещь. Во первых, верх состоит из очень тонкогоо пластика, во вторых, он изображает из себя джип, и типа просто некуда всё положить.

В этот момент я решил поискать, а как, собственно, это делают другие.

Нашел проект donkey car, в котором есть всё под ключ, чтобы собрать свою SDC — и Hardware примеры, и Software фреймворк. Казалось бы, круто, бери и пользуйся, но, есть нюансы:

— они печатают верх машины на 3D принтере, и машину оно потом напоминает очень отдаленно. некрасиво, короче, не эстетично

— их 3D модели совместимы с такими машинами, которые у нас не продаются

Окей, запомним Donkey Car, возьмем потом их Software фреймворк, но пока надоо думать про hardware.

В какой-то день, крутя в своей кваритре головой, я посмотрел на разобранную шишигу, на SMAX без верхней части, и подумал — хммм, а они, кажется, одного масштаба (1/16). Взял шишигу, взял SMAX, просто на глазок приложил одно к другому — и правда, подходит! И выглядит круто! Штош, надо делать! Переходим к следующей эпохе.

Самоуправляемый ГАЗ66 Monster Truck 1/16 Своими руками, Радиоуправляемая машинка, Tensorflow, Машинное обучение, Raspberry pi, Arduino, Видео, Длиннопост

Эпоха 4 — Соединение SMAX и ГАЗ66


Итак, на старте этой эпохи у меня есть внутренний таргет — соединить верх от одной машины с низом от другой. Так как мы с коллегами скинулись на 3D принтер, и я являюсь его совладельцем (серьезный инвестор), то было решено нарисовать соединение в CAD программе, распечатать, и таким образом их соединить.

С этой идеей я ходил около 2 месяцев, думая, что вот-вот сяду разбираться в CAD системах. Лол, нет. Признавшись себе в том, что я не хочу разбираться в CAD системах, я стал думать, какие еще есть варианты.

Зашел снова в десткий мир, решил посмотреть конструкторы, вдруг они мне как-то помогут. Купил классический металлический конструктор, который был у меня, когда я учился в школе (аш олдскулы свело).

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

Начал делать. Провел не один день с детским гаечным ключом, гайками, и пространственным мышлением.

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

Спустя примерно три переделки и три дня я увидел перед собой этот монстр трак — ГАЗ66 SMAX Edition by Beslan.

Итак, кажется, hardware база готова, переходим к следующей эпохе.

Самоуправляемый ГАЗ66 Monster Truck 1/16 Своими руками, Радиоуправляемая машинка, Tensorflow, Машинное обучение, Raspberry pi, Arduino, Видео, Длиннопост

Эпоха 5 — Монтирование компонентов на монстр траке


Наконец-то:

— у меня есть тележка с хорошими компонентами

— у меня эстетичный и вместительный верх

— на этой тележке нормально работают газ/тормоз/повороты

— верх и низ даже соединены вместе =)


Пора монтировать на этой красоте компоненты.

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


Сделал на кабине крепление для камеры, которое позволяет регулировать угол наклона камеры. Кинул от камеры длинный шлей до Jetson, который, в свою очередь, поселился в кузове.

Помимо Jetson, в кузове поселились:

— пауэрбанк для питания компьютера (пожертвовал свой основной, классный, с usb power delivery, чтобы jetson не проваливался по питанию)

— PCA9685 (ШИМ контроллер) для управления двигателями

— батарея для питания двигателя машины


Так как проект уже на этот момент считался долгостроем, с лидаром решил пока не связываться, и сделать MVP хотябы на камере и софте от Donkey Car.

По приколу подключил родные фары от ГАЗ66, чтобы было красивее и увереннее в темноте.


Штош, моя машинка включается, двигатели реагируют на команды из питона, камера дает картинку, фары горят, все окей, пора ставить софт.

Самоуправляемый ГАЗ66 Monster Truck 1/16 Своими руками, Радиоуправляемая машинка, Tensorflow, Машинное обучение, Raspberry pi, Arduino, Видео, Длиннопост

Эпоха 6 — Установка Donkey Car и окружения


Благо, на прошлых этапах я нашел проект Donkey Car, и он очень упростил мне жизнь, избавим меня от написания всего самостоятельно. Говоря по простому, DonkeyCar, это фреймворк, в котором уже есть все, что нужно для SDC. И у них даже есть гайды по тому, как ставить софт. Но, как это обычно бывает с OpenSource — гайды устарели, и моментами противоречят друг другу.

Штош, придется разбираться. Для нормальной работы фреймворка нужны следующие библиотеки:

— OpenCV

— tensorflow-gpu (gpu именно для jetson, ибо есть cuda ядра. для rpi там tensorflow-lite)

— tensorrt (библиотека для ускорения инференса нейронок)

— и все то, что ставится автоматически исходя из списка окружения


Начнем с OpenCV.

В гайде DonkeyCar сказано, что его нужно собрать самом из исходников, ибо для ARM нет OpenCV в pip-е. Я это даже проделал, скомпилял OpenСV, но перед установкой решил проверить, вдруг в системе есть старая версия OpenCV, и ее надо снести. Позвал питон, заимпортил cv2, спросил версию, а она бац, и актуально. Быстренько поискал, и узнал, что оказывается, в последние версии linux4tegra (который в jetson) ребята из NVIDIA стали класть OpenCV. Круто, мне меньше дел. Молодец, что смог сам скомпилять)


Дальше, tensorflow-gpu.

В гайде DonkeyCar указана, во первых, устаревшая ветка версий (1.xx), во вторых, даже не последняя версия из устаревших. Я решил их не слушать, и поставить последнюю актуальную версию (2.0).


Следующий шаг — tensorrt

Гайд по установке tensrort на jetson написан отдельной вики страницей, и по ней понятно, что автор не читал основной гайд =) Ибо в гайде по tensorrt переназначаются переменные окружения, и перестает работать OpenCV. Я покрутил это и так и этак, откатил всё назад, и решил забить на окружения и переменные окружения — вкатил прямо в основное окружение.


Довольный собой открыл питон, по очереди позвал cv2, tensorflow, tensorrt, и потом спросил у питона их версии — они все заимпортились, все показали актуальные версии. Круто!

Процесс установки самого donkey car довольно простой, не буду описывать, предлагаю почитать их гайд. Единственное, что отмечу сейчас — в конфиге donkey car можно повысить разрешение картинки с 86х86 для RPi до 224х224 для Jetson (ибо больше производительности и так будет выше точность).


Итак, все готово, время запускать и тестировать!


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


Еще пришлось откалибровал значения, подаваемые на ШИМ (PCA9685), чтобы найти полный ход вперед, полный назад, максимальные повороты в стороны.

Тут, кстати, выяснил, что у меня был неправильно подключен двигатель — назад машинка ездила сильно бодрее, чем вперед — опытным путем нашел провода, перекинул их наоборот. Там так было устроено, что все провода от двигателя одного цвета, и нельзя запомнить, как было. Но я подключил правильно, и на каждый провод посадил термоусадку, чтобы потом их различать.


Круто, пора переходить к подготовке трассы!


Эпоха 7 — Сборка трассы, поездки


Алгоритм Donkey Car так устроен, что там нейронка, обучаемая учителем. А это значит, что трекается картинка с камеры, и рядоом с каждой картинкой появляется json файл, в которой пишется имя картинки, ускорение, поворот, timestamp. И для того, чтобы обучить нейронку, таких пар «картинка + json» нужно минимум 5К.

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

Окей, решил собирать в одной комнате. Купил 4 рулона малярного скотча, и наклеил им по полу трассу.

Поставил машинку, запустил, поехал, и снова провал — оказывается, одна комната слишком маленькая, и моя машинка банально не входит в поворорты. Точнее входит, но на такой скорости, что будет стыдно потом =)


Штош, надо делать вторую итерацию, и нужно большое помещение. Выбор пал на офис — места много, полы однотонные, открыто 24Х7. Проблема только в том, что ночью работают уборщики, и трассу нужно будет убрать. То есть, надо сделать все в один заход — поездить руками, чтобы быть учителем, обучить модель, закинуть обратно в машинку, и поехать уже без управления руками.


Окей, день Х, после ивента про А/Б эксперименты решено остаться в офисе, и делать трассу.

Место выбрано, скотч готов, команда строителей трассы в игре. Буквально час, и в коридоре офиса появляется отличная трасса.

Ставлю машинку, включаю, пробую ездить — ура, в повороты входит, и скорость пришлось ограничить всего до 80%.

Самоуправляемый ГАЗ66 Monster Truck 1/16 Своими руками, Радиоуправляемая машинка, Tensorflow, Машинное обучение, Raspberry pi, Arduino, Видео, Длиннопост

Эпоха 8 — Поездки с джойстика


Итак, у меня есть трасса, есть машина, и мне нужно 5К пар картника+json.

Опытным путем я выяснил, что один круг моей трассы, это 250 пар фотка+json, а это значит, что мне нужно отъездить минимум 20 кругов.

Желательно подряд. Можно, конечно, с перерывами, но тогда брошеный газ затрекается моделькой, и она может начать тормозить, а мне такого не хочется.


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

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


Штош, значит надо сделать так, чтобы коннект был с того устройства, с которым я сам хожу за машинкой, когда езжу. А это значит, что надо ездить из браузера телефона.

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

Хм, значит нужно как-то объединить телефон и джойстик. Окей, у меня есть читалка, она достаточно большая, на ней поместится и телефон и джойстик — подойдет. Взял скотч, и примотал скотчем к читалке телефон, а чуть ниже джойстик. Смотрел на это чудо, и думал — что ты такое, вообще)

Но, сработало) С этой штукой мне удалось отъездить 20 кругов. А на саомм деле, даже 25, ибо я вошел во вкус где-то к 15 кругу))

Такс, готово, у меня есть датасет для обучения нейронки, пора обучать!


Эпоха 9 — Обучение нейронки


В этот момент у меня есть машинка, трасса, датасет — да я в одном шаге от результата!

Дома крутился PC на холостом ходу, с NVIDIA RTX 2070, на котором я и планировал обучаться. Благо, для умного дома у меня есть внешний IP, и нужно было всего лишь прокинуть 22 порт из интернета на PC. Хорошо, что нашлись помощники, которые сделали это для меня, пока я был в офисе.

Итак, захожу по ssh на комп с убунтой, монитирую домашную папку по sshfs, закидываю файлы. Казалось бы, всего 40 мегабайт, но это длилось около 30 минут. Так вышло, я так понимаю, потому, что их было очень много.

Файлы на компе, tensorflow-gpu установлен, софт от DonkeyCar установлен, пора обучать.

Зову скрипт от DonkeyCar для обучения нейронки, указываю ему на папки с датасетом — побежало.

Пока нейронка бегает, nvtop (монитор загрузки видеокарты) показывает 1406% утилизации, обычный htop показывает 100% загрузки cpu по всем 16 ядрам, дело идет)

Спустя каких-то 20 минут у меня есть обученная модель для управления тачкой. Казалось бы, бери, пользуйся. Но нет)

Помните, я выше писал про tensorrt, который оптимизирует инференс нейронок и запускает их на cuda ядрах? Конечно-же, я хочу выполняться через него.

А это значит, что мне нужно:

— зафризить модель (упаковать всё нужно для модели в один файл)

— сконвертировать результат фриза в пригодный для tensorrt формат


Пытаюсь зафризить модель, зову скрипт от DonkeyCar, неудача. А тем временем, дело к ночи, скоро уборщики демонтируют мою трассу, мне нужно быстро.

Родилась гипотеза, что это потому, что я взял не тот tensorflow, что был у DonkeyCar. Окей, сношу tensorflow 2.0, ставлю 1.15, пробую еще раз — успех, ура!


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

Зову скрипт из того места, и правда отзывается. Но, говорит, никаких тебе третьих питонов, давай второй.

Окей, зову второй питон. Он мне говорит — у меня нет tensorflow. Хорошо, прошу его поставить tensorflow-gpu 1.15, а он мне говорит, что такой версии нет, есть только 1.14. Ладно, соглашаюсь я, давай рискнем, и поставим разные версии в разные питон окружения. Поставил tensorflow во второй питон, позвал конвертацию — ура, сработало!


Штош, у меня есть модели для tensorrt и для обычного tensorflow-gpu, закидываю в машинку.


Запускаю машинку с моделью для tensorrt, огромный трейсбек ошибки, время давит — окей, попробую обычную модель.

Запускаю обычную, снова ошибка, но на этот раз довольно четкая — ваш размер картинки 224X224, тогда как ожидается 86X86. Помните, где-то сильно выше я писал о том, что правил конфиг, менял разрешение картинки с камеры?

Так вот, на машинке я поправил, а на хост компьютере нет.

Самоуправляемый ГАЗ66 Monster Truck 1/16 Своими руками, Радиоуправляемая машинка, Tensorflow, Машинное обучение, Raspberry pi, Arduino, Видео, Длиннопост

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

Запускаю машинку с моделью для tensorrt, и…


Эпоха 10 — Всё работает, наконец-то!


Ура! Моя машинка поехала! Сама, без меня. Очень круто. Я невероятно рад)

Почти год я всё это делал, и вот)


Что дальше?


На дальнейшее развитие есть ряд планов, пойду от простого к сложному

— Добавить в модель IMU сенсор, чтобы, возможно, повысить точность. Например, что при движении в горку нужно больше усилия двигателю.

— Перевести логику на поездки не по трассе, а просто ездить, объезжая препятствия

— Добавить лидар и учитывать показания с него


Вызов на батл


Если вы сам, или с компанией друзей, чувствуете, что хотите гонок, то пишите мне, давайте устроим соревнования =)


Сообщество


Еще я собрал чатик по интересам, и готовлю канал. Я не уверен, что по правилам пикабу так можно, так что пришлю в личку по запросу


Образ sd карты моей машинки


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

Показать полностью 11 1
904

Полоумное зеркало (Smart Mirror)

Да, да, это очередное "умное" зеркало, в домашних условиях. Но иногда охота также поделиться с людьми, что можно сделать своими руками без особого труда используя один пост с "гайдом". Прошу не судить строго я не пропагандирую все делать в точности как у меня, и можно говорить, что все не правильно и "Широкую на широкую!!!", но у меня все работает и вроде без сбоев.


Общие положения (типа все по ГОСТу)


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


Итак... Для сборки нам необходимы:

1 Брус (у меня 50х50х3000)

2 Стекло

3 Светоотражающая тонировка

4 Грунтовка

5 Шпатлевка по дереву

6 Малярный скотч (для покраски)

7 Жидкие гвозди

8 Дисплей

9 Скалер

10 Raspberry Pi

11 Ткань Блэкаут

12 Блокипитания для скалера и малины, а также кабель HDMI

Полоумное зеркало (Smart Mirror) Своими руками, Длиннопост, Raspberry pi, Зеркало

КОРПУС

Корпус хотелось сделать не обычным, не как большинство вариантов, которые были в сети (эти окна со створками). Хотелось тонкий корпус и обрамление, а также крепкую конструкцию, поэтому пришел к данному виду:

Полоумное зеркало (Smart Mirror) Своими руками, Длиннопост, Raspberry pi, Зеркало

В дело пошел простой брус 50х50мм. из строительного магазина, по пути домой зашел в местный мебельный магазин, с цехом производства и напилил рамки.

Полоумное зеркало (Smart Mirror) Своими руками, Длиннопост, Raspberry pi, Зеркало

После скрепил саморезами, загрунтовал и покрыл шпатлевкой по дереву. Несколько раз прошел шкуркой на 600 и 1000, снова грунт и покрыл матовой, акриловой краской. Эффект получился приятный, как будто заводской пластик.

Полоумное зеркало (Smart Mirror) Своими руками, Длиннопост, Raspberry pi, Зеркало

ЗЕРКАЛО

Как уже понятно обычное зеркало нам не подойдет. По сути есть два основных типа зеркала: это зеркало «Гезелла», и светоотражающая тонировка (автомобильная или архитектурная) на стекле. У нас в России существует несколько заводов, где можно заказать зеркало «Гезелла», и 90% в Москве (vetra-steklo.ru, zerkala-stekla.ru) и СПб (mirrorglass.ru, steklaspb.ru), но если ты живешь в «мухосранске» как я), то оно становится золотым (за 900х400мм у меня выходит не меньше 6000р. с доставкой). Хотя в будущем понимаешь, что лучше переплатить.


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


Само стекло купил у стеклореза, и наклеил пленку в домашних условиях. Размеры выбрал после изготовления корпуса зеркала.

Полоумное зеркало (Smart Mirror) Своими руками, Длиннопост, Raspberry pi, Зеркало

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

Полоумное зеркало (Smart Mirror) Своими руками, Длиннопост, Raspberry pi, Зеркало

RASPBERRY PI

Мозгом выбрал стандартную малину (Raspberry Pi 3 B), жирновато для зеркала, но я брал на будущее, для автоматизации дома. Брал отсюда.

Полоумное зеркало (Smart Mirror) Своими руками, Длиннопост, Raspberry pi, Зеркало

Систему ставил Raspbian. Скачал на официальном сайте здесь. Флешку форматировал программой SD Card Formatter (если что, информация на флешке удалится). После установил ОС на флешку с помощью Win32DiskImager (выбираем карту и образ Raspbian, и жмем старт). Далее после полной установке, вставляем флешку в малину и подключаем сторонний монитор и клаву с мышкой. Включаем малину в сеть и ждем загрузку ОС. В качестве оболочки зеркала, я использовал Magic Mirror2 (спасибо Michael Teeuw) с сайта Github. Она довольно проста в использовании и постоянно модернизируется.


Для ее установки требуется зайти в терминал малины (Пуск> Терминал, либо Ctrl+Alt+T) и выполнить несколько команд:


1 Установить последнюю версию Node.js:

curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -

sudo apt install -y nodejsgit clone https://github.com/MichMich/MagicMirror

2 Клонировать папку из репозитория MagicMirror

git clone https://github.com/MichMich/MagicMirror

3 Войти в папку MagicMirror

cd MagicMirror/

4 Установить приложение MagicMirror (установка долгая, минут 30)

npm install && npm start

либо server only

npm install && node serveronly

Далее начинается творческая деятельность. Копируем файл config.js.sample в папке config проэкта и вставляем сюда же с названием config.js. Открываем его текстовым редактором и начинаем выбирать модули (картинки которые будут высвечиваться зеркале). Для тех кто не знает JavaScript может показаться сложным, но все не так. Все модули начинаются и заканчиваются фигурными скобками после строки modules: [ (соблюдайте отступы)


например часы:

{

module: "clock",

position: "top_right"

},

У всех модулей можно менять расположение на экране строкой: position: "здесь может быть ваша реклама выбираете расположение модуля (top_left, top_right, bottom_left, bottom_right, center и пр.)". Так же у большинства модулей есть дополнительные параметры которые можно изучить на странице MagicMirror.


Со временем стандартные модули начинают надоедать и MagicMirror позволяет устанавливать сторонние модули, например отсюда. просто скачиваешь модуль в папку Modules и корректируешь файл config.js, в соответствии с инструкцией (к сожалению на английском).


После всех корректировок можно проверить как будет выглядеть ваше зеркало выполнив команду в терминале:


npm start

ДИСПЛЕЙ

В качестве монитора я использовал дисплей от старого ноута Asus и скалер с Aliexpress. Скалер подбирается по номеру дисплея (просто вводишь номер в поиск али) подключается очень просто, но шлейф матрицы желательно закрепить скотчем. Скалер без БП, так что пришлось поискать подходящий на 12В.

Полоумное зеркало (Smart Mirror) Своими руками, Длиннопост, Raspberry pi, Зеркало
Полоумное зеркало (Smart Mirror) Своими руками, Длиннопост, Raspberry pi, Зеркало
Полоумное зеркало (Smart Mirror) Своими руками, Длиннопост, Raspberry pi, Зеркало
Полоумное зеркало (Smart Mirror) Своими руками, Длиннопост, Raspberry pi, Зеркало

СБОРКА ВОЕДИНО

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

Полоумное зеркало (Smart Mirror) Своими руками, Длиннопост, Raspberry pi, Зеркало

Под крепление дисплея установил распорку из рейки и уголков. А сам дисплей закрепил деревянными брусками, и местами термоклеем. Скалер и малину закрепил так же на термоклей. Нашел в закромах HDMI кабель и соединил скалер и малину. Подключил питание к ним и запустил зеркало в первый раз. И так как экран повернут на 90 градусов необходимо внести изменения в конфиги малины, но это просто:


Вводим в терминале

sudo nano /boot/config.txt

и в конце вводим необходимую строку

display_rotate=0 Обычный режим


display_rotate=1 90 градусов


display_rotate=2 180 градусов


display_rotate=3 270 градусов

Полоумное зеркало (Smart Mirror) Своими руками, Длиннопост, Raspberry pi, Зеркало

Минусы и что надо переделать:


1 И самое важное, это зеркало. Буду либо заказывать зеркало «Гезелла» либо искать пленку высокого качества.

2 Крепить зеркало буду точечно, для аккуратного размещения в рамке, и ровнять шпатлевкой.

3 Вместо ткани сразу наклею пленку блэкаут.

4 Хотел объединить кабели и вывести розетку наружу, но благо не стал. Буду монтировать все внутри, а на корпус выведу соединитель блока питания.

Остальное оптимизировать по мелочи:

- вкл/выкл малины через кнопку.

- датчик движения уже есть, но временно, так как едет камера вместо него.

- микрофон для голосового ассистента

- есть метеостанция на ардуино, хотел соединить по блютузу, но похоже перекину датчики на малину (кроме уличного)


Так как отпуск закончился, все буду доделывать в свободное время. Постараюсь выпускать продолжение.

PS.  Прошу прощения за качество)

Полоумное зеркало (Smart Mirror) Своими руками, Длиннопост, Raspberry pi, Зеркало
Полоумное зеркало (Smart Mirror) Своими руками, Длиннопост, Raspberry pi, Зеркало
Показать полностью 15
882

Продано более 30 млн компьютеров Raspberry Pi

Продано более 30 млн компьютеров Raspberry Pi Raspberry pi, Raspberry, Armpc, Arm PC, Одноплатники, Одноплатные компьютеры

О существовании одноплатных компьютеров Raspberry Pi знают многие, в том числе и те, кто весьма далёк от электроники. Поэтому совершенно неудивительно, что на сегодняшний день было продано более 30 млн этих маленьких систем, хотя появились они сравнительно недавно — в 2012 году.



На днях, 14 декабря, основатель компании Raspberry Pi Эбен Аптон (Eben Upton) сообщил в своём твиттере, что в районе 12 декабря была продана 30-миллионая единица Raspberry Pi. Причём он отметил, что данная цифра быстро становится неактуальной, то есть на сегодняшний день продано уже ещё больше одноплатных компьютеров данного типа.


Компьютеры Raspberry Pi представлены во множестве различных версий, но суть устройства всегда одна и та же — это максимально дешёвая плата для создателей самых различных устройств и систем, которая может работать под управлением полной операционной системы. Несмотря на предельно компактные габариты, такие системы предлагают массу возможностей для подключения внешних устройств, в том числе полноразмерных мониторов, клавиатур, мышей и многого другого.



Последняя версия, Raspberry Pi 4 (на первом фото), предлагает такой уровень аппаратного обеспечения, что вполне может выступать в качестве полноценного настольного ПК. Стоит она, правда, несколько дороже других моделей, от $35 за версию с 1 Гбайт оперативной памяти, до $55 за версию с 4 Гбайт. За эту цену Raspberry Pi 4 способна предложить 64-разрядный процессор с четырьмя ядрами ARM Cortex-A72 с тактовой частотой 1,5 ГГц, гигабитный сетевой интерфейс, беспроводной модуль 802.11ac WiFi и Bluetooth 5.0, поддержку двух мониторов и многое другое.


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


Одноплатные компьютеры
Показать полностью
71

Сортировщик для LEGO с нейросетью собрали из LEGO :-)

Изобретатель Дэниел Вест (Daniel West) собрал универсальный LEGO-сортировщик: с помощью подключенного алгоритма компьютерного зрения он может распознать и отсортировать любую когда-либо созданную для конструктора деталь. Сам сортировщик состоит из более десяти тысяч LEGO-деталей, а скорость его работы — примерно полдетали в секунду. Подробности о работе устройства сообщает Engadget.


Из-за обилия самых разных деталей и простоты сборки конструктор LEGO используется для создания многих полезных устройств. Например, из LEGO уже делали принтер, который сканирует изображение и собирает его опять же из LEGO, а также кубики конструктора использовали для создания модульной микрофлюидной установки.

Разумеется, машины для сортировки деталей LEGO (очень полезное приспособление для тех, у кого очень много разных конструкторов в разобранном виде) делают из них же, а первое подобное устройство представили еще в 2012 году: для определения детали в нем используется открытый алгоритм для распознавания изображения, сравнивающий снимок одной детали с существующей у сортировщика базой данных.


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


На следующем шаге сортировки снимается видео деталей — его обрабатывает Raspberry Pi и отправляет далее для анализа на другой компьютер по беспроводной связи. На компьютере заснятые на видео детали анализируются с помощью алгоритма, в основе которого лежит сверточная нейросеть, обученная на трехмерных моделей всех существующих LEGO-деталей. Каждой детали присваивается вероятность принадлежности к какой-либо категории, после чего результат отправляется на сортировочную станцию устройства. Наконец, система, состоящая из нескольких двигающих ворот, направляет деталь в необходимую коробочку. Всего коробочек 18: это больше, чем количество возможных деталей, но для каждой коробочки можно выбрать набор попадающих в нее деталей. Одну деталь устройство может отсортировать примерно за две секунды.

577

Умное зеркало на Raspberry pi 4

Всех приветствую.
Несколько месяцев назад наткнулся на очень интересный проект на базе raspberry pi "MagicMirror", решил сделать себе такое зеркало. Мне кажется, что получилось достаточно неплохо. Может кто-то подскажет как ещё можно использовать raspberry pi 4 параллельно с зеркалом чтобы максимально использовать ресурсы компьютера?

Умное зеркало на Raspberry pi 4 Raspberry pi, Своими руками, Зеркало, Самоделки, Arduino, Умный дом

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

118

Блокировщик рекламы для всех устройств на базе raspberry pi

Привет.

Заметил интересную тему, про блокировку рекламы. На западном ютюбе полно видео на эту тему. Решил повторить.

Получилось довольно просто, хоть и не с первого раза. Раскрываю суть.
На Raspberry Pi 3 B+ я поставил операционку Rasbian. Поставил обновления и настроил сеть. Затем, был взят так называемый Pi Hole это ПО с открытым исходным кодом, полностью бесплатное и собирающая только пожертования. Само ПО ставит на малину веб сервер, днс сервис и по сути своей с помощью специальных списков блокирует рекламмные баннеры. Это своего рода фильтр на базе ДНС. Просто меняется ДНС устройства на ДНС где работает Pi Hole и вуаля, баннеров нет. Так же, можно сразу сменить ДНС на роутере, тогда Pi Hole распознаёт устройства подключённые к роутеру и уже блокирует рекламу на всех устройствах, которые подключены в роутеру. Есть плюсы, есть минусы. Меня пока устраивает. Внизу видео как я это всё проворачивал.

Кто какими способами пользуется ТЫ? (кроме Adblock)

66

Моноблок на Raspberry pi //// Часть 3 //// Гомункул из переходников.

Ссылка на предыдущий пост: https://pikabu.ru/story/monoblok_na_raspberry_pi__chast_2__p...
/////////////////////////////////////////////////////////////////
Итак, с матрицей не задалось, пришлось выбрать монитор. Я продал свой старый еле-еле живой смартфон за 500 рублей и вскоре купил вот этого красавца.

Моноблок на Raspberry pi //// Часть 3 //// Гомункул из переходников. Raspberry pi, Retropie, Моноблок, Своими руками, Raspbian, Raspberry, Длиннопост

Почему именно он?
1. Он старый.
С одной стороны это плохо, с другой стороны его работоспособность внушает доверия т.к. за свои 16 лет он не ломался и не вскрывался.
2. Ножка.
Ножка у него полая и толстая, именно туда я запрячу малинку и всю периферию.

Моноблок на Raspberry pi //// Часть 3 //// Гомункул из переходников. Raspberry pi, Retropie, Моноблок, Своими руками, Raspbian, Raspberry, Длиннопост

3. Диагональ и соотношение сторон.
4:3 для ретроигр это то, что нужно, а большая диагональ это всегда хорошо.
/////////////////////////////////////////////////////////////////
А теперь начинается трэшак с подключением этого монитора.
Роль вга кабеля у меня играет маленький обрубок папа-папа. Потом идёт конвертер hdmi-vga и переходник hdmi - mini hdmi.
Такого порно вы ни на одном порнохабе не найдете. Надеюсь, что модератор это не увидит ;)

Моноблок на Raspberry pi //// Часть 3 //// Гомункул из переходников. Raspberry pi, Retropie, Моноблок, Своими руками, Raspbian, Raspberry, Длиннопост

Джойстик у меня как у snes. Скоро куплю 2й такой же.

Моноблок на Raspberry pi //// Часть 3 //// Гомункул из переходников. Raspberry pi, Retropie, Моноблок, Своими руками, Raspbian, Raspberry, Длиннопост

Теперь вся эта конструкция выглядит примерно так:

Моноблок на Raspberry pi //// Часть 3 //// Гомункул из переходников. Raspberry pi, Retropie, Моноблок, Своими руками, Raspbian, Raspberry, Длиннопост

Довольно хлипкая конструкция получилась, но на первое время сойдет

Короче говоря, миссия почти выполнена. Скоро я начну корпусные работы, когда придёт новая плата малинки.

Моноблок на Raspberry pi //// Часть 3 //// Гомункул из переходников. Raspberry pi, Retropie, Моноблок, Своими руками, Raspbian, Raspberry, Длиннопост

Ждите следующих постов! Жду вашей конструктивной критики в комментариях.

Показать полностью 5
281

Моноблок на Raspberry PI ///// Часть 1 ///// Начало /////

Моноблок на Raspberry PI ///// Часть 1 ///// Начало ///// Своими руками, Моноблок, Raspberry pi, Raspbian, Ноутбук, Retropie, Длиннопост

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

Зарядки в комплекте не шло, поэтому проверить его у меня не получилось. Решил разобрать и увидел, что шлейф клавиатуры порван и ответная его часть неизвестно где. Это меня насторожило. Далее я увидел материнку с ужасной пайкой и флюсом везде, где только можно. Дело начало попахивать жареным, а точнее прогревом. Жесткий диск куда-то делся и вместо него стояло великолепное ничего) Зато процессор и ОЗУ остались невредимыми. Матрица на удивление тоже целая. Даже аккумулятор был целым и заряженным.В кармане у меня было всего-ничего 1500 рублей. В итоге я решил сделать моноблок на Raspberry PI Zero для программирования на python, ретро-игр и кино. К сожалению я пока не могу поставить что-то по мощнее, потому что raspberry pi 3/4 стоят в районе 3000 рублей, что полностью лишает меня бюджета на проект. Кишки из ноута тоже пошли в дело. Непонятно как, но я смог обменять их на bluetooth клаву и 500 рублей.

___

За эти деньги я купил:

-Raspberry pi zero. 850 рублей.

-Контроллер матрицы mt6820. 300 рублей

-Шлейф матрицы. 95 рублей

-Переходник mini hdmi-hdmi. 50 рублей

-Конвертер hdmi-vga 135 рублей

-USB hub 95 рублей

-Переходник OTG 30 рублей

-BMS контроллер 100 рублей

-Понижающий преобразователь x2 150 рублей

-Wifi свисток 100 рублей

- SD карта 8gb 250 рублей

___

К моменту создания поста уже пришли Raspberry PI Zero , sd карта, OTG переходник и скалер.

Дополнительно я купил геймпад defender scorpion x7 за 500 рублей. Отличный контроллер за свои деньги. Как же я был разочарован, когда узнал, что он не работает с retropie *facepalm*

Но я не отчаялся. Оказалось, что мне прислали контроллер матрицы на другой микросхеме, отличающейся от той, которая была в описании товара. Я смог отсудить у продавца свои деньги и купил обычный проводной usb джойстик как у snes.

Сейчас остается только ждать посылок из Китая. Большая часть из них уже в России.

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

Ждите следующего поста)

Показать полностью
214

Raspberry Pi вживили под кожу для анонимного обмена файлами

Raspberry Pi называют микрокомпьютерами. И, в самом деле, они представляют собой небольшую и недорогую плату. Именно размеры позволили авторам биохакерского проекта

PegLeg создать из Raspberry Pi имплант для вживления под кожу.


Они опубликовали инструкцию для всех желающих. Для реализации задумки будущим биохакерам понадобятся: собственно Raspberry Pi Zero W, модуль для беспроводного получения электроэнергии Qi Power Receiver, беспроводной nano-USB адаптер Edimax N150 (EW-7811Un), конденсатор ёмкостью 2,2 мФ, кабель USB Micro-B и источник питания, USB OTG адаптер, USB-хаб, и сетевой интерфейс USB Ethernet.


Предназначен этот имплант для поддержания платформы PirateBox, которая позволяет анонимно обмениваться файлами.

Вживлять имплант под кожу биохакеры рекомендуют при помощи специалистов. Всё-таки это инвазивная процедура.

Raspberry Pi вживили под кожу для анонимного обмена файлами Raspberry pi, Raspberry
1718

Умное зеркало на Raspberry Pi

Как то приобрел себе Raspberry Pi для того, чтобы когда трудовыебудни становятся скучными и душа хочет чего-то нового и интересного, можно было соорудить нечто эдакое на ней. Так была собрана ретроконсоль и модуль управления RGB цветомузыкой. Но хотелось чего то еще более практичного и часто используемого. Так я решил собрать умное зеркало на Raspberry Pi.


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

Умное зеркало на Raspberry Pi Raspberry pi, Зеркало, Своими руками, Diy Or Die, Умный дом, Работа с деревом, Смарт-Зеркало, Длиннопост

Умное зеркало состоит из: компьютера, монитора и собственно зеркала.


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

Умное зеркало на Raspberry Pi Raspberry pi, Зеркало, Своими руками, Diy Or Die, Умный дом, Работа с деревом, Смарт-Зеркало, Длиннопост

Я решил что заказывать настоящее зеркало - это будет супер невыгодно так как оно стоит как чугунный мост! И альтернатива была найдена - обычная пленка солнцезащитная пленка для фасадов со светопропускаемостью 8-10%. Гуглится очень просто. Светопропускаемость проверял просто приставляя телефон с обратной стороны - как только его перестало быть видно за слоем светоотражающего покрытия, значит дальше смотреть не надо, берем предыдущий. Только клеить придется самому на обычное стекло, но даже если что то испортил то не страшно - они рулонами продаются. Оторвал испорченный и отрезал новый кусок. В итоге получилось вполне достойно.

Умное зеркало на Raspberry Pi Raspberry pi, Зеркало, Своими руками, Diy Or Die, Умный дом, Работа с деревом, Смарт-Зеркало, Длиннопост

Рамка делалась самой примитивной конструкции - просто потому что я не эксперт в работе с деревом :-)

Умное зеркало на Raspberry Pi Raspberry pi, Зеркало, Своими руками, Diy Or Die, Умный дом, Работа с деревом, Смарт-Зеркало, Длиннопост

Компоненты

1) Raspberry Pi 3B - на ней встроенный модуль wifi - 3000р

2) монитор LG 19', кабель vga - 1500р с авито

3) деревянные бруски, клей, пила, шкурка, морилка, тканевый валик, резиновый "шпатель" для разглаживания пленки - 800р

4) обычное стекло нужного размера - 300р тоже на авито. Спасибо пацану!!!

5) пленка 1.5м на 1м - 500р

6) переходник vga-hdmi (потому что монитор vga, а на малине только hdmi) - 300р на авито


Итого имеем классный девайс, сделанный своими руками, приводящий гостей в восторг или, как минимум, вызывающий интерес.

Показать полностью 4
85

Корпус с 3,5-дюймовым сенсорным дисплеем для RPi

Большинство корпусов для Raspberry Pi очень похожи и нет смысла рассказывать о них, но есть корпус для Raspberry Pi 2 и 3: выглядит как обычный корпус, за исключением того, что верхняя крышка заменена 3,5-дюймовым сенсорным дисплеем, а сам комплект поставляется вместе со стилусом и его можно приобрести на Banggood за $15,99.

Корпус с 3,5-дюймовым сенсорным дисплеем для RPi Raspberry pi, Raspberry, Rpi, Длиннопост

Ключевые особенности дисплея:


Тип ЖК – TFT

Интерфейс ЖК -– SPI

Тип сенсорного экрана – резистивный

Контроллер сенсорного экрана – XPT2046

Цвета – 65536

Подсветка – светодиодная

Разрешение – 320×480 (пикселя)

Соотношение сторон – 8:5


Существует два вариант сборки комплекта. Либо с 3,5-дюймовым дисплеем и без вентилятора, либо без дисплея, но с верхней крышкой и вентилятором. Но тогда ставиться не понятно, зачем кому-то покупать данный комплект, если вы не планируете использовать дисплей, но по крайне мере вы теперь знаете, что существует несколько вариантов использования.

Корпус с 3,5-дюймовым сенсорным дисплеем для RPi Raspberry pi, Raspberry, Rpi, Длиннопост

Также есть уже готовые к использованию образы Raspbian для Raspberry Pi 3 и Raspberry Pi 3 B+, но нет никаких гарантий, что они будут обновляться, поэтому лучше скачать Raspbian с веб-сайта Raspberry Pi и самостоятельно установить драйвер:

git clone https://github.com/goodtft/LCD-show.git

chmod -R 755 LCD-show

cd LCD-show/

sudo ./LCD35-show

У некоторых людей была неправильная ориентация сенсорного управления (X и Y перевернуты), но к счастью есть простое решение, требующее, редактирование /etc/X11/xorg.conf.d/99-calibration.conf, добавив строку:


Option "TransformationMatrix" "0 -1 1 1 0 0 0 0 1"

Источник: cnx-software.ru


ARMLab - канал про одноплатные компьютеры в Телеграм

Показать полностью 1
Похожие посты закончились. Возможно, вас заинтересуют другие посты по тегам: