Как использовать общий последовательный драйвер на шлюзе ввода/вывода
Узнайте, как обеспечить связь шлюза I/O Gateway с любым последовательным устройством.
On November 1, 2021, Tulip will no longer sell I/O Gateway devices. Edge IO and Edge MC Devices are still available. Learn More
Руководство по последовательной настройке Edge IO
Руководство по настройке последовательногоинтерфейса Edge MC
Эта статья объясняет, как использовать общий последовательный драйвер на шлюзе ввода/вывода для связи с большинством последовательных устройств. Эта статья может быть использована и для других устройств Tulip Edge, таких как Edge MC и Edge IO.
В этой статье предполагается, что вы уже завершили настройку шлюза ввода/вывода.
Обратите внимание, что этот драйвер отличается от драйвера Serial Driver (Player Only), который в настоящее время доступен только для Windows Tulip Player.
Что такое общий последовательный драйвер?
Общий последовательный драйвер позволяет шлюзу ввода-вывода взаимодействовать с другими устройствами, используя общий последовательный протокол. Этими устройствами могут быть такие вещи, как:
- Arduino
- Raspberry Pi
- Другие устройства Tulip Edge
- Микроконтроллеры
- Многие другие устройства
Из-за универсальности этого драйвера он имеет сложную конфигурацию. Эта конфигурация должна точно соответствовать конфигурации вашего другого устройства.
Этот драйвер может поддерживать связь с несколькими устройствами одновременно.
Примечание: Tulip не пишет пользовательский код для устройств, которые вы подключаете к общему последовательному драйверу.
Включение универсального последовательного драйвера
Подключите свой компьютер к шлюзу ввода-вывода, войдя в созданную им локальную сеть.
Откройте портал устройств. На странице приборных панелей нажмите на кнопку "Настроить драйверы" в левой части страницы.
На странице конфигурации драйвера нажмите на опцию "Generic Serial".
По умолчанию опция "Generic Serial" уже должна быть зеленой (включенной) и настроена с некоторыми общими параметрами.
Windows обычно использует \r для возврата каретки.
Для включения драйвера Generic Serial требуется некоторая настройка.
Ниже приведены параметры для каждого поля:
Суффикс записи
- Ожидаемый ввод: Любая строка - она добавляется к любому сообщению, которое шлюз ввода-вывода будет отправлять на устройство, и обычно представляет собой новую строку (\n) или возврат каретки (\n\r).
- Требуется: Нет
Сопоставитель путей
- Ожидаемый ввод: Системный путь к вашему устройству - это может быть * для сопоставления с любым неиспользуемым последовательным устройством (это полезно при использовании адаптеров usb-to-serial).
- Требуется: да
Имя
- Ожидаемый ввод: Имя устройства (будет использоваться для ссылок на устройство в приложениях)
- Требуется: да
Разделитель
- Ожидаемый ввод: Любая строка (используется для разделения сообщения с вашего устройства на фрагменты для отправки на ваш аккаунт Tulip)
- Требуется: да
Бод
- Ожидаемый ввод: Скорость передачи данных, которую устройство будет использовать для связи
- Требуется: да
Родной порт DB9
Если вы планируете использовать родной порт DB9 на шлюзе ввода-вывода, вам нужно будет использовать путь /dev/ttyO4
для вашего устройства сопоставления путей. Это заглавная буква O, а не ноль.
Создание приложения для работы с последовательным драйвером
Вот как создать приложение для тестирования вашего драйвера.
Сначала создайте новое приложение и добавьте кнопку.
Добавьте триггер к этой кнопке, чтобы вызвать общее последовательное устройство с именем, которое вы использовали при настройке драйвера.
Вот поля, которые вам понадобятся в операторе "Then":
- "Run Device Function"
- "Generic Serial Device"
- "Отправить строку на последовательное устройство"
- На "этой станции"
- Устройство для отправки: "text" "RS232"
- Сообщение для отправки: "text" "testing generic serial"
Добавьте триггер в это приложение, чтобы записывать данные в переменную, когда драйвер generic serial выдает данные. Используйте оператор "If", чтобы сохранять данные только в том случае, если их выдает нужное устройство.
Когда
- "Устройство" "Generic Serial Device" выводит данные на "этой станции"
Если
- "Выход устройства"
- "имя"
- "="
- "текст" "RS232"
Тогда
- "Манипуляция данными"
- "Хранить"
- "Выход устройства" "данные"
- местоположение: "generic serial" (это имя переменной).
Добавьте эту переменную в ваше приложение. Это будет объект со свойствами "name" и "data".
Протестируйте приложение
Для тестирования приложения используйте нуль-модем и преобразователь USB в RS232.
Подключите USB к компьютеру. Затем подключите нуль-модемный адаптер к адаптеру RS232 и порту DB9 шлюза ввода-вывода.
Начните с:
Если вы работаете под Windows, используйте Putty для проверки соединения. Получите номер порта с помощью Диспетчера устройств.
Введите номер COM-порта в поле "Скорость" и выберите "Тип подключения" "Последовательный".
Терминал Putty будет печатать сообщения на шлюз ввода-вывода, только когда вы нажмете кнопку в запущенном приложении.
Отправьте сообщение 'Tulip' через Putty, набрав его и нажав Enter.
Как протестировать универсальный последовательный драйвер на Linux или Mac с помощью Node.js
Для этого потребуется node.js и npm. Затем установите пакет serialport
через npm.
``const SerialPort = require('serialport')
const Readline = require('@serialport/parser-readline')
const port = new SerialPort('/dev/ttyUSB0', { baudRate: 19200 })
const parser = new Readline()
port.pipe(parser)
parser.on('data', line => {
console.log(> ${line})
});
let test = false;
setInterval(()=>{
if (test){
port.write('output\n');
test = false
}
else {
port.write('другой выход\n');
тест = true
}
},1000)```