Как правильно связать Arduino и MajorDomo по сети

Подключение исполнительных устройств, датчиков, контроллеров.

Модератор: immortal

Ответить
alexpzas
Сообщения: 25
Зарегистрирован: Пн авг 19, 2013 4:17 pm
Благодарил (а): 1 раз
Поблагодарили: 0

Как правильно связать Arduino и MajorDomo по сети

Сообщение alexpzas » Чт окт 03, 2013 11:41 am

Всем привет.Сори возможно за глупый вопрос, но не могу никак разобраться. Имеется Arduino Mega + Ethernet W5100. Задача вывести в МajorDomo показания датчика температуры , плюс по нажатию кнопки в вебморде зажигать светодиод на 28 порту. Если можно пример скетча и пример кода в MajorDomo. Порылся по форуму всеравно не смог разобраться. Помогите пож новичку, чтобы хотябы понять принцып связки дуины с вебмордой через Ethernet W5100. Вот мой код Смесь примера работы с сетью и работа с датчиком температуры.

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

#include <LiquidCrystal.h>
#include <SPI.h>
#include <Ethernet.h>
// Настройки для сети
byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
IPAddress server(192,168,1,2);  
IPAddress ip(192,168,1,10);
EthernetClient client;
//Настройки для ЛСиДи
LiquidCrystal lcd(3, 4, 25, 24, 23, 22);
#include "DHT.h"
#define DHTPIN 2  
#define DHTTYPE DHT11 
DHT dht(DHTPIN, DHTTYPE);
void setup() {
// set up the LCD's number of columns and rows: 
  lcd.begin(16, 2);
  lcd.print("Microklimat:");
//Старт датчика температуры
  dht.begin();
// Ethernet
Serial.begin(9600);

if (Ethernet.begin(mac) == 0) {
    Serial.println("Failed to configure Ethernet using DHCP");
    Ethernet.begin(mac, ip);
  }
  delay(1000);
  Serial.println("connecting...");
  if (client.connect(server, 80)) {
    Serial.println("connected");
    client.println("GET /search?q=arduino HTTP/1.1");
    client.println("Host: 192.168.1.2");
    client.println("Connection: close");
    client.println();
  } 
  else {
   Serial.println("connection failed");
  }

}

void loop() {
  // set the cursor to column 0, line 1
  // (note: line 1 is the second row, since counting begins with 0):
 
  // print the number of seconds since reset:
  //lcd.print(millis()/1000);
  
  float h = dht.readHumidity();
  float t = dht.readTemperature();
  if (t<20){ lcd.setCursor(0, 0);lcd.clear();lcd.print("Xolodno");}
  if (t>=20 && t<25){ lcd.setCursor(0, 0);lcd.clear();lcd.print("Teplo");}
  if (t>=25){ lcd.setCursor(0, 0);lcd.clear();lcd.print("Garko");}  
  lcd.setCursor(0, 1);
  if (isnan(t) || isnan(h)) {
    lcd.print("Temp-ra error");
  } else {
    lcd.print("C=");
    lcd.print(t);
    lcd.print(" H=");
    lcd.print(h);
  }
  if (client.available()) {
    char c = client.read();
    Serial.print(c);
  }

  // if the server's disconnected, stop the client:
  if (!client.connected()) {
    Serial.println();
    Serial.println("disconnecting.");
    client.stop();

    // do nothing forevermore:
    while(true);
  }
 
}

Вот , что выдает порт

Failed to configure Ethernet using DHCP
connecting...
connected
HTTP/1.0 404 Not Found

disconnecting.
alexpzas
Сообщения: 25
Зарегистрирован: Пн авг 19, 2013 4:17 pm
Благодарил (а): 1 раз
Поблагодарили: 0

Re: Как правильно связать Arduino и MajorDomo по сети

Сообщение alexpzas » Чт окт 03, 2013 3:06 pm

Для данной задачи как нужно использовать дуину как сервер или как клиент?
dmw
Сообщения: 469
Зарегистрирован: Вт мар 12, 2013 1:22 am
Благодарил (а): 41 раз
Поблагодарили: 81 раз

Re: Как правильно связать Arduino и MajorDomo по сети

Сообщение dmw » Чт окт 03, 2013 3:55 pm

Дело в строчке
client.println("GET /search?q=arduino HTTP/1.1");
Попробуйте в браузере сходить по адресу http://192.168.1.2/search?q=arduino думаю тоже 404 получите.
Вот почитайте как посылать HTTP запросы: http://smartliving.ru/Main/ProgramminIntegration
alexpzas
Сообщения: 25
Зарегистрирован: Пн авг 19, 2013 4:17 pm
Благодарил (а): 1 раз
Поблагодарили: 0

Re: Как правильно связать Arduino и MajorDomo по сети

Сообщение alexpzas » Вт окт 29, 2013 1:00 am

Огромная просьба помочь кто разбирается. Описать рабочий пример вывод температуры через езернет с датчика DHT11 в МДМ (скетч и расписанный пример настройки сценария в МДМ) Максимально просто. Большая просьба если кому не сложно, так как на форуме много всего, но как правильно настроить сценарий и написать запрос в скетче так и не понял. На простом примере думаю будет проще разобраться. Помогите пожалуйста.
Аватара пользователя
ser009
Сообщения: 595
Зарегистрирован: Сб окт 13, 2012 9:55 am
Благодарил (а): 4 раза
Поблагодарили: 43 раза

Re: Как правильно связать Arduino и MajorDomo по сети

Сообщение ser009 » Вт окт 29, 2013 8:49 am

Ответить