Добрый день. Помогите пожалуйста с таким вопросом. Я хочу управлять воротами от гаража с помощью смартфона через web интерфейс. Идея такая: у меня есть arduino nano, nano ethernet shield v1.0 и передатчик 433мгц. Я хочу заходить по ip на web страничку там нажимать нужную кнопку из списка с воротами(у меня несколько ворот на участке), и ардуинка отправляла бы сигнал на их открытие. Как считать код с брелка и как отпарвлять коды с помощью передатчика 433 я разобрался. Я застрял на том что нужно создать web страничку с кнопками которые будут отправлять команду на открытие ворот. По моей идее нужно просто создать web сервер по ip адресу например 192.168.1.10, я настрою доступ к этому ip через внешний ip, чтобы вне локальной сети заходить и таким образом управлять всем этим делом. Я нашел похожий проект но только с управлением через bluetooth модуль. Я так понимаю что к нему нужно просто дописать код web странички которая будет отправлять необходимое число а incomingByte его считывает и отправляет нужную команду на передатчик 433мгц. Вот только как нужным образом изменить данный проект я не могу разобраться, я новичок в этом деле может кто помочь? вот скетч на управление через bluetooth: Код (C++): #define txPin 2 #define Te 320 unsigned long incomingByte; void setup(){ pinMode(txPin, OUTPUT); Serial.begin(9600); Serial.setTimeout(4); } void loop() { if (Serial.available() > 0) { incomingByte = Serial.parseInt(); if(incomingByte == 1) SendCame(0b100010001111) ; if(incomingByte == 2) SendCame(0b100010001110) ; if(incomingByte == 3) SendCame(0b100010001100) ; if(incomingByte == 4) SendCame(0b100110001100) ; if(incomingByte == 5) SendCame(0b101010001100) ; if(incomingByte == 6) SendCame(0b110010001100) ; if(incomingByte == 7) SendCame(0b100010101100) ; if(incomingByte == 8) SendCame(0b100001010100) ; if(incomingByte == 9) SendCame(0b100010001111) ; if(incomingByte == 10) SendCame(0b100010001110) ; if(incomingByte == 11) SendCame(0b100010001100) ; if(incomingByte == 12) SendCame(0b100110001100) ; if(incomingByte == 13) SendCame(0b101010001100) ; if(incomingByte == 14) SendCame(0b110010001100) ; if(incomingByte == 15) SendCame(0b100010101100) ; if(incomingByte == 16) SendCame(0b100001010100) ; } } void SendCameBit(byte b) { delayMicroseconds(Te); if (!b) digitalWrite(txPin,HIGH); delayMicroseconds(Te); digitalWrite(txPin,HIGH); delayMicroseconds(Te); digitalWrite(txPin,LOW); } void SendCame(long Code) { for (int j=0;j<5;j++) // посылку посылаем как и брелок - 4 раза подряд. { digitalWrite(txPin,HIGH); delayMicroseconds(Te); digitalWrite(txPin,LOW);// посылаем стартовый импульс for (byte i=12;i>0;i--){ SendCameBit(bitRead(Code, i-1)); // побитово перебираем и посылаем код } delay(16); } delay(2000); // сделать паузу после посылки на 2 с }
Я с ардуино уже все проверил там все работает. А по поводу переделки данного скетча под Ethernet Shield, я так понимаю можно сделать по другому мне это не принципиально вопрос в том сколько это стоит, этот скетч я выложил для примера, тут представлен правильный принцип передачи кодов для открытия ворот. Ниже скетч попроще, который просто без конца транслирует заданный код для открытия без использования блютус. Мне нужно чтобы на веб страничке просто было несколько кнопок до 5шт гдето, и чтобы к каждой кнопке можно было привязать определенный ключ и при нажатии на кнопку на веб страничке передатчик 433мгц подключенный к ардуино транслировал его на ворота. Код (C++): #define txPin 2 #define Te 320 void setup(){ pinMode(txPin, OUTPUT); } void loop() { SendCame(0b110010111110); } void SendCameqBit(byte b) { delayMicroseconds(Te); if (!b) digitalWrite(txPin,HIGH); delayMicroseconds(Te); digitalWrite(txPin,HIGH); delayMicroseconds(Te); digitalWrite(txPin,LOW); } void SendCame(long Code) { for (int j=0;j<5;j++) // посылку посылаем как и брелок - 4 раза подряд. { digitalWrite(txPin,HIGH); delayMicroseconds(Te); digitalWrite(txPin,LOW);// посылаем стартовый импульс for (byte i=12;i>0;i--){ SendCameqBit(bitRead(Code, i-1)); // побитово перебираем и посылаем код } delay(16); } delay(2000); // сделать паузу после посылки на 2 с }
я смотрю у нас очередной пионер появился. готовый хвататься за любую работу, даже если заказ давно "протух"