Создать веб -сайт ESP8266 для управления до 8 реле на нашем контроллере реле XC4418 8 каналов

Используйте реле без особых усилий с этой простой настройкой из двух частей! Просто подключите любое устройство, которое вы хотите проверить или активировать к модулю реле; Затем используйте встроенное приложение для телефона, чтобы управлять им, когда захотите. Установить реле для переключения, таймера или мгновенной активации; и даже заставил их идти в определенное время дня. Отлично подходит для автоматических наборов для полива, тестирования устройств, управления огнями или любой другой нагрузки до 10 ампер.
| QTY | Код | Описание |
|---|---|---|
| 1 | XC4418 | 8 -канальный реле контроллер |
| 1 | XC4411 | Uno с Wi -Fi |
Как всегда, в вашем инструменте Arduino IDE должна быть установлена библиотека ESP8266 , а также плагин ESP8266 Data-Upload. Если нет, вы можете получить один снизу:
Эта система довольно простая настройка. Как мы знаем, XC4411 - это UNO и ESP, объединенный в единую плату. Часть ESP будет обрабатывать запуск простой программы «веб-приложения», которая затем будет общаться с ООН.

Часть UNO кода будет просто отвечать за активацию и управление реле, как только он получит команду.
XC4411 соединяет как UNO, так и ESP вместе через серийный порт, что означает, что нам просто нужно сделать Serial.read() и Serial.write() чтобы общаться между ними. Чтобы все было простым, мы будем держать поток данных в одну сторону, поэтому ESP никогда не узнает, как выглядит реле, что означает, что веб-приложение не сможет показать, как выглядит реальные реле, но мы можем сделать простые предположения.
Это простая одна модульная сборка благодаря простоте платы XC4411.

Просто подключите 5V и GND к двум лучшим контактам ретрансляции (вы должны обнаружить, что они помечены VCC и GND ). Затем подключите все остальные IN# контактах с цифровыми булавками ООН. Чтобы все было просто, мы держим штифты в порядок, начиная с Pin 2 и перемещаясь до Pin 9 - это будет соответствовать тому, что находится на доске реле, начиная с нижней стороны.
Это разумная идея - сохранить зеленую вкладку между контактами COM и GND на реле.
На xc4411 вы должны найти ряд пропадных переключателей. Это используется для установки режима устройства.

(Наши немного грязные из -за того, как часто мы его используем).
Для этого раздела мы захотим запрограммировать сторону ООН, поэтому используйте ручку или иным образом, чтобы установить переключатели как таковые:
| Приколоть | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
|---|---|---|---|---|---|---|---|---|
| Состояние | ВЫКЛЮЧЕННЫЙ | ВЫКЛЮЧЕННЫЙ | НА | НА | ВЫКЛЮЧЕННЫЙ | ВЫКЛЮЧЕННЫЙ | ВЫКЛЮЧЕННЫЙ | ВЫКЛЮЧЕННЫЙ |
Затем откройте часть кода uno/uno.ino в редакторе Arduino IDE и загрузите как обычно.
Вы должны быть в состоянии проверить эту сторону вещей, открыв Serial Monitor и установив параметры:
115200 бодЗатем введите команду, такую как:
>4a
Если вы действительно хотите отладить код, вы должны найти некоторые определения в строке 10 и 11 кода UNO. Один в строке 10 выведет текст, аналогичный ниже.

Другое определение (в строке 11) ничего не сделает, и просто включит реле. Вы хотите определить строку 11, когда вы завершаете проект.
Установите переключатели, как показано ниже.
| Приколоть | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
|---|---|---|---|---|---|---|---|---|
| Состояние | ВЫКЛЮЧЕННЫЙ | ВЫКЛЮЧЕННЫЙ | ВЫКЛЮЧЕННЫЙ | ВЫКЛЮЧЕННЫЙ | НА | НА | НА | ВЫКЛЮЧЕННЫЙ |
Для этой части вам необходимо открыть код ESP/ESP.INO в Arduino IDE и изменить тип платы на Generic ESP8266 .
Измените «размер вспышки» программы на 4M (3M SPIFFS) - это сорвается с частью кода, чтобы мы могли вписаться в наши data/ папку. Вы найдете код нашего веб -сайта в папке данных, который мы хотим поместить все это в ESP. Ниже приведен скриншот наших настроек.

Во -первых, загрузите код как обычно. Если вы нажимаете загрузку и обнаружите, что IDE не загружается, или вы получите какой -то выход, как это:

Это просто означает, что IDE ждет, пока ESP перезагрузится. Нажмите кнопку RESET на плате, когда вы видите IDE Show Это сообщение. Он должен загружать без зацепления.
После того, как код будет выполнен, используйте ESP Data Upload Tool (как выделено на изображении выше), чтобы загрузить наш веб -сайт на ESP. Вам придется нажать кнопку сброса, похожая на ранее. После того, как он будет запрограммирован, вы можете отключить Dip -Switch 7 и открыть серийный монитор, чтобы увидеть, какой выход есть, когда вы подключаетесь к горячей точке «реле -контроллера» и перейдите по адресу http://192.168.4.1 - или просто продолжить.
Подобно коду UNO, у нас есть еще одна группа определения для отладки. Вы можете включить или отключить сообщения отладки таким образом.
Некоторые важные вещи, которые нужно помнить, при изменении кода:
Flash size одинаковым. Если вы измените его, вам придется повторно загрузить как код, так и веб-сайт.Как только две половинки запрограммированы, наконец переключите переключатели DIP на ниже.
| Приколоть | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
|---|---|---|---|---|---|---|---|---|
| Состояние | НА | НА | ВЫКЛЮЧЕННЫЙ | ВЫКЛЮЧЕННЫЙ | ВЫКЛЮЧЕННЫЙ | ВЫКЛЮЧЕННЫЙ | ВЫКЛЮЧЕННЫЙ | ВЫКЛЮЧЕННЫЙ |
Это соединит сериал ESP с сериалом ООН. Теперь он работает только от USB, и серийный монитор не будет подключен ни к чему.
Откройте Wi -Fi вашего телефона и перезагрузите XC4411 - вы должны обнаружить, что есть новая беспроводная сеть под названием «Реле -контроллер». Подключитесь к нему, затем откройте браузер и перейдите по адресу: http://192.168.4.1

На сайте не так много, чтобы смотреть, но это работает. Вы должны быть в состоянии нажимать кнопки и найти реле включенные и выключенные. Если вы знаете, как сделать веб -сайт хорошо выглядеть и хотите сделать это лучше, сделайте разработку новых data/ папки и отправьте его на вкладке Github «Или» или разделите репо и отправьте запрос на вытяжение.
Если вы найдете некоторые вещи, которые не работают, подключите свой компьютер к сети (в качестве альтернативы, подключите ESP к вашей домашней сети) и откройте веб -сайт на вашем компьютере. Вы должны быть в состоянии открыть «инструмент Chrome Inspector» и найти консоль, которая будет выводить сообщения.
Тем не менее, надежный способ проверить, что происходит,-это подключить последовательный монитор к устройству (с переключателями DIP, соответствующими тому, какой раздел вы тестируете) и протестировать каждую часть кода, как вам нужно.
>3a включает реле 3 и >3d выключает реле 3.>1a на последовательном мониторе. Очевидно, что веб -сайт нуждается в работе, но любое количество изменений может произойти с этим проектом. У вас все еще должны быть бесплатные булавки, и все, что вам нужно сделать, чтобы добавить что -то, это:
Ниже приведены некоторые сегменты кода, чтобы объяснить.
На веб -сайте есть кнопка, которую мы используем для включения реле, это простой элемент <button id='3' class='relay'></button> , который имеет идентификатор того, какой он есть (не совсем, но достаточно близко для этого примера).
Тогда у нас есть код JavaScript (упрощенный):
$ ( "button.relay" ) . on ( "click" , function ( ) {
//do this when a button with the class 'relay' is clicked
} ) ; В этой функции мы fetch() новую веб-страницу, которая указывает на /relay , и если статус возврата в порядке, мы добавляем класс «ison» в кнопку:
fetch ( "relay?relay=3&mode=activate" ) . then ( response => {
if ( response . status == 200 ) {
button . addClass ( "isOn" ) ;
}
} ) ; Это означает, что веб -сайт будет пытаться получить доступ к новой веб -странице по адресу http://192.168.4.1/relay с параметрами ?relay=3&mode=activate . Давайте посмотрим на код ESP:
// firstly, set the handler function in the setup():
server.on( " /relay " , handleRelayCommand);
// ... later ...
void handleRelayCommand (){
String relayNumber = server. arg ( " relay " );
String mode = server. arg ( " mode " );
// ...
} Командный server.arg("relay"); Просто получает то, что был установлен аргумент «реле». В нашем исходном запросе:? ?relay=3&mode=activate это будет строка "3" . Точно так же аргумент режима установлен на строку "activate"
Затем мы просто делаем некоторые проверки, обнаруживаем, что реле "3" соответствует и означает ли "activate" , мы включаем реле, и отправляем это в качестве команды в ООН:
Serial.write( ' > ' ); // start of command
Serial.write( ' 3 ' ); // relay 3
Serial.write( ' a ' ); // activate, or turn onЭто будет интерпретировано UNO, который затем фактически включит реле:
В Uno.ino (опять же, упрощенное):
while (Serial.read() != ' > ' ) // do nothing until we get '>'
continue ;
char relay = Serial.read(); // next character is relay;
char mode = Serial.read(); // next character is mode;
// ... do some checks, turn char into int, see if it's valid, etc.
digitalWrite (theRelay, theMode); Отнесее отметить, что потоки данных-это только одно направление в этом коде, нет Serial.write() на UNO, чтобы быть Serial.read() esp.