Добрый день.
ардуино передает показания разных датчиков в большом количестве.
Возможно ли передать в запросе данные сразу двум или более объектам сразу, например:
192.168.1.100/objects/?object=temp1&op=m&m=tempChange&enabled=1&value=22&
object=temp2&op=m&m=tempChange&enabled=1&value=23
Передача данных в несколько объектов одним запрсом
Модератор: immortal
- AHgpeu
- Сообщения: 117
- Зарегистрирован: Чт мар 12, 2015 11:46 am
- Благодарил (а): 26 раз
- Поблагодарили: 16 раз
Re: Передача данных в несколько объектов одним запрсом
по логике программирования нет. переменные затрут сами себя. можно передавать хоть миллион (утрирую, есть ограничения на длину $_GET) параметров, но с РАЗНЫМИ именами.
но можно одновременно (ну почти) в цикле отправить несколько одинаковых запросов на сервер
но можно одновременно (ну почти) в цикле отправить несколько одинаковых запросов на сервер
- sergejey
- Site Admin
- Сообщения: 4286
- Зарегистрирован: Пн сен 05, 2011 6:48 pm
- Откуда: Минск, Беларусь
- Благодарил (а): 76 раз
- Поблагодарили: 1559 раз
- Контактная информация:
Re: Передача данных в несколько объектов одним запрсом
одним запросом можно вызвать сценарий или метод, а в нём уже раскидать параметры по разным свойствам разных объетков
например:
/objects/?script=myScript¶m1=value1¶m2=value2¶m3=values
в самом коде сценария myScript использовать значения $params['param1'], $params['param2'], $params['param3'] по своему усмотрению.
например:
/objects/?script=myScript¶m1=value1¶m2=value2¶m3=values
в самом коде сценария myScript использовать значения $params['param1'], $params['param2'], $params['param3'] по своему усмотрению.
- Рейтинг: 1.16%
Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
Re: Передача данных в несколько объектов одним запрсом
Интересная идея, благодарю.sergejey писал(а):одним запросом можно вызвать сценарий или метод, а в нём уже раскидать параметры по разным свойствам разных объетков
например:
/objects/?script=myScript¶m1=value1¶m2=value2¶m3=values
в самом коде сценария myScript использовать значения $params['param1'], $params['param2'], $params['param3'] по своему усмотрению.
А с циклом есть одна проблема: при наличии сервера соединение происходит почти мгновенно и все быстренько отправляется а вот если сервер выключить то время ожидания подключения да еще и в цикле практически вешает ардуино.
-
- Сообщения: 2357
- Зарегистрирован: Пт апр 20, 2012 12:53 pm
- Благодарил (а): 42 раза
- Поблагодарили: 262 раза
Re: Передача данных в несколько объектов одним запрсом
То, чего вы хотите уже давно реализовано и лежит на форуме.
http://smartliving.ru/forum/viewtopic.p ... t=70#p4805
Отправка 14-и значений для разных объектов одним пакетом. Сделано потому, что у М беда с обработкой массовых входящих запросов.
Фрагмент кода, который формирует пакет:
http://smartliving.ru/forum/viewtopic.p ... t=70#p4805
Отправка 14-и значений для разных объектов одним пакетом. Сделано потому, что у М беда с обработкой массовых входящих запросов.
Фрагмент кода, который формирует пакет:
Код: Выделить всё
if (STT == stt0 && STP == stp0) {
sprintf(buf, "GET /objects/?object=%s&op=m&m=update&%s=%0d.%d&%s=%0d.%d&%s=%0d.%d&%s=%0d.%d&%s=%0d.%d&%s=%0d.%d&%s=%0d.%d&%s=%0d.%d&%s=%0d.%d&%s=%0d.%d&%s=%0d.%d&%s=%0d.%d&%s=%0d.%d&%s=%0d.%d HTTP/1.0",
obj, "u", (int)dUIrms[0], abs(tmpUIrms[0]),
"p1", (int)dPWR[1], abs(tmpPwr[1]), "p2", (int)dPWR[2], abs(tmpPwr[2]), "p3", (int)dPWR[3], abs(tmpPwr[3]),
"p4", (int)dPWR[4], abs(tmpPwr[4]), "p5", (int)dPWR[5], abs(tmpPwr[5]), "p6", (int)dPWR[6], abs(tmpPwr[6]),
"p7", (int)dPWR[7], abs(tmpPwr[7]), "p8", (int)dPWR[8], abs(tmpPwr[8]), "p9", (int)dPWR[9], abs(tmpPwr[9]),
"p10", (int)dPWR[10], abs(tmpPwr[10]), "p11", (int)dPWR[11], abs(tmpPwr[11]),
"p12", (int)dPWR[12], abs(tmpPwr[12]), "p13", (int)dPWR[13], abs(tmpPwr[13]));
sendHTTPRequest();
}