Простая автоматизация дома с дистанционно доступной малиной Pi: исследование возможности
AAC писатель Джонатан Пауэлл исследовал Dataplicity, программу, которая позволяет удаленный доступ и контроль над малиной Pis. Проверьте полученные результаты.
Если вы когда-либо работали с малиной Pi, вы, вероятно, достигли точки, когда вы задавались вопросом, действительно ли цена и размер такого компьютера стоит огромного количества шнуров и периферийных устройств, необходимых для его использования.

Со всеми необходимыми периферийными устройствами простой проект Raspberry Pi может быстро выйти из-под контроля
Вообще говоря, для эффективного использования Pi вам понадобится монитор HDMI, USB-клавиатура и мышь, шнуры питания для монитора и сам Pi, кабель для подключения к монитору, возможно USB-концентратор для подключения дополнительных устройств, а также Ethernet-кабель или USB-адаптер Wi-Fi для доступа в Интернет.
То, что вы надеялись, было бы легким, компактным компьютером, быстро превратилось в птичье гнездо шнуров, кабелей и устройств ввода, внутри которых даже сам Pi может быстро потеряться.
И это все, прежде чем вы даже попытаетесь соединить что-либо с GPIO.
Другие решения
Существует множество руководств и наборов, которые помогут вам приложить свой Pi и большинство его вспомогательных аппаратных средств в переносном футляре, что делает вещи проще (и довольно внушительно). Но это также увеличивает затраты. По моему опыту, когда Pi действительно приходит в себя, это когда вы запускаете его без подголовника, подключенного к сети, без каких-либо мониторов или устройств прямого ввода и доступ через SSH или другую аналогичную настройку.
Однако SSH приносит с собой целый ряд проблем. Настройка его достаточно проста, и тогда вы настроены на вход с любого компьютера, подключенного к той же локальной сети. Установка Pi на статический IP-адрес, чтобы он мог быть достигнут в одном и том же месте, каждый раз выполняет несколько шагов, но процесс обычно не так уж плох. Однако, если вы хотите получить доступ к своему Pi через Интернет, вне вашей локальной сети, это становится более сложным.
Если вам повезет, перенаправления правильных портов достаточно. Это, однако, еще один шаг, а иногда и сложнее. В некоторых случаях вы можете быть в положении, когда у вас нет доступа администратора к вашей сети, и вы не можете перенаправить правильные порты. Лично моя проблема заключалась в том, что мой ISP взимал дополнительную плату за статический внешний IP-адрес, что означает, что моя настройка будет работать в течение нескольких недель, а затем случайным образом (и без предупреждения) сломается при изменении внешнего IP-адреса. Какая бы ни была причина, SSH иногда просто недостаточно.
Чтобы помочь мне решить некоторые из этих проблем, я решил исследовать Dataplicity, веб-сервис, предназначенный для удаленного доступа к моему блоку малины Pi.
Настройка Dataplicity
В этом и заключается красота Dataplicity. Просто зайдите на их сайт и создайте бесплатную учетную запись. Есть платные учетные записи с большим количеством функций, но бесплатного достаточно для начала работы.
Установите свою операционную систему как обычно, затем подключитесь к монитору и клавиатуре достаточно долго, чтобы подключиться к сети. Теперь запустите единую команду, предоставленную вам Dataplicity, и все готово. Вот и все. Теперь вы можете войти в Dataplicity из любого веб-браузера или из приложения на свой телефон и подключиться к сеансу терминала на своем Pi.

Запуск скрипта установки из Raspbian

Удаленная оболочка на нашем Pi, через Dataplicity.com
Теперь, когда вы настроены, вы можете получить доступ к этой оболочке в любое время, из любого места, используя веб-браузер или бесплатное приложение для iOS / Android, если ваш Pi подключен к Интернету. Это означает, что вы можете даже взять его с собой на ходу, если вы можете либо добавить Wi-Fi сеть заранее, либо подключиться к новой сети с помощью ethernet.
В качестве побочного примечания, если вас беспокоит запуск случайных скриптов на вашем Pi (что не является ужасным, что вас беспокоит), вы можете найти сценарий установки, который запускается командой целиком на своем сайте.
Проекты, основанные на Pi, с Dataplicity
Недавно я провел уик-энд, создав Pi для потоковой передачи в проектор в нашей гостиной. Используя Pi, теперь я могу передавать медиа с моего сервера Plex или игр с моего настольного компьютера наверху. Это довольно бесшовная система, но вам все равно иногда приходится обращаться к терминалу на Pi, чтобы вносить изменения. Я делал это с помощью SSH-клиента с моего телефона, но решил дать Dataplicity попробовать с моей существующей настройкой. Через несколько минут я закончил. Достаточно просто - теперь я могу управлять нашей развлекательной системой где угодно. Все идет нормально.
Желая посмотреть, что еще я могу сделать, я взял еще один Pi (у меня есть несколько лежащих) и подстроил его несколькими датчиками, а именно температурой и движением. Затем я бросил краткую программу, чтобы прочитать значение температурного датчика на терминале и рассчитать время с момента последнего обнаружения движения. Я обращался к Pi с Dataplicity, запускал сценарий и имел начало домашней автоматизации или системы безопасности.

Запустив скрипт из нашей удаленной оболочки, мы можем получать текущие показания с датчиков на нашем Pi, которые можно увидеть здесь, в приложении Android
Единственным недостатком является то, что, хотя я могу получить к нему доступ в любое время, его отслеживание состоит в том, чтобы смотреть на открытый терминал на моем телефоне или компьютере. Не очень элегантный.
Хостинг веб-сайта с вашего Pi
Для этого реального полированного взгляда мы переходим к еще одной особенности Dataplicity: Wormhole.
Как только ваш Pi настроен и запущен, один щелчок активирует Wormhole, предоставляя вам фиксированный URL-адрес, по которому вы можете достичь своего Pi. Объедините его с платформой веб-хостинга, такой как NGINX (Dataplicity предоставляет ссылки и инструкции для установки), и вы настроены на размещение HTML-сайта с вашего Pi, к которому можно в любое время получить доступ из любой точки мира, чтобы контролировать и контролировать все, с чем вы подключились Pi.

Хотя это не очень, несколько минут HTML дали нам канал в реальном времени с наших датчиков, доступный из любого веб-браузера
Вероятно, вы захотите добавить некоторую защиту, прежде чем подключаться слишком много к ней (опять же, есть инструкции, предоставленные Dataplicity и NGINX), но мы уже собрали значительную настройку благодаря малиневой Pi и Dataplicity.
В заключение
У Dataplicity не без проблем. Вы все еще должны быть способны с терминалом bash, и для создания веб-сайта, в частности, потребуется гораздо более широкий набор навыков программирования. Тем не менее, он устраняет многие препятствия, которые в противном случае могут помешать вам сделать некоторые действительно классные вещи и помогут вам воспользоваться многими возможностями Pi.
В дополнение к управлению моей развлекательной системой и проверке температуры в моем доме, я также экспериментировал с управлением сетью адресных светодиодов RGB, потоковым видео с подключенной камеры и даже рассмотрел возможность подключения сервомотора, чтобы дистанционно внести изменения в мой термостат. Другой проект на другой день.
Поэтому, если вы когда-либо находили себя и свою доверчивую Pi запутали в беспорядок шнуров, были разочарованы, пытаясь настроить перенаправление портов, или задавались вопросом, что делать с этим Pi, который просто собирает пыль на вашем столе, возможно, Dataplicity стоит попробуйте.