Комплексное решение в состав которого входит Wi-Fi / LAN Модем (Модем) для Cleancar и серверное приложение (СП), позволяющее отображать состояние моек самообслуживания, получать статистику и управлять ими удаленно через Web интерфейс серверного приложения.
Решение разработано в рамках концепции интернета вещей (IoT) для автомобильных моек самообслуживания Cleancar.
Состав решения:
- устройство, выводимое в облако — пост / посты (колонки) (пульты) моек самообслуживания (до 20 на один модем);
- согласующие устройство — Wi-Fi / LAN Модем — соединяются с постами и обеспечивает связь с сервером (облаком) через интернет;
- облако (Cloud) — серверный компьютер (ПК), на котором установлено разработанное серверное программное обеспечение (ПО);
- устройство пользователя — устройство, имеющее выход в Интернет и браузер для доступа к WEB интерфейсу серверного ПО.
Посты
Посты соединяются с Модемом по интерфейсу RS-485. По запросу передают данные, в состав которых входит состояние поста, настройки, количество средств, собранных по различным каналам, количество наработанных часов и пр. Пост получает данные от Модема с новыми настройками при их изменении на сервере.
В качестве постов могут быть подключены:
- Модуль управления «Экстра»;
- Модуль управления «Бюджет»;
- Пылесос самообслуживания.
Реализованные на стандартных и уменьшенных платах управления, на которых реализовано соединение с Модемом.
Модем
Модем — представляет собой программно-аппаратный комплекс, обеспечивает связь постов с сервером через Интернет, с использованием Wi-Fi или LAN интерфейса. Условно модем является согласующим устройством между постами и сервером и обеспечивает две двусторонние связи:
- посты — Модем;
- Модем — сервер.
Инициатором обеих связей является модем. При включении Модем проверяет наличие оборудования. В начале цикла обмена данными он проверяет наличие связи с сервером, а в случае использования Wi-Fi интерфейса — наличие подключения к Wi-Fi точке доступа (маршрутизатору). При удачных результатов проверки — производит опрос постов. Каждый пост имеет уникальный номер владельца мойки, номер поста и номер земли. В одной сети номера постов должны быть уникальными. Модем производит опрос постов, в ответ они передают данные Модему. Полученные данные Модем преобразует и формирует пакет для отправки на сервер. После чего устанавливает соединение с сервером и отправляет готовый пакет. В пакете присутствуют номер колонки, владельца и земли. В ответ, если на постах, данные которых были приняты не было внесенных пользователем (владельцем) изменений сервер сообщает об этом. Если пользователь внес изменения сервер формирует пакет для постов, в которых они были внесены и отправляет ответ модему. Для случая если изменений не было выжидается определенное время и цикл повторяется. Иначе Модем обрабатывает полученный пакет и передает новые данные на посты.
Реализация Модема
Для обеспечения работы модема используется микроконтроллер STM32F103, для связи с мойками используется преобразователь интерфейсов UART — RS-485, для связи с Интернет используется в случае Wi-Fi — модуль ESP8266, в случае LAN — в перспективе модуль ENC28J60. В случае LAN IP адрес раздается автоматически дополнительных настроек не требуется. В случае Wi-Fi — необходимо произвести подключение к Wi-Fi точке доступа. Для этого в модеме реализован WEB интерфейс. Для его активации необходимо нажать кнопку Модема примерно на 1 с, после чего, после нескольких загораний светодиода (СД) он начнет постоянно мигать. При этом станет доступна новая Wi-Fi сеть «WASHER». К ней необходимо произвести подключение.
* Нажатие более 15 с приведет к аппаратной перезагрузке модема.
После подключения в браузере ввести 192.168.1.200, после чего появится WEB интерфейс.

В котором производится выбор точки доступа и вводится ее пароль. После нажатия «Подключить» по миганию СД проверяется успешность выполнения. После успешного подключения Модем работает в вышеописанном режиме, передавая данные между постами и сервером.
При разработке аппаратной части местами использовался STM32CubeMX. ПО для МК написано на языке C в среде разработки EmBitz, с применением SPL.
Сервер. Серверное приложение
Сервер — физический ПК, имеющий связь с Интернет. Серверное ПО — осуществляет прием данных от Модема, их обработку и хранение, выдачу данных пользователю с помощью WEB интерфейса серверного ПО, получение данных от пользователя, их обработку и хранение и выдачу данных, адресованных постам Модему в виде ответа на запрос.
Регистрация нового пользователя и создание его кабинета происходит автоматически, при первом получении данных от постов. При этом по полученному номеру владельца создается новая учетная запись, если ранее не было учетной записи с этим номером. Владелец в личном кабинете может изменить выданный ему пароль.
WEB приложение состоит из следующих страниц:
Страница ввода имени пользователя и пароля, на которой так же возможно зайти в ознакомительную учетную запись кнопка «Demo«.

Главная страница приложения, на которой отображаются номера земель владельца, при выборе одной из них выводится список постов (Колонок) на этой земле. В строке колонки отображается ее номер, сумма внесенных денег, количество отработанных часов, индикатор наличия колонки в сети, кнопка «Статистика» и кнопка «Настройки» Колонки (поста).

При нажатии кнопки «Статистика» выводится графики собранных денег по разным каналам за день, неделю, месяц и все время работы Колонки.

При нажатии кнопки «Настройки» выводится меню настроек Колонки (поста).

Каждая функция при нажатии на ее поле имеет дополнительные настройки

Пользователь имеет возможность изменить / добавить данные в «Личном кабинете».

Благодарности:
- Собственно CleanCar — для них реализован столь интересный проект;
-
Богдан — воплощение схемы электрической принципиальной в чертежи и отличную трассировку печатной платы;
-
PineDev Studio — реализация WEB приложения.