Arduino Mega Server

Модератор: Alex

Olymp
Сообщения: 22
Зарегистрирован: Пт фев 19, 2016 10:17 am

Re: Arduino Mega Server

Сообщение Olymp »

Alex писал(а):Один модуль и больше ничего — весь АМС с его интерфейсом, сайтами, 3D-графикой, информерами, сетевыми командами и прочим по списку «запихнул» внутрь ESP8266. Да, это революция в DIY.

С местом никаких проблем нет — модули бывают до 16 мегабайт — хватит для всего. Если этого мало — можно «прикрутить» SD карту до 32 ГБ.

Если нужны аналоговые или дополнительные цифровые пины — можно соорудить тандем из ESP8266 и Arduino Pro Mini 3.3 В. В варианте без ножек бутерброд из двух плат будет очень миниатюрным и мощным. В общем...
Тандем понятно, но это уже АТ прошивка модуля (или как обмениваться инфой между МК и ЕСП, сериал?), мне же честно говоря, очень понравилась nodeMCU, хотя пока кроме DHT22, bmp180, bme280, si7021 с отправкой по http и mqtt и для различных статусов (подключились к точке доступа, идет отправка и т.д.) светодиоды, больше ничего не цеплял, но то, что делал, делается на раз.
То, что у вас сейчас сделано с одним модулем ЕСП, это для себя или это следующая версия АМС? Можно взглянуть на проект? Не могу определиться, в какую сторону начать движение, т.к. не спец в этом, как и большинство, разбираюсь по коду, написанному людьми, которые понимают, что делают :)
Alex
Сообщения: 2357
Зарегистрирован: Пт апр 20, 2012 12:53 pm

Re: Arduino Mega Server

Сообщение Alex »

Тандем понятно, но это уже АТ прошивка модуля (или как обмениваться инфой между МК и ЕСП, сериал?)
Не думал пока в эту сторону (решаю проблемы по мере их поступления). Навскиду никаких проблем быть не должно — можно обмениваться по любому интерфейсу: Serial, I2C, SPI и т. д. «Запилить» протокол — никаких проблем нет :) Или более грамотные товарищи подскажут готовое решение.
То, что у вас сейчас сделано с одним модулем ЕСП, это для себя или это следующая версия АМС? Можно взглянуть на проект?
Я готовлю дистрибутив, в ближайшее время первая сборка АМС для ESP8266 будет доступна для закачки, чуть позже будет поясняющая документация.
Аватара пользователя
nick7zmail
Сообщения: 7573
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург

Re: Arduino Mega Server

Сообщение nick7zmail »

Небольшой вопрос по AMS...
Если я использую delay() в функциях - "подвисает" весь вэб-интерфейс на время delay-я. Есть идеи, как этого избежать?
Как можно заменить delay? Может как то таймер прикрутить?

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

Re: Arduino Mega Server

Сообщение Alex »

Небольшой вопрос по AMS...
Если я использую delay() в функциях - "подвисает" весь вэб-интерфейс на время delay-я. Есть идеи, как этого избежать?
Как можно заменить delay? Может как то таймер прикрутить?

Короче нужно по запросу вызвать одну функцию, задержка 10 сек, потом вторую функцию...
Ну вы (блин) даёте. Какой delay? Забудьте и никогда не вспоминайте — у нас же не многозадачная система. Все задержки только через таймеры.
Аватара пользователя
nick7zmail
Сообщения: 7573
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург

Re: Arduino Mega Server

Сообщение nick7zmail »

Alex писал(а):Ну вы (блин) даёте. Какой delay? Забудьте и никогда не вспоминайте — у нас же не многозадачная система. Все задержки только через таймеры.
Да я понимаю что через таймеры...но не пойму как именно...
Как вот для такой задачи, инициирующейся по вызову из браузера прикрутить таймер 10 сек?

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

setrel(0, 1);
<пауза в 10 сек>
setrel(0, 0);
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
Alex
Сообщения: 2357
Зарегистрирован: Пт апр 20, 2012 12:53 pm

Re: Arduino Mega Server

Сообщение Alex »

Да я понимаю что через таймеры...но не пойму как именно...
Как вот для такой задачи, инициирующейся по вызову из браузера прикрутить таймер 10 сек?
Ну... запоминаете время и проверяете, не превысило ли текущее время величину таймера. Если превысило — выполняете действие и обнуляете таймер. И всё, никаких проблем.
Аватара пользователя
nick7zmail
Сообщения: 7573
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург

Re: Arduino Mega Server

Сообщение nick7zmail »

Alex писал(а): Ну... запоминаете время и проверяете, не превысило ли текущее время величину таймера. Если превысило — выполняете действие и обнуляете таймер. И всё, никаких проблем.
Действительно)) спасибо. Буду вечером пробовать.

Отправлено с моего Xperia Z через Tapatalk
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
serghei
Сообщения: 2575
Зарегистрирован: Пт ноя 06, 2015 10:22 am
Откуда: Кишинёв

Re: Arduino Mega Server

Сообщение serghei »

Alex писал(а):Я не знаю, как вы это воспринимаете, но по моему это успех! Все огрехи это не более, чем детские болезни, главное, что беспроводной протокол работает.
Чтобы успех был полным, осталось разобраться как подключить 254 сенсора к одному АМС ))) учитывая ,что в одна труба обслуживает 6 сенсоров. Мне показали и объяснили что надо дописать на стороне АМС для вывода трех температур. На стороне сенсора разбираюсь самостоятельно. В коде нашел такие строки

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

#ifdef NRF24_FEATURE

#include <SPI.h>
#include "RF24.h"

// nRF24L01 modul configuration
RF24 radio(8, 9); // CE, CSN pins
byte addresses[][6] = {"1Node", "2Node"};

Получается в последней строчке перечислены названия 6-ти сенсоров? А как тогда АМС будет знать какая температура откуда
свалилась?

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

void saveResult() {
  switch (rxCommand) {
    case DTA_NAME:      sendGetName.result     = rxData; break;
    case DTA_ID:        sendGetId.result       = rxData; break;
    case DTA_ADDR:      sendGetAddress.result  = rxData; break;
    case DTA_FREE_MEM:  sendGetFreeMem.result  = rxData; break;
    case DTA_BATTERY:   sendGetBattery.result  = rxData; break;
    case DTA_SELF_TEMP: sendGetSelfTemp.result = rxData; break;
    case DTA_HEALTH:    sendGetHealth.result   = rxData; break;
    case DTA_TEMP_1:    sendGetTemp1.result    = rxData; break;
    //case DTA_TEMP_2:    sendGetTemp2.result    = rxData; break;
    //case DTA_TEMP_3:    sendGetTemp3.result    = rxData; break;
  }
}

 
PS Подключил все таки две ардуины к МД. Картина впечатляет!! Особенно график нагрева бойлера за ночь ( и куда деньги уходят....)))
AMS : ESP32 + NRF24 + 1Wire-I2C мост DS2482 + счетчик DS2423 + сеть MySensors + редактирование страниц в браузере + Upload по воздуху + SPIFFS
udjin06
Сообщения: 10
Зарегистрирован: Вт ноя 03, 2015 11:17 pm
Откуда: Казань

Re: Arduino Mega Server

Сообщение udjin06 »

Всем добрый день!
Давно слежу за проектом, уже прикупил оборудование, тестирую.
Имею MD на RPi2, несколько датчиков по схеме MySensors подключил через шлюз.
На AMS давно посматриваю, вот RF24 прикрутили, и возникли предложения:
1. Возможно, имеет смысл использовать наработки MySensors, проект известный, датчики успешно стоят и работают.
Нужно как-то прикрутить шлюз MySensors к AMS и чтобы данные получала уже AMS.
В этом случае расширится круг применения AMS, особенно если реализовывать гибкую систему с возможностью добавления/удаления датчиков.

2. В последней версии MySensors для EthernetGate UNO+W5100 используется SoftSPI (активируется в настройках MyConfig.h).
SOFT_SPI_MISO_PIN = 16;
SOFT_SPI_MOSI_PIN = 15;
SOFT_SPI_SCK_PIN = 14;
Возможно, для связки DUE+W5100 вместо пайки лучше использовать данный способ?
serghei
Сообщения: 2575
Зарегистрирован: Пт ноя 06, 2015 10:22 am
Откуда: Кишинёв

Re: Arduino Mega Server

Сообщение serghei »

С MySensors не сталкивался, но без паечтное решение заманчиво.У меня МД как бы работает только ночью ,днем комп занят другим.Еще столкнулся с недостатком памяти в про-мини.Хочется чтобы сенсор полностью был автономным и обслуживал одно
устройство. Стек занимает половину памяти.Для основной проги места впритык. Оплатил ЕСР 32 и 8266. Посмотрим,что будет проще и дешевле.
AMS : ESP32 + NRF24 + 1Wire-I2C мост DS2482 + счетчик DS2423 + сеть MySensors + редактирование страниц в браузере + Upload по воздуху + SPIFFS
Ответить