Собрал прототип платы сбора данных по новой схеме. Используется Arduino Nano.
*32 цифровых входа
*вход топлива
*вход температуры ОЖ
*3 дополнительных аналоговых входа для датчиков 5В
*2 цифровых датчика температуры 18b20
*WiFi DT-06
*дополнительный последовательный порт для подключения внешних источников данных(CAN, OBD и т.п.)
*выход питания 5В USB 3А
*порт подключения дисплеев Nextion
Особенности платы:
1. Цифровые входы работают одновременно по плюсу и минусу. То есть если вход не подключен то его состояние рано 0. При подключении входа к массе или к +5...15В состояние меняется на 1. Теперь не нужно инвертировать входы в скетче и мучатся с перепайкой подтяжек.
2. Возможность работы с Nextion (без использования Андроида)
3. Подходит для VenatorLite и VenatorCustom
P.S.
Приложение Venator принимает данные в виде текстовой строки.
В верхней части экрана выводится текущий статус сетевого соединения приложения с блоком сбора данных.
Статус:
"try connect" — Попытка установления сетевого соединения
Статус:
"No connection" — Не установлено сетевое соединение.
Возможные причины: Отключена WiFi-сеть Андроид-устройства, не работает WiFi модуль, IP-адрес WiFi модуля и не соответствует указанному в приложении, port WiFi модуля и не соответствует указанному в приложении.
Статус:
"connected, no data" — Сетевое соединение установлено, данные отсутствуют.
Возможные причины: Отсутствие serial-соединения между блоком сбора данных и модулем WiFi(обрыв линии связи, несоответствие скоростей serial-порта блока сбора данных и WiFi модуля, перепутаны местами линии RX/TX, номер serial-порта блока сбора данных не соответствует фактическому подключению (Serial — RX0/TX0, Serial1 — RX1/TX1, Serial2 — RX2/TX2 и т.д.)
Статус:
"connected" — Сетевое соединение установлено.
Строка данных должна иметь строго определенный формат, иначе приложение будет эту строку игнорировать.
Строка данных состоит из 18 параметров разделенных символом ", ". Завершает строку символ ":"
Пример:
200,5000,857,126,340,000,000,000,000,000,000,000,0 00,000,00,721,000,1133300000000000000000000000:
параметр #1 — скорость, допустимые значения: 0…999
параметр #2 — обороты, допустимые значения: 0…99999
параметр #3 — АЦП напряжения АКБ, допустимые значения: 0…9999
параметр #4 — АЦП датчика уровня топлива, допустимые значения: 0…9999
параметр #5 — АЦП датчика температуры охлаждающей жидкости, допустимые значения: 0…9999
параметр #6…#15 — зарезервированные параметры, допустимые значения: 0…9999
параметр #16 — температура с цифрового датчика ds18b20, допустимые значения: 0…9999
параметр #17 — символ включенной передачи, допустимые значения: от 1-го до 3-х буквенно-цифровых символа, или символ пробела.
параметр #18 — состояние дискретных входов:
#18.1 — вход зажигания, допустимые значения: 0 — выключен, 1 — включен.
#18.2 — вход ближнего света, допустимые значения: 0 — выключен, 1 — включен.
#18.3 — вход включенной задней передачи, допустимые значения: 0 — выключен, 1 — включен.
#18.4 — входы сигналов поворота, допустимые значения: 0 — выключены, 1 — включен левый, 2 — включен правый, 3 — включены левый и правый.
#18.5 — входы сигналов габаритных огней и дальнего света, допустимые значения: 0 — выключены, 1 — включены габаритные огни, 2 — включен дальний свет, 3 — включены габаритные огни и дальний свет.
#18.6 — входы сигналов противотуманных огней и дальнего, допустимые значения: 0 — выключены, 1 — включены задние противотуманные огни, 2 — включены передние противотуманные огни, 3 — включены задние и передние противотуманные огни.
#18.7 — вход переключения скина, допустимые значения: 0 — выключен, 1 — включен.
#18.8 — вход обнуления суточного счетчика пробега, допустимые значения: 0 — выключен, 1 — включен.
#18.9…#18.24 — входы настраиваемых контрольных ламп, допустимые значения: 0 — выключен, 1 — включен.
Для неиспользуемых параметров следует установить постоянное значение 0.
Регулярное выражение для строки данных:
/\d{1,3}\, \d{1,5}\, ([\d-\s]{1,4}\, ){14}[\w-\s]{1,3}\, [0-1]{2}[0-3]{4}[0-1]*\:/