Универсальный внешний накопитель для всех iOS-устройств, совместим с PC/Mac, Android
Header Banner
8 800 100 5771 | +7 495 540 4266
c 9:00 до 24:00 пн-пт | c 10:00 до 18:00 сб
0 Comments

Содержание

Простой аквариумный контроллер на Raspberry Pi

Простой аквариумный контроллер на Raspberry Pi

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

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

 

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

Я решил сначала поискать или сделал кто-то что-то подобное и оказалось, что существует куча проектов по управлению аквариумом и я нашел один проект основанный на esp8266 с wifi-управлением. Я достал, когда-то купленную, esp, закачал прошивку и получил следующее:

Это всё то, что я и хотел сделать да еще и с админкой по вэбу - просто мечта. Но...
ESP глючит, она переодически зависала и мне приходилось ее перегружать. Небыло функции принудительного включения света или принудительного включения охлаждения которые переодически были нужны. На телефоне админка была неудобна. Зависала она часто когда меня не было дома и однажды сгорел блок питания. Я понял, что дальше мучиться с ESP я не хочу, но хочу оставить вэб-админку, так как мне показалось это очень удобным. Выбор пал на, давно валявшуюся без дела, raspberry pi B+.

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

Какие функции мне были нужны:

  • управление светом по расписанию
  • принудительное включение света на заданный промежуток времени
  • управление охлаждением по заданой температуре
  • принудительное включение охлаждения на заданный промежуток времени
  • веб-интерфейс для управления
  • нормальное отображение интерфейса на мобильном устройстве

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

Главный экран: показывает текущее время, текущую температуру, статусы охлаждения и освещения, возможно включить освещение или охлаждение на заданный ползунком промежуток времени.

Экран освещения: задается время включения и время выключения освещения.

Экран охлаждения: задается минимальная и максимальная температура для аквариума.

Экран настроек: на данный момент задается только время сбора и обработки всех действий в секундах.

Я решил сделать програмную часть на питоне: есть фронтенд и бэкенд. Между собой они синхронизируются с помощью redis.

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

Что нужно для работы системы:

И вот внешний вид аквариума с вентиляторами:

Если эта тема хоть кому-то интересна - я выложу код и описание работы контроллера

собираем платформу для сервера Home Assistant / Комфортный дом и бытовая техника / iXBT Live

Здравствуйте друзья

Этот обзор будет посвящен аппаратной платформе на базе одноплатного компьютера Raspberry Pi 4B, которую я собрал для сервера управления умным домом Home Assistant. Я расскажу полностью о всех ее частях, вплоть до выбора кабеля питания, а о установке операционной системы и сервера Home Assistant — можно будет узнать из видеоурока на моем канале youtube

Ссылки на все компоненты показанные в обзоре - 

Raspberry Pi 4B

Начну с главного — с одноплатника. На сегодняшний день существует 3 версии, отличающиеся объемом оперативной памяти, 1, 2 и 4 GB. Я выбрал максимальную версию — на 4 GB, сэкономить несколько долларов на более легких версиях не видел смысла.

 

В базовой поставке имеется только одноплатник размером 88 x 58 мм и инструкции, все остальные компоненты, про которые я расскажу далее, нужно покупать отдельно.

Сердцем устройства является 64х разрядный, 4х ядерный процессор Broadcom BCM2711, частотой 1,5 ГГц, графический процессор VideoCore VI с OpenGL ES 1.1, 2.0, 3.0  Как я уже сказал — в моей версии установлено 4 GB оперативной памяти. Одноплатник оснащен интерфейсами CSI и DSI для подключения камеры и дисплея, а также 40 пиновым разъемом GPIO

Разъем питания — в формате USB Type C, что облегчает покупку кабеля, к которой нужно отнестись внимательно — устройство достаточно мощное. Разъемов для видео — теперь два, в формате microHDMI (до 4Kp60). Так же имеется композитный 3.5 jack для вывода звука/видео

Четыре порта USB, два из которых стандарта 3.0 и гигабитный порт Ethernet, беспроводные коммуникации представлены двухдиапазонным Wi-Fi адаптером (2.4GHz / 5GHz) стандарта IEEE 802.11 b/g/n/ac, и Bluetooth 5.0 BLE

Встроенной памяти, к сожалению, в устройстве нет, штатный способ установки носителя — слот формата micro SD. На данный момент, напомню, поддержки загрузки с USB — нет. Хотя можно использовать карту памяти только для загрузки, а операционную систему устанавливать на внешний диск, либо, так поступил я, использовать EMMC память с разъемом под micro SD

Корпус

Мой личный опыт, показывает, что корпус и охлаждение лучше совмещать, это весьма эффективно, к тому же позволяет обходится без активных элементов — вентиляторов. Такой корпус я и приобрел для своей платформы. Цвет выбрал черный, он лучше смотрится в моих условиях.

Этот вариант корпуса — полностью закрытый, сделан из металла, отверстия имеются только для интерфейсных разъемов. 

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

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

Благодаря специальным выступам совпадающих с отверстиями на плате миникомпа — он отлично фиксируется на одном месте

Вид со стороны Ethernet и USB портов — все совпадает с точностью до миллиметра.

4 теплоотвода предназначены для процессора, чипа оперативной памяти, беспроводного и сетевого контроллера. Это главные горячие точки.

Стоит ли говорить о том, что в этом случае тоже все совпадает идеально. 

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

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

На одном из торцов имеется узкая вентиляционная щель выполняющая роль воздухозаборника, при этом пыль в нее попадать не будет

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

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

Теперь мини компьютер в сборе и почти готов к установке операционной системы и сервера умного дома

EMMC to micro SD

Вместо ненадежной карты памяти, я приобрел более надежный модуль EMMC с адаптером для установки в слот micro SD. Упакован он был во много слоев пузырьковой пленки.

Модуль памяти и адаптер под micro SD — сделаны раздельно, в комплекте еще есть пара крепежных винтов, правда они мне не пригодились

Соединяются они между собой через 20 контактный разъем, на модуле с памятью есть наклейка где указан его объем

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

Еще один момент, для записи на этот модуль нужно иметь внешний USB картридер. У меня нашелся вот такой, все подошло замечательно. 

Через встроенный в ноутбук картридер — увидеть память не получилось. C USB — все отлично.

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

Кабель питания

Я не поленился купить и отдельный кабель питания для одноплатника, обратившись к многократно проверенному производителю — Ugreen

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

Я специально выбрал вариант с Г образным разъемом, кстати точно такие же кабеля но micro USB используется у меня для 3х версий raspberry

В случае с USB Type C — все гораздо удобнее, так как разъем симметричен и может подключаться любой стороной. 

Например если нужны разъемы micro HDMI — то его можно развернуть его таким образом

Я их не использую поэтому развернул кабель в сторону Ethernet и USB портов.

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

Видеоверсия обзора

 

Спасибо за внимание

Using automatically controlled greenhouse microclimate for growing exotic plants with results broadcast on the Internet. Автоматизированное управление микроклиматом теплицы для выращивания редких экзотических и лечебных растений

Актуальность работы

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

Цель

Разработка программно-аппаратного автономного комплекса контроля параметров климата в теплице с отображением мониторинга в сети Интернет.

Задачи

1. Изучить условия содержания растения в теплице; факторы, влияющие на комфортную жизнь растений в теплице: температура, влажность, освещённость.
2. Разработать алгоритм сбора информации с датчиков, контролирующих комфортные условия роста и развития растения.
3. Подобрать комплектующие для реализации проекта.
4. Написать программу автоматизации процессов управления климатом для Arduino UNO.
5. Сконструировать теплицу.
6. Посадить растение и провести наблюдения.
7. Создать программу для микрокомпьютера Raspberry Pi передачи данных с датчиков на Web-ресурсе Google.

8. Создать программу отображения результатов мониторинга на Web-ресурсе Google.

Описание работы

Разработана автоматическая система «Теплица», которая длительное время работает, и мониторинг параметров которой размещён в интернете.
В теплице применяется искусственная подсветка, необходимая для развития растений. Есть оборудование, которое автоматически поддерживает влажность почвы и воздуха.
Все датчики и механизмы, блоки управления Raspberry Pi и Arduino для питания подключаются к электрической сети 220 В. Сбор и обработка данных с датчиков осуществляются на платформе Arduino UNO. Программа передачи и отображения данных в интернете написана в среде Python. Для отображения данных на Web-ресурсе Google использовался сервис Google Spreadsheet. Материалы мониторинга можно посмотреть на сайте http://koljanos.github.io/webapp/index.html.
С помощью web-камеры можно следить за ростом растений в среде Интернет.

Результаты

1. Разработан программно-аппаратный автономный комплекс контроля параметров климата в теплице с отображением мониторинга в сети Интернет.

2. Получен удобный инструмент для осуществления исследований по ботанике и агрономии.

Оснащение и оборудование, использованное в работе

Корпус теплицы (аквариум).
Платформа Arduino UNO с USB-кабелем.
Микрокомпьютер Raspberry Pi 3 Model A+.
Макетная плата.
Соединительные провода (комплект).
Датчик влажности почвы.
Светодиодная лампа для растений Uniel LED-A60.
Цифровой датчик температуры и влажности.
Реле.
Блок питания.
Преобразователь питания.
Электрическая розетка.
Трубки для подачи воды.
Водяная помпа.
Видеокамера.

Награды/достижения

Диплом призёра Городской открытой научно-практической конференции «Инженеры будущего» в секции «Приборостроение, микроэлектроника и схемотехника» НИУ «МЭИ» 18−20 апреля 2019 года.

Сотрудничество с вузом при создании работы

-

Перспективы развития результатов работы

Предполагается использовать разработанную в ходе выполнения проекта установку «Теплица» для проведения экспериментов по ботанике и агрономии.

Особое мнение

«Курчатовский проект надо ценить, поддерживать и развивать. Работа конференции продумана, все мероприятия организованы на высоком уровне. Мы не только интересно провели время, но и были заняты серьёзной работой. Очень гордились собой и нашим руководителем, когда представляли свой проект. Нам важно быть частью подобного мероприятия. Повышается самооценка, желание творить. Вперёд к новым вершинам, «от знаний − к практике, от практики к результату!»

Стать умнее владелец питомца с этими гаджетами

Вы, наверное, слышали о свет

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

Умный Аквариум

Аквариумная система FishBit Smart контролирует и контролирует ваш домашний аквариум с помощью сенсора, контроллера и приложения для смартфона. Впервые представленная на Kickstarter в феврале 2016 года, система поступит в продажу позднее этим летом.

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

Наконец, приложение Fishbit (доступно для iOS и Android) объединяет все. Вы будете использовать его, чтобы видеть, как работает ваш танк в режиме реального времени, получать оповещения, включать / выключать оборудование и многое другое.

Пресноводная версия FishBit Smart Aquarium System стоит 500 долларов. Система соленой воды, которая включает в себя возможность мониторинга и контроля солености, составляет 700 долларов США. Доступны скидки на предварительные заказы.

  • Pros: Тестирование уровня pH вашей воды стало проще, и нам нравится идея светодиодов с регулируемой яркостью.
  • Cons: 500 долларов, а у вас нет аквариума?

У вас есть CleverPet?

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

CleverPet, который очень похож на перевернутую миску для еды, адаптируется к рутине и уровню навыков вашей собаки. Вы можете обновить его новыми играми, используя концентратор, подключенный к Wi-Fi. Примеры типов игр включают в себя «Chase-the-Squirrel», в которой используются огни, которые перемещаются по пэдам устройства, и «Word Learn», которая учит вашу собаку реагировать на определенные слова с помощью команд с помощью вашего голоса. Когда ваша собака решает головоломку, они сразу же награждаются кусочком или двумя кусочка.

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

Как и FishKit, CleverPet начал свою деятельность как успешный проект на Kickstarter. Это начинает позже в этом году за 299 $.

  • ProsЩенкам и активным собакам это наверняка понравится.
  • Cons: Цена является огромным фактором, особенно если ваша собака говорит «нет» устройству.

Другие умные продукты для домашних животных

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

Умные дверные клапаны

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

и удобство.

Топ-оф-лайн Паспорт Pet Access Smart System использует технологию входа и выхода, которая позволяет вашему питомцу приходить и уходить, не открывая дверь. Используя технологию радиочастотной идентификации (RFID), Паспорт считывает ключ на воротнике вашего питомца. Только домашние животные с запрограммированными идентификаторами могут входить и выходить из дома, не пуская других животных.

С помощью Passport вы можете запрограммировать несколько вариантов доступа, таких как доступ только для доступа или доступ только для выхода), и планировать доступ только в определенное время дня. Вы программируете дверь на ЖК-экране с 5-кнопочной навигацией или подключением к компьютеру с помощью прилагаемого USB-кабеля.

Менее дорогой альтернативой является PetSafe Электронный SmartDoor, который обеспечивает круглосуточный доступ к вашему питомцу. Как и в случае с паспортом, электронный SmartDoor использует технологию RPID. Специальный ошейник, надетый на вашего питомца, позволяет двери открываться и закрываться.

  • Pros: Разумная цена, душевное спокойствие.
  • Cons: Где приложение?

Умные Станции Кормления

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

Ранее известная как бистро, CatFi Pro в настоящее время находится в разработке. Между тем, компания, которая стоит за CatFi Pro, предлагает коробка, устройство, похожее на Google Cardboard, которое позволяет вам общаться с вашим питомцем удаленно с помощью приложения. Для коробки требуется два смартфона, один из которых служит веб-камерой, а другой — контроллером.

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

ProsИнтересная концепция.
Cons: Пока не доступно, цена неизвестна.

Умные игрушки для домашних животных

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

iFetch Интерактивная игрушка Dog Fetch автоматическая шариковая пусковая установка для маленьких питомцев Это помогает устранить скуку и дать вашей руке отдохнуть. Для iFetch требуется шесть C-элементных батарей, или вы можете подключить его к стандартной настенной розетке. Он поставляется с тремя мини-теннисными мячами. IFetch Too доступен для более крупных собак.

Кажется, что мир становится умнее благодаря умным технологиям на дому

, Среди них — товары для животных, такие как показанные выше.

Ищете еще больше? Проверьте наш список

из лучших на рынке устройств для слежения за животными и способов побаловать своих питомцев с помощью Arduino-Powered Projects

,

Какие умные продукты у вас есть для ваших питомцев?

Изображение предоставлено: CleverPet Hub через CleverPet

Как настроить Raspberry Pi для дома: инструкции и примеры

Некоторое время назад я приобрел одноплатный мини-компьютер Raspberry Pi 4 (он же «малинка» в среде любителей), не особо понимая, как и для чего его можно использовать в домашних условиях. Скорее, это была очередная технологичная игрушка, причем за совершенно вменяемые деньги, поэтому можно было позволить себе поэкспериментировать. Забегая вперед, могу сказать, что сейчас у меня на RPi4 крутятся такие сервисы, как network-wide блокировщик рекламы AdGuard Home, система хранения бэкапов Apple Time Machine, Homebridge для добавления несертифицированных устройств в экосистему Apple HomeKit, приложение для скачивания торрентов Transmission, медиасервер PLEX и игровая ретро-консоль RetroPie. В планах проэкспериментировать с self-hosted менеджером паролей Bitwarden, open source аналогом знаменитого 1Password. Не так уж мало для такой крошки размером с пачку сигарет, верно?

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

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

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

Подготовка Raspberry Pi

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

Предположим, что Raspberry Pi с «чистой» системой Raspbian вы уже подключили к локальной сети. Если вы новичок и не знаете, с чего вообще начать, то начните с официальной инструкции (по ссылке — великолепный пошаговый мастер с массой интерактивных иллюстраций), а затем переходите к следующему этапу.

Шаг 1

Прежде всего, нужно включить доступ по SSH к вашей Raspberry Pi. Для этого нужно выполнить несколько несложных шагов:

    1. Откройте окно «Raspberry Pi Configuration» в меню «Preferences» операционной системы
    2. Нажмите на вкладку «Interfaces»
    3. Выберите «Enable» рядом со строкой SSH
    4. Нажмите на кнопку «ОК», чтобы изменения вступили в силу

Если у вас установлена Raspbian Lite без графического интерфейса, в Terminal на самой Raspberry Pi вбейте следующие команды:

sudo systemctl enable ssh
sudo systemctl start ssh

Доступ включен.

У меня компьютер с macOS, поэтому я могу сразу приступать к дальнейшим шагам, как и владельцы компьютеров с Linux. Пользователи Windows 10 тоже получили в составе своей операционной системы встроенный клиент OpenSSH некоторое время назад, но для его активации может потребоваться проделать некоторые манипуляции.

Откройте командную строку Windows или оболочку PowerShell (кому что нравится) и введите такую команду:

Get-WindowsCapability -Online | ? Name -like 'OpenSSH*'

Если клиент SSH установлен, то ответ на команду будет примерно таким:

Если же OpenSSH.Client в поле State сообщает нам, что он NotPresent, то самым быстрым способом его активации будет ввод такой команды:

Add-WindowsCapability -Online -Name OpenSSH.Client*

На этом первый этап подготовки закончен, в том числе и для пользователей Windows. Учитывая природу Raspberry Pi и тот факт, что OS Raspbian — это фактически еще одна версия Linux, в командной строке нам придется работать довольно много. Для кого-то это может показаться непривычным, но поверьте, ничего сложного или неисправимого в этом нет, так что будьте смелее. Всё получится.

Шаг 2

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

Я использую трехкомпонентную MESH-систему ASUS ZenWiFi Mini со стандартным веб-интерфейсом любого роутера этой компании. Для связывания MAC- и IP-адресов нужно выбрать устройство в списке подключенных и во всплывающем окне просто указать нужный IP. В моем случае я выбрал 192.168.50.10 просто для удобства запоминания.

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

Шаг 3

Запускаем на вашем компьютере Терминал (командную строку, PowerShell и т.д.) из стандартного комплекта macOS, Linux или Windows.

Вбиваем команду

ssh [email protected]<ip address of your server>

(где вместо <ip address of your server> вставляем IP «малинки» из предыдущего шага) и видим примерно такую картину:

Здесь нужно вбить пароль от вашей Raspberry Pi, который вы указывали при первичной настройке.

Важно! В процессе ввода пароль не будет отображаться на экране. И «звездочки» тоже не будут отображаться. Вам нужно ввести пароль буквально «вслепую» и нажать Enter.

При правильном вводе пароля результат будет примерно таким:

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

Установка и настройка AdGuard Home на Raspberry Pi

AdGuard Home, согласно заверениям разработчика — «мощный сетевой инструмент против рекламы и трекинга. С усилением роли интернета вещей становится все более и более важным управлять всей вашей сетью. После настройки, AdGuard Home будет охватывать ВСЕ ваши домашние устройства и для этого вам не понадобится программное обеспечение на стороне клиента».

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

Вернемся в окно Терминала (договоримся, что Windows PowerShell и прочие оболочки для ввода команд, далее по тексту я буду просто называть Терминалом, ладно?), вбиваем следующие команды, которые скачают и распакуют архив AdGuard Home:

cd $HOME
wget https://static.adguard.com/adguardhome/release/AdGuardHome_linux_armv6.tar.gz
tar xvf AdGuardHome_linux_armv6.tar.gz

Остается только установить сервис и запустить его:

cd AdGuardHome
sudo ./AdGuardHome -s install

Результат будет выглядеть примерно так:

AdGuard Home уже установлен! Это было просто, не так ли?

Теперь нужно посетить веб-интерфейс свежеустановленного сервиса. Запустите браузер (Safari, Chrome, Firefox или что там у вас — неважно) и в адресной строке вбейте https://<ip address of your server>:3000. В моем случае это, как мы помним, https://192.168.50.10:3000.

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

На третьем шаге вам будет предложено создать пользователя AdGuard Home и придумать ему пароль. На четвертом будет разъяснено, что IP-адрес Raspberry Pi (тот самый 192.168.50.10 в моем случае) нужно прописать в качестве DNS в соответствующем разделе настроек роутера. Сделайте это:

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

Дальше переходим к настройкам самого AdGuard Home, пока еще девственно чистого.

Если у вас есть Smart TV Samsung, LG или аналогичный, зайдите в меню «Фильтры — Добавить черный список» и там «Выбрать из списка». Активируйте соответствующий Blocklist.

Теперь нужно добавить русско/украиноязычные фильтры рекламы вручную. Снова нажмите «Добавить черный список», а затем «Добавить свой список» и последовательно вбейте следующие значения в соответствующие поля:

Имя URL-адрес
AdGuard Base filter https://filters.adtidy.org/extension/chromium/filters/2.txt
AdGuard Russian filter https://filters.adtidy.org/extension/chromium/filters/1.txt
AdGuard Tracking Protection filter https://filters.adtidy.org/extension/chromium/filters/3.txt

Для начала этих фильтров вполне достаточно.

Для сравнения я обычно использую напичканный классическими баннерами сайт exler.ru. Слева — до, справа — после применения фильтров.

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

На этом, в общем-то, всё. С этого момента все ваши домашние устройства практически не подвержены рекламному воздействию. Неприятным исключением здесь является клиентское приложение YouTube на приставках Apple TV, но тут вступают в силу ограничения архитектуры tvOS, поэтому AdGuard в этом случае бессилен.

Установка и настройка Time Machine на Raspberry Pi

Согласно Википедии, Time Machine — система резервного копирования, разработанная Apple и встроенная в Mac OS X Leopard и более поздние версии macOS, а также одноименная программа, позволяющая просматривать содержимое резервных копий и восстанавливать как отдельные файлы, так и операционную систему целиком.

Попросту говоря, это система ежечасных бэкапов, встроенная в macOS и требующая наличия совместимого файлового сервера. Именно в такой сервер можно превратить Raspberry Pi, если подключить к нему внешний USB HDD.

Для корректной работы Time Machine подходит только Raspberry Pi 4 или новее, с портами USB 3.0 (в предыдущих моделях порты более медленные) и соответствующий HDD объемом 1-3 терабайта (с внешним питанием, если это диск на 3,5 дюйма).

Важно! Есть два сетевых протокола, по которым macOS может складировать данные Time Machine в локальной сети. Устаревший Netatalk или более современная Samba. Использовать для задач Time Machine, в принципе, можно любой из них. Интернет полон инструкций по организации процесса именно через Netatalk, причем все эти инструкции разной степени вычурности, но моя задача — дать простейший, гарантированно рабочий вариант. А ваша задача — выбрать удобный для себя. Так что в статье рассмотрим оба.

Подготовка HDD

Подключаем HDD в порт USB 3.0 нашей Raspberry Pi, заходим на нее в Терминале по SSH и запускаем команду lsblk, которая выведет в консоли список подключенных дисков. Обращаем внимание на размер диска, чтобы точно убедиться, с каким из них будем работать, на его имя и точку монтирования, в моем случае это просто sda, в вашем будет еще точка монтирования, скорее всего /dev/sda‌. Она то нам и нужна.

Вводим команду ‌sudo fdisk /dev/sda (либо с любой другой точкой монтирования, актуальной в вашем случае), затем нажимаем на клавиатуре m, чтобы увидеть полный список команд. Можете даже скопировать его в отдельный текстовый файл (или воспользоваться подсказкой ниже).

GPT
M   enter protective/hybrid MBR

Generic
d   delete a partition
F   list free unpartitioned space
l   list known partition types
n   add a new partition
p   print the partition table
t   change a partition type
v   verify the partition table
i   print information about a partition

Misc
m   print this menu
x   extra functionality (experts only)

Script
I   load disk layout from sfdisk script file
O   dump disk layout to sfdisk script file

Save & Exit
w   write table to disk and exit
q   quit without saving changes

Create a new label
g   create a new empty GPT partition table
G   create a new empty SGI (IRIX) partition table
o   create a new empty DOS partition table
s   create a new empty Sun partition table

Наша задача сделать delete a partition столько раз, сколько понадобится для полной очистки диска от разделов, а затем создать один новый с помощью add a new partition. Не забываем записать изменения, то есть write table to disk and exit. Справились? Отлично.

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

Вводим команду sudo mkfs.ext4 /dev/sda1. Готово.

Теперь нужно узнать UUID нашего нового раздела.
Вводим ls -lha /dev/disk/by-uuid и видим что-то такое:

Копируем UUID от нашего sda1 в отдельный текстовый файл, если вы не пользуетесь расширенным буфером обмена с историей.

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

sudo mkdir /mnt/tm && sudo chmod -R 777 /mnt/tm && sudo chown pi:pi /mnt/tm

Монтируем диск. Для этого редактируем файл конфигурации командой

sudo nano /etc/fstab

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

Внесите изменения в открывшийся файл, добавив в него строку вида

UUID=b32c00d8-0aa8-4ec4-b01f-18cbade45e7c /mnt/tm ext4 nofail,defaults 0 2

но с вашим UUID из предыдущего шага. Должно получиться так:

Сохраните изменения, нажав Ctrl+O и Enter, а затем выйдите из редактора, нажав Ctrl+X.

Перезагрузите Rarspberry Pi командой sudo reboot и после перезагрузки снова войдите на нее по SSH.

Вбейте команду df -h и убедитесь, что диск подмонтирован к системе в точке /mnt/tm.

Отлично, диск подготовлен к работе.


Установка и настройка NETATALK (вариант 1)

Устанавливаем:

sudo apt-get install netatalk -y

Конфигурируем все в том же редакторе nano:

sudo nano /etc/netatalk/afp.conf

И делаем содержимое файла конфигурации в точности вот таким:

‌;
; Netatalk 3.x configuration file
;

[Global]
; Global server settings
  mimic model = TimeCapsule6,106

[Time Machine]
  path = /mnt/tm
  time machine = yes
  valid users = pi

; [Homes]
; basedir regex = /xxxx

; [My AFP Volume]
; path = /path/to/volume

; [My Time Machine Volume]
; path = /path/to/backup
; time machine = yes`

Не забываем сохранить результат с помощью Ctrl+O → Enter → Ctrl+X

Теперь отредактируем файл nsswitch.conf, добавив в конце строки hosts: дополнительные значения mdns4 mdns.

sudo nano /etc/nsswitch.conf

Результат должен выглядеть так:

# /etc/nsswitch.conf
#
# Example configuration of GNU Name Service Switch functionality.
# If you have the `glibc-doc-reference' and `info' packages installed, try:
# `info libc "Name Service Switch"' for information about this file.

passwd:         files
group:          files
shadow:         files
gshadow:        files

hosts:          files mdns4_minimal [NOTFOUND=return] dns mdns4 mdns
networks:       files

protocols:      db files
services:       db files
ethers:         db files
rpc:            db files

netgroup:       nis

Снова сохраняем изменения через Ctrl+O → Enter → Ctrl+X

Далее остается только запустить сервисы:

sudo service avahi-daemon start
sudo service netatalk start

И проверить их работоспособность командами:

sudo service netatalk status

и

sudo service avahi-daemon status

Результат должен выглядеть так:

Остается только зайти в Настройки macOS, выбрать раздел Time Machine и увидеть в доступных дисках нашу Raspberry Pi.

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

Готово, общепринятый вариант через Netatalk настроен. Теперь каждый раз, когда ваш Mac окажется в одной локальной Wi-Fi-сети с Raspberry Pi, резервные копии будут автоматически складироваться на ваш диск.

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

Установка и настройка SAMBA (вариант 2)

Устанавливаем Samba:

‌sudo apt-get install samba

Задаем пользовательский пароль (для все того же пользователя pi) и редактируем конфигурацию. Сначала пароль:

‌sudo smbpasswd -a pi (можно использовать тот же, что и для SSH).

И затем конфигурация Samba все в том же редакторе nano:

‌sudo nano /etc/samba/smb.conf

Содержимое блока [global] должно в итоге выглядеть так:

[global]
security = user
encrypt passwords = true
map to guest = bad user
guest account = nobody

В самый конец файла конфигурации добавляем новый блок:

[TimeCapsule]
comment = Time Capsule
path = /mnt/tm
browseable = yes
writeable = yes
create mask = 0600
directory mask = 0700
spotlight = no
vfs objects = catia fruit streams_xattr
fruit:aapl = yes
fruit:time machine = yes

И сохраняем результат: Ctrl+O, Enter, Ctrl+X.

Перезапускаем сервис:

‌sudo systemctl restart smb.service

Готово. Остается, как и в случае с Netatalk, найти диск в списке доступных в панели настроек Time Machine.

Установка и настройка Homebridge на Raspberry Pi

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

Homebridge – это сервер на основе NodeJS, и использующий API Homekit для интеграции устройств без сертификации и изначальной поддержки работы с Apple HomeKit.

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

Начнем. Как обычно, заходим на Raspberry Pi по SSH и выполняем несколько шагов.

Установка Node.js

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

# setup repo
curl -sL https://deb.nodesource.com/setup_14.x | sudo bash -

# install Node.js
sudo apt install -y nodejs gcc g++ make python net-tools

# test node is working
node -v

# upgrade npm (version 6.13.4 has issues with git dependencies)
sudo npm install -g npm

Установка Homebridge и Homebridge Config UI X

Для начала установим основу следующей командой…

‌sudo npm install -g --unsafe-perm homebridge homebridge-config-ui-x

…и запустим в качестве системного сервиса.

‌sudo hb-service install --user homebridge

Настройка Homebridge через веб-интерфейс

В браузере на компьютере перейдите по адресу http://<ip address of your server>:8581 где вместо <ip address of your server> все тот же IP из самого начала статьи, в моем случае

Дефолтные значения пользователя и пароля одинаковые: admin

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

Сделали? Отлично, дальше будем настраивать плагины.

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

Мой комплект плагинов на момент написания статьи:

  • Homebridge UI (входит в базовую комплектацию и собственных настроек не имеет)
  • Hue (для управления освещением Philips Hue)
  • Apple TV Remote (для управления приставками Apple TV)
  • Mqttthing (для управления лампой Гайвера с прошивкой от Whilser)
  • Samsung Tizen (для управления Smart TV Samsung с Tizen OS)
  • Weather Plus (для автоматизации умного дома в зависимости от погодных условий)
  • Yeelight WiFi (для управления лампами Xiaomi Yeelight)

Пойдем по порядку.

Настройка плагина Hue

Для установки любого плагина в Homebridge достаточно перейти на соответствующую вкладку веб-интерфейса, вбить в строку поиска название нужной железки и выбрать плагин и списка доступных. Рекомендую обращать внимание на метку «🛡Verified», версию и дату обновления плагина (если автор его уже пару лет не обновлял, велики шансы, что и работать он не будет) и обязательно открывать ссылку на домашнюю страницу плагина, где обычно подробно описан процесс установки.

Нажимаем кнопку «Установить» на плашке нужного плагина и ждем минуту-другую, пока плагин не установится.

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

Заполнив данные и обязательно сохранив результат, нужно только нажать центральную кнопку на хабе Philips Hue и подождать секунд 15, пока плагин распознает хаб. Готово!

Остается только взять в руки iPhone, навести его камеру на QR-код, расположенный на вкладке «Статус» веб-интерфейса Homebridge и добавить его в качестве моста в ваш HomeKit.

Если HomeKit как таковой у вас уже был заранее настроен (выбрана Apple TV или iPad в качестве основного хаба, добавлены комнаты и т. д.), то пошаговый мастер сразу же предложит распределить все найденные осветительные приборы Hue по соответствующим комнатам и дать каждому прибору какое-то имя. У меня в гостиной, к примеру, есть лампочки «Потолок 1», «Потолок 2» и «Потолок 3», но средствами самого HomeKit на iPhone (пункт «Объединить с другими устройствами») я объединил их в логическую группу «Верхний свет», мне так удобнее. При этом в той же гостиной у меня есть «Торшер» и «Ночник» — отдельные устройства, но Siri без всякого дополнительного обучения прекрасно понимает самые разные команды:

  • «Включи свет в гостиной (загораются все лампы в гостиной)»
  • «Включи торшер»
  • «Яркость ночника двадцать процентов»
  • «Включи ночник»
  • «Выключи верхний свет»
  • «Синий цвет на торшер»
  • «Выключи свет в гостиной (выключает все лампочки в гостиной)»
  • «Выключи весь свет (выключает освещение по всей квартире)»

И так далее. Если у вас грамотно настроена Apple-семья, соответствующие и абсолютно логичные команды автоматически становятся доступны всем участникам с внесёнными в вашу семью Apple ID.

Настройка плагина Apple TV Remote

Этот плагин я использую с одной единственной целью: создать дополнительный выключатель для приставки Apple TV. Дело в том, что в Apple HomeKit есть возможность запрограммировать, например, включение воспроизведения альбома или плейлиста по заранее заданному условию, вроде «Когда я прихожу домой». И все бы хорошо, но если приставка в это время спит, то наличие такого сценария не в состоянии её разбудить. А вот дополнительный виртуальный выключатель — может. Поехали:

Шаг 1. Устанавливаем сервис для подхвата учетных данных Apple TV

sudo npm install -g node-appletv-x

Шаг 2. Ищем доступные в локальной сети приставки Apple TV

sudo appletv pair

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

% appletv pair        
✔ Connecting to Living Room
✔ Initiating Pairing
? Enter the 4-digit pin that's currently being displayed on Living Room

На шаге ‌? Enter the 4-digit pin that's currently being displayed on... на экране вашей выбранной приставки Apple TV появится стандартный код из четырех цифр для сопряжения с пультом (в нашем примере это будет 1234), который нужно вбить прямо там же в консоли.

% appletv pair
✔ Connecting to Living Room
✔ Initiating Pairing
? Enter the 4-digit pin that's currently being displayed on Living Room 1234
✔ Completing Pairing Credentials: 77346115-ED48-46A8-A288-<snip>

Вместо <snip> будет несколько строк мешанины из букв и цифр, их нужно скопировать в отдельный текстовый файл целиком, начиная от первой цифры в строке Credentials:. Чуть позже эти самые credentials нам очень пригодятся.

Шаг 4. Добавляем на вкладке «Конфигурация» веб-интефейса Homebridge вот такой блок в раздел конфига "platforms": [

{
   "platform": "AppleTvPlatform",
   "name": "Apple TV Platform",
   "devices": [
      {
         "name": "Гостиная",
         "credentials": "77346115-ED48-46A8-A288-<snip>",
         "isOnOffSwitchEnabled": true,
         "onOffSwitchName": "Apple TV"
      }
   ]
},

…и в строку "credentials": как раз и вставляем полное содержимое текстового файла из предыдущего шага.

Имя для приставки выбираем любое, «Гостиная» здесь только для примера.

Шаг 5. Устанавливаем сам плагин.

На вкладке «Плагины» веб-интерфейса Homebridge вбиваем в строку поиска Apple TV Remote и нажимаем кнопку «Установить». После установки плагина будет предложено перезагрузить Homebridge, это делается нажатием на соответствующую кнопку.

Готово, на iPhone в HomeKit появился новый выключатель, который теперь можно добавить во все сценарии, где требуется автоматическое включение приставки.

Голосовые команды, вроде «Siri, включи Apple TV» или «Siri, выключи Apple TV» также автоматически поддерживаются. Причем если настроить несколько приставок в разных комнатах, то Siri также автоматически начнет понимать требование выключить Apple TV в конкретной комнате или же все сразу.

На самом деле, плагин этот стремительно развивается, уже умеет распознавать Bundle ID для запущенных на приставке приложений и вмешиваться в их работу, например, ставить на паузу фильм в Netflix. Но с этим вы уже разберетесь самостоятельно, если будет желание.

Настройка плагина Mqttthing

Этот плагин я использую с упоминавшейся выше лампой Гайвера — самодельным светильником с платой Arduino и матрицей адресных светодиодов 16х16. В саму лампу должна быть залита прошивка от Whilser. Да пребудет с нами сила.

Шаг 1. Установка MQTT брокера

Выполняем ряд команд. Пакетно они не работают, поэтому вводим их в консоль по одной.

sudo wget http://repo.mosquitto.org/debian/mosquitto-repo.gpg.key
sudo apt-key add mosquitto-repo.gpg.key
cd /etc/apt/sources.list.d/
sudo wget http://repo.mosquitto.org/debian/mosquitto-stretch.list
sudo apt update
sudo apt install mosquitto mosquitto-clients
sudo /etc/init.d/mosquitto stop
sudo nano /etc/mosquitto/mosquitto.conf

Последняя команда запускает уже знакомый нам редактор nano, в котором мы заменяем содержимое открывшегося файла на такое:

# Place your local configuration in /etc/mosquitto/conf.d/
#
# A full description of the configuration file is at
# /usr/share/doc/mosquitto/examples/mosquitto.conf.example

# pid_file /var/run/mosquitto.pid

allow_anonymous true
listener 1883

persistence true
persistence_location /var/lib/mosquitto/

log_dest topic

log_type error
log_type warning
log_type notice
log_type information

connection_messages true
log_timestamp true

include_dir /etc/mosquitto/conf.d

Как обычно, Ctrl+O, Enter, Ctrl+X, а затем перезапускаем брокер командой

‌sudo /etc/init.d/mosquitto start

MQTT брокер установлен.

Шаг 2. Установка плагина Mqttthing

Привычно идем на вкладку «Плагины» в веб-интерфейсе Homebridge, ищем Mqttthing и нажимаем «Установить».

Шаг 3. Конфигурация плагина Mqttthing

Каждая лампа Гайвера обладает собственным ID чипа ESP. Например, ESP-3bd20b. Если вы изготавливали и прошивали лампу сами, то прекрасно об этом осведомлены, если нет, то переведите лампу в режим сопряжения и при подключении к вашей WiFi сети в соответствующем диалоговом окне на iPhone отобразится искомый ID. Запишите его.

  1. Отключите питание лампы;
  2. Отключите роутер;
  3. Включите питание лампы;
  4. На iPhone зайдите в «Настройки → WiFi»
  5. Выберите незащищенную сеть с SSID вроде «ESP12345678» и в открывшемся диалоговом окне нажмите «Configure WiFi»
  6. В самом низу окна конфигурации будет искомый Chip ID

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

Откройте вкладку «Конфигурация» веб-интерфейса Homebridge и в раздел "accessories": [ внесите вот такой огромный кусок кода, заменив предварительно ID с ESP-3bd20b на свой собственный:

{
    "accessory": "mqttthing",
    "type": "lightbulb",
    "name": "Ночник",
    "url": "http://127.0.0.1:1883",
    "mqttPubOptions": {
        "retain": false
    },
    "topics": {
        "getOn": "homeassistant/light/ESP-3bd20b/status",
        "setOn": "homeassistant/light/ESP-3bd20b/switch",
        "getBrightness": "homeassistant/light/ESP-3bd20b/brightness/status",
        "setBrightness": "homeassistant/light/ESP-3bd20b/brightness/set",
        "getRGB": "homeassistant/light/ESP-3bd20b/rgb/status",
        "setRGB": "homeassistant/light/ESP-3bd20b/rgb/set"
    },
    "onValue": "ON",
    "offValue": "OFF"
},
{
    "accessory": "mqttthing",
    "type": "television",
    "name": "Эффекты ночника",
    "url": "http://127.0.0.1:1883",
    "topics": {
        "setActive": "homeassistant/light/ESP-3bd20b/switch",
        "getActive": "homeassistant/light/ESP-3bd20b/status",
        "setActiveInput": "homeassistant/light/ESP-3bd20b/effect/set",
        "getActiveInput": "homeassistant/light/ESP-3bd20b/effect/status"
    },
    "inputs": [
        {
            "name": "Конфетти",
            "value": "Конфетти"
        },
        {
            "name": "Огонь",
            "value": "Огонь"
        },
        {
            "name": "Радуга верт.",
            "value": "Радуга верт."
        },
        {
            "name": "Радуга гориз.",
            "value": "Радуга гориз."
        },
        {
            "name": "Смена цвета",
            "value": "Смена цвета"
        },
        {
            "name": "Безумие 3D",
            "value": "Безумие 3D"
        },
        {
            "name": "Облака 3D",
            "value": "Облака 3D"
        },
        {
            "name": "Лава 3D",
            "value": "Лава 3D"
        },
        {
            "name": "Плазма 3D",
            "value": "Плазма 3D"
        },
        {
            "name": "Радуга 3D",
            "value": "Радуга 3D"
        },
        {
            "name": "Павлин 3D",
            "value": "Павлин 3D"
        },
        {
            "name": "Зебра 3D",
            "value": "Зебра 3D"
        },
            {
            "name": "Лес 3D",
            "value": "Лес 3D"
            },
        {
            "name": "Океан 3D",
            "value": "Океан 3D"
        },
        {
            "name": "Снегопад",
            "value": "Снегопад"
        },
        {
            "name": "Матрица",
            "value": "Матрица"
        },
        {
            "name": "Светлячки",
            "value": "Светлячки"
        },
            {
            "name": "Аквариум",
            "value": "Аквариум"
        },
        {
            "name": "Звездопад",
            "value": "Звездопад"
        },
        {
            "name": "Пейнтбол",
            "value": "Пейнтбол"
        },
        {
            "name": "Спираль",
            "value": "Спираль"
        },
        {
            "name": "Теплый свет",
            "value": "Теплый свет"
        },
        {
            "name": "Маятник",
            "value": "Маятник"
        },
        {
            "name": "Мерцание",
            "value": "Мерцание"
        },
        {
            "name": "Полицейская сирена",
            "value": "Полицейская сирена"
        },
        {
            "name": "Дрейф",
            "value": "Дрейф"
        },
        {
            "name": "Стая",
            "value": "Стая"
        }
    ],
    "onValue": "ON",
    "offValue": "OFF"
}

Готово. В Apple HomeKit появилось два новых устройства, лампа «Ночник» и «Эффекты ночника». Они взаимосвязаны и их предназначение вполне понятно. При желании можно переименовать их в конфиге.

Настройка плагина Samsung Tizen

Шаг 1. Проверка телевизора на совместимость

В панели управления роутером присвойте телевизору статичный локальный IP, как делали это для Raspberry Pi в самом начале. Например, в моем случае это 192.168.50.100.

В браузере на компьютере перейдите по адресу http://TV_IP:8001/api/v2/, что в моем случае означает http://192.168.50.100:8001/api/v2/

Если вы увидите страницу с кучей служебной информации примерно такого вида…

{"device":{"FrameTVSupport":"false","GamePadSupport":"true","ImeSyncedSupport":"true","OS":"Tizen","TokenAuthSupport":"true","VoiceSupport":"false","countryCode":"UA","description":"Samsung DTV RCR","developerIP":"0.0.0.0","developerMode":"0","duid": ......

…то это означает, что шансы на успех есть. Но нужно понимать, что не все модели телевизоров Samsung совместимы с плагином. Например, требующие идентификации через PIN, работать не будут.

Скопируйте со служебной страницы значение поля "wifiMac": и приготовьте пульт от телевизора, пусть будет под рукой.

Шаг 2. Установка плагина

Ничего нового, ищем плагин по запросу Samsung Tizen, выбираем нужный (авторства @tavicu) и устанавливаем.

После запуска идем в настройки и прописываем там следующие значения:

Названия «Телевизор» вполне достаточно, так как Siri прекрасно понимает просьбу включить телевизор в гостиной, в которой у вас вряд ли 2 телевизора. Так же прекрасно она понимает команду «включи телевизор в спальне», не дергая телек в гостиной лишний раз.

Шаг 3. Сопряжение с телевизором

Тут все просто: возьмите в руки пульт от телевизора и дождитесь появления на экране всплывающего меню с предупреждением о попытке некоего устройства взять контроль над телевизором. Телевизор, естественно, должен быть включён. Когда в верхнем правом углу экрана появится соответствующий запрос, пультом от ТВ выберите кнопку Allow. Готово.

Шаг 4. Добавляем телевизор в Apple HomeKit

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

  1. Запустите Home app и на главной странице нажмите + в верхнем правом углу;
  2. Выберите «Добавить аксессуар»;
  3. Внизу экрана нажмите «Нет кода или нет возможности сканировать»;
  4. На следующем экране выберите ваш ТВ;
  5. На предложение ввода кода настройки HomeKit нажмите «Использовать камеру»;
  6. Наведите камеру на QR-код на вкладке «Статус» Homebridge.

Шаг 5. Настройки плагина

Глубоко покопавшись в документации к плагину, можно заставить Siri запускать на телевизоре конкретные приложения из списка установленных, ставить их на паузу и так далее. Мы же сейчас в качестве тренировки изменим функциональность одной единственной кнопки в виртуальном пульте Apple Remote, встроенном в «шторку» Пункта управления iOS.

Это кнопка ℹ︎ (information), по умолчанию выводящая в верхней части экрана ТВ информацию о текущем режиме изображения. При этом добраться с пульта Apple Remote до списка установленных в телевизоре приложений нет никакой возможности. И мы это сейчас исправим.

Заходим в настройки плагина, раздел «Key Mapping», ищем поле «INFORMATION» и меняем его значение на KEY_HOME. Перезапуск Homebridge и вуаля — кнопочка ℹ︎ в виртуальном пульте вызывает основное меню приложений! Виртуальный пульт обрел смысл.

Настройка плагина Weather Plus

Шаг 1. Создание учетной записи OpenWeather

Идем на сайт https://home.openweathermap.org и регистрируем себе учетную запись, благо это бесплатно.

Шаг 2. Генерация ключей API

Перейдите на соответствующую вкладку личного кабинета OpenWeather и, задав имя ключу, нажмите кнопку «Generate».

Шаг 3. Установка и настройка плагина Weather Plus

Уже привычным методом ищем и устанавливаем нужный плагин, а затем переходим в его настройки. Результат должен выглядеть примерно так:

В прогнозе меня лично интересуют только значения на ближайший час, поэтому остальные попросту отключены:

А чтобы лишние виртуальные датчики погоды не раздражали ненужными срабатываниями, отключаем их в соответствующем разделе Hide Values. Отключить желательно:

  • Air Pressure
  • Cloud Cover
  • Dew Point
  • Temperature Apparent
  • Wind Direction
  • UV Index
  • Wind Speed
  • Wind Speed Max

И нажать «Сохранить» в самом низу окна настроек.

В результате в интерфейсе Apple HomeKit появятся значения температуры и влажности на ближайший час, а заодно два виртуальных датчика «Снег» и «Дождь», которые можно использовать в разнообразных сценариях. Например, у меня запрограммирована автоматизация HomeKit, в которой, при появлении в прогнозе на ближайший час дождя или снега, лампа Гайвера в течение минуты демонстрирует соответствующий эффект лужи или падающих снежинок. При этом включится эффект только в промежутке с 8:00 до 23:00 и только в том случае, если кто-то есть дома. В другое время предупреждения взять зонт или одеться в непромокаемую одежду вряд ли понадобятся.

Настройка плагина Yeelight WiFi

По запросу Yeelight Homebridge предлагает к установке массу плагинов, в том числе один верифицированный. Но я предпочитаю другой, в котором переходы между состояниями сделаны максимально плавно, а не в стиле «на лагерь обрушилась ночь». Кроме того, он поддерживает адаптивное освещение от Apple, а вот стандартное приложение Xiaomi этому так и не обучилось за год с момента появления этой возможности в HomeKit.

Важно! Оставьте включенной только одну лампочку Xiaomi, чтобы избежать путаницы поначалу. С ней и будем работать.

После установки плагина перезагрузите Homebridge и в логе найдите примерно такую строку: ‌[Yeelight] Received advertisement from ab1234. Вот это условное ab1234 и есть ваша лампочка. Возможно, значение будет color-ab1234, тогда будете работать с ним.

Зайдите в настройки плагина и вставьте туда вот такой кусок кода:

{
    "platform": "yeelight",
    "name": "Yeelight",
    "transitions": {
        "power": 400,
        "brightness": 400,
        "color": 1500,
        "temperature": 1500
    },
    "multicast": {
        "interface": "0.0.0.0"
    },
    "defaultValue": {
        "color-ab1234": {
            "name": "Торшер",
            "blacklist": [
                "set_hsv"
            ]
        }
    }
}

Где вместо color-ab1234 должно быть значение из вашего лога, а вместо ‌"name": "Торшер" любое название, отображающее место вкрутки лампы: Ночник, Бра, Потолок и т. д.

Сохраните вставленный код, нажав на кнопку «Сохранить», и перезагрузите Homebridge. Готово, лампочка появилась в HomeKit под выбранным вами названием. Остальные лампочки Yeelight добавляются по одной нажатием кнопки «+ADD PLATFORM» там же в настройках плагина точно таким же способом.

Обновление Homebridge и Node.JS на Raspberry Pi

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

А вот с обновлением Node.JS и NPM, которые рано или поздно потребуются при установке обновления какого-нибудь плагина, не так просто. Точнее, команды не совсем те, что описаны в стандартных инструкциях.

Node.JS обновляется командой:

sudo hb-service update-node

А NPM аж двумя последовательными:

sudo npm cache clean -f
sudo npm install -g npm

К сожалению, ни сам Homebridge, ни его плагины, ни «рельсы», на которых он едет, не умеют обновляться автоматически. А заходить каждый день в панель управления и проверять, нет ли чего нового, рано или поздно надоедает. Так что для автоматизации процесса придумали специальный виджет под iOS 14, который отслеживает состояние всех узлов Homebridge и умеет визуально и PUSH-уведомлениями сигнализировать о наличии обновлений или каких-то проблемах.

Установка виджета Homebridge Status

Как видите, виджет показывает массу нужной и не очень информации о вашем Homebridge, но самое ценное в нем — это информация о состоянии самого Homebridge, его плагинов и Node.JS.

Для получения самого виджета сначала нам понадобится его материнское приложение. Установите его на iPhone из App Store.

А теперь начинается довольно длительный, но увлекательный процесс установки виджета. Устанавливать мы его будем с помощью еще одного скрипта с названием ScriptDude внутри приложения Scriptable. ScriptDude хорош тем, что отслеживает изменения в коде массы скриптов, расположенных в галерее по адресу scriptables.net. Возможно, вы найдете там для себя еще что-то полезное, но сейчас у нас одна задача, ее и будем решать.

Шаг 1. Устанавливаем Scriptable.app из App Store.

Шаг 2. Открываем в браузере на iPhone сайт scriptdu.de и нажимаем кнопку Install ScriptDude.

Шаг 3. На открывшейся странице нажимаем на кнопку Copy Installer и, получив уведомление о коде скрипта в нашем буфере обмена, нажимаем кнопку Open Scriptable.

Шаг 4. В пустое поле с заголовком Untitled Script вставляем содержимое буфера обмена и нажимаем кнопку Play ▶️.

Шаг 5. На открывшемся экране нажимаем ссылку Browse scriptables.net и на следующей странице тапаем по тегу (technology). Ура, скрипт Homebridge Status — первый в списке! Смело жмем на кнопку Download with ScriptDude.

Шаг 6. Нажимаем Install и, согласившись аж с двумя предупреждениями, видим в списке Installed вожделенный скрипт. Главный экран Scriptables теперь выглядит так, как на четвертом скриншоте ниже, а мы нажимаем на троеточие в плашке Homebridge Status и переходим к редактированию параметров.

Шаг 7. В первую очередь меняем значение overwritePersistedConfig с false на true

overwritePersistedConfig = true

чтобы сохранить параметры скрипта в iCloud.

Шаг 8. Спустившись чуть ниже, редактируем три поля: IP адрес и порт Homebridge (помните, это уже упоминавшийся http://<ip address of your server>:8581 где вместо <ip address of your server> все тот же IP из самого начала статьи, в моем случае ) и соглашаемся с предупреждением о поиске устройств в локальной сети. Ура, скрипт работает!

Остается только добавить виджет на экран iOS 14 так же, как и любой другой. После добавления нужно зайти в настроки виджета (долгий тап на нём) и указать ряд параметров: выбрать нужный скрипт, указать, что делать при взаимодействии с ним, и в поле Parameter внести такое значение

USE_CONFIG:purple.json

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

overwritePersistedConfig = false

На этом всё. Виджет работает, а при появлении обновлений Node.JS, Homebridge или его плагинов, вы будете получать PUSH-уведомления с соответствующим содержимым.

Заключение

Возможности Apple HomeKit для меня возросли многократно. Я придумал кучу сценариев и автоматизаций, которые облегчают жизнь мне и моим близким.

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

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

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

Работают утренние и вечерние музыкальные миксы от Apple, к которым привязаны световые эффекты лампы Гайвера. Можно и остальное освещение заставить работать цветомузыкой, но я не в восторге от эффекта.

В общем, сценарии применения зависят только от вашей фантазии и не сильно напрягут кошелек, так как товары с меткой «Works with Apple HomeKit» больше не являются единственно доступным выбором.

В следующей статье цикла мы с вами немного поразвлекаемся: научим нашу Raspberry Pi качать торренты, превратим в мощный медиацентр и игровую ретро-консоль.

Stay tuned!

Zero — Raspberry PI 3 и Raspberry PI 4

Звуковая плата WM8960 hi-fi для Raspberry Pi и Zero со стерео кодеком и функцией воспроизведение и запись.

Раздел: Zero Без рубрики Метки: Звуковая плата WM8960 hi-fi для Raspberry Pi и Zero

RS485 плата расширения  будет позволяет вашим raspberry Pi общаться с другими устройствами стабильно через RS485 интерфейс.

Раздел: Zero Без рубрики Метки: RS485, плата расширения для Raspberry Pi Zero/Zero W/Zero WH/2B/3B/3B +

Этот адаптер обеспечивает ваш Raspberry Pi Zero usb-разъемом типа A, который делает Zero подключаемым к usb-порту компьютера, не нуждается в дополнительном кабеле или блоке питания. Малые изменения,  зато огромное удобство.

Раздел: Zero Метки: USB адаптер разъем для Raspberry Pi Zero/Zero W/Zero WH

Эта плата расширения подключается к Raspberry Pi Zero (RPi0) или Zero W (Беспроводной) через пружинные контакты чтобы обеспечить полный размерный  usb-разъём. С помощью этого типа установки вы можете иметь портативное устройство для выполнения проектов Responder или PoisonTap.

Раздел: Zero Метки: Плата расширения raspberry Zero с USB разъемом

Zeroview это комплект на базе raspberry pi Zero, включает в себя камеру 5 МПикс, а также плату с держателем. Собрав его вы можете закрепить на окно или аквариум и наслаждаться фото и видео.

Раздел: Zero Метки: ZeroView

Sense HAT — официальная плата расширения от Raspberry Pi Foundation. Она создана для обучения работе с GPIO и несет на себе: матричный 8×8 дисплей из RGB-светодиодов пятипозиционный джойстик датчик относительной влажности датчик температуры барометр магнитометр акселерометр гироскоп

Раздел: Zero Без рубрики Метки: Raspberry Pi Sense HAT

Это позволяет вашей raspberry легко сделать телефонный звонок, отправить сообщения, подключиться к беспроводному интернету, определить глобальную позицию, передача данных через Bluetooth, и так далее. Плата  расширения GSM/GPRS/GNSS/Bluetooth 3.0 для Raspberry Pi Raspberry Pi подключение, совместимость с Raspberry Pi 2b/3b/zero w Поддерживает смс, телефонный звонок, gprs, DTMF, HTTP, FTP, MMS, email и др. Поддержка GPS, компаса,… Читать далее »

Раздел: Zero Без рубрики Метки: Плата GSM/GPRS/GNSS/Bluetooth 3.0 для Raspberry Pi 2b/3b/zero w

Самый быстрый 2.8 дюймовый тачскрин для Raspberry Pi zero/w, супер HD Разрешение 640×480, 60 + кадров в секунду Идеально подходит для вашего Pi zero/zero w, портативный монитор Настраиваемая плата для 2.8-дюймов Высокая скорость отклика экрана Raspberry Pi Он также подходит для Raspberry Pi 3 модели B/2b/b + Рабочий ток: 100 мАч

Раздел: Zero Без рубрики Метки: Сенсорный экран 2.8 дюймов для Raspberry Pi 3 или Zero W

Красиво современный светлое настроение, что будет отлично смотреться на тумбочке, книжный шкаф, или стол, и он подключен к интернету! Наш набор света Mood Light имеет всё, что вам будет нужно плату  pHAT с 32 программируемыми  RGB Neopixel. Использовать можно встроенный адаптер беспроводной сети на raspberry ZERO W. Сборка займет около 30 минут, чтобы собрать всё.

Раздел: Zero Метки: Настроение света Mood Light проект на raspberry Zero W

Симпатичная  аккуратная камера, которая может держаться на вашем окне или стеклянной дверце шкафа или сидеть на полке! В комплекте OctoCam есть все, что вам нужно, в том числе Pi Zero W, супер-маленькая 5-мегапиксельная камера, забавная акриловая подставка для осьминога с четырьмя присосками и подставка для стола. Это займет у вас около 30 минут, чтобы собрать… Читать далее »

Раздел: Zero Метки: cctv, cctv raspberry, OctoCam, комплект на raspberry Zero W видеонаблюдения

Хакатон з Інтернету речей

 

Хакатон по Интернет вещей

7 ноября 2015г. в Южноукраинском национальном педагогическом университете имени К.Д. Ушинского, при поддержке компаний DataArt, Intel и Microsoft, прошел второй хакатон (марафон программистов) по Интернету вещей (Всеобщий интернет) в Одессе.

Программистам и студентам Одесских университетов предлагалось создать проект в области Интернета вещей на основе облачного сервиса Device Hive разработанного компанией DataArt, либо решений Microsoft Azure. В процессе реализации своих идей участники проекта могли использовали любое оборудование, способное взаимодействовать с платформами. Дополнительно, участникам хакатона были предоставлены лабораторные стенды от компании DataArt, разработанные на базе микроконтроллеров  Galileo 2 и Edison от Intel, а также микроконтроллеры Raspberry PI2, предложенные компанией Microsoft.

Участвовать в бесплатном хакатоне мог любой желающий. Для этого надо было  иметь идею для проекта, базовые навыки программирования,  понимание функционирования платформ DeviceHive либо Azure, а также владеть возможностями одного из микроконтроллеров: Galileo 2, Edison либо Raspberry PI2.

Проведению хакатона предшествовал  IT talk «Облачная платформа Microsoft Azure», проведенный 8 октября 2015 г. компанией Microsoft в Южноукраинском национальном педагогическом университете для разработчиков, преподавателей университетов, учителей школ, студентов и школьников города. Второй IT talk «Интернет вещей» для разработчиков и студентов университетов провела 20 октября 2015 г. компания DataArt.

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

- Учебные материалы по облачной технологии Device Hive; 

- Руководство по микроконтроллеру Galileo 2 и Edison от Intel;  
- Взаимодействие Device Hive с Galileo 2 и Edison;

- Установка необходимого программного обеспечения для Galileo 2 и Edison;
- Бесплатный пробный Microsoft Azure;

- Активация доступа к Azure;

- Инструкции по активации Microsoft Azure Pass;

- Примеры работы с технологиями: Arduino + Raspberry PI, Arduino Yun;

- Серии статей  от Intel и Microsoft и др.

Онлаин консультации по возникающим у потенциальных участников вопросам оказывали специалисты DataArt и Microsoft. До проведения соревнования с участниками хакатона состоялись две предварительные встречи, на которых организаторы ответили на вопросы,  участники получили критерии проектов, познакомились и  организовали команды.

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

Участники предложили следующие проекты:

  1. «Энергоэффективность дома за счет внедрения интеллектуальных технологий».
  2. «Умные глаза» - управление оборудованием с помощью перемещения зрачка глаза.
  3. «Умная сигнализация дома».
  4. «Умный аквариум» - получение информации и управление удаленным аквариумом.
  5. «Безопасный дом».
  6. «Эковольт» - «умная розетка».
  7. «Энергоэффективность дома – учет и контроль потребления газа».

 

 Оценивали результаты работы жюри, в состав которого входили сотрудники компаний DataArt и Microsoft, преподаватели национальной Академии связи и Южноукраинского национального педагогического университета. Первый приз – микроконтроллер Galileo 2 от Intel получил студент четвертого курса национального технического университета Шпирна С.С. Остальные команды получили различные призы от компаний Intel и Microsoft.

Reef-Pi: лучшая система управления аквариумом Raspberry Pi

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

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

Риф-Пи

К счастью, автор системы обучения Adafruit и любящий родитель рыб Ранджиб Дей работает над серией руководств под названием Reef-Pi, сборником практических руководств, которые помогут вам создать лучшую систему управления рифовым аквариумом Raspberry Pi.

@reef_pi на сайте makerfaire # MFBA18 pic.twitter.com/ZK2d6jLKjW

- Ранджиб Дей (@RanjibDey) 19 мая 2018 г.

Reef-Pi контролирует pH, химический уровень и уровень воды, контролирует температуру, свет и мощность, а также автоматизирует управление этими аспектами, чтобы вам не приходилось думать о них.Уф!

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

Любой повод показать миру красавицу Джин

Взять, к примеру, мою новую Бетту, Жан Таннен. Хотя резервуар Джина гораздо меньше по размеру, а Жан - его единственный житель (на данный момент), мне все еще нужно следить за химическим балансом его воды, теплотой его резервуара и когда его свет должен быть включен или выключен. .Даже самые обычные золотые рыбки оценят многие из сервисов, которые Reef-Pi автоматизирует.

Система Reef-Pi использует множество компонентов, включая Raspberry Pi Zero и / или Raspberry Pi 3, и каждый этап создания проекта хорошо документирован в системе обучения Adafruit. Так что, если вы хотите обновить свой аквариум или всегда мечтали завести домашних рыбок, но не хотите хлопот, связанных с управлением аквариумом, попробуйте Reef-Pi и посмотрите, что вы думаете.

Мы попробуем!

Сара, наш новый операционный менеджер, хотела обновить свой гигантский аквариум с помощью одного или двух Raspberry Pi, поэтому мы обязательно поделимся ее успехами в новом году.Если вы решите попробовать Reef-Pi или уже автоматизировали свой аквариум с помощью Pi, сообщите нам об этом в комментариях или отметьте нас в Twitter или Instagram!

SmartAquarium: 8 шагов (с изображениями)

Arduino

Язык программирования - C ++, а используемые библиотеки специально разработаны для Arduino.

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

- Требования:

- Во-первых, вам необходимо установить программное обеспечение Arduino, вы можете загрузить его для Windows, Linux или Mac OS X по адресу: https://www.arduino.cc/en/Main/Software

- Затем вам нужно будет установить библиотеки, указанные ниже, вы можете найти эти файлы в интернет-хранилище или напрямую загрузить их из вложений выше. Папка содержит следующие файлы, после загрузки вам нужно будет поместить их в следующий каталог на вашем компьютере: C: \ Program Files (x86) \ Arduino \ libraries

OneWire.h (Датчик температуры)

DallasTemperature.h (Датчик температуры)

LiquidCrystal.h (Дисплей)

Servo.h (Серводвигатель)

Raspberry

Язык программирования Raspbian основан на Debian и оптимизирован для Raspberry Pi.

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

После того, как вы установили Raspbian и обновили его, VNC и шпатлевка - единственное, что вам понадобится для удаленного доступа к Raspberry.Программное обеспечение winSCP также потребуется для простой передачи файлов с вашего компьютера на Raspberry.

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

Обратите внимание, что Putty не поддерживает библиотеку Tkinter, используемую для нашего приложения. (только консоль)

- Требования:

- Установите операционную систему Raspbian и обновите ее, в Интернете много руководств

- Для VNC выполните процедуру на: http: // the-raspberry.com / vnc и установите соединение между вашим компьютером и Raspberry.

- Установите библиотеки Python: sudo apt-get install python

- Перенесите файлы picture.gif и SmartFish.py в каталог по вашему выбору.

- Откройте скрипт и запустите его.

Умный аквариум Raspberry Pi 3 - Проекты, созданные с использованием Cayenne

Об этом проекте

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

Я всегда думал о том, как круто будет иметь возможность следить за своим аквариумом с компьютера, но никогда не думал, что у меня есть знания для этого. В прошлом году я купил Raspberry Pi 3 и реализовал с ним различные проекты, не связанные с аквариумом. Поразмыслив, я решил купить датчик температуры и попытаться контролировать температуру в аквариуме. До того, как я встретил Cayenne, я регистрировал свои временные данные в базе данных Sqlite, но, не имея опыта программирования, я отказался от попыток выяснить, как разместить свои данные на веб-сайте с графиками и всем этим джазом.

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

Итак, теперь я начинаю свой новый проект «Умный аквариум» ... в любом случае, начнем с первого этапа. На первом этапе будет выполнено следующее:

1 - Контролируйте температуру с помощью оповещений по электронной почте, когда она слишком высокая или слишком низкая.
2 - Включите / выключите свет в установленное время.
3 - Управляющая мощность для внешнего фильтра ВКЛ / ВЫКЛ
4 - Управляющая мощность на нагреватель ВКЛ / ВЫКЛ
5 - Управляющая мощность на генератор волны ВКЛ / ВЫКЛ

Что подключено

Установлено следующее оборудование

Raspberry Pi 3 с подключением через Ethernet
4-канальное реле
Водонепроницаемый датчик температуры DS18B20
3.Зуммер 3в

Схема проекта 1 фазы проекта:

Триггеры и оповещения

У меня будет предупреждение, если температура станет слишком высокой или слишком низкой (по электронной почте я пока не могу получить SMS для работы)
Температура также будет иметь звуковой сигнал с помощью зуммера, если она станет слишком высокой или низкой.
Я также настрою триггер для отключения питания нагревателя аквариума при 30 ° C или выше, чтобы защитить внутренний термостат нагревателя от застревания в положении ВКЛ.

Планирование

Свет будет включаться ежедневно в 14:00 для включения и снова в 22:00 для выключения.

Скриншоты приборной панели

Фото проекта

Скоро в продаже…

Видео

Скоро в продаже…

Aquariumatic - Arduino Project Hub

Описание

Этот проект предназначен для документирования прогресса совместного проекта между мной и моим хорошим другом Лиамом О'Рейли.Цель состоит в том, чтобы создать автоматизированный аквариумный монитор для управления и обслуживания нескольких аквариумов, а также обеспечения обратной связи и ручного управления для пользователя через простой в использовании интерфейс. Этот проект начинался как проект колледжа, но мы чрезвычайно заинтересованы в том, чтобы воспользоваться нашим предварительным доказательством концепции и создать профессионально выглядящее устройство, подходящее для промышленного или коммерческого использования.

Подробности

Первоначальный план был примерно таким:

Целью было использовать Raspberry Pi в качестве мастера I2C веб-сервера.Это предоставит пользовательский интерфейс, доступный по сети на любом устройстве, а также возможность ретранслировать команды на несколько устройств I2C.

Подчиненные устройства

Эти ведомые устройства содержат Arduino Nanos, работающие как ведомые устройства I2C, с несколькими реле (для управления освещением резервуара, нагревателями, насосами и т. Д.), А также датчиками pH и температуры для мониторинга текущего состояния резервуара.

Все данные, собранные ведомыми устройствами, будут возвращены ведущему при запросе для отображения в веб-интерфейсе при запросе страницы.Например, если бы пользователь получил доступ к странице / 23 в веб-интерфейсе, устройство отправило бы запрос подчиненному устройству, настроенному для Tank 23.

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

Теоретически я бы хотел, чтобы мастер мог предоставить набор параметров рабу; такие вещи, как пороговые значения температуры и pH, которые должны быть сохранены в EEPROM Arduino. Это позволит Arduino постоянно отслеживать состояние резервуара и реагировать на некоторые аномалии:

  • Запустить нагреватель, если температура упадет ниже заданного порога
  • Отправить предупреждающие сообщения обратно на Pi, если что-то не так.

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

Следующие шаги

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

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

Обновление

В последние недели я продолжал работать над этим проектом; покупать новое оборудование, пересматривать свои протоколы связи и в целом делать это устройство более удобным для пользователя.На данный момент изменения касаются:

  • Совершенно новые корпуса, дающие более профессиональный вид.
  • Концентратор Pi Zero W, уменьшает занимаемую площадь и имеет встроенный Wi-Fi!
  • Новые беспроводные блоки управления, уменьшающие беспорядочную проводку и позволяющие продолжить настройку
  • Встроенный дисплей и кнопки Oled для улучшения обратной связи на блоке управления
  • Расширенные возможности Интернета вещей с использованием концентратора для передачи данных к облачным сервисам.

Больше информации, чтобы следить, когда все заработает по плану!

Как InfluxDB обеспечивает мониторинг сенсоров IoT в аквариумах

Недавно я разговаривал с Джереми Уайтом, который использует InfluxDB для мониторинга своих аквариумов. Собрав данные датчиков Интернета вещей, он смог лучше понять свой 200-галлонный аквариум с соленой водой, полный рыб и кораллов. Весь проект можно найти на GitHub.

Кейтлин: Расскажите нам о себе и своей карьере.

Джереми: Я старший консультант по сетевой автоматизации в компании Network to Code, и мой опыт работы в области сетевой инженерии. Network to Code - лидер в области автоматизации сетей. Я изучил Python и Ansible и построил полную платформу автоматизации сети. Помимо Python и Ansible, я знаком с фреймворками Django REST, Flask и NetBox. Я начинаю погружаться в телеметрию и аналитику.

Кейтлин: Как вы узнали о InfluxDB?

Джереми: Раньше я использовал InfluxDB на работе.Некоторые коллеги ранее использовали InfluxDB и Telegraf для мониторинга общедоступных DNS. Они также использовали InfluxDB, специально созданную базу данных временных рядов, для мониторинга своих домашних сетей. Network to Code внедрила InfluxDB для различных клиентов в зависимости от их потребностей. Я был впечатлен InfluxDB и подумал, что это может быть отличным способом улучшить мониторинг моего морского аквариума.

Кейтлин: Расскажите о своих аквариумах.

Джереми: Сейчас у меня два аквариума с морской водой.Один - 54 галлона, а мой новый - 200 галлонов. Недавно я решил перейти на аквариум на 200 галлонов. Это определенно будет процесс перемещения всех моих рыб и кораллов в их новый дом. Мне нужно убедиться, что все работает стабильно и работает так, как я хочу.

Я выращиваю маленькие кораллы из полиповидного камня (SPS). У меня есть кораллы Acropora, Monitpora, Catalaphyllia, Lithophyllon, Discosoma, Zoanthus и Briareum. Многие из этих кораллов встречаются ближе к поверхности коралловых рифов.У них кальциевый скелет с небольшими полипами. Эти кораллы могут быть очень яркими и красивыми. У меня есть коралл Staghorn, красивого бирюзово-голубоватого оттенка.

Крупный план кораллов, растущих в аквариуме

Большинство моих кораллов занимается аквакультурой или марикультурой. Коралл аквакультуры выращивают в аквариуме или резервуаре с искусственным освещением. Кораллы для марикультуры выращиваются в специально отведенных для этого районах в океане. Это означает, что это , а не , вытаскивающие кораллы с естественных рифов.Я старался быть максимально устойчивым. Большинство кораллов я родом из Индонезии или Австралии. У меня есть фрагменты кораллов, которые принадлежат человеку, который выращивал их в неволе более 20 лет.

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

200-галлонный морской аквариум под наблюдением InfluxDB

Кейтлин: С какими проблемами вы столкнулись с вашими аквариумами?

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

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

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

В течение трех дней после настройки всего (моего контроллера AquaPy) я начал видеть результаты.Я понял, что температура днем ​​и ночью колеблется на два градуса. Поскольку я работаю из дома, я знаю, что это не потому, что в моем доме становится слишком жарко, поскольку температура в моем доме довольно постоянная. Поворот на два градуса довольно минимален, но его достаточно, чтобы повлиять на рост и цвет моего коралла. После итерации с моей настройкой (AquaPy) я снизил температурную дельту до менее одного градуса. Мои танки колеблются около отметки 79-81ºF. Я хочу максимально уменьшить разницу.

Кейтлин: Расскажите о решении для мониторинга Интернета вещей, которое вы создали с помощью InfluxDB.

Джереми: Весь мой стек построен из контейнеров. Обожаю контейнеры! Будь то рабочий или личный проект, если я могу его упорядочить, я это сделаю. Если готового контейнера нет, я создам его сам. Я начал с покупки датчиков у Atlas Scientific. Они производят датчики Интернета вещей и небольшие печатные платы (PCB). Печатные платы используются для считывания данных с датчиков с использованием протокола I2C в Raspberry Pi. Есть компания под названием Whitebox, которая производит продукт под названием Tentacle T3 для Raspberry Pi, который помогает сделать всю установку более простой в использовании.

Я использую Django для настройки датчиков. Наряду с порталом администрирования Django я использую воркер django_rq, воркер Redis, чтобы отслеживать поступающие задания. Я использую планировщик Django Redis, который запускает crons и планирует известные задания с интервалами cron. Прямо сейчас это расписано каждую минуту. Каждые 60 секунд - это самый низкий интервал, который вы можете установить с помощью планировщика RQ.

Планировщик RQ помещает задание в Redis. Затем рабочий RQ активно прослушивает очередь Redis для задания.Рабочий RQ связывается с базой данных Postgres, чтобы получить необходимые сведения о задании, чтобы оно могло выполняться, и для сбора данных датчиков.

У меня есть датчики, которые собирают данные о температуре воды, солености воды, уровне воды и уровне pH. Мой идеальный уровень pH - 8,3. Есть небольшой диапазон из-за уровней углекислого газа в воздухе и CO2, создаваемого рыбой. В любой день pH моего аквариума колеблется в пределах 7,95-8,19.

Схема архитектуры решения для мониторинга IoT Aquarium

После сбора данные сохраняются в InfluxDB.После сбора и сохранения данных телеметрии новое задание события добавляется в очередь Redis, чтобы работник rq мог оценить данные телеметрии и принять соответствующие меры.

Я также купил средства домашней автоматизации у WeMo, которая принадлежит Belkin. Они довольно крутые, потому что ими можно управлять в вашей домашней сети с помощью многоадресной рассылки. Добавление коммутаторов WeMo в стек дало мне возможность включать и выключать устройства на основе собранных данных телеметрии. Примером может служить порог высокой температуры.Rq_worker извлекает событие из очереди Redis и на основе определения события точно знает, какое устройство Wemo вызывать на основе его MAC-адреса. Затем rq_worker отправляет многоадресное сообщение коммутатору, чтобы включить или выключить питание, и сообщает результаты в статус задания Redis.

У меня также есть другой набор средств автоматизации, который напрямую не интегрирован с AquaPy, например, у меня есть автоматическое пополнение. Это оптический датчик, который определяет уровень воды. Если уровень воды упадет слишком низко, в бак автоматически будет добавлена ​​свежая вода.Конечно, если добавить слишком много пресной воды, соленость упадет больше, чем допустимо. Простое добавление дополнительного галлона пресной воды может вызвать стресс у кораллов, и я могу потерять колонию. С другой стороны, если будет слишком много испарения, уровень солености может стать слишком высоким. Если pH воды стремительно растет, это может означать, что мой дозатор не работает; дозатор отвечает за регулировку уровня кальция и щелочности. Если переключатель дозатора застрянет в положении ВКЛ, он начнет сбрасывать ненужные химикаты в резервуар.Все эти факторы могут нарушить баланс танка.

Кейтлин: Что вы узнали о своих аквариумах после внедрения InfluxDB?

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

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

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

Я использую Grafana для визуализации и построения графиков всех моих данных. Изначально я использовал один из плагинов Grafana, чтобы отправлять мне оповещения Slack.Благодаря Slackbots, если я получаю уведомление на свой телефон, я знаю, что нужно проверить его на наличие обновлений.

На приборной панели Grafana отображаются данные датчиков аквариума

Кейтлин: Какие у вас планы на будущее с вашими аквариумами и InfluxDB?

Джереми: Поскольку я использую свои аквариумы с более высокими уровнями кальция и щелочности, я хочу провести некоторую форму контролируемых исследований вокруг домашних аквариумов. Я хотел бы продемонстрировать преимущества использования танков на определенных уровнях. Более быстрая кальцификация твердых кораллов не подтверждена контролируемыми исследованиями.Есть компания Bulk Reef Supply, которая также занимается недолговечными экспериментами. Они запускают разные системы на разных уровнях с одним и тем же кораллом в течение нескольких недель или месяцев и сообщают о результатах.

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

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

Вот список всех частей, которые я использую:

У вас есть вопросы к Джереми? Присоединяйтесь к нам на 23 сентября 2020 г., на нашей виртуальной встрече временных рядов, где он демонстрирует, как использовать InfluxDB и Grafana для наблюдения за вашим аквариумом! RSVP сегодня.

Если вы хотите поделиться своей историей о InfluxDB, нажмите здесь.

H 2 O Sense: система мониторинга аквариумов на основе WSN

Общая архитектура системы H 2 O sense представлена ​​на рис. 1 и состоит из беспроводных узлов датчиков с различными датчиками: локальным сервером и удаленным сервером. . Узлы датчиков расположены на резервуарах с датчиками, проникающими в воду, и подключаются по беспроводной сети к локальному серверу в самой лаборатории. Это дает пользователю возможность легко проверить статус развертывания без использования какого-либо дополнительного оборудования.Узлы датчиков могут включать в себя различные датчики в зависимости от требований. В нашем случае мы развернули один узел датчиков с датчиками солености, pH, температуры и растворенного кислорода, а также несколько дополнительных узлов с датчиком температуры на борту. На рисунке 2 показаны изображения из нашего примера развертывания для лучшего понимания.

Рис. 1

Архитектура H 2 O sense

Рис. 2

Развернутые узлы в лаборатории марикультуры в Намибии. a Узел сбора данных, b развернутый многоузловой и температурный узел и c развернутый температурный узел

Локальный сервер подключен через университетскую WLAN к удаленному серверу.Удаленный сервер выполняет резервное копирование всех данных: это также интерфейс между пользователями и собранными данными, а также статус самой системы. Он также проверяет данные и выдает уведомления пользователям в случае необычных данных.

В следующих разделах мы подробно объясним отдельные компоненты.

Узлы датчиков

Одной из целей нашей работы было создание недорогого, маломощного и гибкого решения. Таким образом, мы обратились к уже имеющимся аппаратным платформам, которые послужили основой для H 2 O sense.Хорошая платформа будет состоять из микроконтроллера, радиоприемопередатчика на низких частотах (чем ниже частота, тем лучше проникновение беспроводных сигналов в нашу влажную среду), а также разъемов для внешних батарей и датчиков. Еще одним важным фактором выбора является среда программирования - она ​​должна быть мощной и способной удовлетворить наши цели.

Учитывая эти требования, мы выбрали MoleNet [13].

MoleNet - это аппаратная платформа, которую мы разработали для более раннего развертывания в подземных сценариях.MoleNet - это оборудование с открытым исходным кодом, Footnote 1 , основанное на платформе Arduino и среде программирования. Arduino, со своей стороны, был разработан специально для нетехнических людей, таких как художники, чтобы они могли быстро создавать прототипы интерактивного оборудования. С момента своего основания в 2003 году Arduino превратилась в предпочтительную аппаратную платформу для создания прототипов недорогого оборудования с низким энергопотреблением.

Платформа MoleNet использует радиоприемопередатчик RFC69 на частоте 433 МГц, которая является одной из самых низких частот в так называемом диапазоне ISM (промышленный, научный и медицинский диапазон), для которого доступны стандартные радиоприемопередатчики.MoleNet также показан на рис. 3 справа.

Рис. 3

Архитектура многоузловой

По сравнению с MoleNet существует лишь несколько вариантов, в основном из-за радиоприемопередатчика. Обычно большинство доступных узлов WSN или IoT используют частоту 2,4 ГГц, что неприменимо к нашему сценарию. Альтернативой является Waspmode от Libellium. Footnote 2 Однако с e240 на узел (исключая датчики) это дороже, чем MoleNet, и у него есть собственная проприетарная платформа разработки, которая менее гибкая, чем Arduino.

Мультисенсорный узел

Архитектура нашего мультисенсорного узла представлена ​​на рис. 3. На рисунке 4 показано его изображение. Этот тип узла содержит все датчики.

Рис. 4

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

Мы используем следующие датчики:

  • Датчик температуры DS-18B20. Footnote 3 Протокол однопроводной связи обеспечивает простой интерфейс с использованием минимального количества контактов ввода / вывода, которые обычно являются ограниченным ресурсом в небольших микроконтроллерах, таких как MoleNet.

  • Датчик растворенного кислорода Atlas Scientific (ENV-40-DO). Footnote 4 В то время как DFRobot или Vernier предлагает другие варианты, Atlas Scientific утверждает, что имеет очень длительные циклы обслуживания (повторная калибровка требуется только каждые 18 месяцев).

  • Зонд для определения солености Atlas Scientific K1.0. Сноска 5

  • Датчик pH Atlas Scientific. Сноска 6

MoleNet программируется через IDE Arduino. Полный исходный код можно найти в нашем репозитории Github вместе со всем остальным исходным кодом и данными. Footnote 7 Сам код очень прост: узел запрограммирован на спящий режим большую часть времени и периодическое пробуждение в соответствии с недавним (настраиваемым) временем сна. Каждый раз, когда он просыпается, все датчики проверяются, и данные отправляются по беспроводной сети на локальный сервер. После отправки данных узел ожидает подтверждения от локального сервера. В случае отсутствия подтверждения узел пытается отправить данные дважды. В случае успеха или полного отказа устройство снова переходит в спящий режим.

Узел датчика только температуры

Для некоторых экспериментов в лаборатории марикультуры необходим только датчик температуры. В целом, с повышением температуры растворенный кислород уменьшается, что указывает на то, что здоровье рыб находится под угрозой. Таким образом, мы также разработали упрощенную версию нашего сенсорного узла только с датчиком температуры. Датчик температуры можно подключить напрямую к MoleNet, а это значит, что щупальцевая защита нам также не нужна. Архитектура узла датчика только температуры представлена ​​на рис.5 и его изображение на рис. 6.

Рис. 5

Архитектура узла только температуры

Рис. 6

Программное обеспечение узла датчика только температуры идентично многосенсорному узлу.

Локальный сервер

Чтобы упростить использование системы, мы установили локальный сервер прямо в лаборатории, где пользователи могут видеть текущее состояние всех узлов и их данные. Изображение представлено на рис. 2а. Локальный сервер основан на Raspberry Pi с радиоприемопередатчиком RFM69 для подключения к узлам датчиков и ЖК-дисплеем.

Программное обеспечение локального сервера основано на операционной системе Raspbian.

Выполняет четыре основные задачи:

  • Данные собираются с сенсорных узлов. Локальный сервер всегда в активном состоянии, ожидая входящих пакетов.

  • Хранение данных реализовано с помощью базы данных MySQL вместе с временными отметками прибытия данных.

  • Дисплей данных берет данные из базы данных и отображает их на ЖК-экране. Мы разработали графический веб-интерфейс поверх сервера Apache.

  • Данные передаются удаленному серверу

Удаленный сервер и пользовательские службы

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

Топология сети и связь

На рисунке 1 показано, что узлы датчиков подключены к локальному серверу, а локальный сервер - к удаленному серверу. Здесь мы даем более подробную информацию об этом общении.

Связь: MoleNet с локальным

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

Связь: локально-удаленная

Связь между локальным и удаленным сервером осуществляется через HTTP-запросы.Веб-сайт на локальном сервере, обнаружив успешное подключение к Интернету, отправляет любые новые данные, доступные на удаленный сервер. Удаленный сервер сохраняет данные, полученные с локального конца, в свою базу данных. Локальный сервер также запрашивает удаленный сервер о любых новых настройках, которые, возможно, не были применены к системе. Если удаленный пользователь изменил какие-либо настройки системы, по запросу удаленный конец передает эту информацию локальному концу.

Рабочий цикл узлов датчиков

Рабочий цикл - один из наиболее распространенных способов экономии энергии на узлах датчиков, впервые предложенный в [9].Идея проста, но действенна: отключите узлы датчиков между двумя последовательными показаниями датчиков. Когда узел активен только на 10% от общего срока службы, мы говорим, что его рабочий цикл составляет 10%. Этот подход создает новую проблему для связи между узлами, поскольку рабочий цикл необходимо координировать или синхронизировать. Однако, когда все узлы датчиков обмениваются данными напрямую с локальным сервером, координация не требуется, и узлы могут проводить большую часть времени в спящем режиме.

Для наших сенсорных узлов узел только для измерения температуры может спать большую часть данных и пробуждаться каждые 30 секунд в течение 6 секунд, чтобы принять показания температуры и отправить данные на локальный сервер - это соответствует 20% -ному рабочему циклу.Мультисенсорный узел просыпается каждые 30 мин в течение 30 с, что соответствует 16%. Однако обратите внимание, что в спящий режим переводится только MoleNet, а сами датчики - нет, так как их перезапуск занимает много времени.

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

Обсуждение

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

Взломанные данные, извлеченные из умного аквариума, в «редкое внешнее место назначения»

Инсайдеры подключили два устройства Raspberry Pi к корпоративной сети здравоохранения, чтобы помочь перенаправить персонал на фишинговый веб-сайт для использования фишинговых учетных данных сотрудников. Умный аквариум с подключением к Интернету передал 10 ГБ данных на сервер злоумышленника в Финляндии.

Это два из девяти реальных примеров, представленных в отчете Darktrace Global Threat Report 2017 (PDF). Darktrace была основана в Кембридже, Великобритания, в 2013 году, объединив математиков и экспертов по машинному обучению (ML) из университета с экспертами по разведке из MI5 и GCHQ. Подход фирмы заключается в имитации иммунной системы человеческого тела в киберпространстве.

Например, с веб-сайта компании: «Darktrace Antigena воспроизводит эту функцию иммунной системы человека, создавая« цифровые антитела »в ответ на возникающие угрозы."Цель состоит в том, чтобы снизить скорость заражения настолько, чтобы дать командам безопасности адекватное окно реагирования до того, как будет нанесен непоправимый ущерб.

Семь дополнительных случаев, описанных в отчете, включают заражение программой-вымогателем; Устройства Интернета вещей были вовлечены в DoS-атаку; банковский троян; скомпрометированные учетные данные бывшего сотрудника; обнаружение уязвимости в стороннем поставщике облачных хранилищ; обнаружение кражи данных бывшим сотрудником; и попытка злоумышленника использовать корпоративную сеть для добычи биткойнов.

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

Слабым местом отчета является скудность деталей. Представитель Darktrace объяснил, что это связано с использованием клиентов. Каждый клиент использует свою технологию по-разному, и сама Darktrace не имеет доступа к этой информации. Он исследует поведение сети, но не содержимое трафика.В результате предоставленная информация дает примеры инцидентов, обнаруженных Darktrace, но мало технических подробностей о самом инциденте.

Например, в одном случае Darktrace быстро обнаружил подключение двух Raspberry Pis во внутренней сети, которые перенаправляли пользователей на внешний веб-сайт, похожий на другой. «Перенаправленным пользователям была представлена ​​поддельная страница входа в систему и« опрос безопасности », где от них требовалось ввести свои имена пользователей и пароли», - говорится в отчете.Darktrace обнаружил это в режиме реального времени, потому что он обнаруживает отклонения от нормального поведения сети, а внезапное появление и работа двух Raspberry Pis было ненормальным.

«Raspberry Pis быстро исчез из сети», - продолжалось в нем. Но в нем не говорится, было ли собрано достаточно криминалистических данных, чтобы можно было определить инсайдера или инсайдеров, ответственных за акт - другими словами, в отчете не говорится, была ли угроза устранена (а инсайдер ликвидирован или привлечен к ответственности) или продолжается ли эта конкретная злонамеренная инсайдерская угроза.

«Darktrace регулярно используется для судебно-медицинской экспертизы», - сказал в интервью SecurityWeek Джастин Фиер, директор по киберразведке и анализу Darktrace. «Организация могла использовать это, чтобы помочь задержать инсайдеров, но мы не можем подтвердить».

Fier также объяснил отсутствие подробностей в инциденте с умным аквариумом. «Казино в Северной Америке, - говорится в отчете, - недавно установило высокотехнологичный аквариум для рыбы в качестве нового аттракциона с передовыми датчиками, которые автоматически регулируют температуру, соленость и графики кормления.«В целях безопасности танк был настроен на передачу данных через VPN.

Тем не менее, Darktrace быстро обнаружил «аномальную передачу данных из аквариума в редкое внешнее место назначения». Фактически, 10 ГБ данных было передано за пределы сети через аквариум. Однако не уточняется, что содержали данные, откуда они поступили в сети, как они были перемещены в аквариум для эксфильтрации, а также была ли обнаружена методология вредоносного ПО, использовавшаяся для сбора данных до эксфильтрации.

Фиер объяснил: «Darktrace не просматривает содержимое файлов, поэтому мы не знаем [какие данные были отфильтрованы], хотя обмен данными происходил по протоколу, который обычно ассоциируется с аудио и видео. Злоумышленник каким-то образом получил доступа к корпоративной сети, а затем либо путем перебора, либо с использованием украденных учетных данных для входа в VPN для аквариумов ».

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

Darktrace вскоре обнаружил «очень необычные объемы данных, отправляемых за пределы сети». «Это было идентифицировано как атака типа« отказ в обслуживании ».

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *