Прошивка 7.3 за сентябрь 2019

Редактор програм

Контроль включения стартера

В настройках интерфейса можно задать условие из трех пунктов для разрешение включения стартера в зависмости он напряжения АКБ (при работающем двигателе оно будет выше 12,90V), и состояние каналов IN1 или IN2. обычно, они подключается на выход концевика педали тормоза (для АКПП), или на датчик включенной передачи (МКПП).

Длительность работы стартера задается в милисекундах (1 / 1000 сек.)

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

Контроль по аппаратному прерыванию каналов IN1 и IN2 и кнопке

  • Cмена состояния каналов IN1 или IN2 с 0 на 12V вызывает программы prog0... prog9 заданные в настройках для этого канала
  • Cмена состояния Кнопки с 3.3V на 0 вызывает программы prog0... prog9 или активации Wi-Fi

Управление по термостату

В настройках устройства задается:

  • минимальная температура при падении ниже которой происходит вызов програм prog0... prog9
  • максимальная температура при превышении которой происходит вызов програм prog0... prog9
  • индекс подключенного датчика с которого контролируется температура
  • период сравнения температур с заданной вилкой

Контроль местоположения

Модуль не имеет собственного GPS приемника, координаты рассчитываются триангуляцией по базовым станциям, подобно локации в смартфонах, и имеют точность 50 - 800 м. в условиях города. В целях защиты от несанкционированного использования функция не доступна в готовых устройствах, и становится доступной только после обновления прошивки с Github, при условии отсутствия злого умысла в ее применении, и недопустимости слежения за кем-то.

Активация WI-FI точки доступа

Устройство генерирует точку доступа SSID Webasto_123456 на 600 секунд с паролем martinhol221 , к которой можно подключиться с телефона для обновления прошивки или внесения изменений в настройки, страница настроек доступна по адресу http://192.168.4.1. Активация WIFI возможна несколькими способами

  • Запрос из приложения wifion
  • Замыкание SCL на GND вызывает включение WiFi если это настроено в пункте контроля каналов.
  • Снятие и подача питания на устройство

По прошествии 10 минут WiFi отключается и устройство уходит в энергосберегающий режим потребляя ток 17-22 мА.

Управление по звонку с вводом DTMF команд

При звонке на устройство модем снимет вызов только с телефона хозяина, после "снятия трубки" будет ожидать ввода команд

  • #0*1234 - вызовет программу prog0
  • #9*1234 - вызовет программу prog9
  • #555 - Отправит SMS через 10 сек.
  • #777 - Перезагрузит модем. где 1234 - пинкод для управления

Выбор MQTT приложения в телефон для управления по GPRS

Для Android

Для IOS: IoT OnOff не на всех версиях ОС, может не коннекстится с брокером

Выбор MQTT брокера (далее сервера)


MQTT broker

https://www.cloudmqtt.com

http://flyhub.org


Главное окно программы MQTT Dash

Регистрация на https://www.cloudmqtt.com/

  • зарегистрируйтесь и залогинтесь

  • нажмите +Create New Instanct

  • Name любое значение

  • Plan Cute Cat (Free)

  • Data center EU-West-1 (Ireland)

  • Tags любое значение

  • Нажать по Create New Instance

  • Перейти в созданный профиль

Server

User

Password

Port

перенести значение этих параметров в MQTT Dash, Скачать, можно использовать любой другой MQTT клиент

Настройка приложения к серверу

Загрузка настроек интерфейса

Открыть в приложении Импорт/экспорт (1)

Нажать Подписаться и ждать метрики (2)

В вебсокете https://api.cloudmqtt.com/console/________/websocket заполнить и отправить настройки в телефон

Topic metrics/exchange

Сcылки на конфиг файлы выше, если не понятно смотрим нудное видео без звука

Видео по регистрации на youtube.com


Структура сообщения публикуемая содемом в сервер

Устройство подключается к MQTT броккеру (серверу), и каждую минут публикует в MQTT топик car/c5/pub/, на который подписывается смартфон, JSON строку данных {"pin":[13.73,1,1,0,0,0,1,0],"temp":[14.81,14.50,14.13],"time":["0:12","1:09:55","12"],"int":[0,7,11,11]}, извлечь необходимый параметр можно с помощью JSON pach доступного в большинстве MQTT приложений

  • $.pin[0] - вернёт напряжение питания устройства (13.73)
  • $.pin[1] - вернёт состояние реле K1 (1) - включено
  • $.pin[2] - вернёт состояние реле K2 (1) - включено
  • $.pin[3] - вернёт состояние реле K3 (0) - отключено
  • $.pin[4] - вернёт состояние реле K4 (0) - отключено
  • $.pin[5] - вернёт состояние реле K5 (0) - отключено
  • $.pin[6] - вернёт состояние входа IN1 (0) - нет напряжения
  • $.pin[7] - вернёт состояние входа IN2 (1) - есть напряжение
  • $.temp[0] - вернёт температуру датчика с индексом 0 (14.81)
  • $.temp[1] - вернёт температуру датчика с индексом 1 (14.50)
  • $.temp[2] - вернёт температуру датчика с индексом 2 (14.13)
  • $.time[0] - вернёт значение таймера обратного отсчета 0:12 минут
  • $.time[1] - вернёт время работы устройства 2day.18:28:24
  • $.time[2] - вернёт значение таймера обратного отсчета 12 в секундах
  • $.int[0] - вернет номер программы которую запустит импульс на канала 1 0 СТОП
  • $.int[1] - вернет номер программы которую запустит импульс на канала 2 -1 ничего не задано

Устройство подписывается на топик car/c5/sub, и ожидает команду prog0... prog9 получив команду исполняет программу сохраненную на устройстве.


Настройки плиток в MQTT Dash в ручном режиме

  • Тип Текст
  • Имя Температура
  • Топик (SUB) car/c5/pub - желательно не изменять
  • Извлечь, используя JSON path.... $.temp[0] - для первого термодатчика
  • Другие настройки QoS(0), цвет и размер плитки по вкусу.

  • Тип Диапазон/прогресс
  • Имя Напряжение
  • Топик (SUB) car/c5/pub - желательно не изменять
  • Извлечь, используя JSON path.... $.pin[0] - для чтения напряжения
  • Минимум 0, Максимум 15, Постфикс V, Точность 2
  • Плитка мигает для привлечения внимания... val > 13.2
  • Другие настройки QoS(0), цвет и размер плитки по вкусу.

Потребление трафика:

Один пакет GPRS данных состоит в среднем из 100 байт, отправляется устройством каждую минуту, 100 байт х 60 минут х 24 часа х 31 день = около 4.5 MB/мес, однако на практике оператор трафик считают больший, у меня набегает 9.5 Мб в месяц. Стоит отметить что сотовые операторы по разному округляют трафик в конце сессии, в результате чего, списывать с баланса могут в разы больше фактически затраченного.