Недавно нашел этот проект и решил попробовать разобраться. Мне необходимо сделать управление одним реле (подключенным к ардуино уно через езернет шилд), через сайт и по кнопке. major установлен на cubianboard и должен общаться с arduino uno через локальную сеть посредством get запроса.
Создал объект Lamp1 как сделано на видео https://youtu.be/KwUI0k8viqA Основы настройки Majordomo
Нарисовал небольшой скрипт который переключает этот объект Lamp1 по нажатию на ардуино кнопки на пине 3
Код: Выделить всё
#include <Ethernet.h>
#include <SPI.h>
//mac address для получения сети
byte mac[] = { 0xee, 0x2b, 0xab, 0xa4, 0xd4, 0x9d }; // RESERVED MAC ADDRESS
EthernetClient client;
/////////////////////датчики//////////////////
int button = 3; // объявляем кнопку на пине 3
int led = 9; // объявляем пин 9 для реле
void setup()
{
pinMode(led, OUTPUT); // пин 9 слушает выход
// объявляем что слушают датчики
pinMode(button, INPUT); //кнопка слушает вход
Serial.begin(9600);
if (Ethernet.begin(mac) == 0) {
Serial.println("Failed to configure Ethernet using DHCP");
}
Serial.print("IP = ");
Serial.println(Ethernet.localIP()); // вывожу полученый ip
}
void loop()
{
Gerk();
}
void Gerk(){
if (digitalRead(button) == HIGH/*LOW*/) {
Serial.println("connecting to server...");
if (client.connect("192.168.1.44",80)) {
//client.connect("192.168.1.44",80)) {
Serial.println("making HTTP request...");
// Создаем GET HTTP-запрос:
// client.println("GET /objects/?object=Lamp1&op=m&m=turnOn& HTTP/1.1");//отправляю переменную t со значением 1
client.println("GET /objects/?object=Lamp1&op=m&m=switch& HTTP/1.1");
client.println("HOST: 192.168.1.44");
client.println();
}
if (client.connected()) {
client.stop();
}
delay(100);
}
но мне необходимо, чтобы arduino опросило статус Lamp1 на major опросил(не понимаю как обратиться к статусу Lamp1) через get запрос и если статус Lamp1 = 1 включено, то после этого включить пин 9 на ардуино.
Или второй вариант, через планшет переключить на сцене объект Lamp1, ардуино через get запрос считает статус и включит пин 9
Может я что то до конца не понимаю в работе major тогда объясните, может где - то по другому прописать можно
Можно как-то вернуть статус устройства если выключаю я Lamp1
http://192.168.1.44:80/objects/?object= ... &m=turnOff&
включаю
http://192.168.1.44:80/objects/?object= ... m&m=turnOn&
Как вернуть статус Lamp1????????????
http://192.168.1.44:80/objects/?object= ... m&m=Status& или checkState ??????????