Найдите исполнителя для вашего проекта прямо сейчас!
Разместите заказ на фриланс-бирже и предложения поступят уже через несколько минут.

         Краткое описание:

Необходимо разработать систему, которая будет регулярно (раз в 15 секунд) присылать данные о состоянии АКБ по протоколу MQTT в формате:

{‘Battery_ID’:’B001’, ‘IP’:’192.168.1.200’, ‘Cycle’:12, ‘TimeStamp’:’2020-09-22-11-25-15’, ‘Vmin’:80.36, ‘Vavg’:85.01, ‘Ah’:1.0598, ‘Temp1’:23.45, … ‘Temp4’:12.34}

          Где:

  • ‘Battery_ID’:’B001’ – идентификатор батареи
  • ‘IP’:’192.168.1.200’ – IP адрес, полученный контроллером при подключении к сети Wi-Fi (WPA-PSK2) по протоколу DHCP
  • ‘Cycle’:12 – текущий цикл разряда
  • ‘TimeStamp’:’2020-09-22-11-25-15’ – конечное время интервала измерений
  • ‘Vmin’:80.36 – минимальное напряжение на батарее, зарегистрированное за данный интервал времени
  • ‘Vavg’:85.01 – среднее напряжение на батарее, зарегистрированное за данный интервал времени
  • ‘Ah’:1.0598 – электрический заряд отданный батареей за данный интервал времени
  • ‘Temp1’:23.45, … ‘Temp4’:12.34 – усреднённые показания темпрературных датчиков 1..4
         Данные батареи:

  • Напряжение – от 60 до 98 вольт, измеряется встроенным АЦП контроллера через резистивный делитель (обсуждаемо)
  • Ток – до 400А, измеряется подключенным датчиком LEM HTFS-200-P
  • Сигнализация разряда:
 100%- Vmin1_global - зелёный

 Vmin1_global – Vmin2_global - жёлтый

 

 Например СВЕТОСИГНАЛЬНЫЙ МАЯЧОК SL52B-024-RYG (обсуждаемо)

  • Датчики температуры – DS18B20 1..4шт. на одной линии  (обсуждаемо)
         Первый запуск:

1. При первом запуске должна быть доступна Wi-Fi сеть AKB_#### где #### - последние 4 символа MAC адреса контроллера. В данной сети должна быть доступна Web страница контроллера, где можно указать:

Wi-Fi Login/Pass (логин/пароль для подключения к Wi-Fi)

2. После ввода Wi-Fi Login/Pass контроллер АКБ должен перезагрузиться, и подключиться к Wi-Fi сети, и начать работать.

       Стандартная работа контроллера:

1. Контроллер собирает данные от батареи (раз в 0.5 секунды) и раз в 15 секунд передаёт данные в MQTT сообщении на сервер в топик /Battery_ID/ в соответствии с методикой, описанной в разделе “Передаваемые данные”.

2. В случае потери Wi-Fi сети или соединения с MQTT сервером контроллер должен переустанавливать соответствующие соединения, при этом переустановка соединения не должна влиять на сбор параметров. Если в момент разрыва соединения не было отправлено сообщение, оно должно быть отправлено после восстановления соединения.

3. В энергонезависимой памяти контроллера хранятся следующие параметры:

Vmin1_global – минимальное напряжение на АКБ после которой включается жёлтый предупреждающий сигнал.

Vmin2_global – минимальное напряжение на АКБ после которой включается красный предупреждающий сигнал и звуковое оповещение.

Vmax_global – максимальное значение напряжение на АКБ после заряда

Battery_ID – идентификатор батареи B001, B002 и т.п.

Cycle – текущий цикл разряда

4. По IP адресу контроллера должна быть доступна Web-страница с следующими полями:

Vmin1_global

Vmin2_global

Vmax_global

Password

кнопка “Save Parameters”

Если пароль соответствует заданному в прошивке то указанные значения записываются в EEPROM контроллера.

         Передаваемые данные:

1. ‘Battery_ID’:’B001’ – идентификатор батареи

Задаётся при прошивке производителем и не изменяется. Максимальная длина 6 символов.

2. ‘IP’:’192.168.1.200’ – IP адрес, полученный контроллером при подключении к сети Wi-Fi (WPA-PSK2) по протоколу DHCP

IP Адрес получается и подключении (и переподключении) к Wi-Fi сети и передаётся в каждом сообщении.

3. ‘Cycle’:12 – текущий цикл разряда. Сохраняется в энергонезависимой памяти Cycle = Cycle + 1 после падения напряжения АКБ на 10% от максимального (то есть до Vmax_global*0.9). В сообщениях передаётся значение Cycle, полученное из EEPROM при включении датчика.

4. ‘TimeStamp’:’2020-09-22-11-25-15’ – конечное время интервала. То есть данное сообщение содержит данные, полученные за  2020-09-22-11-25-10 -  2020-09-22-11-25-15. Время окончания интервала формируется в момент окончания интервала и не зависит от времени передачи сообщения.

5. ‘Vmin’:80.36 – минимальное напряжение на батарее, зарегистрированное за данный интервал времени. Измерения проводятся каждые 0.5 секунды, и

если Vcur

6. ‘Vavg’:85.01 – среднее напряжение на батарее, зарегистрированное за данный интервал времени. Измерения проводятся каждые 0.5 секунды, и затем берётся среднее из 30 значений.

7. ‘Ah’:1.0598 – электрический заряд отданный батареей за данный интервал времени

Ток, измеряемый датчиком тока каждые 0.5 секунды умножается на 1/(3600*2). Отправляется суммарное значение.

8. ‘Temp1’:23.45, … ‘Temp4’:12.34 – показания темпрературных датчиков 1..4. Измерения проводятся каждые 0.5 секунды, и затем берётся среднее из 30 значений.

4 года назад
Dsokolov
Данил 
27 летРоссия
7 лет в сервисе
Был
2 года назад
  • Похожие заказы
  • Имеются текстовые документы со списком прокси в виде (IP:PORT:LOGINPROXY:PASSPROXY) и списком аккаунтов ВК в виде (LOGIN:PASS).Необходимо написать скрипт, который будет преобразовывать эти списки в один текстовый документ со списком в виде (LOGIN:PASS:IP:PORT:LOGINPROXY:PASSPROXY), при условии, что ...

    Закрыт
    4 года назад
  • Программа управления обогревом стрелочного перевода.  Платформа Siemens LOGO! 12/24RCE. Два датчика температуры, два исполнительных контактора, сигнализация, передача данных по Ethenet. Результат: - программа; - схема программы для использование в тех. документации; - руководство по инсталляции и отладки; - протокол обмена данными. Оплата официальная, ...

    Закрыт
    4 года назад
  • Приходит лид с лэндинга -> робот понимает, что это лид с лэндинга и распределяет его по очереди на выбранных людейПриходит лид с другой площадки -> действует аналогичным образом Приходит лид на сотрудника по сип телефонии -> ...

    Прикладное ПОнет заявок
    Закрыт
    4 года назад
  • Необходимо сделать программу с GUI для накрутки рекламы и зрителей для стриминговой платформы Twitch. Основные требования к программе: 1. Возможность увеличить количество зрителей на прямой трансляции. Есть множество примеров , один из таких RuBot , однако он работает ...

    Закрыт
    4 года назад
  • Нужно написать телеграм бота для Парсинга отметок на фото в Инстаграм.  Парсер должен уметь: - Собирать отметки пользователей на фотографиях в .txt файл  - Фильтровать собранных пользователей по количеству подписчиков - Проходить чекпоинты от Инстаграм - Удобный api.  Основная платформа — ...

    Закрыт
    4 года назад
  • $250

    Скрипт или программу для раскрутки  Telegram каналов  в любом количестве   Нужно организовать проект для накрутки каналов телеграм  чтоб делать по 50 каналов в день по 100О плюс подписчиков.  как это будет происходить предложите сами либо регистрировать номера через ...

    Закрыт
    4 года назад
  • $300

    Доброго времени! я ищу профессионала в этом деле. Мне нужен скрипт или программа которая будет создавать telegram каналы в любом количестве 50-80 каналов в день, и накручивать  подписчиков 1000 2000 + живых ботов не имеет значение , важен ...

    Закрыт
    4 года назад