Добрый день.
Помогите пожалуйста с таким вопросом. Я хочу управлять воротами от гаража с помощью смартфона через 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:
03 | unsigned long incomingByte; |
05 | pinMode(txPin, OUTPUT); |
12 | if ( Serial .available() > 0) { |
13 | incomingByte = Serial .parseInt(); |
15 | if (incomingByte == 1) SendCame(0b100010001111) ; |
16 | if (incomingByte == 2) SendCame(0b100010001110) ; |
17 | if (incomingByte == 3) SendCame(0b100010001100) ; |
18 | if (incomingByte == 4) SendCame(0b100110001100) ; |
19 | if (incomingByte == 5) SendCame(0b101010001100) ; |
20 | if (incomingByte == 6) SendCame(0b110010001100) ; |
21 | if (incomingByte == 7) SendCame(0b100010101100) ; |
22 | if (incomingByte == 8) SendCame(0b100001010100) ; |
24 | if (incomingByte == 9) SendCame(0b100010001111) ; |
25 | if (incomingByte == 10) SendCame(0b100010001110) ; |
26 | if (incomingByte == 11) SendCame(0b100010001100) ; |
27 | if (incomingByte == 12) SendCame(0b100110001100) ; |
28 | if (incomingByte == 13) SendCame(0b101010001100) ; |
29 | if (incomingByte == 14) SendCame(0b110010001100) ; |
30 | if (incomingByte == 15) SendCame(0b100010101100) ; |
31 | if (incomingByte == 16) SendCame(0b100001010100) ; |
35 | void SendCameBit( byte b) |
37 | delayMicroseconds(Te); |
38 | if (!b) digitalWrite(txPin,HIGH); |
39 | delayMicroseconds(Te); |
40 | digitalWrite(txPin,HIGH); |
41 | delayMicroseconds(Te); |
42 | digitalWrite(txPin,LOW); |
45 | void SendCame( long Code) |
49 | digitalWrite(txPin,HIGH); |
50 | delayMicroseconds(Te); |
51 | digitalWrite(txPin,LOW); |
53 | for ( byte i=12;i>0;i--){ |
54 | SendCameBit(bitRead(Code, i-1)); |
Смотрите примеры web-серверов с кнопками. Их не мало. В них встроите функции из этого скетча или напишете что-то своё.