|
WeMos D1 mini - управление через WiFi. |
R_WEMOS_Web_Control 1.13
Подготовка
Проект создан на базе ранее опубликованной программы R_ESP8266_Control v1.5, где более подробно описаны все детали. На этой странице изложение более краткое.
WeMos D1 mini
Arduino IDE 1.6.5 с подключенными библиотеками для ESP8266.
|
Интерфейс
Число органов управления (кнопок переключателей и движков) определяется числом выводов самого модуля WeMos. Я решил вывести все выводы модуля, как они значатся и как они есть в реальности, чтобы легче было ориентироваться и управлять сигналами при разработке схем. Более того, схема устройства трансформируется и может принять вид, если требуется, как на нижнем рисунке. В таком варианте доступны ползунки для PWM выходов, а также разрешение прерываний и установка режима (mode) соответствующего вывода WeMos.
|
Органы управления
on/off - переключатели
движки PWM - уровень выходного сигнала
i - разрешение прерывания
mode - установка режима для вывода INPUT или OUTPUT
Кнопки
PWM - открывает или закрывает колонки с движками (потенциометрами);
mode - открывает или закрывает колонки с выбором режима для выводов;
avto - опция выбора автоматического режима обновления информации;
output - опция автоматического перевода режима на вывод (OUTPUT) при манипуляции с сигналом на выбранной ножке (pin);
Окна Can1, Can2, Can3 - отображают информацию, поступающую от модуля в ручном или автоматическом режиме. Каналы могут быть привязаны к прерываниям или установлены программно.
Окно контроля
Окно контроля - это самое верхнее окно для строчных сообщений от модуля (синий фон с белым шрифтом). Модуль WeMos, каждый раз получая команды через WiFi, посылает образ выполненной команды обратно (в окно контроля). Модуль точно выполняет указания, но это совсем не означает, что команда исполнена. Например, GPIO2 находится в INPUT mode, а Вы сдвинули движок и инициировали команду на вывод сигнала. В окне контроля появится ответ от модуля "analogWrite(GPIO2, 377);" или "digitalWrite(GPIO2, 1);". Модуль честно отработал, но на выходе GPIO2 ничего не будет, так как его надо было перевести в OUTPUT mode. Такие манипуляции могут быть очень полезны, чтобы точно представлять, как поведет себя модуль.
Конечно, можно программно все решить, и если Вам необходимо автоматом переключать mode ножек на вывод, то просто поставьте галочку на опции "output" . Тогда Вы будете не изучать, а управлять!
При попытках подать сигнал на выход, программа автоматически устанавливает OUTPUT mode для выбранного вывода. Это упрощает работу с устройством при работе в конкретном проекте, хотя для изучения поведения модуля эту опцию лучше отключить. |
|
Под окнами Can1, Can2, Can3 находится строка с окном ввода интервала обновления данных (на фото установлено 7 сек), опция выбора автоматического режима обновления и табло отсчета. Табло ведет обратный отсчет и, при переходе через ноль, на сервер передается запрос, чтобы инициировать передачу данных от сервера. После этого на табло появляется установленное время и отсчет возобновляется.
Обратите внимание, что пока режим (mode) у вывода не подсвечен, выводы отключены.
Весь обмен данными может отображаться на терминале COM порта.
Интересно выставить, например, на какой-либо ножке mode = INPUT и разрешить прерывание. Затем коснуться этого вывода или подать на него сигналы - на терминале COM порта реакция не заставит себя ждать.
Проверка состояния модуля
Такой режим возможен только при запуске таймера. При этом, с цифровых выводов модуля может считываться или 1 или 0. Поэтому в режиме PWM положение переключателей таких выводов не предсказуемо, так как потенциал на выводе может быть 1 или 0. Однако, в скетче можно исключить или заменить digitalRead(pin);
Прерывания
Чтобы проверить работу прерывания, установите переключатели как на рисунке и изменяйте положение переключателя GPIO4. Попробуйте одновременно с этими действиями менять mode выводов GPIO16 и GPIO2, это полезно.
Конечно, все элементы можно расположить по-разному. Это программа, как начальный замес, из которого можно лепить разные "пироги"
Итог на сегодня
Все обновления или изменения будут отображаться на этой странице и на форуме:
http://esp8266.ru/forum/resources/wemos-d1-mini-web-control-1-13.68/
Для правильного отображение в мобильном телефоне вставьте в блоке <head> метатег viewport:
<meta name=viewport content="width=device-width, initial-scale=1">
изменяйте величину scale под свои требования.