Arduino Mega Server

Модератор: Alex

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

Re: Arduino Mega Server

Сообщение serghei » Пт фев 10, 2017 5:13 pm

Сам шилд живой? Есть где проверить на другом проекте? У меня так Дуя пытается умереть - Стартует, доходит до надписи AMS work и всё - ни в сериал,ни в веб ничего не выводит.Хотя другой код работает вроде....
AMS : ESP32 + NRF24 + 1Wire-I2C мост DS2482 + счетчик DS2423 + сеть MySensors + редактирование страниц в браузере + Upload по воздуху + SPIFFS
Avd67
Сообщения: 11
Зарегистрирован: Пт фев 10, 2017 3:44 pm
Благодарил (а): 0
Поблагодарили: 0

Re: Arduino Mega Server

Сообщение Avd67 » Пт фев 10, 2017 5:21 pm

serghei писал(а):Сам шилд живой? Есть где проверить на другом проекте? У меня так Дуя пытается умереть - Стартует, доходит до надписи AMS work и всё - ни в сериал,ни в веб ничего не выводит.Хотя другой код работает вроде....
Форматирование не помогло. Шилд думаю живой, файлы же видятся. Проверить не на чем.
Alex
Сообщения: 2357
Зарегистрирован: Пт апр 20, 2012 12:53 pm
Благодарил (а): 42 раза
Поблагодарили: 262 раза

Re: Arduino Mega Server

Сообщение Alex » Пт фев 10, 2017 6:58 pm

Modul SD...
SD init... OK
index.htm... found
Check..............
Files: 144
Size: 1977975
started
Modul SD Info...
SD type: SD2
Not find partition
Not find partitio
У вас какая-то нестандартная ситуация. Я первый раз вижу «Not find partition», тем более если он видит и находит файлы.

Выход только один — сначала менять карты, если не поможет, то менять шилд.

---------------------------------
Для адептов и сочувствующих:

AMS code style

http://hi-lab.ru/arduino-mega-server/ma ... code-style
serghei
Сообщения: 2575
Зарегистрирован: Пт ноя 06, 2015 10:22 am
Откуда: Кишинёв
Благодарил (а): 303 раза
Поблагодарили: 282 раза

Re: Arduino Mega Server

Сообщение serghei » Пт фев 10, 2017 7:33 pm

Вот такая же фишка «Not find partition» появлялась после форматирования NTFS и если карточки побывали в разных телефонах , хотя количество файлов и тип карты определяется правильно. Пока вижу два выхода - взять НОВУЮ карту или Вашу вставить в рабочий АМС. Можно еще попробовать форматировать на низком уровне какими нибудь утилитами. Реально форматировать , а не удалять заголовок .
ОффТоп. Как рассказали адекватные продавцы , новые 2 гиговые карты уже большая редкость. Дельцы накатывают новую надпись на непонятно какие карты.
AMS : ESP32 + NRF24 + 1Wire-I2C мост DS2482 + счетчик DS2423 + сеть MySensors + редактирование страниц в браузере + Upload по воздуху + SPIFFS
eGorka
Сообщения: 182
Зарегистрирован: Чт ноя 24, 2016 10:47 am
Благодарил (а): 5 раз
Поблагодарили: 25 раз

Re: Arduino Mega Server

Сообщение eGorka » Пт фев 10, 2017 8:58 pm

Avd67 писал(а):Форматирование не помогло. Шилд думаю живой, файлы же видятся. Проверить не на чем.
А чем форматировали?
Avd67
Сообщения: 11
Зарегистрирован: Пт фев 10, 2017 3:44 pm
Благодарил (а): 0
Поблагодарили: 0

Re: Arduino Mega Server

Сообщение Avd67 » Пт фев 10, 2017 11:50 pm

serghei писал(а):Вот такая же фишка «Not find partition» появлялась после форматирования NTFS и если карточки побывали в разных телефонах , хотя количество файлов и тип карты определяется правильно. Пока вижу два выхода - взять НОВУЮ карту или Вашу вставить в рабочий АМС. Можно еще попробовать форматировать на низком уровне какими нибудь утилитами. Реально форматировать , а не удалять заголовок .
ОффТоп. Как рассказали адекватные продавцы , новые 2 гиговые карты уже большая редкость. Дельцы накатывают новую надпись на непонятно какие карты.
Пока что приходят мысли попробовать пересоздать таблицу разделов. Пошёл гуглить...
eGorka писал(а):
Avd67 писал(а):Форматирование не помогло. Шилд думаю живой, файлы же видятся. Проверить не на чем.
А чем форматировали?
В основном виндой. Но пару раз пробовал софтиной, которую тут 50 страниц назад кто то рекомендовал.

PS: Попробовал принудительное зануление всех секторов и создание нового раздела. Не помогло(
Android2i2
Сообщения: 18
Зарегистрирован: Вс фев 05, 2017 2:19 pm
Благодарил (а): 2 раза
Поблагодарили: 2 раза
Контактная информация:

Re: Arduino Mega Server

Сообщение Android2i2 » Вс фев 12, 2017 4:35 pm

У меня было нечто похожее, когда я пытался использовать карту на 32г. Попробуйте просто другую карту, как уже выше сказал Алекс. Мне это и помогло.
Arduino Mega 2560 + Ethernet 5100
Windows 10
IDE 1.6.5

Уровень знаний: Пещерный человек
Avd67
Сообщения: 11
Зарегистрирован: Пт фев 10, 2017 3:44 pm
Благодарил (а): 0
Поблагодарили: 0

Re: Arduino Mega Server

Сообщение Avd67 » Вс фев 12, 2017 11:46 pm

Android2i2 писал(а):У меня было нечто похожее, когда я пытался использовать карту на 32г. Попробуйте просто другую карту, как уже выше сказал Алекс. Мне это и помогло.
4 карты попробовал. 1х1гб, 2х2гб, 1х32гб
осталось попробовать купить новую
Android2i2
Сообщения: 18
Зарегистрирован: Вс фев 05, 2017 2:19 pm
Благодарил (а): 2 раза
Поблагодарили: 2 раза
Контактная информация:

Re: Arduino Mega Server

Сообщение Android2i2 » Пн фев 13, 2017 5:22 pm

Ох... И снова я со своими проблемами. >.<
Повесил 2 реле на 11 и 12 пин.
Код был культурно слизан с данного форума, но чуть-чуть под себя переделан.
СпойлерПоказать

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

#ifdef RELAYS_FEATURE
  byte RPIN[2] ={11,12};
  byte RCTRPIN[2]={11,12};
  int current_val[2];
  int old_val[2];

void relInit() {
  for (byte i=0; i<=1; i++){
pinMode(RCTRPIN[i],LOW);
}

  Serial.print("Relays module... ");
  modulRel = MODUL_ENABLE;
  Serial.print("started\n");
}

void rel_control() {
for (byte i=0; i<=1; i++) {
current_val[i]=digitalRead(RCTRPIN[i]);
if (old_val[i] != current_val[i]){
        if (digitalRead(RCTRPIN[i])== HIGH) {
          rel_sw(i, 1);
        }else {
          rel_sw(i, 0);
        }
old_val[i] = current_val[i];
}
}}

void rel_sw(byte num, byte stat) {
    if(stat==1) {
    digitalWrite(RPIN[num], HIGH);
      Serial.print("REL");
      Serial.print(num+1);
      Serial.print(": on\n");
      REL_state[num] = 1;
    } else {
    digitalWrite(RPIN[num], LOW);
      Serial.print("REL");
      Serial.print(num+1);
      Serial.print(": off\n");
      REL_state[num] = 0; 
    }
}
#endif
Ну и, как и со всеми другими железяками, для начала решил воткнуть свой модуль на уже готовую страницу управления.
По примеру leds добавил пару строк в Ajax.
СпойлерПоказать

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

    else if (StrContains(HTTP_req, "request_generic")) {sendXmlAnswer(cl); SetREL();         responseGeneric(cl);}
.
.
.
// Generic
void SetREL() {
    if (StrContains(HTTP_req, "REL1=1")) {
    REL_state[0] = 1;  // save LED state
    digitalWrite(11, HIGH);
  } else if (StrContains(HTTP_req, "REL1=0")) {
      REL_state[0] = 0;  // save LED state
      digitalWrite(11, LOW);
    }

    // REL 2 (pin 12)
  if (StrContains(HTTP_req, "REL2=1")) {
    REL_state[1] = 1;
    digitalWrite(12, HIGH);
  } else if (StrContains(HTTP_req, "REL2=0")) {
      REL_state[1] = 0;
      digitalWrite(12, LOW);
    }
}
В sample2 просто заменил два LED'a на свои REL.
СпойлерПоказать

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

var strREL1 = "";
var strLED3 = "";
var strLED4 = "";
var REL2_state = 0;
var LED4_state = 0;
...
 // REL 1
          if (this.responseXML.getElementsByTagName('REL')[0].childNodes[0].nodeValue === "checked") {
            document.REL_form.REL1.checked = true;
            document.getElementById("REL1").innerHTML = "ON";
          } else {
              document.REL_form.REL1.checked = false;
              document.getElementById("REL1").innerHTML = "OFF";
            }


          // REL 2
          if (this.responseXML.getElementsByTagName('REL')[2].childNodes[0].nodeValue === "on") {
            document.getElementById("REL2").innerHTML = "REL 2 is ON (D12)";
            document.getElementById("REL2").innerHTML = "ON";
            LED3_state = 1;
          } else {
              document.getElementById("REL2").innerHTML = "REL2 is OFF (D5)";
              document.getElementById("REL2").innerHTML = "OFF";
              REL2_state = 0;
            }

          // LED 4
          if (this.responseXML.getElementsByTagName('LED')[3].childNodes[0].nodeValue === "on") {
            document.getElementById("LED4").innerHTML = "LED 4 is ON (D3)";
            document.getElementById("ld3").innerHTML = "ON";
            LED4_state = 1;
          } else {
              document.getElementById("LED4").innerHTML = "LED 4 is OFF (D3)";
              document.getElementById("ld3").innerHTML = "OFF";
              LED4_state = 0;
            }
...
request.open("GET", "request_generic" + strREL1 + strREL2 + strLED3 + strLED4 + randomNoCache(), true);
  request.send(null);
  setTimeout('getArduinoIO()', 1000);
  strREL1 = "";
  strREL2 = "";
  strLED3 = "";
  strLED4 = "";
} // getArduinoIO()
...
unction GetCheck() {
  if (REL_form.REL1.checked) {
    strREL1 = "&REL1=1";
  } else {
      strREL1 = "&REL1=0";
    }
  }

/* -----------------------------------------
  service LEDs when button checked/unchecked
-------------------------------------------- */

function GetButton1() {
  if (REL2_state === 1) {
    REL2_state = 0;
    strREL2 = "&REL2=0";
  } else {
      REL2_state = 1;
      strREL2 = "&REL2=1";
    }
  }

function GetButton2() {
  if (LED4_state === 1) {
    LED4_state = 0;
    strLED4 = "&LED4=0";
  } else {
      LED4_state = 1;
      strLED4 = "&LED4=1";
    }
...
<h3>Светодиоды,<br>использующие чекбоксы</h3>
          <form id="check_RELs" name="REL_form">
            <input type="checkbox" name="REL1" value="0" onclick="GetCheck()" /> REL 1 (D11)<br /><br />
          </form>
        </div>
      </div>
      <div class="cell-4">
        <div class="box">
          <h3>Светодиоды,<br>использующие кнопки</h3>
          <button type="button" id="REL2" onclick="GetButton1()">REL 2 is OFF (D12)</button><br /><br />
          <button type="button" id="LED4" onclick="GetButton2()">LED 4 is OFF (D9)</button><br /><br />
        </div>
      </div>
Но...
  
Скриншот 13-02-2017 174424.jpg
Скриншот 13-02-2017 174424.jpg (476.15 КБ) 9879 просмотров
Как понимаете, ничего с моим реле не происходит, как бы яростно я не тыкал по кнопкам.
Направьте на путь истинный. :cry:
Что я опять сделал не так? :(
Arduino Mega 2560 + Ethernet 5100
Windows 10
IDE 1.6.5

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

Re: Arduino Mega Server

Сообщение serghei » Пн фев 13, 2017 6:03 pm

Android2i2 писал(а):
СпойлерПоказать

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

          // REL 2
          if (this.responseXML.getElementsByTagName('REL')[2].childNodes[0].nodeValue === "on") {
            document.getElementById("REL2").innerHTML = "REL 2 is ON (D12)";
            document.getElementById("REL2").innerHTML = "ON"; //  сравни с LED - ID должен быть другой
            LED3_state = 1;
          } else {
              document.getElementById("REL2").innerHTML = "REL2 is OFF (D5)"; //  Наверное  надо D(12)
              document.getElementById("REL2").innerHTML = "OFF";
              REL2_state = 0;
            }

          // LED 4
          if (this.responseXML.getElementsByTagName('LED')[3].childNodes[0].nodeValue === "on") {
            document.getElementById("LED4").innerHTML = "LED 4 is ON (D3)";
            document.getElementById("ld3").innerHTML = "ON";
            LED4_state = 1;
          } else {
              document.getElementById("LED4").innerHTML = "LED 4 is OFF (D3)";
              document.getElementById("ld3").innerHTML = "OFF";
              LED4_state = 0;
            }
...
Что я опять сделал не так? :(
Сравни очень внимательно ID Реле и LED . Что то напутал.
AMS : ESP32 + NRF24 + 1Wire-I2C мост DS2482 + счетчик DS2423 + сеть MySensors + редактирование страниц в браузере + Upload по воздуху + SPIFFS
Ответить