Использование системы в различных ситуациях, вопросы программирования сценариев.
Модератор: immortal
-
xor
- Сообщения: 2045
- Зарегистрирован: Сб ноя 22, 2014 8:45 pm
-
Благодарил (а):
289 раз
-
Поблагодарили:
632 раза
Сообщение
xor » Вс сен 29, 2019 4:29 pm
StryzhakA писал(а): ↑Вс сен 29, 2019 4:10 pm
Здравствуйте друзья. Пожалуйста, помогите разобраться: использую приложение arduino_gw. На сервер МД передает данные отлично. А вот передать с МД в ардуинку не могу. Написал вот такую функцию на Ардуинке:
Код: Выделить всё
void serial() {
if (Serial.available() > 0) {
String command = Serial.readString();
if ((command == "5ON") && (RelayPumpStatusNow == 0)) {
RelayPumpStatusNow = !RelayPumpStatusNow;
delay(100);
}
else if ((content.equals("5OFF")) && (RelayPumpStatusNow == 1)) {
RelayPumpStatusNow = !RelayPumpStatusNow;
delay(100);
}
else if ((content.equals("6ON")) && (RelayConvStatusNow == 0)) {
RelayConvStatusNow = !RelayConvStatusNow;
delay(100);
}
else if ((content.equals("6OFF")) && (RelayConvStatusNow == 1)) {
RelayConvStatusNow = !RelayConvStatusNow;
delay(100);
}
else {
Serial.println("Error command");
}
}
Serial.flush();
}
если в панели монитора пишу 5ON или другую из команд - все срабатывает.
Если с МД через arduino_gw отправляю использую вот такой код:
Как результат:
29.09.2019 16:08:21 > 5ON
29.09.2019 16:08:21
Error command
29.09.2019 16:08:24 > 5OFF
29.09.2019 16:08:24
Error command
Я так понимаю что Арудинка как то не так интерпритирует эти команды?
Спасибо вам за помощь
просто предположение -
может, вместо content.equals("хххх") использовать что-то, не проверяющее на равенство, а на вхождение подстроки?
может, там перевод каретки еще передается?
-
StryzhakA
- Сообщения: 97
- Зарегистрирован: Сб янв 23, 2016 3:57 pm
-
Благодарил (а):
3 раза
-
Поблагодарили:
1 раз
Сообщение
StryzhakA » Вс сен 29, 2019 4:37 pm
просто предположение -
может, вместо content.equals("хххх") использовать что-то, не проверяющее на равенство, а на вхождение подстроки?
может, там перевод каретки еще передается?
Хорошее предположение... А можете какой то пример привести?
-
xor
- Сообщения: 2045
- Зарегистрирован: Сб ноя 22, 2014 8:45 pm
-
Благодарил (а):
289 раз
-
Поблагодарили:
632 раза
Сообщение
xor » Вс сен 29, 2019 5:15 pm
StryzhakA писал(а): ↑Вс сен 29, 2019 4:37 pm
просто предположение -
может, вместо content.equals("хххх") использовать что-то, не проверяющее на равенство, а на вхождение подстроки?
может, там перевод каретки еще передается?
Хорошее предположение... А можете какой то пример привести?
хе, не прожу под ардуино(
-
StryzhakA
- Сообщения: 97
- Зарегистрирован: Сб янв 23, 2016 3:57 pm
-
Благодарил (а):
3 раза
-
Поблагодарили:
1 раз
Сообщение
StryzhakA » Пн сен 30, 2019 7:46 am
И еще у меня одна серьезная проблема: связь с сериал портом ардуино время от времени пропадает. И после таких падений програма arduino_gw автоматически не востанавливает связь, а надо это делать вручную. В чем может быть проблема, может кто сталкивался с таким? Это програмный или апаратный глюк?
Спасибо
Получается что на езернет хоть и не стабильно работало но все же стабильней чем через сериал.
-
xor
- Сообщения: 2045
- Зарегистрирован: Сб ноя 22, 2014 8:45 pm
-
Благодарил (а):
289 раз
-
Поблагодарили:
632 раза
Сообщение
xor » Пн сен 30, 2019 8:03 am
Я в таких случаях перезапускал ее до установки связи
Отправлено с моего Redmi 4X через Tapatalk
-
StryzhakA
- Сообщения: 97
- Зарегистрирован: Сб янв 23, 2016 3:57 pm
-
Благодарил (а):
3 раза
-
Поблагодарили:
1 раз
Сообщение
StryzhakA » Пт окт 04, 2019 12:13 pm
Здравствуйте друзья! У меня еще одна проблема. Majo Domo обменивается по сериал порту с Ардуинками через юсб-хаб, и я заметил, что если работает одна Ардуинка - все хорошо, но если две вместе - это приводит к подвисанию и остановке отправки сообщений с ардуинки на МД, или одной или двух вместе. Может вопрос в каких то часовых ограничениях - может надо выставить задержки между отправкой сообщений ардуникой к МД? Но знаю что топология шини юсб, это вопрос решает. В чем проблема?
Спасибо вам
-
xor
- Сообщения: 2045
- Зарегистрирован: Сб ноя 22, 2014 8:45 pm
-
Благодарил (а):
289 раз
-
Поблагодарили:
632 раза
Сообщение
xor » Пт окт 04, 2019 2:18 pm
StryzhakA писал(а):Здравствуйте друзья! У меня еще одна проблема. Majo Domo обменивается по сериал порту с Ардуинками через юсб-хаб, и я заметил, что если работает одна Ардуинка - все хорошо, но если две вместе - это приводит к подвисанию и остановке отправки сообщений с ардуинки на МД, или одной или двух вместе. Может вопрос в каких то часовых ограничениях - может надо выставить задержки между отправкой сообщений ардуникой к МД? Но знаю что топология шини юсб, это вопрос решает. В чем проблема?
Спасибо вам
Номера портов для каждой ардуинки должны быть разные и для каждой должен быть запущен экземпляр ардуиногв, так сделано?
Отправлено с моего Redmi 4X через Tapatalk
-
StryzhakA
- Сообщения: 97
- Зарегистрирован: Сб янв 23, 2016 3:57 pm
-
Благодарил (а):
3 раза
-
Поблагодарили:
1 раз
Сообщение
StryzhakA » Пт окт 04, 2019 6:20 pm
xor писал(а): ↑Пт окт 04, 2019 2:18 pm
StryzhakA писал(а):Здравствуйте друзья! У меня еще одна проблема. Majo Domo обменивается по сериал порту с Ардуинками через юсб-хаб, и я заметил, что если работает одна Ардуинка - все хорошо, но если две вместе - это приводит к подвисанию и остановке отправки сообщений с ардуинки на МД, или одной или двух вместе. Может вопрос в каких то часовых ограничениях - может надо выставить задержки между отправкой сообщений ардуникой к МД? Но знаю что топология шини юсб, это вопрос решает. В чем проблема?
Спасибо вам
Номера портов для каждой ардуинки должны быть разные и для каждой должен быть запущен экземпляр ардуиногв, так сделано?
Отправлено с моего Redmi 4X через Tapatalk
Да, так и сделано. Для каждой ардуинки свой сериал порт, и для каждой отдельно запущена програма arduino_gw.
-
xor
- Сообщения: 2045
- Зарегистрирован: Сб ноя 22, 2014 8:45 pm
-
Благодарил (а):
289 раз
-
Поблагодарили:
632 раза
Сообщение
xor » Сб окт 05, 2019 11:01 am
StryzhakA писал(а):xor писал(а): ↑Пт окт 04, 2019 2:18 pm
StryzhakA писал(а):Здравствуйте друзья! У меня еще одна проблема. Majo Domo обменивается по сериал порту с Ардуинками через юсб-хаб, и я заметил, что если работает одна Ардуинка - все хорошо, но если две вместе - это приводит к подвисанию и остановке отправки сообщений с ардуинки на МД, или одной или двух вместе. Может вопрос в каких то часовых ограничениях - может надо выставить задержки между отправкой сообщений ардуникой к МД? Но знаю что топология шини юсб, это вопрос решает. В чем проблема?
Спасибо вам
Номера портов для каждой ардуинки должны быть разные и для каждой должен быть запущен экземпляр ардуиногв, так сделано?
Отправлено с моего Redmi 4X через Tapatalk
Да, так и сделано. Для каждой ардуинки свой сериал порт, и для каждой отдельно запущена програма arduino_gw.
Ну, тогда не знаю. У меня несколько лет назад одно устройство было подключено, но, в итоге, отказался. Частые отвалы были. Перешёл на вифи мост через еспшку.
Отправлено с моего Redmi 4X через Tapatalk