Ничего не найдено :(
    В гостях у Самоделкина! » Электроника » Устройство удаленного мониторинга температуры воды

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


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

    Инструменты и материалы:
    -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

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

    Копируем и вставляем в него текст.
    #!/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 Датчик

    Делаем простой регулятор оборотов с реверсом для двигателей постоянного тока

    Индикатор питания 220 вольт

    9
    Идея
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    8
    Описание
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    10
    Исполнение
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    Итоговая оценка: 9.0 из 10 (голосов: 1 / История оценок)

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

    Привет, Гость!


    Зарегистрируйтесь

    Или войдите на сайт, если уже зарегистрированы...

    Войти

    Добавьте самоделку

    Добавьте тему

    Онлайн чат

    Последние комментарии

    Все комментарии