UDP пакеты
Модератор: immortal
UDP пакеты
Коллеги, подскажите возможно ли прием и отправка UDP пакетов . У меня несколько модулей Arduino в разных зданиях обмениваюся данными с помощью UDP. Хотелось-бы их как то увидеть и в MajorDoMo
-
- Сообщения: 1473
- Зарегистрирован: Сб окт 12, 2013 11:03 pm
- Благодарил (а): 49 раз
- Поблагодарили: 327 раз
Re: UDP пакеты
Можно отдельный цикл запустить с прослушиванием UDP и ложить данные в базу
Я очень много работаю именно с этим протоколом на работе. У него очень много недостатков как достоинств.
Очень часто пропадают пакеты на сильно загруженных каналах а также если принимающий компьютер загружен.
Особая проблема при роуте или прокидки через множество хабов (Вам же нужно с другого здания).
Если информация не критичная тогда проблем нет. Если критичная тогда придётся лепить свой протокол над UDP для подтверждения доставки.
По моему проще перевести ваши устройства на HTTP
Я очень много работаю именно с этим протоколом на работе. У него очень много недостатков как достоинств.
Очень часто пропадают пакеты на сильно загруженных каналах а также если принимающий компьютер загружен.
Особая проблема при роуте или прокидки через множество хабов (Вам же нужно с другого здания).
Если информация не критичная тогда проблем нет. Если критичная тогда придётся лепить свой протокол над UDP для подтверждения доставки.
По моему проще перевести ваши устройства на HTTP
Linux, Raspberry PI, MySensors
Connect: http://connect.smartliving.ru/profile/53
Мои проекты: http://smartliving.ru/profile/4
Connect: http://connect.smartliving.ru/profile/53
Мои проекты: http://smartliving.ru/profile/4
Re: UDP пакеты
у меня реазизовано управление Arduino по UDP отлично работает , без сбоев и самое главное при пропадании интернета все работает.
$fp=stream_socket_client("udp://x.x.x.x:xxxx",$errno,$errstr);
if (!$fp) {
echo "$errstr ($errno)<br>\n";
}else {
fwrite($fp,"SD=U:00\n"); // посылаем строку включения подсветки на ардуину - в кавычках ваша команда
$data=fread($fp,26); // слушаем ответ
fclose($fp);
}
if ($data=='SD0'){
say("Подсветка выключена");
}
$fp=stream_socket_client("udp://x.x.x.x:xxxx",$errno,$errstr);
if (!$fp) {
echo "$errstr ($errno)<br>\n";
}else {
fwrite($fp,"SD=U:00\n"); // посылаем строку включения подсветки на ардуину - в кавычках ваша команда
$data=fread($fp,26); // слушаем ответ
fclose($fp);
}
if ($data=='SD0'){
say("Подсветка выключена");
}