Форум

Новые сообщения · Участники · Правила форума
Страница 17 из 19«121516171819»
Форум » Arduino » Наши проекты » Arduino и Ethernet Shield W5100 (Arduino и Ethernet Shield W5100 обсуждение цикла статей.)
Arduino и Ethernet Shield W5100
Администратор Дата: Вторник, 2015-12-08, 16:13 | Сообщение № 1
Аватар
Специалист
Группа: TehnopageTeam иконка админ
Сообщений: 132
Arduino и Ethernet Shield W5100 обсуждение цикла статей.

Часть 1 - Начало проекта.
Часть 2 - Добавлено динамическое обновление данных и работа с SD картой.
Часть 3 - Добавлено оформление страницы.
Часть 4 - Добавлено управление реле.
Часть 5 - Добавлен регулятор мощности нагрузки в виде ползунка.

Помочь проекту Z423871467990 R522420539786
Сейчас в Offline
Vetrinus Дата: Вторник, 2016-04-19, 10:23 | Сообщение № 241
Аватар
Пришел
Группа: Пользователи
Сообщений: 8
Здравствуйте. 
Есть у меня ряд очень странных сложностей. Я несколько изменил скетч, дабы убрать пока что ненужный мне функционал, но у меня есть ряд фундаментальных проблем. Приведу скетч, дабы было ясно, что происходит:


Проблема первая:


Код
Starting SD initiations...
Chip select done
Searching index.htm... Found
Searching UI.css... Found
Searching script.js... Found
SD card init DONE
GET / HTTP/1.1
Host: 192.168.0.177
Connection: keep-alive
Cache-Control: max-age=0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,-AgяStarting SD initiations...
Chip select done
Searching index.htm... Found
Searching UI.css... Found
Searching script.js... Found
SD card init DONE


Еще не полностью прочитан запрос, но каким-то боком вылезла функция sd_info(). Я пробовал ее убирать ее вызов, ситуация все та же. Есть идеи, каким боком вообще SD карта попадает сюда? Я же слушаю буфер карты и пишу в буфер контроллера.


Код
while (client.connected()) {
      if (client.available()) {
        char c = client.read();
        Serial.print(c);
        if (req_index < (REQ_BUF_SZ - 1)) {
          HTTP_req[req_index] = c; // save HTTP request character
          req_index++;
        }
Сейчас в Offline
gawmer Дата: Вторник, 2016-04-19, 15:31 | Сообщение № 242
Аватар
Уже паял
Группа: Пользователи
Сообщений: 41
sd_init(); на SD.begin(4);
Сейчас в Offline
Vetrinus Дата: Вторник, 2016-04-19, 16:40 | Сообщение № 243
Аватар
Пришел
Группа: Пользователи
Сообщений: 8
Цитата gawmer ()
sd_init(); на SD.begin(4);
SD.begin(4); внутри функции


Код
void sd_init() {
  Serial.println("Starting SD initiations...");
  byte step_init = 0;
  if (SD.begin(4)) {
    Serial.println("Chip select done");
    step_init++;
  } else {
    Serial.println("Chip selecting failed");
    return;
  }
  Serial.print("Searching index.htm... ");
  if (SD.exists("index.htm")) {
    Serial.println("Found");
    step_init++;
  }
  else {
    Serial.println("Not Found - ERROR");
  }
  Serial.print("Searching UI.css... ");
  if (SD.exists("UI.css")) {
    Serial.println("Found");
    step_init++;
  }
  else  {
    Serial.println("Not Found - ERROR");
  }
  Serial.print("Searching script.js... ");
  if (SD.exists("script.js")) {
    Serial.println("Found");
    step_init++;
  }
  else  {
    Serial.println("Not Found - ERROR");
  }
  if (step_init == 4) {
    Serial.println ("SD card init DONE");
  }
  else {
    Serial.print("SD init FAILED");
  }
}


Добавлено (2016-04-19, 16:01)
---------------------------------------------
У меня, кстати, мега, китайская, если это что-то значит

Добавлено (2016-04-19, 16:22)
---------------------------------------------
Немного изменил скетч. Добился такого результата:
Код
Setup start
Ethernet start
Starting SD initiations...
Chip select done
Searching index.htm... Found
Searching UI.css... Found
Searching script.js... Found
SD card init DONE
loop start
GET / HTTP/1.1
Host: 192.168.0.177
Connection: keep-alive
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Upgrade-Insecur

после чего контроллер не реагирует ни на что, кроме перезагрузки
Перезалил скетч с меги на уно. Результат один в один такой же. Я явно чего-то не понимаю

Добавлено (2016-04-19, 16:40)
---------------------------------------------
Добавил задержку между записью символов в буфер.


Код
while (client.connected()) {
      if (client.available()) {
        char c = client.read();
        Serial.print(c);
        delay(2);
          HTTP_req[req_index] = c; // save HTTP request character
          req_index++;
     

Привело вот к такому результату

Код
Setup start
Ethernet start
Starting SD initiations...
Chip select done
Searching index.htm... Found
Searching UI.css... Found
Searching script.js... Found
SD card init DONE
loop start
loop start
loop start
loop start
loop start
GET / HTTP/1.1
Host: 192.168.0.177
Connection: keep-alive
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) Setup start
Ethernet start
Starting SD initiations...
Chip select done
Searching index.htm... Found
Searching UI.css... Found
Searching script.js... Found
SD card init DONE
loop start
loop start
loop start
...
Я в прострации, честно говоря


Сообщение отредактировал Vetrinus - Вторник, 2016-04-19, 16:23
Сейчас в Offline
gawmer Дата: Вторник, 2016-04-19, 18:03 | Сообщение № 244
Аватар
Уже паял
Группа: Пользователи
Сообщений: 41
ну вот как вам обьяснить , в скетче то ошибок нет, вы хотели инициализацию карты , вы ее получили, а карту то стартовать надо да, посмитрите тут примеры а то зависните и забросите усее.
Сейчас в Offline
TehnopageTeam
Аватар
TehnopageTeam щит админа
Vetrinus Дата: Среда, 2016-04-20, 07:57 | Сообщение № 245
Аватар
Пришел
Группа: Пользователи
Сообщений: 8
Ну, а каков должен быть алгоритм?
Приведу свое понимание:
1) Поднимаем сеть
2) запускаем SD карту, spi select slave 4 пин
3)Смотрим, есть ли клиенты
4) Если есть, смотрим буфер шилда
5) Если он не пуст, переписываем в программный буфер для парсинга
6) Парсим строку и отдаем нужный файл
7) либо отдаем данные для ajax
8) Закрываем соединения
9) Очищаем буфер шилда

Но у меня контроллер перезагружается на этапе чтения буфера шилда. 
Setup start.. в ком порту. Причем тут SD карта вообще, ее даже близко в этом месте нет.
Снизойдите, пожалуйста. Хотябы номер пункта напишите, в котором ошибка, по вашему мнению.
Сейчас в Offline
gawmer Дата: Среда, 2016-04-20, 12:01 | Сообщение № 246
Аватар
Уже паял
Группа: Пользователи
Сообщений: 41
Если вы хотите спрятать пароль авторизации , у меня мысль такая- создать файл с именем пароля на сд и считывать имя файла для проверки, а не строку в файле или сам фаил на стороне , совпало пускаем , нет идем мимо
Сейчас в Offline
Vetrinus Дата: Среда, 2016-04-20, 16:23 | Сообщение № 247
Аватар
Пришел
Группа: Пользователи
Сообщений: 8
А какая разница, с чем сравнивать, если и так и так источник находится на контроллере. А то, что сравнивать, в запросе, который не интерпретируется, т.к. контроллер перезагружается с нуля во время записи запроса в буфер...
Сейчас в Offline
gawmer Дата: Четверг, 2016-04-21, 13:04 | Сообщение № 248
Аватар
Уже паял
Группа: Пользователи
Сообщений: 41
тут глянте
Сейчас в Offline
Makumba Дата: Пятница, 2016-04-29, 23:55 | Сообщение № 249
Аватар
Пришел
Группа: Пользователи
Сообщений: 5
Добрый вечер! Нужна ваша помощь. Делаю проект такой как в теме, только использую два датчик газа mq-2 и mq-6, и датчик температуры влажности dht11. Реле не использую. У меня датчики газа не реагируют на газ из зажигалки ни от плиты, не на дым, постоянно такие значения и сами по себе то вверх то вниз меняются. Не сильно +- 30. и температура тоже в помещении всегда 22, 23 градуса ниже ни разу не опускалось. Может что в коде не так или со схемой не то? 
Код
#include <SPI.h>
#include <Ethernet.h>
#include <SD.h>
#include <DHT.h>

#define DHTPIN 7
#define DHTTYPE DHT11
#define REQ_BUF_SZ 40

DHT dht(DHTPIN, DHTTYPE);
File webFile;

char HTTP_req[REQ_BUF_SZ] = {0}; // buffered HTTP request stored as null terminated string
char req_index = 0; // index into HTTP_req buffer
byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED};
IPAddress ip(192, 168, 1, 20);
EthernetServer server(80);
void setup() {
  SD.begin(4);
  Ethernet.begin(mac, ip);
  server.begin();
  dht.begin();
}

void loop() {

  // listen for incoming clients
  EthernetClient client = server.available();
  if (client) {

    // an http request ends with a blank line
    boolean currentLineIsBlank = true;
    while (client.connected()) {
      if (client.available()) {
        char c = client.read();
        if (req_index < (REQ_BUF_SZ - 1)) {
          HTTP_req[req_index] = c; // save HTTP request character
          req_index++;
        }
        if (c == '\n' && currentLineIsBlank) {
          if (StrContains(HTTP_req, "GET /")) {
            if (StrContains(HTTP_req, "/ ") || StrContains(HTTP_req, "/index.htm")) {
              sendHtmlFile(client, "index.htm");
            } else if (StrContains(HTTP_req, "/favicon.ico")) {
              sendFile(client, "favicon.ico");
            } else if (StrContains(HTTP_req, "/temp.png")) {
              sendFile(client, "temp.png");
            } else if (StrContains(HTTP_req, "/humid.png")) {
              sendFile(client, "humid.png");
            } else if (StrContains(HTTP_req, "/flame.png")) {
              sendFile(client, "flame.png");
            } else if (StrContains(HTTP_req, "/my.css")) {
              sendFile(client, "my.css");
            } else if (StrContains(HTTP_req, "ajax_flame")) {
              sendBaseAnswer(client);
              int smoke_gas = 0; //пин на котором подключен MQ-2
              int sensorReading = analogRead(smoke_gas);
              int LPG_gas = 1; //пин на котором подключен MQ-6
              int sensorReading1 = analogRead(LPG_gas);
              int t = dht.readTemperature();
              int f = dht.readTemperature(true);
              int h = dht.readHumidity();
              int hif = dht.computeHeatIndex(f, h);
              int hic = dht.computeHeatIndex(t, h, false);
              char buff[32];
              sprintf(buff, "%d:%d:%d:%d:%d:%d:%d:", sensorReading, sensorReading1, t, f, h, hif, hic);
              client.println(buff);
              
              sendBaseAnswer(client);
            }
          }
          req_index = 0;
          StrClear(HTTP_req, REQ_BUF_SZ);
          break;
        }
        if (c == '\n') {
          // you're starting a new line
          currentLineIsBlank = true;
        } else if (c != '\r') {
          // you've gotten a character on the current line
          currentLineIsBlank = false;
        }
      }
    }
    // give the web browser time to receive the data
    delay(1);
    // close the connection:
    client.stop();
  }
}
bool sendHtmlFile(EthernetClient client, char *fileName) {
  webFile = SD.open(fileName);
  sendBaseAnswer(client);
  return sendFile(client, webFile);
}
bool sendFile(EthernetClient client, char *fileName) {
  webFile = SD.open(fileName);
  sendHttpOkAnswer(client);
  client.println();
  return sendFile(client, webFile);
}
bool sendFile(EthernetClient client, File &webFile) {
  if (webFile) {
    while (webFile.available())
      client.write(webFile.read()); // send web page to client
    webFile.close();
    return 1;
  }
  return 0;
}
void sendBaseAnswer(EthernetClient client) {
  sendHttpOkAnswer(client);
  client.println(F("Content-Type: text/html"));
  client.println(F("Connection: close"));
  client.println();
}
void sendHttpOkAnswer(EthernetClient client) {
  client.println(F("HTTP/1.1 200 OK"));
}

void StrClear(char *str, char length) {
  for (int i = 0; i < length; i++) {
    str [i]= 0;
  }
}

char StrContains(char *str, char *sfind) {
  char found = 0;
  char index = 0;
  char len;
  len = strlen(str);
  if (strlen(sfind) > len) {
    return 0;
  }
  while (index < len) {
    if (str [index]== sfind[found]) {
      found++;
      if (strlen(sfind) == found) {
        return 1;
      }
    }
    else {
      found = 0;
    }
    index++;
  }
  return 0;
}


index.htm 

Код
<html>

<head>
<meta http-equiv='content-type' content='text/html; charset=UTF-8'>
<link rel="shortcut icon" href="/favicon.ico" type="image/x-icon">
<title>Газоанализатор WEB контроль</title>
<link type="text/css" rel="StyleSheet" href="/my.css" />
<script>
function GetFlameState() {
nocache = "&nocache=" + Math.random() * 1000000;
var request = new XMLHttpRequest();
request.onreadystatechange = function() {
if (this.readyState == 4) {
if (this.status == 200) {
if (this.responseText != null) {
var arrayOfStrings = this.responseText.split(":");

document.getElementById("flame_txt").innerHTML = arrayOfStrings[0];
document.getElementById("flame2_txt").innerHTML = arrayOfStrings[1];
document.getElementById("tempc_txt").innerHTML = arrayOfStrings[2];
document.getElementById("tempv_txt").innerHTML = arrayOfStrings[3];
document.getElementById("humid_txt").innerHTML = arrayOfStrings[4];
document.getElementById("indc_txt").innerHTML = arrayOfStrings[5];
document.getElementById("indv_txt").innerHTML = arrayOfStrings[6];
for(var i = 1 ; i < 5 ; i++)
if(arrayOfStrings[6+i] == "1")
document.getElementById("led_"+i).setAttribute("class","button_enabled");
else
document.getElementById("led_"+i).setAttribute("class","button_disabled");
}
}
}
}
request.open("GET", "ajax_flame" + nocache, true);
request.send(null);
setTimeout('GetFlameState()', 1000);
}
function onClick(pin){
var request = new XMLHttpRequest();
request.open("GET", "\setpin?pin=" + pin , false);
request.send(null);
}
function PWM(){
value = document.getElementById("led_PWM").value;
var request = new XMLHttpRequest();
request.open("GET", "\setpin?pin=5?value=" + value, false);
request.send(null);
}
</script>

</head>

<body onload="GetFlameState()">
<div class="form">
  <div class="header">Газоанализатор WEB контроль
    </div>
    <hr noshade size="1px" color="white">
    <h3>Детектор загазованности</h3>
<table align="center">
<tr>
<!-- <td><img src='flame.png' /></td> -->
<td valign="center">Датчик дыма</td>
<td><span id="flame_txt"> 0</span></td>
</tr>

<tr>
<!-- <td><img src='flame.png' /></td> -->
<td valign="center">Датчик газа</td>
<td><span id="flame2_txt"> 0</span></td>
</tr>

<tr>
<!-- <td><img src='temp.png' /></td> -->
<td valign="center">Температура</td>
<td><span id="tempc_txt">0</span> °C</td>
<td><span id="tempv_txt">0</span> °F</td>
</tr>

<tr>
<!-- <td><img src='humid.png' /></td> -->
<td valign="center">Влажность</td>
<td><span id="humid_txt">0</span> %</td>
</tr>

<tr>
<!-- <td><img src='temp.png' /></td> -->
<td valign="center">Индекс тепла</td>
<td><span id="indc_txt">0</span> °C</td>
<td><span id="indv_txt">0</span> °F</td>
</tr>
</table>
<center>
<hr noshade size="1px" color="white">
    <h3>Управление нагрузками</h3>
<button type="button" id="led_1" class="button_disabled" onClick="onClick(1)">Реле №1</button>
<button type="button" id="led_2" class="button_disabled" onClick="onClick(2)">Реле №2</button>
<button type="button" id="led_3" class="button_disabled" onClick="onClick(3)">Реле №3</button>
<button type="button" id="led_4" class="button_disabled" onClick="onClick(4)">Реле №4</button><br>
    <hr noshade size="1px" color="white">
    <h3>Регулировка мощности</h3><input type="range" min="0" max="255" id="led_PWM" step="2.55" oninput="PWM()" value="0" class="rangeP">
<hr noshade size="1px" color="white">
</center>
</div>
</body>
</html>
Сейчас в Offline
Makumba Дата: Суббота, 2016-04-30, 00:28 | Сообщение № 250
Аватар
Пришел
Группа: Пользователи
Сообщений: 5

Добавлено (2016-04-30, 00:28)
---------------------------------------------
Когда отключаю плату Ethernet и по отдельности проверяю датчики все работают, причем mq-2 показывает всегда примерно 135 и когда подводишь источник газа быстро повышается, а mq-6 показывает примерно 400 и повышается только до 500 когда долго держать. Но как сделать чтоб когда и Ethernet ,была подключена и данные были точные? Когда несколько датчиков и к ардуино, тоже значения уже большая погрешность на mq-2 начинается с 200 и не сильно растет при воздействии газом. Возможно не хватает напряжения, так понимаю?

Прикрепления: 7667554.jpg(92Kb) · 8368764.jpg(234Kb) · 6105746.jpg(198Kb)
Сейчас в Offline
ilnar Дата: Суббота, 2016-04-30, 13:18 | Сообщение № 251
Аватар
Пришел
Группа: Пользователи
Сообщений: 19
Makumba, попробуйте отдельное питание, через усб питание похоже не хватает.
Сейчас в Offline
TehnopageTeam
Аватар
TehnopageTeam щит админа
gawmer Дата: Суббота, 2016-04-30, 21:30 | Сообщение № 252
Аватар
Уже паял
Группа: Пользователи
Сообщений: 41
Вот в этой части скрипта

Указано 5 а вы обьявили 9
так будьте любездны смените уж как правильно должно быть


Сообщение отредактировал gawmer - Суббота, 2016-04-30, 21:31
Сейчас в Offline
Soichi Дата: Воскресенье, 2016-05-01, 17:11 | Сообщение № 253
Аватар
Пришел
Группа: Пользователи
Сообщений: 1
Всем привет. У меня в зале люстра управляется двумя реле, первое реле отвечает за одну лампу, второе за остальные две. Как переделать код так, чтобы при включении первых двух кнопок включалась и третья, соответственно при включении\выключении третьей включались\выключались первые две. Правильнее будет завести под это дело какую то другую функцию?

До этого для управления использовал связку w5100 и Mega, но без участия SD.
Ваш проект понравился гораздо больше, но вот пока не во всё врубаюсь ^^'



Прикрепления: 3312543.png(4Kb)


Сообщение отредактировал Soichi - Воскресенье, 2016-05-01, 17:12
Сейчас в Offline
y2056 Дата: Среда, 2016-05-04, 12:38 | Сообщение № 254
Аватар
Пришел
Группа: Пользователи
Сообщений: 16
Господа всем доброго времени суток. Прошу помощи вашей. Взял пробную страницу по работе с датчиками и кнопками с веб интерфейса с этого сайта. Попробовал все отлично работает. Потом изменил дописал как себе надо и у меня перестал работать вывод инфо с датчиков. Кнопки работают, кто может подскажите плиз че не так прошивку и html выкладываю.
код ардуино мега
 
Код
// listen for incoming clients
  EthernetClient client = server.available();
  if (client) {

    // an http request ends with a blank line
    boolean currentLineIsBlank = true;
    while (client.connected()) {
      if (client.available()) {
        char c = client.read();
        if (req_index < (REQ_BUF_SZ - 1)) {
          HTTP_req[req_index] = c; // save HTTP request character
          req_index++;
        }
        if (c == '\n' && currentLineIsBlank) {
          if (StrContains(HTTP_req, "GET / ") || StrContains(HTTP_req, "GET /index.htm")) {
            client.println("HTTP/1.1 200 OK");
            client.println("Content-Type: text/html");
            client.println("Connnection: close");
            client.println();
            webFile = SD.open("index.htm");
          }
         else if (StrContains(HTTP_req, "GET /favicon.ico")) {
            webFile = SD.open("images/favicon.ico");
            if (webFile) {
              client.println("HTTP/1.1 200 OK");
              client.println();
            }
          } 
          else if (StrContains(HTTP_req, "GET /nebo.jpg")) {
            webFile = SD.open("images/nebo.jpg");
            if (webFile) {
              client.println("HTTP/1.1 200 OK");
              client.println();
             }
          }
            else if (StrContains(HTTP_req, "ajax_flame")) {
            client.println("HTTP/1.1 200 OK");
            client.println("Content-Type: text/html");
            client.println("Connection: keep-alive");
            client.println();
            digitalWrite(13, !digitalRead(13));
            int chk;
            chk = DHT.read(DHT11_PIN);
            temp1_1 = DHT.temperature;
            humid1_1 = DHT.humidity;
            client.print(Us);
            client.print(":");
            client.print(Is);
            client.print(":");
            client.print(Ps);
            client.print(":");
            client.print(Fs);
            client.print(":");
            client.print(Tout);
            client.print(":");
            client.print(Bout);
            client.print(":");
            client.print(Vout);
            client.print(":");
            client.print(Zout);
            client.print(":");
            client.print(temp1_1);
            client.print(":");
            client.print(humid1_1);
            client.print(":");
            client.print(temp1_2);
            client.print(":");
            client.print(humid1_2);
            client.print(":");
            client.print(temp1_3);
            client.print(":");
            client.print(humid1_3);
            client.print(":");
            client.print(temp1_4);
            client.print(":");
            client.print(humid1_4);
            client.print(":");
            client.print(temp1_5);
            client.print(":");
            client.print(humid1_5);
            client.print(":");
            client.print(temp1_6);
            client.print(":");
            client.print(humid1_6);
            client.print(":");
            client.print(temp1_7);
            client.print(":");
            client.print(humid1_7);
            client.print(":");
            client.print(119+i1);
            client.print(":");
            client.print(119+i1); //23
            client.print(":");
            client.print((digitalRead(37)) ? "1" : "0");
            client.print(":");
            client.print((digitalRead(38)) ? "1" : "0");
            client.print(":");
            client.print((digitalRead(39)) ? "1" : "0");
            client.print(":");
            client.print((digitalRead(40)) ? "1" : "0");

          } else if (StrContains(HTTP_req, "setpin?pin=1")) {
            pin1 = !pin1;
            digitalWrite(37, pin1);
            client.println("HTTP/1.1 200 OK");
            client.println("Content-Type: text/html");
            client.println("Connnection: close");
            client.println();
          } else if (StrContains(HTTP_req, "setpin?pin=2")) {
            pin2 = !pin2;
            digitalWrite(38, pin2);
            client.println("HTTP/1.1 200 OK");
            client.println("Content-Type: text/html");
            client.println("Connnection: close");
            client.println();
          } else if (StrContains(HTTP_req, "setpin?pin=3")) {
            pin3 = !pin3;
            digitalWrite(39, pin3);
            client.println("HTTP/1.1 200 OK");
            client.println("Content-Type: text/html");
            client.println("Connnection: close");
            client.println();
          } else if (StrContains(HTTP_req, "setpin?pin=4")) {
            pin4 = !pin4;
            digitalWrite(40, pin4);
            client.println("HTTP/1.1 200 OK");
            client.println("Content-Type: text/html");
            client.println("Connnection: close");
            client.println();
          }

          if (webFile) {
            while (webFile.available()) {
              client.write(webFile.read()); // send web page to client
            }
            webFile.close();
          }
          req_index = 0;
          StrClear(HTTP_req, REQ_BUF_SZ);
          break;
        }
        if (c == '\n') {
          // you're starting a new line
          currentLineIsBlank = true;
        } else if (c != '\r') {
          // you've gotten a character on the current line
          currentLineIsBlank = false;
        }
      }
    }
    // give the web browser time to receive the data
    delay(1);
    // close the connection:
    client.stop();
  }

html

Код
<html>

<head>
  <meta http-equiv='content-type' content='text/html; charset=Windows-1251'>
  <link rel="shortcut icon" href="images/favicon.ico" type="image/x-icon">
  <title>Данные с датчиков</title>
  <link type="text/css" rel="StyleSheet" href="my.css" />

 <script>
function GetFlameState() {
nocache = "&nocache=" + Math.random() * 1000000;
var request = new XMLHttpRequest();
request.onreadystatechange = function() {
if (this.readyState == 4) {
if (this.status == 200) {
if (this.responseText != null) {
var arrayOfStrings = this.responseText.split(":");

document.getElementById("Us").innerHTML = arrayOfStrings[0];
document.getElementById("Is").innerHTML = arrayOfStrings[1];
document.getElementById("Ps").innerHTML = arrayOfStrings[2];
document.getElementById("Fs").innerHTML = arrayOfStrings[3];
document.getElementById("Tout").innerHTML = arrayOfStrings[4];
document.getElementById("Bout").innerHTML = arrayOfStrings[5];
document.getElementById("Vout").innerHTML = arrayOfStrings[6];
document.getElementById("Zout").innerHTML = arrayOfStrings[7];
document.getElementById("temp1_1").innerHTML = arrayOfStrings[8];
document.getElementById("humid1_1").innerHTML = arrayOfStrings[9];
document.getElementById("temp1_2").innerHTML = arrayOfStrings[10];
document.getElementById("humid1_2").innerHTML = arrayOfStrings[11];
document.getElementById("temp1_3").innerHTML = arrayOfStrings[12];
document.getElementById("humid1_3").innerHTML = arrayOfStrings[13];
document.getElementById("temp1_4").innerHTML = arrayOfStrings[14];
document.getElementById("humid1_4").innerHTML = arrayOfStrings[15];
document.getElementById("temp1_5").innerHTML = arrayOfStrings[16];
document.getElementById("humid1_5").innerHTML = arrayOfStrings[17];
document.getElementById("temp1_6").innerHTML = arrayOfStrings[18];
document.getElementById("humid1_6").innerHTML = arrayOfStrings[19];
document.getElementById("temp1_7").innerHTML = arrayOfStrings[20];
document.getElementById("humid1_7").innerHTML = arrayOfStrings[21];
document.getElementById("temp1_8").innerHTML = arrayOfStrings[22];
document.getElementById("number").innerHTML = arrayOfStrings[23];

for(var i = 1 ; i < 9 ; i++)
if(arrayOfStrings[23+i] == "1")
document.getElementById("led_"+i).setAttribute("class","button_enabled");
else
document.getElementById("led_"+i).setAttribute("class","button_disabled");
}
}
}
}
request.open("GET", "ajax_flame" + nocache, true);
request.send(null);
setTimeout('GetFlameState()', 1000);
}
function onClick(pin){
var request = new XMLHttpRequest();
request.open("GET", "\setpin?pin=" + pin, false);
request.send(null);
}
</script>

<!скрипт вывода даты и текущего времени>

<b><center>

<script type="text/javascript">
function clock() {
var d = new Date();
var month_num = d.getMonth()
var day = d.getDate();
var hours = d.getHours();
var minutes = d.getMinutes();
var seconds = d.getSeconds();

month=new Array("января", "февраля", "марта", "апреля", "мая", "июня",
"июля", "августа", "сентября", "октября", "ноября", "декабря");

if (day <= 9) day = "0" + day;
if (hours <= 9) hours = "0" + hours;
if (minutes <= 9) minutes = "0" + minutes;
if (seconds <= 9) seconds = "0" + seconds;

date_time = "Сегодня - " + day + " " + month[month_num] + " " + d.getFullYear() +
" г.      Текущее время - "+ hours + ":" + minutes + ":" + seconds;
if (document.layers) {
 document.layers.doc_time.document.write(date_time);
 document.layers.doc_time.document.close();
}
else document.getElementById("doc_time").innerHTML = date_time;
 setTimeout("clock()", 1000);
}
</script>
</b></center>

   <! Текстовые поля - прямоугольники>
           <style type="text/css"> 
           #Us, #Is, #Ps, #Fs, #control, #Tout, #Bout, #Vout, #Zout, #temp1_1, #humid1_1, #temp1_2, #temp1_3, #temp1_4, #temp1_5, #temp1_6, #temp1_7, #temp1_8,  #humid1_2, #humid1_3, #humid1_4, #humid1_5, #humid1_6, #humid1_7, #number
 {
   margin: 3px 3px 3px 3px;
         width: 90px;
                   height: 20px;
   border-radius: 10px;  /* закругление ячеек */
                   font-size: 12pt;
                   font-weight: bold;
                   color: white;
   text-align: center;
    padding: 3px; /* Поля вокруг содержимого ячеек */
                   
        }
        
        </style>

<! Дата и время>
           <style type="text/css"> 
           #doc_time{
   margin: 10px 10px 10px 10px;
   width: 80px;
                   height: 60px;
                   font-size: 12pt;
                   font-weight: bold;
                   color: Blue;
   text-align: center;
    padding: 1px; /* Поля вокруг содержимого ячеек */
                   
        }

</head>

<body>

<!=======================================================================================================>

<BR>

<table border=1 bgcolor="#FFFFFF" bordercolor="#548DD4"cellpadding=5 cellspacing=5 align=center background= "images/nebo.jpg">

<!==ЗАГОЛОВОК==>

<tr>
<td colspan="8">
<center><strong><span style="color: rgb(0, 0, 255);">Система домашней автоматизации Aduino</span></center>

<center><strong><span style="color: rgb(0, 0, 255);" id="doc_time"></span></center>
       <script type="text/javascript">clock();</script> 
</td>
</tr>

<!==ПЕРВАЯ СТРОКА МЕНЮ==>

<tr>

<! Параметры сети и время>
<tr> 
<td><center><b>Напряжение <br> в сети     </b></center> <br> <div id="Us"   ></div></td>
<td><center><b>Ток в сети                 </b></center> <br> <div id="Is"   ></div></td>
<td><center><b>Потребляемая <br> мощность </b></center> <br> <div id="Ps"   ></div></td>
<td><center><b>Частота сети               </b></center> <br> <div id="Fs"   ></div></td>
<td><center><b>Температура <br> на улице  </b></center> <br> <div id="Tout" ></div></td>
<td><center><b>Давление                   </b></center> <br> <div id="Bout" ></div></td>
<td><center><b>Скорость <br> ветра        </b></center> <br> <div id="Vout" ></div></td>
<td><center><b>Направление <br> ветра     </b></center> <br> <div id="Zout" ></div></td>

</tr>

<!==ВТОРАЯ СТРОКА МЕНЮ==>

<! Параметры температура влажности и давления>
<tr> 

<td><center><b>Температура <br> на балконе </b></center> <br> <div id="temp1_1"> </div></td>
<td><center><b>Влажность <br> на балконе   </b></center> <br> <div id="humid1_1"></div></td>
<td><center><b>Температура <br> в детской  </b></center> <br> <div id="temp1_2"> </div></td>
<td><center><b>Влажность <br> в детской    </b></center> <br> <div id="humid1_2"></div></td>
<td><center><b>Температура <br> в кабинете </b></center> <br> <div id="temp1_3"> </div></td>
<td><center><b>Влажность <br> в кабинете   </b></center> <br> <div id="humid1_3"></div></td>
<td><center><b>Температура <br> в спальне  </b></center> <br> <div id="temp1_4"> </div></td>
<td><center><b>Влажность <br> в спальне    </b></center> <br> <div id="humid1_4"></div></td>

</tr>  

<!==ТРЕТЬЯ СТРОКА МЕНЮ

<! Параметры температуры влажности итд>
<tr> 

<td><center><b>Температура <br> в гостинной</b></center> <br> <div id="temp1_5"> </div></td>
<td><center><b>Влажность <br> в гостинной  </b></center> <br> <div id="humid1_5"></div></td>
<td><center><b>Температура <br> в погребе  </b></center> <br> <div id="temp1_6"> </div></td>
<td><center><b>Влажность <br> в погребе    </b></center> <br> <div id="humid1_6"></div></td>
<td><center><b>ххх <br> ххх                </b></center> <br> <div id="temp1_7"> </div></td>
<td><center><b>ххх <br> ххх                </b></center> <br> <div id="humid1_7"></div></td>
<td><center><b>ххх <br> ххх                </b></center> <br> <div id="temp1_8"> </div></td>
<td><center><b>Устройство <br> в запросе   </b></center> <br> <div id="number"></div></td>

</tr>  

<! Управление выходами контроллера>
<tr>
<td><center><b>Выход 1</b></center><div id="out1_1"></div></td>

<td><center><b>Выход 2</b></center><div id="out2_1"></div></td>

<td><center><b>Выход 3</b></center><div id="out3_1"></div></td>

<td><center><b>Выход 4</b></center><div id="out4_1"></div></td>

<td></td>
<td></td>
<td></td>
<td></td>
</tr>

<tr>
      <td><center><button type="button" id="led_1" class="button_disabled" onClick="onClick(1)">Кабинет   </button></center></td>
      <td><center><button type="button" id="led_2" class="button_disabled" onClick="onClick(2)">Детская   </button></center></td>
      <td><center><button type="button" id="led_3" class="button_disabled" onClick="onClick(3)">Спальня   </button></center></td>
      <td><center><button type="button" id="led_4" class="button_disabled" onClick="onClick(4)">Гостинная </button></center></td>
      <td><center><button type="button" id="led_5" class="button_disabled" onClick="onClick(5)">Фонари    </button></center></td>
      <td><center><button type="button" id="led_6" class="button_disabled" onClick="onClick(6)">Балкон    </button></center></td>
      <td><center><button type="button" id="led_7" class="button_disabled" onClick="onClick(7)">ХХХ       </button></center></td>
      <td><center><button type="button" id="led_8" class="button_disabled" onClick="onClick(8)">ХХХ       </button></center></td>
      </tr>

</table>

</body>
</html>


конкретно не работает функция ajax_flame я там даже включил изменение состояния светодиода нет ответа никакого не пашет хотя функция с кнопками работает.
Сейчас в Offline
pavlov-sm Дата: Четверг, 2016-05-05, 12:09 | Сообщение № 255
Аватар
Пришел
Группа: Пользователи
Сообщений: 6
Вот умеют же некоторые .Это я к y2056 Если сумеете сделать то вам респект . И положите файлы для народа.У меня даже не формируется html. Пустой экран . И вы делаете как я понял на меге. Много выходов задействовано.и dht 11 вроде минусовую температуру не видят.И вроде часовая плата стоит у вас.

Ваша
Код
<td><center><b>Температура <br> в спальне  </b></center> <br> <div id="temp1_4"> </div></td>
<td><center><b>Влажность <br> в спальне    </b></center> <br> <div id="humid1_4"></div></td>


Из проекта
Код
<td>--><td valign="center">Температура №1 </td><td><span id="temp1_txt"> 0</span> °C</td>
<td><td valign="center">Влажность на улице</td><td><span id="humid_txt">0</span> %</td>


Может неправильно сформировано. не знаю .Я сам только учусь. Может быть не прав.
Сейчас в Offline
Форум » Arduino » Наши проекты » Arduino и Ethernet Shield W5100 (Arduino и Ethernet Shield W5100 обсуждение цикла статей.)
Страница 17 из 19«121516171819»
Поиск:
Яндекс.Метрика Рейтинг@Mail.ru Проверка орфографии