ээх ... да чего я решил? что накопал от того и пляшу
кстати .. помоему эта 8-ка и прилетала в ответ на Q ... я и ЛАТР-ом упску вгонял на повышенное и пониженное напряжение и перегруз давал кучей лампочек .. эфекта ноль .. возвращается 8ка и всё... реакция была только на отключение питания. Тут да, ответ менялся (помоему на "10" если и соврал то не суть)
Нужно управлять smart ups и снимать с него данные c помощью arduino. Имею smart ups 450 c com портом и такой переходник для arduino. Подключаю к RX и TX serial пинам 0 и 1 и не вижу вывода ups, к этим пинам пробовал подключать модуль sim 900 все отлично работает, могу ввести команды и получить ответ. Может быть я не понял и этот переходник не подходит?
а можно ли подключиться ком порт непосредственно к RX и TX serial пинам ардуины? И если нет то почему? Заранее благодарю за ответ
а можно ли подключиться ком порт непосредственно к RX и TX serial пинам ардуины?
Нет, нельзя.
kolko пишет:
И если нет то почему?
Потому что в ардуине интерфейс не RS232(COM), а UART. У них разные логические уровни (напряжения). Требуется преобразователь RS232-UART, например MAX232.
Если же в UPS тоже UART, тогда можно напрямую. Нужно точно знать, какой там интерфейс.
Потому что в ардуине интерфейс не RS232(COM), а UART. У них разные логические уровни (напряжения). Требуется преобразователь RS232-UART, например MAX232.
Если же в UPS тоже UART, тогда можно напрямую. Нужно точно знать, какой там интерфейс.
спаял преобразователь уровней на двух транзюках, работает. Собственно заморочка то моя в том чтобы выводить на lcd_16, 2 с обновлением в 1000 мкс четыре переменных:
напряжение батарей,
текущую нагрузку в ваттах,
напряжение на выходе,
заряд батарей
Есть ардуино с самопальной RS232-UART, lcd_16, 2 и UPS APC-Smart-UPS-RT-2000. Как это сделать? С чего стартануть следует?
Потому что в ардуине интерфейс не RS232(COM), а UART. У них разные логические уровни (напряжения). Требуется преобразователь RS232-UART, например MAX232.
Если же в UPS тоже UART, тогда можно напрямую. Нужно точно знать, какой там интерфейс.
а разве тот переходник, что у kolko на скрине не является тем самым конвертором уровней? .. я пользовался таким же - всё работало
Подниму тему. Хочу снимать параметры ИБП Powerman Online 1000 Plus по порту RS232 вместо штатной UPSilon2000. Подключил переходник RS232-UART, как в посте 55, к нему обычный USB-UART на чипе CP2102. Поставил снифер Serial Port Monitor и запустил UPSilon2000. Посмотрел, что приходит в порт. Протокол тут другой, чем у APS. Для запуска обмена отправляется F\r, потом Q1\r. После чего приходит строка с данными.
Подключился через Pytti, 8N1 2400, вручную отправляю F\r, потом Q1\r, получаю данные.
Не знаю что и как вы там тестировали между двумя ардуинками, но посмотрите внимательно на свой опрос(), не с того порта читаете!
Вообще мудреный код, зачем все эти таймеры. Достаточно примеров, как работать с одной переменной и константой для периодического выполнения чего-либо.
Send() выполняйте интервально, а вот чтение и обработку ответа Recv() (у вас это опрос()) надо делать оперативно -> убрать в цикл loop без всяких дополнительных проверок и ограничений, просто проверять mySerial.available(), читать и обрабатывать дальше.
0
Ну, раз вы все решили и сделали,
ээх ... да чего я решил? что накопал от того и пляшу
кстати .. помоему эта 8-ка и прилетала в ответ на Q ... я и ЛАТР-ом упску вгонял на повышенное и пониженное напряжение и перегруз давал кучей лампочек .. эфекта ноль .. возвращается 8ка и всё... реакция была только на отключение питания. Тут да, ответ менялся (помоему на "10" если и соврал то не суть)
Питание не буду дергать для проверки статуса - оборудование казенное. Алгоритм, которым пользуюсь, написал. Быть или не быть - решайте сами.
Питание не буду дергать для проверки статуса - оборудование казенное.
изначально просьба была просто показать скетч .. ;)
Так смотрите, мне не жалко - https://github.com/zbx-sadman/zabbuino/blob/master/src/uart_apcsmart.cpp
Добрый день!
Нужно управлять smart ups и снимать с него данные c помощью arduino. Имею smart ups 450 c com портом и такой переходник для arduino. Подключаю к RX и TX serial пинам 0 и 1 и не вижу вывода ups, к этим пинам пробовал подключать модуль sim 900 все отлично работает, могу ввести команды и получить ответ. Может быть я не понял и этот переходник не подходит?
а можно ли подключиться ком порт непосредственно к RX и TX serial пинам ардуины? И если нет то почему? Заранее благодарю за ответ
а можно ли подключиться ком порт непосредственно к RX и TX serial пинам ардуины?
Нет, нельзя.
И если нет то почему?
Потому что в ардуине интерфейс не RS232(COM), а UART. У них разные логические уровни (напряжения). Требуется преобразователь RS232-UART, например MAX232.
Если же в UPS тоже UART, тогда можно напрямую. Нужно точно знать, какой там интерфейс.
Потому что в ардуине интерфейс не RS232(COM), а UART. У них разные логические уровни (напряжения). Требуется преобразователь RS232-UART, например MAX232.
Если же в UPS тоже UART, тогда можно напрямую. Нужно точно знать, какой там интерфейс.
спаял преобразователь уровней на двух транзюках, работает. Собственно заморочка то моя в том чтобы выводить на lcd_16, 2 с обновлением в 1000 мкс четыре переменных:
напряжение батарей,
текущую нагрузку в ваттах,
напряжение на выходе,
заряд батарей
Есть ардуино с самопальной RS232-UART, lcd_16, 2 и UPS APC-Smart-UPS-RT-2000. Как это сделать? С чего стартануть следует?
Потому что в ардуине интерфейс не RS232(COM), а UART. У них разные логические уровни (напряжения). Требуется преобразователь RS232-UART, например MAX232.
Если же в UPS тоже UART, тогда можно напрямую. Нужно точно знать, какой там интерфейс.
а разве тот переходник, что у kolko на скрине не является тем самым конвертором уровней? .. я пользовался таким же - всё работало
а разве тот переходник, что у kolko на скрине не является тем самым конвертором уровней? .. я пользовался таким же - всё работало
да, это он самый
получилось, надо использовать SoftwareSerial
получилось, надо использовать SoftwareSerial
код будет?
Подниму тему. Хочу снимать параметры ИБП Powerman Online 1000 Plus по порту RS232 вместо штатной UPSilon2000. Подключил переходник RS232-UART, как в посте 55, к нему обычный USB-UART на чипе CP2102. Поставил снифер Serial Port Monitor и запустил UPSilon2000. Посмотрел, что приходит в порт. Протокол тут другой, чем у APS. Для запуска обмена отправляется F\r, потом Q1\r. После чего приходит строка с данными.
Подключился через Pytti, 8N1 2400, вручную отправляю F\r, потом Q1\r, получаю данные.
Написал по предыдущему примеру такой скетч
Проверил между 2 ардуинами, работает. А ИБП ничего не отправляет. Может кто подскажет, что я делаю не так? В коде на один F отправляю 4 Q1.
Добрый день!
Не знаю что и как вы там тестировали между двумя ардуинками, но посмотрите внимательно на свой опрос(), не с того порта читаете!
Вообще мудреный код, зачем все эти таймеры. Достаточно примеров, как работать с одной переменной и константой для периодического выполнения чего-либо.
Send() выполняйте интервально, а вот чтение и обработку ответа Recv() (у вас это опрос()) надо делать оперативно -> убрать в цикл loop без всяких дополнительных проверок и ограничений, просто проверять mySerial.available(), читать и обрабатывать дальше.