Python Gateway YDPG-01
Устройство предназначено для подключения NMEA0183 устройств к сети NMEA2000 и обеспечивает непревзойдённые возможности обработки и фильтрации данных с использованием языка программирования Python 3 и библиотеки Yacht Devices.
Yacht Devices Программируемый NMEA2000/0183 шлюз подключает устройства к сети NMEA 0183 devices to the NMEA 2000 и обеспечивает непревзойденные возможности обработки и фильтрации данных благодаря мощным возможностям языка программирования Python 3 и библиотеки Yacht Devices.
Это можно использовать для выполнения следующих задач:
- Создание пользовательских шлюзов. В случае проприетарных или нестандартных сообщений шлюз является оптимальной платформой для быстрой разработки благодаря гибкости языка Python и мощным возможностям библиотеки Yacht Devices NMEA ;
- Обеспечить правильную работу оборудования. Например, с помощью нескольких строк кода можно создать виртуальный эхолот NMEA 2000 или NMEA 0183 , который отправляет скорректированное значение с реального прибора или добавляет данные смещения датчика.
- Обеспечить совместимость оборудования. Шлюз позволяет устанавливать разные скорости для линий передачи и приема NMEA 0183. Пользовательский код может пересылать сообщения, добавлять контрольные суммы (не требуемые в ранних версиях NMEA), фиксировать имена датчиков в предложениях и т. д.
- Не только NMEA. Вы можете использовать шлюз в любой сети CAN (J1939, BRP CAN , CANOpen) со скоростью до 1 Мбит/с и с любым устройством RS-232 или RS-422.
- Диагностика неисправностей. Как в фильме про хакеров, вы можете подключить свой ноутбук через USB и вводить команды в терминал, чтобы просматривать данные сети в реальном времени или запускать тесты.
- Регистрация данных сети. Встроенный флеш-накопитель объемом 16 МБ позволяет создавать приложения для регистрации или потоковой передачи данных. Например, вы можете создать цифровой журнал или собирать данные для собственной карты глубин.
Рисунок 1. Шлюзы Python YDPG-01R и YDPG_01N (посмотреть другие изображения)
Устройство оснащено интерфейсом NMEA 2000 (CAN-шина) с разъемом NMEA 2000 Micro Male или SeaTalk NG в зависимости от модели, двумя последовательными портами (один NMEA 0183 TX и один RX), а также разъемом USB Mini Type-B, который обеспечивает работу как в режиме последовательного порта USB, так и в режиме USB-накопителя. Интерфейсы NMEA 2000 и NMEA 0183 имеют высоковольтную гальваническую развязку.
Пользовательские программы можно скопировать с ПК на внутренний диск шлюза через USB-соединение. Для работы со шлюзом мы рекомендуем бесплатную IDE с открытым исходным кодом Thonny. Эта простая IDE позволяет редактировать файлы прямо на шлюзе, выделять синтаксис, сохранять резервные копии файлов на ПК, запускать и останавливать код, взаимодействовать с REPL, строить графики переменных и т. д.
# Sends data from the internal voltmeter in PGN "Battery Status"
import struct
def send_battery_status():
i16 = int(round(ydpg.busvoltage() * 100))
data = struct.pack('<BhhHB', 0, i16, 0x7FFF, 0xFFFF, 0xFF)
n2k.sendpgn(data, 127508)
while True:
send_battery_status()
time.sleep(1.5)
Рисунок 2. Пример программы
Дополнительные примеры кода:
- Виртуальный эхолот с использованием реальных данных
- Прием различных типов сообщений NMEA 2000
- Пользовательские команды настройки NMEA 2000
- Управление светодиодами на основе цифровой коммутации
- Конвертер AIS из NMEA 0183 в NMEA 2000
- Шлюз NMEA 2000 USB, протокол RAW
- Шлюз двигателя BRP Rotax, 11-битные кадровые сообщения CAN
- Шлюз протокола B&G FastNet
Чтобы узнать больше о программировании шлюза, посетите страницу библиотеки Yacht Devices. Для программирования шлюза требуются знания стандартов NMEA 2000 и NMEA 0183. Копию стандарта NMEA можно получить в Национальной ассоциации морской электроники: https://www.nmea.org.
Дополнительные технические сведения см. в Руководстве пользователя и Часто задаваемые вопросы.
Купить это устройство