Arduino Mega Server

Модератор: Alex

Аватара пользователя
nick7zmail
Сообщения: 7573
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург

Re: Arduino Mega Server

Сообщение nick7zmail »

Alex писал(а):RTС состоит из 2-х слоёв: первый обеспечивает работу со временем, а второй — работу с железными модулями.

Таймеры лучше не трогать — в этом нет смысла. И вообще избавляться от функций работы со временем — не лучшая идея. В системе много пользовательских модулей, от ненужных можно избавиться безболезненно (простым комментированием).
Говорю - от leds и noo просто комментированием заголовков не удалось избавиться...пришлось по коду подбирать некоторые моменты.
На попытки выключить RTC модуль - забил)).
То что там есть часть для работы с железом - заметил. Кстати что даёт это железо? Часы идут даже при выключенном контроллере? Или что?
В программной же части есть попытка синхронизации с MD

Код: Выделить всё

#ifdef MAJORDOMO_FEATURE
  byte TIME_IP[] = {MAJOR_IP[0], MAJOR_IP[1], MAJOR_IP[2], MAJOR_IP[3]};
  unsigned int TIME_PORT = 8888;  // local port to listen for UDP packets
  const int timeZone = 4;
#else     
Что нужно на стороне MD сделать, чтобы контроллер синхронился с MD? (пока закоментил эту часть кода, пытаюсь настроить отправку в MD).
UPD: Капаюсь с отправкой свойств в МД. Почему во всех командахДля отправки данных (выставления свойств) же используется op=set. Или я чего то не понимаю?
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
Alex
Сообщения: 2357
Зарегистрирован: Пт апр 20, 2012 12:53 pm

Re: Arduino Mega Server

Сообщение Alex »

К вечеру попробую прицепить провод подлиннее.Если получится метров 20,тогда будет возможность повесить экран в комнате,а дую в серверной.
Можно подождать выхода 0.15 версии, где должна появиться поддержка nRF24l01 и esp8266 модулей
Электро модуль на дуе нормально работать не хочет.
У меня нормально работает (на нём все тесты проводились).
Есть идея создать ветку "библиотека решении для АМС",чтобы было все в одном месте и не искать по форуму.
Хорошая идея.
Кстати что даёт это железо? Часы идут даже при выключенном контроллере? Или что?
Железо даёт возможность сделать полностью автономное устройство, независимое от Интернета и серверов точного времени.
Что нужно на стороне MD сделать, чтобы контроллер синхронился с MD?
Ничего, при условии, что его адрес дефолтный — 192.168.2.8
&op=m&
Для отправки данных (выставления свойств) же используется op=set. Или я чего то не понимаю?


Вот это сходу не скажу, но проблем с передачей данных нет.
Аватара пользователя
nick7zmail
Сообщения: 7573
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург

Re: Arduino Mega Server

Сообщение nick7zmail »

Alex писал(а):
Что нужно на стороне MD сделать, чтобы контроллер синхронился с MD?
Ничего, при условии, что его адрес дефолтный — 192.168.2.8
Ну в модуле dmajor я перебил IP адрес на свой. Модуль rtc даже в монитор порта выкидывает что он делает запрос на <мой.ip>:8888 в ожидании upd пакетов, но видимо они не отправляются или не доходят. В браузере я вводил <мой.ip>:8888 - ничего не открывалась, МД у меня на 80 порту...может стоит поменять? Или он не к веб интерфейсу запрос делает?
Alex писал(а):
&op=m&
Для отправки данных (выставления свойств) же используется op=set. Или я чего то не понимаю?


Вот это сходу не скажу, но проблем с передачей данных нет.
А на счёт отправки свойств - в wiki же написано, чтобы выставить свойство используется op=set. Или у вас метод update настроен для выставления свойства, а в нем уже идёт разбор по параметрам из массива $PARAMS?
Если так, то понял почему у меня не обновлялось ничего - ибо у меня метод update не настроен, но всё же не проще свойства сразу выставлять напрямую, через op=set, а не через сторонние методы?
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
Alex
Сообщения: 2357
Зарегистрирован: Пт апр 20, 2012 12:53 pm

Re: Arduino Mega Server

Сообщение Alex »

Ну в модуле dmajor я перебил IP адрес на свой. Модуль rtc даже в монитор порта выкидывает что он делает запрос на <мой.ip>:8888 в ожидании upd пакетов, но видимо они не отправляются или не доходят. В браузере я вводил <мой.ip>:8888 - ничего не открывалась, МД у меня на 80 порту...может стоит поменять? Или он не к веб интерфейсу запрос делает?
Даже не знаю, что сказать — у меня прекрасно синхронизируется с М. В отличие от Интернета синхронизация срабатывает всегда корректно. М никак не настраивал.
А на счёт отправки свойств - в wiki же написано, чтобы выставить свойство используется op=set. Или у вас метод update настроен для выставления свойства, а в нем уже идёт разбор по параметрам из массива $PARAMS?
Если так, то понял почему у меня не обновлялось ничего - ибо у меня метод update не настроен, но всё же не проще свойства сразу выставлять напрямую, через op=set, а не через сторонние методы?
Если честно, то вообще не в курсе этой проблематики. Код перекочевал в АМС из более ранних разработок и ещё в те стародавние времена всё работало отлично. И сейчас работает на ура, а что там и как я уже не помню (нет смысла вникать, когда всё работает).
Аватара пользователя
lanket
Сообщения: 1168
Зарегистрирован: Вт окт 14, 2014 11:27 pm
Откуда: Санкт-Петербург

Re: Arduino Mega Server

Сообщение lanket »

Alex писал(а):
Можно подождать выхода 0.15 версии, где должна появиться поддержка nRF24l01 и esp8266 модулей
Nrf вы имеете ввиду mysensors?



Отправлено с моего HM NOTE 1LTEW через Tapatalk
Разработка голосового асистента для Мажордомо по любому ключевому слову.
:arrow: Обсужение
:arrow: gitHub 2й версии терминала
:arrow: GitHub модуля для МД
gitHub сырого модуля 2й версии
:arrow: Connect
Rasberry Pi 2, MDM, MySensors. И говорящий апельсин.
Alex
Сообщения: 2357
Зарегистрирован: Пт апр 20, 2012 12:53 pm

Re: Arduino Mega Server

Сообщение Alex »

Nrf вы имеете ввиду mysensors?
Нет, под nRF я имею в виду nRF. Но любому желающему никто не мешает «прикрутить» mysensors, если они ему нужны.

Я имел в виду физическое подключение модуля к системе и свободное использование его для своих нужд (для связи с сенсорами, другими контроллерами, сканирования 2,4 ГГц диапазона и т. д.).
Аватара пользователя
lanket
Сообщения: 1168
Зарегистрирован: Вт окт 14, 2014 11:27 pm
Откуда: Санкт-Петербург

Re: Arduino Mega Server

Сообщение lanket »

Alex писал(а):
Nrf вы имеете ввиду mysensors?
Нет, под nRF я имею в виду nRF. Но любому желающему никто не мешает «прикрутить» mysensors, если они ему нужны.

Я имел в виду физическое подключение модуля к системе и свободное использование его для своих нужд (для связи с сенсорами, другими контроллерами, сканирования 2,4 ГГц диапазона и т. д.).
Физически воткнуть провода можно и без помощи программиста. А я имел ввиду протокол общения через nRF.

Если Вы реализовали поддержку w5100 то это потянуло за собой протоколы tcp-ip web морда...
Иными словами с датчиками можно общаться с помощью чегото а помогает железяка w5100.

nRF в моем понимании это тоже железяка-радиоканал предоставляющая свой стандарт интерфейса и для, допустим, общения в сети MySensors надо чтобы Ваша прошивка отвечала на запросы в стандарте MySensors понятным ответом этой сети. Это как я понимаю интерфейс.

Как будет реализован общения между AMS и например Мд? Что-то свое будет придумано ? Придется еще шлюз разр ап батывать? Или будет поддержка чегото готового? Кроме MySensors мне не приходит в голову протокол для УД .

Как бесполезна прикрученная w5100 без веб морды и апи, также непонятно зачем просто прикрученная nRF.

Спасибо за Ваши труды.


Или я что то не так понял?
Что в вашем понимании поддержка nRF?

Отправлено с моего HM NOTE 1LTEW через Tapatalk
Разработка голосового асистента для Мажордомо по любому ключевому слову.
:arrow: Обсужение
:arrow: gitHub 2й версии терминала
:arrow: GitHub модуля для МД
gitHub сырого модуля 2й версии
:arrow: Connect
Rasberry Pi 2, MDM, MySensors. И говорящий апельсин.
Аватара пользователя
nick7zmail
Сообщения: 7573
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург

Re: Arduino Mega Server

Сообщение nick7zmail »

Alex писал(а): Даже не знаю, что сказать — у меня прекрасно синхронизируется с М. В отличие от Интернета синхронизация срабатывает всегда корректно. М никак не настраивал.
М на чем установлена? Судя по всему на винде должна быть поднята служба NTP, чтобы отвечать на запросы.
Alex писал(а): Если честно, то вообще не в курсе этой проблематики. Код перекочевал в АМС из более ранних разработок и ещё в те стародавние времена всё работало отлично. И сейчас работает на ура, а что там и как я уже не помню (нет смысла вникать, когда всё работает).
Да это не проблематика...просто на стороне М надо метод update на приём настроить. Для тех кому интересно - примерно вот так:

Код: Выделить всё

$this->setProperty('value', $params['v']);
$this->setProperty('updated', timenow());
В мануалах нигде не нашел...может плохо искал, не особо то старался хД. А op=set позволяет напрямую выставить переменную. Это всё детали... Но в любом случае, как вариант -можно ввести функцию формата

Код: Выделить всё

void sendRequestMvalue(char object[], prop[], int value) {
  sprintf(buf, "GET /objects/?object=%s&op=set&p=<название свойства(prop[])>&v=%d", object, value); 
  //sendMajorRequest();
  sendHttpRequest(MAJOR_IP, MAJOR_PORT, mclient);
} 
как говорится - до кучи)
С кодом уже почти до конца разобрался =D. Вот такой "монстр франкенштейна" у меня получился.
КартинкаSPOILER_SHOW
1.jpg
1.jpg (176.89 КБ) 12151 просмотр
Основа - default тема, css от хакер дизайна, да ещё и картинку в dash-панель вхерачил))
Правда что-то с прозрачными скетчами на процессинге дело не пошло)) дело в том что он как бы очередной кадр выдаёт на фоне предыдущего...и если задать фон прозрачным - получается то что на картинке обвёл красным квадратом)) (думаю можно догадаться что это скетч пинг понг в такое превратился))). Аналогичная фигня происходит, если у графика загрузки проца фон прозрачный сделать. По-этому и решил спросить - как гуру процессинга - подскажи, не встречался с таким? Решение никакое в голову не приходит?

И ещё один момент - сильно напрягает вытаскивать флешку)) А сериал командер у меня почему-то отказывается работать. Вот такие ошибки ловлю:
2.jpg
2.jpg (95.11 КБ) 12151 просмотр
Есть идеи как исправить?
lanket писал(а): Что в вашем понимании поддержка nRF?
За Alex'а конечно отвечать не буду, но думаю он имел ввиду основную библиотеку для поддержки железяки nRF. Код гейта mysensors при желании можно дописать самому.

UPD: Кстати говоря - страничка при открытии выдаёт ошибку то что не может загрузить favicon.ico (в дебаге браузера можно посмотреть). Докинуть favicon.ico на sd будет мало. Нужно ещё в server_ajax найти такой код и добавить строчку про ico.

Код: Выделить всё

  else if (StrContains(HTTP_req, "GET /") && (StrContains(HTTP_req, ".gif") ||
                                              StrContains(HTTP_req, ".jpg") ||
                                              StrContains(HTTP_req, ".ico") ||
                                              StrContains(HTTP_req, ".png"))) {
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
Анатолий
Сообщения: 4
Зарегистрирован: Вс апр 17, 2016 10:50 pm

Re: Arduino Mega Server

Сообщение Анатолий »

nick7zmail писал(а):Спасибо огромное! Всё получилось))
2.jpg
Просто когда капался - открыл PORTS.JS, не увидел ничего полезного...решил где-то в коде ардуины накосячил)) Оказывается много чего в scripts.js зашито.
А можно подробнее, как Вы организовали индикацию пинов 32,33 (ON/OFF) в scripts.js?
Аватара пользователя
nick7zmail
Сообщения: 7573
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург

Re: Arduino Mega Server

Сообщение nick7zmail »

Анатолий писал(а): А можно подробнее, как Вы организовали индикацию пинов 32,33 (ON/OFF) в scripts.js?
Пожалуй, наверное, опишу весь процесс, дабы избежать недопонимание))
1) В server_ajax ищите

Код: Выделить всё

  sendTagByte("pin31", "", digitalRead(31), cl);
и добавляете пины по аналогии.
2) Далее в ports.htm так же по аналогии добавляете строки в таблицу. Следите за id элемента

Код: Выделить всё

<p class="pin result" id="pin31">
3) Ну а теперь собственно в scripts.js ищем массив

Код: Выделить всё

var pinId = ["pin2",..., "pin31"];
и добавляем туда нужные пины.

UPD: Ещё одна важная весч...забыл написать....в scripts.js

Код: Выделить всё

            // Pins status
            for (var i = 0; i < 19; i++) { 
Вместо 19 (ну или по-умолчанию там 17 было - вписываем кол-во элементов в массивах пинов.
Последний раз редактировалось nick7zmail Пн апр 18, 2016 5:13 pm, всего редактировалось 1 раз.
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
Ответить