Демонстрация №2 - WebPWM
В предыдущей главе мы подключили WM2000 к беспроводной сети и безопасно передали в облако данные, опрошенные с встроенных датчиков света и температуры WM2000EV.
В этой главе мы:
- Настроим WM2000 для беспроводного подключения и отладки с помощью L.U.I.S. (Loadable User Interface System) и Companion App.
- Загрузим приложение в WM2000 через TIDE.
- Используем веб-интерфейс для прямого управления линиями модуля с поддержкой широтно-импульсной модуляции (PWM).
Настройка WM2000 для беспроводного подключения и отладки
WM2000 - первый программируемый модуль Tibbo, способный хранить два скомпилированных двоичных файла приложений Tibbo BASIC/C, называемых «APP0» и «APP1» (в любой момент может работать только одно). Каждый WM2000 поставляется с предзагруженным Companion App в качестве APP0. Это приложение даёт прямой доступ к параметрам блока конфигурации устройства (Device Configuration Block, DCB) через приложение L.U.I.S., доступное как веб-приложение или приложение для смартфонов на iOS и Android.
В демонстрационном приложении предыдущей главы были встроенные настройки для прямой настройки беспроводного подключения, а в этом примере мы с помощью Companion App подключим модуль к вашей беспроводной сети. Учтите: такие настройки сохраняются в DCB, поэтому, если вы прошли первый учебник, Wi-Fi заново настраивать не придётся, но Companion App всё равно понадобится, чтобы включить беспроводную отладку.
Принудительно загрузить WM2000 в APP0 (то есть в Companion App, если именно он находится в области APP0 вашего модуля) можно кнопкой MD. Как это сделать, показано в блок-схеме M/L V4. Можно также воспользоваться инфографикой с самым коротким путём запуска APP0:
Когда Companion App запущен, с ним можно взаимодействовать через приложение L.U.I.S. Запустите предпочитаемую версию L.U.I.S. и выберите WM2000 Companion, чтобы подключиться к WM2000.
После подключения вы сможете менять настройки DCB. Нужно изменить следующее:
- Установите для Autoconnect значение Yes
- Введите Wi-Fi SSID и Wi-Fi Password (если не сделали этого в предыдущей главе)
- Установите для Debug Mode значение Wi-Fi
- Установите для DHCP значение Yes
Закончив, нажмите Save, а затем Reboot.
Загрузка и использование приложения WebPWM
Теперь, когда беспроводной интерфейс WM2000 настроен, вы можете загружать и отлаживать приложения в TIDE так же, как на программируемых устройствах Tibbo с проводным подключением. В этой главе мы загрузим демонстрационное приложение WebPWM из репозитория проектов WM2000EV.
1. Клонируйте репозиторий на свой компьютер.
2. Откройте WebPwm.tpr в TIDE.
3. Убедитесь, что для параметра Transport option выбрано WinPCap (non-broadcast) UDP Transport.
4. Нажмите Select рядом с полем Target address; запустится Device Explorer.
Если ваш компьютер находится в одной сети с WM2000, модуль появится в списке. Запишите IP-адрес: он понадобится для доступа к веб-интерфейсу.
Обратите внимание на «1» перед названием приложения - она означает, что на устройстве работает APP1.

В Device Explorer:
5. Дважды щёлкните WM2000, чтобы выбрать его как цель отладки. Вы вернётесь в окно Project Settings. Нажмите OK.
6. Перед запуском проекта убедитесь, что режим компиляции установлен на Release.
7. Нажмите Run (или клавишу F5). Демонстрационное приложение будет загружено в WM2000, затем модуль перезагрузится и начнёт выполнять приложение.

В браузере:
8. Откройте новое окно браузера и введите IP-адрес вашего WM2000 (вы записали его раньше, помните?) в адресную строку.
9. Когда страница загрузится, выберите цвет встроенного RGB-светодиода WM2000EV палитрой цветов. Уровень каждого цветового канала можно также настроить отдельно красным, зелёным и синим ползунками.

Примечание №1: RGB-светодиод не калибровался на точность цветопередачи, поэтому цвет на экране в палитре и свечение устройства могут немного различаться. Если положить на светодиод лист обычной белой бумаги, свет рассеется, и цвета будут передаваться лучше.
Примечание №2: В этой демонстрации каналы PWM модуля WM2000 управляют единственным RGB-светодиодом, но тем же способом можно управлять большим количеством светодиодов, например RGB-лентой. Способ управления PWM останется тем же. Однако ток, потребляемый лентой, намного больше тока одного светодиода, поэтому для управления лентой между выходами PWM модуля WM2000 и лентой понадобится несколько мощных полевых транзисторов.
Отладка приложения
Если для параметра Autoconnect выбрано Yes, а для Debug Mode - Wi-Fi, приложения Tibbo BASIC/C можно отлаживать по Wi-Fi. Процесс не отличается от отладки обычных проводных устройств Tibbo: просто переключите режим компиляции на Debug и запустите приложение.
Учтите: если ваше приложение отправляет много отладочных сообщений (метод sys.debugprint), производительность может снизиться. Дело в том, что отладочный обмен идёт по UDP, а многие точки доступа Wi-Fi ограничивают число UDP-пакетов, которые они пропускают за секунду.