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

Устройство удаленного мониторинга температуры водыУстройство удаленного мониторинга температуры водыУстройство удаленного мониторинга температуры водыЭто устройство регистрирует данные о температуре воды и подключается к веб-сайту для отображения и построения графика температуры в режиме реального времени. У него также есть дополнительная страница загрузки данных. Приложение можно установить на большинство телефонов и компьютеров.
Инструменты и материалы:-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, и не должен быть включен в фактическую команду.
Сначала запускаем следующую команду

Развивающий детский конструктор с шуруповертом + 2 подарка
7 часов назад
Уникальное приспособление для приготовления из филе рыбы, индейки и курицы: Домашняя ветчинница Деликатес
7 часов назад

# adduser watertemp

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

# visudo

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

watertemp ALL=(ALL:ALL) ALL

Далее нажимаем 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)

Если получаем информацию о версии, значит все сделали правильно.
Дальше загрузим код для виртуального сервера.

Умные часы Smart Watch V8 + Power Bank и наушники в подарок
6 часов назад
Видеорегистратор Full HD и камера заднего вида по цене...
10 часов назад

$ 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 

Копируем и вставляем в него текст.

#!/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.
Устройство удаленного мониторинга температуры водыУстройство удаленного мониторинга температуры водыУстройство удаленного мониторинга температуры водыУстройство удаленного мониторинга температуры водыВсе готово, теперь у нас есть устройство, с помощью которого можно удаленно отслеживать температуру воды в бассейне, емкости и т.д.
Устройство удаленного мониторинга температуры воды

Магнитная щетка для мытья окон: что это...
8 часов назад
Набор для быстрого ремонта стекла своими руками
9 часов назад

Читайте также