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

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

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

Есть много причин, по которым вы хотели бы знать, что происходит с вашей лодкой в ​​слипе. Например, давайте рассмотрим циклы трюмных насосов. Как следует из названия, трюмные насосы перекачивают воду. Они выталкивают воду из трюма (самая нижняя точка внутри лодки), так что ваша лодка не тонет. Вода может попасть в ваш трюм разными способами: брызги во время движения лодки, дождь и шторм, отсутствие пробки. Сегодня большинство трюмных насосов автоматические, но что произойдет, если одна из них выйдет из строя? Возможность отслеживать, как часто работает ваш трюмный насос, может дать вам уверенность в том, что ваш трюмный насос все еще находится в рабочем состоянии и откачивает трюмную воду.

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

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

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

Основы того, что вам понадобится

Перво-наперво вам понадобится лодка. В этом проекте использовалась лодка Hunter Passage 42 1990 года выпуска. Хотя этот проект адаптирован к этой лодке, вы можете изменить то, что задокументировано, чтобы оно соответствовало вашей лодке.

Raspberry Pi 3 и SD-карта для сбора и отправки данных.

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

Макетная плата общего назначения RadioShack.

KiCad для разметки интерфейсной платы или дизайна печатной платы.

Мобильная точка доступа Netgear AirCard 815S для подключения к Интернету.

Несколько различных электронных аксессуаров для интерфейса между входами лодки и Raspberry Pi.

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

Детали

Raspberry Pi

Я рекомендую использовать Raspberry Pi 3 или Raspberry Pi 4. Он может подключаться к Wi-Fi и отправлять ваши данные в решение для мониторинга в реальном времени. Если ваш Pi еще не настроен, вы можете начать работу, следуя инструкциям в блоге Raspberry Pi.

Клавиатура и монитор Raspberry Pi

Клавиатура и монитор Raspberry Pi не являются абсолютно необходимыми для этого проекта, но значительно упрощают работу с вашим Pi и выполнение задач. При создании этого проекта использовались монитор Sunfounder и Logitech Wireless Touch Keyboard K400.

Чтобы клавиатура была совместима с последней версией Raspbian, вам необходимо установить Solaar. Solaar - это версия программного обеспечения Logitech Unifying для Python.

Выполните следующее в окне терминала вашего Raspberry Pi:

sudo apt-get install solaar

После установки вы можете найти приложение Solaar в разделе «Аксессуары Pi», а также в верхней строке меню. Помимо функции сопряжения, он также показывает состояние батареи.

Существует множество вариантов мониторов и клавиатур Raspberry Pi. Любой, который вы выберете, будет хорош и упростит работу с вашим Pi.

Мобильная точка доступа

Эта мобильная точка доступа используется, поскольку Wi-Fi в марине может быть ненадежным для постоянного подключения. На самом деле подойдет любая мобильная точка доступа, вам просто нужно что-то, что позволит вам постоянно подключаться к Wi-Fi. Следуйте инструкциям для устройства, которое вы покупаете, чтобы настроить его.

Вам нужно подключить Pi к Wi-Fi (будь то пристань для яхт или точка доступа). У вашей точки доступа будет 3 пароля: пароль Wi-Fi, пароль гостя и пароль для входа в систему. Вы можете использовать пароль Wi-Fi для подключения вашего Pi.

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

Исходное состояние

Initial State - это программа для визуализации данных, которую можно использовать для мониторинга данных в реальном времени и оценки исторических данных. Хотя это платформа визуализации данных, которая используется в этом проекте, вы можете использовать любую платформу, которая позволяет отправлять данные через API.

Initial State предлагает бесплатный уровень для студентов с активным адресом электронной почты edu, индивидуальный уровень для любителей и прототипов за 9,99 долларов в месяц и корпоративный уровень для предприятий от 20 долларов в месяц. Каждой учетной записи предоставляется 14-дневная бесплатная пробная версия для тестирования всех функций и возможностей платформы.

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

SSH’ing и IP-адрес

Одна из проблем, возникших при выполнении этого проекта, заключалась в том, что IP-адрес Raspberry Pi не был статическим и часто менялся. Это затрудняет удаленное подключение по SSH к вашему Pi, если вы не знаете IP-адрес. Для этого есть простое решение.

Учебное пособие по процессам Pi покажет вам, как отслеживать процессы вашего Pi и его IP-адрес. Вы можете отправить IP-адрес своего Pi на панель управления начальным состоянием. Знание IP-адреса вашего Pi позволяет вам удаленно подключать SHH к вашему Pi для доступа к нему.

Интерфейсная плата

Вам нужно будет найти копию схемы вашей лодки. Обычно вы можете найти это в своем руководстве пользователя или в Интернете. Это поможет вам понять, что вводит лодка. Интерфейсная плата будет соединять входы лодки и Raspberry Pi. Вы можете использовать KiCad для разработки схемы соединений.

Макет проекта

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

Это список входов для лодки и того, что требовалось для подключения к Raspberry Pi.

Циклы трюмной помпы - питание от 12 В до 5 В PTV12010WAH, реле счетчика R40–11D2–12

Электропитание для душа - шина 3,3 В, шина заземления, реле 120 В переменного тока BTA6–2C-J-CW-120

Battery1 и Battery 2 V - делитель напряжения, 8-канальный АЦП MCP3008

Температура - вентилятор 12 В постоянного тока, датчик температуры DS18B20

Raspberry Pi - ленточный кабель

Универсальная плата или печатная плата

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

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

Готовое оборудование

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

Код Python

Вы можете просмотреть весь код Python ниже и по этой ссылке. Этот код считывает входные данные с вашей лодки и отправляет эти данные в начальное состояние.

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

Мониторинг ваших данных

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

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

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

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

Вы захотите установить триггеры на своей панели, чтобы сразу получать уведомления, если данные выходят за пределы обычных пороговых значений. Вы можете получить уведомление по электронной почте или SMS. Для этого перейдите на вкладку триггеров в настройках корзины. Здесь вы можете выбрать, какой сигнал вы хотите отслеживать, оператора (равно, меньше, больше и т. Д.) И пороговое значение. Выберите контакт, по которому вы хотите получать уведомления (адрес электронной почты или номер телефона). Нажмите Готово, и ваш триггер установлен. Вы можете добавить до 20 таких предупреждений на одну панель управления.

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

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