Страница 29 из 326

Re: Arduino Mega Server

Добавлено: Вс авг 09, 2015 7:40 pm
Alex
и там выходит GET /objects/?object=analog01&op=m&m=update&v=31.12 HTTP/1.0 такой ответ,как понял "v" это температура а что такое "op" и "m" и как его отобразить на сервере MDM
analog01 – объект
update — метод
v - значение

Метод update — что-то вроде этого:

$v = round($params['v'], 1);
$this->setProperty('value',$v);
$this->setProperty('updated',time());
$this->setProperty('updated_',date("H:i",time()));

Потом с value делаете, что хотите.
в serial выводиться температура а как ее отобразить на веб страничке Сервера
Так с ходу не скажу, нужно писать целую статью на эту тему. Попробуйте посмотреть по аналогии, как другие параметры выводятся.
что это за ответ GET /objects/?object=contCLO&op=m&m=update&v=0
CLO это от слова клозет, это унитаз, подключённый к Интернету :)
как и где настроить время
Строка в модуле RTC

IPAddress timeServer(192, 168, 2, 8);

Это адрес MDM, с него и берётся время.

Re: Arduino Mega Server

Добавлено: Вс авг 09, 2015 8:13 pm
Alex
Чудо свершилось. Полностью «отвязанная» версия. Типичное время загрузки — 4 секунды. Иногда чуть больше. Простор для оптимизации большой, но уже вполне можно пользоваться.

Ну и с этого момента автономный режим будет основным, М только в экзотических и особо тяжёлых случаях.

Как приведу в порядок код - так выложу.

Re: Arduino Mega Server

Добавлено: Вс авг 09, 2015 8:51 pm
ингвар
Alex писал(а):
как и где настроить время
Строка в модуле RTC
IPAddress timeServer(192, 168, 2, 8);
Это адрес MDM, с него и берётся время.
у меня там и прописан адрес MDM но время не обновляеться

Re: Arduino Mega Server

Добавлено: Вс авг 09, 2015 9:14 pm
Alex
Трудно сказать. У меня работает, никто на время не жаловался. Причин может быть много, можно попробовать адрес какого-нибудь сервера времени в Интернет.

Re: Arduino Mega Server

Добавлено: Пн авг 10, 2015 8:27 am
RusikOk
Alex писал(а):Сейчас это 4 потока по раз в секунду каждый. А при открытии 12 страниц (тест) получается 48 потоков. По 4 их не сгруппируешь (браузер решает и они обязательно пересекутся).
теперь то Вам дошло почему нет серверов на ардуино?
olehs писал(а):А для гейтов можно и вообще ENC28J60 использовать
более глючной микросхемы я не встречал. купил себе одну поковырять. почитал пару статей и желание отпало. но все же как нибудь по свободе займусь

а вобще в качестве web-сервера для такого навороченного контроллера как тут я бы взял роутер. БУ эго можно купить по цене ENC28J60 а ограничений с количеством потоков и прочей ерунды не будет. к тому же там линукс стоит. его ковырять проще. ну и памяти для страниц сайта там хватит если повыкидывать не нужные модули связанные с ADSL к примеру

Re: Arduino Mega Server

Добавлено: Вт авг 11, 2015 12:33 pm
Alex
Следующая версия почти готова и перед выпуском неплохо было бы решить ещё одну проблему, а именно сборку и загрузку страниц.

На «больших» серверах этим занимается PHP (инструкция include), а у нас технология HTML imports. Эта технология всем хороша, кроме одного — она работает только в новых браузерах, а большинство пользователей ничего не увидит (что нас никак не устраивает).

Среди альтернативных технологий — фреймы и загрузка через JavaScript. Фреймы я протестировал и они меня не устроили, остаётся JavaScript или то, что вы предложите.

Нужен код на чистом яваскрипте, без jQuery, чтобы не грузить лишнюю библиотеку.

Re: Arduino Mega Server

Добавлено: Вт авг 11, 2015 1:18 pm
RusikOk
да пускай обновят браузеры до последней версии да и все. укажи в системных требованиях минимальные версии и все.

PS
я так всегда делаю))))))))

Re: Arduino Mega Server

Добавлено: Ср авг 12, 2015 5:08 pm
Alex
По поводу производительности ещё. Я посмотрел на скетч server_ajax.ino. Как по мне, я бы весь интерфейс взаимодействия (протоколы) сделал на основе json, как в сети принято. Куски html отдавать - это расточительно. Нужно отдавать только массивы с данными, а js на стороне клиента должен этот json обрабатывать. В jquery есть даже параметр при приёме/передаче данных - интерпретировать как json. Для скетча работу с json можно организовать при помощи этого исходника: jsmn.
Дошли руки до оптимизации и ускорения работы AMS. uni , вы можете оформить код с обеих сторон сервера и яваскрипта в виде простейшего примера, который я потом сам разовью и адаптирую для реальной работы?

Re: Arduino Mega Server

Добавлено: Чт авг 13, 2015 12:22 am
uni
Ну, вообще-то пример есть, посмотрите тут: https://github.com/ViacheslavMezentsev/ ... er/main.js

Там используется post из jquery, искать по ключевым словам в исходниках: JSON. У меня в одном из репозиториев серверная часть (запрос) есть и без использования jquery. Серверная часть в общем примитивна если использовать библиотеку. Примеры есть вроде даже в хелпе к jquery.

А вот клиентская часть для мк будет чуток посложнее. Я не знаю как с заголовком работать, это уж самостоятельно, а вот с json есть такой исходник: https://github.com/ViacheslavMezentsev/ ... /json/jsmn

В c++ это я его переделал, в оригинале он на чистом C. Можно скетч сделать и потренироваться с разбором.

Запрос без jquery можно посмотреть здесь: https://github.com/ViacheslavMezentsev/ ... /modbus.js

Re: Arduino Mega Server

Добавлено: Чт авг 13, 2015 8:50 am
Alex
Теоретический вопрос. В чём преимущества json перед xml? Если использовать короткие теги вроде <p1> <p2>, то разница в объёме передаваемого по сети будет минимальна и, судя по всему, практически несущественна.