Устройство удаленного мониторинга температуры воды

0 0

Устройство удаленного мониторинга температуры воды

Устройство удаленного мониторинга температуры воды

Устройство удаленного мониторинга температуры воды

Это устройство регистрирует данные о температуре воды и подключается к веб-сайту для отображения и построения графика температуры в режиме реального времени. У него также есть дополнительная страница загрузки данных. Приложение можно установить на большинство телефонов и компьютеров.
Инструменты и материалы:
-Raspberry Pi Zero W;
-SD-карта (8 ГБ или больше);
-Макетная плата;
-Водонепроницаемый разъем питания;
-Водонепроницаемый 3-проводной разъем;
-Водонепроницаемый цифровой датчик температуры DS18B20;
-Контроллер для Lipo аккумулятора;
-Lipo аккумулятор;
-Солнечная панель;
-Водонепроницаемая коробка;
-Два кабельных ввода;
-Штыревые разъемы;
-Паяльные принадлежности;
-Отвертка;
-Кабель USB;
-Компьютер;

Устройство удаленного мониторинга температуры воды

Устройство удаленного мониторинга температуры воды

Шаг первый: VPS (виртуальный выделенный сервер)
В данной версии веб-сервер отделен от датчика, потому что это ускоряет загрузку веб-сайта и делает его более надежным. Мастер размещает его на VPS от Vultr. При желании можно запустить веб-сервер на Raspberry Pi или на любом сервере или старом компьютере, который есть в наличии.
Для настройки виртуального сервера нужно выполнить ряд действий.
Сначала создайте учетную запись на vultr.com . Перейдите на вкладку «Products», чтобы создать VPS.
В качестве типа сервера выберите Cloud Compute.
Для местоположения сервера выберите любое место, но желательно как можно ближе.
В качестве операционной системы можно выбрать любой дистрибутив Linux.
В качестве размера сервера выберите твердотельный накопитель 25 ГБ, 1 процессор, память 1024 МБ, пропускную способность 1000 ГБ.
Затем создайте имя хоста сервера и метку. Что-то вроде «WaterTemp».
После того, как все настройки будут установлены, нажмите «Deploy Now».
Теперь просто подождите несколько минут, пока ОС установится.

Устройство удаленного мониторинга температуры воды

Устройство удаленного мониторинга температуры воды

Шаг второй: настройка сервера
Теперь нужно настроить сервер. Это будет довольно просто, так как просто нужно скопировать и вставить команды в консоль.
Во-первых, нужно подключиться к серверу по ssh. Для этого можно использовать команду ssh или PuTTY для Windows.
Кликнув на только что созданный VPS, мы попадаем на страницу с информацией о сервере.
Команда SSH
Просто нажмите кнопку копирования рядом с IP-адресом, затем откройте эмулятор терминала и введите команду ssh root @, где — IP-адрес сервера. Если будет запрос: «Are you sure you want to continue connecting?», отвечаем «yes» и подтверждаем «enter». Затем вернитесь в Vultr и нажмите кнопку копирования пароля root. Теперь вставьте это в пароль root и нажмите Enter. Если обычная вставка не сработает, возможно, придется попробовать вставить, нажав CTRL + SHIFT + V.

Использование PuTTY
После скачивания и установки PuTTY, открываем его. Затем возвращаемся на страницу Vultr и кликаем кнопку копирования рядом с IP-адресом. Вставляем в текстовый ввод Host Name. Кликаем «Open», затем, если появятся всплывающие окна, « Accept». В открывшемся окне консоли появится вопрос, под каким пользователем войти в систему. Вводим «root» и нажимаем Enter. Возвращаемся в Vultr и копируем пароль root. Снова переходим в консоль, прописываем пароль и подтверждаем Enter.
Если получено приветственное сообщение, значит все сделано правильно.

Устройство удаленного мониторинга температуры воды

Устройство удаленного мониторинга температуры воды

Устройство удаленного мониторинга температуры воды

Теперь нужно создать учетную запись пользователя для запуска веб-сервера.
Обратите внимание, что символ ‘#’ или ‘$’ просто указывает, следует ли вам запускать команду от имени пользователя root, и не должен быть включен в фактическую команду.
Сначала запускаем следующую команду

Устройство удаленного мониторинга температуры воды

 Показать / Скрыть текст# adduser watertemp
Затем устанавливаем надежный пароль для этого пользователя. Нажимаем Enter еще несколько раз, чтобы ввести в учетную запись информацию по умолчанию.
Теперь добавим пользователя watertemp в группу sudoers. Это позволит позже запускать команды с правами root.

Устройство удаленного мониторинга температуры воды

 Показать / Скрыть текст# visudo
Открываем текстовый редактор Nano. С помощью клавиш со стрелками переходим в конец файла и добавляем следующую строку.

Устройство удаленного мониторинга температуры воды

 Показать / Скрыть текстwatertemp ALL=(ALL:ALL) ALL<br>
Далее нажимаем CTRL + O, чтобы сохранить, и Enter для подтверждения. А для выхода нажимаем CTRL + X.
Теперь входим в учетную запись watertemp, используя следующую команду.

Устройство удаленного мониторинга температуры воды

 Показать / Скрыть текст# su watertemp

Устройство удаленного мониторинга температуры воды

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

Устройство удаленного мониторинга температуры воды

 Показать / Скрыть текст$ cd ~
Установите пакеты с помощью этой команды

Устройство удаленного мониторинга температуры воды

 Показать / Скрыть текст$ sudo apt install -y npm nodejs —fix-missing
Вводим пароль, который использовали для создания пользователя температуры воды.
После загрузки пакетов, загружаем код с помощью этой команды.

Устройство удаленного мониторинга температуры воды

 Показать / Скрыть текст$ git clone https://github.com/Basicprogrammer10/WaterTemp.git
Переходим в папку и компилируем Typescript в jаvascript с помощью следующей команды

Устройство удаленного мониторинга температуры воды

 Показать / Скрыть текст$ git clone https://github.com/Basicprogrammer10/WaterTemp.git
Открываем файл конфигурации и добавляем необходимые значения.

Устройство удаленного мониторинга температуры воды

 Показать / Скрыть текст$ cd ~/WaterTemp/api/config && vim config.json
Команда должна открыть файл config.json в Vim. Кликаем «i», затем меняем следующие настройки:
-Измените sensor.ip на IP-адрес сервера. (Localhost, если запускаем веб-сервер на raspberry pi).
-Измените server.port на 80
Нажимаем escape, затем введите ‘:wq’ и нажимаем Enter.
Далее вводим команду

Устройство удаленного мониторинга температуры воды

 Показать / Скрыть текст$ cd ~ / WaterTemp / api && npm i —production
Чтобы запустить веб-сервер вводим

Устройство удаленного мониторинга температуры воды

 Показать / Скрыть текстcd ~ / WaterTemp / api && sudo node src
Вводим пароль. Если все сделано правильно, то будет надпись «Starting Water Temp Serve v0.4 ‘. Теперь протестируем веб-сайт, введя IP-адрес из Vultr в свой веб-браузер. Должна открыться веб-страница.

Устройство удаленного мониторинга температуры воды

Шаг четвертый: подключение к Pi
Загрузите Raspberry Pi Imager. С помощью программы устанавливаем Raspberry Pi Os Lite на SD-карту. В загрузочном разделе создаем новый файл с именем wpa_supplicant.conf и прописываем в него следующий текст.

Устройство удаленного мониторинга температуры воды

 Показать / Скрыть текстctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
country=2 letter ISO 3166-1 country code here
update_config=1

network={
ssid="Name of your wireless LAN"
psk="Password for your wireless LAN"
}
Создаем файл с именем ssh без содержимого. Устанавливаем карту обратно в Raspberry, и устройство должно подключиться к сети после загрузки.
Теперь просто нужно подключиться к нему по ssh. Для этого повторяем те же шаги для использования ssh, что и на шаге 2 (до создания учетной записи), но подключаемся к «pi@raspberrypi.local». Пароль по умолчанию — raspberry.

Устройство удаленного мониторинга температуры воды

Устройство удаленного мониторинга температуры воды

Шаг пятый: настройка Raspberry
Дальше нужно установить программное обеспечение Raspberry Pi. Как и раньше, создаем новую учетную запись пользователя и добавляем ее в группу sudoers. Пароль по умолчанию для пользователя pi — «raspberry». При запуске visudo добавляем строку «watertemp ALL = (ALL: ALL) ALL».

Устройство удаленного мониторинга температуры воды

 Показать / Скрыть текст$ sudo adduser watertemp
$ sudo visudo
$ su watertemp
$ cd ~
Дальше выполняем следующую команду, чтобы установить необходимые пакеты.

Устройство удаленного мониторинга температуры воды

 Показать / Скрыть текст$ sudo apt install -y git vim
Для установки Cargo (используемого для компиляции / запуска серверного программного обеспечения) используем следующую команду. После запроса выбираем вариант 1.

Устройство удаленного мониторинга температуры воды

 Показать / Скрыть текст$ curl https://sh.rustup.rs -sSf | sh
Перезагружаем устройство.

Устройство удаленного мониторинга температуры воды

 Показать / Скрыть текст$ exit
Проверяем.

Устройство удаленного мониторинга температуры воды

 Показать / Скрыть текст$ cargo -V
cargo 1.53.0 (4369396ce 2021-04-27)
Если получаем информацию о версии, значит все сделали правильно.
Дальше загрузим код для виртуального сервера.

Устройство удаленного мониторинга температуры воды

 Показать / Скрыть текст$ git clone https://github.com/Basicprogrammer10/WaterTemp.git
Чтобы начать сборку программного обеспечения, выполняем следующую команду (выполнение может занять около часа).

Устройство удаленного мониторинга температуры воды

 Показать / Скрыть текст$ cd ~ / WaterTemp / sensor_Interface && Cargo build —release
Как только это будет сделано, запускаем режим отладки. Режим отладки означает, что он будет просто использовать случайные значения для текущей температуры.

Устройство удаленного мониторинга температуры воды

 Показать / Скрыть текст$ cd ~ / WaterTemp / sensor_Interface && ./target/release/sensor_interface —debug
Если все сделано правильно,то отобразятся следующие значения:
[*] Starting Sensor Interface [v0.7] LOGGING DEBUG
[*] Device ID: 28-00000bdf4372
[*] Serving on: 127.0.0.1:3030

Устройство удаленного мониторинга температуры воды

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

Устройство удаленного мониторинга температуры воды

 Показать / Скрыть текст$ vim ~ / WaterTemp / sensor_Interface / config.ini
Дальше нужно будет изменить некоторые настройки.
-Измените ip на 0.0.0.0
-Измените порт на выбранный вами порт (или 3030)
-Измените log_delay на время между сбором точек данных
Далее получаем IP-адрес с помощью команды:

Устройство удаленного мониторинга температуры воды

 Показать / Скрыть текст$ curl https://icanhazip.com
Записываем это значение, оно понадобится позже.
Переходим к серверу:

Устройство удаленного мониторинга температуры воды

 Показать / Скрыть текст$ vim ~ / WaterTemp / api / config / config.json
Измените sensor.port на 3030 или свой выбранный порт.
Измените sensor.ip, чтобы он стал общедоступным IP-адресом Raspberry Pi.
Перезагрузите датчик на Raspberry Pi с помощью этой команды:

Устройство удаленного мониторинга температуры воды

 Показать / Скрыть текст$ cd ~ / WaterTemp / sensor_Interface && ./target/release/sensor_interface —debug
Дальше нужно убедится, что можно подключиться к Raspberry Pi, выбрав «[Public IP]:[Port]/test» в своем веб-браузере. Если написано: ‘All Systems are a Go!’, значит все сделано правильно.

Устройство удаленного мониторинга температуры воды

Устройство удаленного мониторинга температуры воды

Шаг седьмой: автозапуск
Теперь нужно настроить автозапуск сервера для Pi. Это легко сделать, отредактировав файл /etc/rc.local.
Откройте файл rc.local с помощью следующей команды:

Устройство удаленного мониторинга температуры воды

 Показать / Скрыть текст$ sudo vim /etc/rc.local <br>
Копируем и вставляем в него текст.

Устройство удаленного мониторинга температуры воды

 Показать / Скрыть текст#!/bin/sh -e

cd /home/watertemp/WaterTemp/sensor_Interface
./target/release/sensor_interface —debug

exit 0
Если все сделано правильно, то при следующем включении Pi, он должен автоматически запустить сервер датчиков.

Устройство удаленного мониторинга температуры воды

Шаг восьмой: добавление датчика
Сначала нужно согласно схеме подключить датчик к Raspberry Pi. Схему подключения датчика можно посмотретьздесь.
Затем запускаем pi и ssh. Вводим следующую команду:

Устройство удаленного мониторинга температуры воды

 Показать / Скрыть текст$ sudo raspi-config
Переходим в «Interface options», затем «1-Wire», затем «enable». Выбираем «finish» и перегружаем устройство.
Дальше, чтобы убедиться, что датчик подключен правильно, и чтобы получить идентификатор устройства, используем эту команду:

Устройство удаленного мониторинга температуры воды

 Показать / Скрыть текст$ ls / sys / bus / w1 / devices / | grep 28- *
Она должна показать ID, который выглядит примерно так: «28 -00000d0ab505». Копируем этот идентификатор и помещаем его в файл конфигурации интерфейса датчика с помощью команды:

Устройство удаленного мониторинга температуры воды

 Показать / Скрыть текст$ vim ~ / WaterTemp / sensor_Interface / config.ini
Теперь снова нужно отредактировать файл /etc/rc.local, чтобы он запускался без режима отладки. Запустите эту команду:

Устройство удаленного мониторинга температуры воды

 Показать / Скрыть текст$ sudo vim /etc/rc.local
Убеждаемся, что содержимое файла такое же, как ниже

Устройство удаленного мониторинга температуры воды

 Показать / Скрыть текст#!/bin/sh -e

cd /home/watertemp/WaterTemp/sensor_Interface
./target/release/sensor_interface

exit 0
Перегружаем Pi, он должен подключиться к датчику и начать получать данные от него.
Чтобы проверить его в своем веб-браузере, переходим к [Public IP]: [Port] / temp.

Устройство удаленного мониторинга температуры воды

Устройство удаленного мониторинга температуры воды

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

Устройство удаленного мониторинга температуры воды

Устройство удаленного мониторинга температуры воды

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

Устройство удаленного мониторинга температуры воды

Устройство удаленного мониторинга температуры воды

Шаг десятый: приложение и веб-сайт
Данное устройство работает на iPhone с приложением Scriptable, которое можно загрузить из магазина.

Устройство удаленного мониторинга температуры воды

Главная страница
Если работаем с веб-сайтом, то справа верху на главной странице есть три кнопки:
«Птичка» и «Крестик» — если подключены веб-сокеты. Щелчок по нему повторно подключит веб-сокет.
«График» — Показать / скрыть график
° F / ° C / ° K — изменить единицу измерения.
Внизу страницы есть две ссылки:
Код — переход в репозиторий GitHub
Данные — переход на страницу данных.
Страница данных
Можно попасть сюда, кликнув ссылку данных внизу главной страницы. На этой странице отображается много информации о данных (самая низкая/высокая температура воды, средняя температура, количество опросов и т.д.). Она также позволяет загружать его в виде файла CSV или JSON и ссылки на общедоступный REST API.
В разделе «Загрузить данные» отображается приблизительный размер файла CSV в килобайтах.
REST API
Щелкнув ссылку под Access API, попадаем в документацию API. На этой странице представлена вся информация об API и некоторые базовые примеры на Python.

Устройство удаленного мониторинга температуры воды

Устройство удаленного мониторинга температуры воды

Устройство удаленного мониторинга температуры воды

Устройство удаленного мониторинга температуры воды

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

Устройство удаленного мониторинга температуры воды

(Source)

Подборки: Датчик температуры воды Raspberry Pi

Источник

Оставьте ответ

Your email address will not be published.