Arduino Mega Server

Модератор: Alex

ученик
Сообщения: 230
Зарегистрирован: Чт фев 12, 2015 2:34 pm
Благодарил (а): 36 раз
Поблагодарили: 6 раз

Re: Arduino Mega Server

Сообщение ученик » Вт авг 07, 2018 4:09 pm

Я сравнил один скетч Contacts, который задействован у меня, старю версию и новую.
К нему привязан дверной звонок.
И вот в старой версии было явно прописано передача в MD изменение состояния кнопок, а в новой версии того нет
И вот надо изменять новую версию скетча Contacts, или так оставить и он будет отправлять состяние кнопок?
server i5, OS-Ubuntu Server 16., 1-wire
php 7, AMS,broadlink rm2,rm3 mini.
serghei
Сообщения: 2575
Зарегистрирован: Пт ноя 06, 2015 10:22 am
Откуда: Кишинёв
Благодарил (а): 303 раза
Поблагодарили: 282 раза

Re: Arduino Mega Server

Сообщение serghei » Вт авг 07, 2018 4:21 pm

Вышли обе версии кода. Лучше в ветку про прикручиванию железа. Будем сравнивать и сам использую. По управлению реле есть три варианта:
1 Доделать вкладку Keys на 5 реле. Тогда можно ими управлять со страницы AMS вручную и автоматически с МД.
2 Взять тестовый скетч для реле и управлять им по датчику. Надо только размножить на необходимое количество. Статус реле мгновенно отражается на странице.
3 Самый навороченный из серии " Садо-мазахизма" от ser009. Тогда со страницы можно задавать режим в ручную, по времени или по датчику. Опять же только для одного реле. Работает на Дуе.
С логированием на Меге не баловался. Может банально не хватить памяти.
На скрине выше виден статус реле текстом.
AMS : ESP32 + NRF24 + 1Wire-I2C мост DS2482 + счетчик DS2423 + сеть MySensors + редактирование страниц в браузере + Upload по воздуху + SPIFFS
prapor
Сообщения: 7
Зарегистрирован: Пт ноя 11, 2016 9:47 pm
Благодарил (а): 2 раза
Поблагодарили: 0

Re: Arduino Mega Server

Сообщение prapor » Сб авг 18, 2018 11:41 pm

Здравствуйте!
Не смог найти в документации и коде AMS 0.16 Arduino, как можно задать нестандартную (не сети класса С) маску для сервера - мне надо 255.255.255.224
Можно ли это сделать и если да, то как?
serghei
Сообщения: 2575
Зарегистрирован: Пт ноя 06, 2015 10:22 am
Откуда: Кишинёв
Благодарил (а): 303 раза
Поблагодарили: 282 раза

Re: Arduino Mega Server

Сообщение serghei » Вс авг 19, 2018 12:12 am

Что бы появилась у меня синхронизация времени , пришлось добавить DNS. Попробуй так же добавить и маску.

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

/*
  Modul Ethernet
  part of Arduino Mega Server project
*/

// Ethernet settings
byte SELF_MAC[] = {0x00, 0x2A, 0xF5, 0x12, 0x67, 0xFE};
byte SELF_IP[] =  {192, 168, 2, 36};
byte DNS[] = {8, 8, 8, 8 };// DNS Гугла
byte GATEWAY[] = {192, 168, 2, 100}; // поставь свой 
byte MASK[] = {255, 255, 255, 224}; // попробуй добавить 

void ethernetInit() {
  Serial.println("Modul Ethernet...");
  Ethernet.begin(SELF_MAC, SELF_IP, DNS, GATEWAY, MASK); // Вызов
В библиотеке есть строки про subnetMask.
Может проскочит ? ))

Код компилируется , но не заливал.
AMS : ESP32 + NRF24 + 1Wire-I2C мост DS2482 + счетчик DS2423 + сеть MySensors + редактирование страниц в браузере + Upload по воздуху + SPIFFS
prapor
Сообщения: 7
Зарегистрирован: Пт ноя 11, 2016 9:47 pm
Благодарил (а): 2 раза
Поблагодарили: 0

Re: Arduino Mega Server

Сообщение prapor » Вс авг 19, 2018 7:09 pm

Пасиб! Отрабатывает!
serghei
Сообщения: 2575
Зарегистрирован: Пт ноя 06, 2015 10:22 am
Откуда: Кишинёв
Благодарил (а): 303 раза
Поблагодарили: 282 раза

Re: Arduino Mega Server

Сообщение serghei » Вс авг 19, 2018 8:16 pm

+5. Академический встречный вопрос - а на что это влияет? И что это вообще такое ? :?:
AMS : ESP32 + NRF24 + 1Wire-I2C мост DS2482 + счетчик DS2423 + сеть MySensors + редактирование страниц в браузере + Upload по воздуху + SPIFFS
prapor
Сообщения: 7
Зарегистрирован: Пт ноя 11, 2016 9:47 pm
Благодарил (а): 2 раза
Поблагодарили: 0

Re: Arduino Mega Server

Сообщение prapor » Вс авг 19, 2018 9:06 pm

Маска сети или маска подсети - это способ разбиения IP-адреса на 2 части - адрес сети, и адрес собственно узла в сети. Маска может состоять лишь из непрерывной последовательности единиц (в двоичном представлении), единицы отсчитываются с крайнего левого разряда (из 32 из которых и состоит IP-адрес 4 версии), не занятые маской разряды заполняются нулями. Основное назначение маски - определять относиться ли адрес куда нужно отправить данные к локальной или удаленной сети. перед отправкой пакета производится операция "Логическое И" над адресом узла назначения - куда уходит пакет и маской, а также над собственным адресом узла и маской, если результаты равны, то это та же сеть и никаких лишних телодвижений не надо, а если не равны - то надо пакет отправить на адрес маршрутизатора (шлюза, роутера, гейтэвея) и пусть он разбирается дальше с этим пакетом.
Второе назначение маски - разбиение одной сети на более мелкие фрагменты - подсети. Весь диапазон доступных адресов можно пореазть на 2, 4, 8 и тд (степень двойки) частей, что и было в моем случае - одна сеть с 245 действительными адресами был разбита на 8 частей по 30 действительных адресов. Это мне нужно было для того чтобы иметь возможность на маршрутизаторе блокировать доступ к определенным адресам и/или сетям с определенных адресов/сетей.
Вообще, про маски адреса, подсети и пр можно рассказывать долго, лучше всего это описано, на мой взгляд, это про IPv4, у Олиферов в книге "Компьютерные сети", лучше 3 издание во следующих они все испортили в попытке упрощения
simprint
Сообщения: 17
Зарегистрирован: Сб сен 08, 2018 10:22 am
Благодарил (а): 12 раз
Поблагодарили: 1 раз

Re: Arduino Mega Server

Сообщение simprint » Сб сен 08, 2018 9:31 pm

svetozar161 писал(а):
Пн авг 06, 2018 7:42 pm
Вот к чему я буду стремиться. А то в голове каша полная.
Нетбук dns + Ubuntu Server 16.04 + MJD + ESP32 + Wifi-IOT
serghei
Сообщения: 2575
Зарегистрирован: Пт ноя 06, 2015 10:22 am
Откуда: Кишинёв
Благодарил (а): 303 раза
Поблагодарили: 282 раза

Re: Arduino Mega Server

Сообщение serghei » Сб сен 08, 2018 10:11 pm

А что он писал ? Цитату вставьте )).

Нашел. )) Так еще раз говорю - все это уже реализовано.
1. 3 температуры - ЕСТЬ.
2. Датчик давления - КАКОЙ ? Просто читаем аналоговый вход , делаем ремапинг в удобный вид и выводим на страницу. Скетч ser009 тут выкладывал. Пошел искать ( самому надо )).
3 Датчики потребления газа и воды.

Вот с этим сложнее , но опять реализовано.
А. Считаем прерывания . Выводим результат. Глобальный минус такого решения - потеря данных при перезагрузке.
В. Прикручиваем сенсор на NRF24 . Загружаем мой скетч с двумя далласами . DHT и двумя счетчиками. И опять же та же проблема - сброс значений. Костыль - ставим аккумулятор на сутки.
С. Правильный вариант - подключаем DS2423 и забываем о проблеме. ( до 32 000 попугаев ).
Д. Самый извращенный вариант - Подключаем MySensors , загружаем скетч и забываем...
Начните с самого простого - выведите в даш-панель 3 температуры. Библия процесса расписана ТУТ.
AMS : ESP32 + NRF24 + 1Wire-I2C мост DS2482 + счетчик DS2423 + сеть MySensors + редактирование страниц в браузере + Upload по воздуху + SPIFFS
svetozar161
Сообщения: 72
Зарегистрирован: Пт янв 13, 2017 11:48 pm
Благодарил (а): 6 раз
Поблагодарили: 3 раза

Re: Arduino Mega Server

Сообщение svetozar161 » Сб сен 08, 2018 11:43 pm

Спасибо за пояснения. Схема своей локалки реализована не полностью, в частности сервер AMS на Mеге2560, для управления котлом только планируется, почему собственно я и задал вопрос. После прочтения пояснений возникли следующие мысли)):
1. АМS поддерживает MQTT? Дело в том, что на сервере с Мажордомо можно поставить брокер и в прошивке моего датчика, с которого нужно читать температуру есть опция MQTT клиента. То есть датчик может слать прямо на AMS через MQTT данные? Или AMS должен будет читать данные с брокера и потом на основе них дрыгать ногой?
2. Либо писать скетч, чтобы АМS каждые 10 секунд стучался через GET например к этому датчику и получив температуру дрыгал ногой...
Как проще? Точнее как будет работать?
Ответить