Оглавление:

Цифровой внетелесный опыт своими руками: 6 шагов
Цифровой внетелесный опыт своими руками: 6 шагов

Видео: Цифровой внетелесный опыт своими руками: 6 шагов

Видео: Цифровой внетелесный опыт своими руками: 6 шагов
Видео: Что такое внетелесный опыт / Лекция 1 / Практик осознанных сновидений Андрей ЩЕРБАКОВ 2024, Июль
Anonim
Цифровой внетелесный опыт своими руками
Цифровой внетелесный опыт своими руками

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

Шаг 1. Вещи, которые вам понадобятся

Вещи, которые вам понадобятся
Вещи, которые вам понадобятся
Вещи, которые вам понадобятся
Вещи, которые вам понадобятся
Вещи, которые вам понадобятся
Вещи, которые вам понадобятся
  1. 2xRaspberry Pi 3 модели B, каждая из которых оснащена камерой и кабелем для измерения (15 см и 30 см)
  2. Батарейный экран, 2 батареи и кабель USB на 2xmini-USB для подключения к Raspberry (я использовал двойной экран батареи 10650 с выходом USB, 2 батареи LiitoKala Lii-35A 18650 и этот кабель)
  3. Кусок дерева МДФ размером 240x140x5 мм (или любой другой древесины, совместимой с лазерным резаком)
  4. Доступ к лазерному аппарату
  5. Винты и болты M2
  6. Компьютер с питоном
  7. Смартфон с хромом
  8. Картон Google или любая система, позволяющая получить опыт виртуальной реальности с вашего телефона (я получил ednet Virtual Reality Brille, который совместим с телефоном размером до 159,2 мм x 75,2 мм из того, что я читал)

Шаг 2. Заставьте Rapsberry Pi снимать живое видео и делиться им

Сначала давайте убедимся, что наша камера Pi подключена к Raspberry Pi. Выполнено ? Это была аппаратная часть этого шага. Продолжим программную часть.

Что касается программного обеспечения, если вы находитесь в моем случае, и на вашем PI не установлена ОС и у вас нет запасных клавиатуры, мыши и экрана, то давайте загрузим raspbian lite здесь и выполните простые шаги, описанные здесь: https://www.taygan.co/blog/2018/03/08/setup-a-rasp… Если все прошло хорошо, ваш Pi теперь подключен к вашему WIFI, вы знаете его IP-адрес и подключены к нему через ssh.

Используя ssh, давайте заставим Pi делиться тем, что он просматривает. Для этого воспользуемся UV4L. Для этого выполните действия на следующей веб-странице: https://raspberry-valley.azurewebsites.net/UV4L/. Если вы закончили настройку UV4L, как описано в ссылке, теперь у вас должна быть возможность просматривать живое видео вашей малины на вашем компьютере. Для этого просто зайдите в свой браузер по адресу https:// raspberryip: 8080 / stream, заменив «raspberryip» на ip-адрес raspberry pi, который вы нашли с помощью lanScan.

Вот и все для одного из наших двух «глаз». А что насчет другого? Либо мы повторяем тот же процесс, либо клонируем то, что находится на нашем raspberry pi, на другую SD-карту. Чтобы узнать больше о втором варианте, вы можете проверить этот github:

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

Шаг 3. Сделайте его портативным: лазерная резка и установка

Сделайте его портативным: лазерная резка и установка
Сделайте его портативным: лазерная резка и установка
Сделайте его портативным: лазерная резка и установка
Сделайте его портативным: лазерная резка и установка
Сделайте его портативным: лазерная резка и установка
Сделайте его портативным: лазерная резка и установка

Чтобы сделать камеру портативной, я спроектировал деревянную конструкцию, на которую я могу прикрутить малиновый P, камеры и экран аккумулятора. Дизайн прилагается здесь в виде файла svg. Возможно, вам придется изменить положение винтов для экрана батареи в зависимости от вашего экрана и / или конструкции в зависимости от толщины вашей древесины.

Как только вы все разрежете:

  1. Установите камеры в левой части конструкции (8 винтов M2 5 мм, 8 винтов M2 8 мм и 8 болтов 8 мм).
  2. Установите щит аккумуляторной батареи (4 винта M2 5 мм, 4 винта M2 8 мм и 4 болта 8 мм)
  3. Установите «кластер» raspberry pi, как показано на рисунке выше (4 винта M2 5 мм, 4 винта M2 8 мм, 4 болта «папа-мама» 5 мм или более, 4 болта 21 мм). Примечание: у меня не было болтов диаметром 21 мм, поэтому я сделал свой с 16 болтами и 5 болтами с внутренней резьбой.

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

Зарядите литиевые батареи с помощью разъема mini-usb экрана батареи и соедините деревянную деталь вместе, как показано на рисунке выше. Вы готовы подключить аккумуляторный щиток к малине! И больше не требуется ssh-ing, как только мы включаем raspberry pi, он теперь делится видеопотоком онлайн, как только он запускается, благодаря UV4L. Передача окончена!

Шаг 4: Визуализируйте стереоизображение

Визуализируйте стереоизображение
Визуализируйте стереоизображение

Теперь у нас есть два потока изображений, доступных через локальную сеть, и мы увидели, что можем просматривать их по отдельности, используя адрес https:// raspberryip {1, 2} / stream / в браузере. Итак, можем ли мы попытаться открыть две страницы в нашем браузере? Нет, не будем! 1. Это было бы слишком некрасиво, 2. это не сработало бы, так как через некоторое время дисплей перешел бы в спящий режим! Этот шаг покажет вам, как решить эти проблемы.

Сначала давайте посмотрим, что стоит за адресом, который использовался ранее. Если вы проверите html-код открываемой страницы, вы увидите, что поток, показанный на странице, состоит из

с источником, определенным как https://raspberryip/stream/video.mjpeg. В результате последний шаг может быть довольно простым. Один из способов - запрограммировать приложение Android с двумя Webviews для отображения потока изображений, гораздо проще - запустить локальный сервер на нашем компьютере, который будет обслуживать html-страницу, похожую на https:// raspberryip / stream /, за исключением что это позволит вам просматривать оба потока вместо одного, и держать устройство в активном состоянии.

Как нам настроить такой сервер? Нет ничего проще с питоном. Создайте папку, в которую вы поместите файлы index.txt и NoSleep.txt, которые вы переименуете в index.html и NoSleep.js. В index.html найдите два

теги и замените ips малины на свои. Это будет html-страница, на которой будут показаны два наших потока изображений с javascript, позволяющим не заснуть. Теперь вы хотите сделать эту страницу доступной для вашего мобильного телефона, где python будет удобен: поместите файл server.py в ту же папку и запустите сценарий с помощью команды python server.py (обратите внимание, что этот сценарий совместим с python 3, если вы используете python 2, вам придется отредактировать server.py и заменить socketserver на SocketServer).

Вот и все, вы можете получить доступ к стереопотоку с любого устройства с браузером, подключенным к вашей локальной сети. Попробуйте, получите ip вашего компьютера и откройте https:// computerip: 8080. Вы, вероятно, заметите три вещи:

  • Здорово, что мы почти у цели!
  • Это не в полноэкранном режиме,
  • В конце концов, он засыпает.

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

Вот и все! Теперь вы можете вставить свой телефон в гарнитуру VR и посмотреть, что происходит перед вашим Pi! Или это все?

Шаг 5: сгладьте все

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

Чтобы изменить эти параметры, вернитесь к своему терминалу и войдите в свой Raspberry Pi. UV4L использует файл конфигурации. Это файл /etc/uv4l/uv4l-raspicam.conf. Чтобы отредактировать его, введите команду sudo nano /etc/uv4l/uv4l-raspicam.conf. Теперь вы можете установить ширину, высоту и квантование по своему усмотрению. Я использовал значения ширины = 320, высоты = 240 и квантования = 40 и получил плавную передачу с ними.

Шаг 6: наслаждайтесь

Единственное, что осталось сделать, это установить систему там, где вы хотите, положить телефон в картон и заняться йогой, медитацией, пивным понгом с друзьями или чем-то еще! Вам может потребоваться некоторое время (1-2 минуты), чтобы привыкнуть к направлению камеры, которое поначалу будет ощущаться так, как будто у вас внезапно возникло косоглазие. Для меня один из способов быстро привыкнуть к этому - сначала сосредоточиться на близких объектах, а затем перейти к другим.

Я подумал о нескольких расширениях, которые могут быть интересными:

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

Как преподаватель, я думаю, что этот проект может быть интересным, если вы хотите узнать больше о:

  • Raspberry Pi, каковы основные компоненты компьютера, что такое ОС,
  • Общие концепции сети, с локальным и внешним IP, протоколом
  • HTML и javascript.

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

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