Arduino Mega Server

Модератор: Alex

Alex
Сообщения: 2357
Зарегистрирован: Пт апр 20, 2012 12:53 pm

Re: Arduino Mega Server

Сообщение Alex »

Чтобы успех был полным, осталось разобраться как подключить 254 сенсора к одному АМС ))) учитывая ,что в одна труба обслуживает 6 сенсоров.
Я думаю, что вы всё перепутали. Это один модуль поддерживает 6 труб, а сенсоров в трубе может быть хоть тысяча. Там проблема с коллизиями, но на это есть помехоустойчивый протокол.

Получается в последней строчке перечислены названия 6-ти сенсоров? А как тогда АМС будет знать какая температура откуда
свалилась?
В протоколе есть место для номера датчика, который автоматически генерируется при первом включении и может быть изменён, в том числе и дистанционно. Остаётся только дописать код, который будет реагировать только на нужный номер.

1. Возможно, имеет смысл использовать наработки MySensors, проект известный, датчики успешно стоят и работают.
Это вопрос первого энтузиаста, которому это будет интересно. Делается за полчаса. И оформляется как ещё один модуль.
Возможно, для связки DUE+W5100 вместо пайки лучше использовать данный способ?
В пайке нет ничего страшного, а этот метод неизвестно ещё работает или нет.
Еще столкнулся с недостатком памяти в про-мини.Хочется чтобы сенсор полностью был автономным и обслуживал одно
устройство. Стек занимает половину памяти.Для основной проги места впритык.
Стек занимает 10 килобайт, 20 свободно. На мой взгляд это приемлемая плата за помехоустойчивость и автоматическую работу. Может быть найдётся тот, кто оптимизирует код.
Оплатил ЕСР 32 и 8266. Посмотрим,что будет проще и дешевле.
ESP это монстр и уделывает все остальные варианты одной левой, только пинов 8266 маловато и в варианте с АМС нет сберегающего режима. Кстати, АМС для ESP можно скрестить с nRF24 — получится очень интересное устройство.
udjin06
Сообщения: 10
Зарегистрирован: Вт ноя 03, 2015 11:17 pm
Откуда: Казань

Re: Arduino Mega Server

Сообщение udjin06 »

В пайке нет ничего страшного, а этот метод неизвестно ещё работает или нет.
Делал Ethernet gate использовал именно такую связку SoftSPI
https://www.mysensors.org/build/ethernet_gateway
Здесь рекомендуют использовать связку Arduino (любой) + W5100 + nRF24 (SoftSPI), т.к. "The W5100 ethernet module has problems sharing SPI with radio".
Судя по файлам в Mysensors они используют библиотеку DigitalIO https://github.com/greiman/DigitalIO, но глубже копать пока мозгов не хватает.
Также у них есть гейт ESP8266 + nRF24
Ivan
Сообщения: 1473
Зарегистрирован: Сб окт 12, 2013 11:03 pm

Re: Arduino Mega Server

Сообщение Ivan »

udjin06 писал(а):
В пайке нет ничего страшного, а этот метод неизвестно ещё работает или нет.
Делал Ethernet gate использовал именно такую связку SoftSPI
https://www.mysensors.org/build/ethernet_gateway
Здесь рекомендуют использовать связку Arduino (любой) + W5100 + nRF24 (SoftSPI), т.к. "The W5100 ethernet module has problems sharing SPI with radio".
Судя по файлам в Mysensors они используют библиотеку DigitalIO https://github.com/greiman/DigitalIO, но глубже копать пока мозгов не хватает.
Также у них есть гейт ESP8266 + nRF24
Так и есть. Если нужно глубоко, спрашивайте. MySensor уже перекопал весь
Linux, Raspberry PI, MySensors
Connect: http://connect.smartliving.ru/profile/53
Мои проекты: http://smartliving.ru/profile/4
Sps
Сообщения: 45
Зарегистрирован: Вт окт 27, 2015 4:23 pm

Re: Arduino Mega Server

Сообщение Sps »

Всем добрый день, как в дате (dash-панели) вывести значение года 2016.
и еще в руководстве - как добавить дополнительный датчик температуры на dash-панель
файле scripts.js...
Далее в работу вступает конструкция,
try {
var tempSTR_ = Math.round(tempSTR, 1);
document.getElementById("dash-voltage").innerHTML = tempSTR_ + "°";
document.getElementById("dash-voltage-hide").innerHTML = tempSTR_ + "°";
} catch (err) { }

которая округляет значение температуры с точностью до одного знака после запятой и выводит его в два поля на веб-странице.
Что в коде округляет значение температуры с точностью до одного знака и как вывести температуру в виде 00,00° С.
Alex
Сообщения: 2357
Зарегистрирован: Пт апр 20, 2012 12:53 pm

Re: Arduino Mega Server

Сообщение Alex »

Всем добрый день, как в дате (dash-панели) вывести значение года 2016.
Если статично, то просто написать в файле _dash.htm, если динамически, то аналогично тому, как выводятся, например, месяцы, если в подробностях — то нужно писать целую статью...
Что в коде округляет значение температуры с точностью до одного знака и как вывести температуру в виде 00,00° С.
Попробуйте

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

var tempSTR_ = Math.round(tempSTR, 2); 
или

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

var tempSTR_ = tempSTR; 
Sps
Сообщения: 45
Зарегистрирован: Вт окт 27, 2015 4:23 pm

Re: Arduino Mega Server

Сообщение Sps »

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

var tempSTR_ = Math.round(tempSTR, 2);
не помогло, я и раньше ставил 2,3,10 никакой реакции.

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

var tempSTR_ = tempSTR;
а это работает, благодарю.
Теперь по дате
Если статично, то просто написать в файле _dash.htm, если динамически, то аналогично тому, как выводятся, например, месяцы
по аналогии файле scripts.js написал так:

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

function month(year) {
  switch (year) {
    case "2016": return "2016г."; break;
    case "2017": return "2017г."; break;
    case "2018": return "2018г."; break;       
    default: return ""; break;
  }
}
try {
            var year = this.responseXML.getElementsByTagName('year')[0].childNodes[0].nodeValue;
          } catch (err) {
              year = '-';
            }
          try {
            yearStr = year(year);
            document.getElementById("year").innerHTML = yearStr;
            document.getElementById("year-hide").innerHTML = yearStr;
          } catch (err) { } 
и в _dash.htm

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

<p class="ex4"><span id="day">...</span> <span id="month">...</span> <span id="year">...</span></p> 
в dash-панель выводится 18 июня -
откуда scripts.js вытягивает значение года?
Alex
Сообщения: 2357
Зарегистрирован: Пт апр 20, 2012 12:53 pm

Re: Arduino Mega Server

Сообщение Alex »

откуда scripts.js вытягивает значение года?
Все значения передаются из скетча, вкладка server_ajax
Sps
Сообщения: 45
Зарегистрирован: Вт окт 27, 2015 4:23 pm

Re: Arduino Mega Server

Сообщение Sps »

в server_ajax добавил

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

sendYear(cl);

void sendYear(EthernetClient cl) {  
  cl.print("<year>");
    cl.print(year());
  cl.println("</year>");
} 
а это писал ранее в файле scripts.js убрал

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

function month(year) {
  switch (year) {
    case "2016": return "2016г."; break;
    ...
  }
}
теперь все как я хотел 19 июня 2016г. Благодарю.

*** Сообщение запрещено. Сообщение похоже на спам. ***
Аватара пользователя
woow
Сообщения: 821
Зарегистрирован: Пн июл 04, 2016 8:46 am
Откуда: Mazeikiai

Re: Arduino Mega Server

Сообщение woow »

помогите новичку, только начал и вот такая проблема, сервер не стартует.
Modul SD...
SD started... failed
Raspberry Pi 3B+
serghei
Сообщения: 2575
Зарегистрирован: Пт ноя 06, 2015 10:22 am
Откуда: Кишинёв

Re: Arduino Mega Server

Сообщение serghei »

Распакуйте содержимое архива в отдельной папке и залейте содержимое пофайлово- без каталогов! Файловая система FAT-16 или 32. Должно получиться около 170 (в зависимости от версии АМС) файлов.Ну и сама карточка должна быть рабочей и открываться компом. Сам сталкивался с ситуацией , когда картридер убивал карты после записи)).Инногда достаточно просто вынуть-вставить карту в шилде.
AMS : ESP32 + NRF24 + 1Wire-I2C мост DS2482 + счетчик DS2423 + сеть MySensors + редактирование страниц в браузере + Upload по воздуху + SPIFFS
Ответить