Теперь можно запустить программу, открывать сервер в браузере и ввести текст - он появится на экране. Это можно использовать например, для отправки сообщений своим близким, находясь в другом городе, в каникулах, отпуске или командировке.
Разумеется, данный код может быть улучшен. Например, данная библиотека не поддерживает переносы строк, так что длинная веденная строка не поместится на экран. Читатели могут сделать это самостоятельно, для этого можно воспользоваться функциями length и substring для разбивки длинной строки на строки.
Самостоятельная работа #1: добавить к плате “пищалку” или светодиод, которая будет сигнализировать о наличии нового сообщения. При желании также можно добавить на плату кнопку “Сообщение прочитано”, которой получатель подтвердит получение. Для этого достаточно добавить переменную messageIsRead, и при получении нового сообщения устанавливать ее в False, а при нажатии кнопки менять значение на True. В общем, простор для творчества тут весьма велик.
Самостоятельная работа #2: Добавить вывод нескольких сообщений. Для этого можно добавить несколько переменных, например “String msg1, msg2, msg3”, а при получении нового сообщения добавлять его в “конец очереди”:
msg1 = msg2;
msg2 = msg3;
msg3 = msg;
Функцию вывода на экран также придется изменить.
Мы уже умеем выводить с ESP32 данные через встроенный веб-сервер. К сожалению, главный его недостаток - необходимость наличия статического IP-адреса, если мы хотим получать доступ извне. Это удобно, но статический IP-адрес - это обычно платная услуга, этого хотелось бы избежать.
Есть альтернативный способ - сохранять данные в бесплатном сервисе Dropbox. Это позволит ESP32 периодически сохранять логи или какую-либо другую информацию в файлах Dropbox, и они будет автоматически синхронизироваться и появляться на домашнем компьютере или смартфоне.
Сначала нужно создать так называемое “приложение dropbox”, сделать это можно по ссылке https://www.dropbox.com/developers/apps/create:
Когда приложение создано, мы можем выбрать его в разделе My apps на странице https://www.dropbox.com/developers/apps.
Приложение Dropbox имеет доступ только к определенной папке, которая будет синхронизироваться с домашним или рабочим компьютером, и будет иметь путь “Имя_пользователя\Dropbox\Приложения\Имя_приложения”.
Внутри настроек приложения есть параметр “access token”, он будет нужен нам для получения доступа.
Там же выбираем пункт Generate access token:
Нажимаем кнопку “Generate” рядом с “access token”, и получаем ключ вида V3z9NpYlRxEAAAAAAACG5cjBXXXXXXXXXXXXXX, его надо сохранить, мы будем использовать его в дальнейшем.
На этом подготовительная часть закончена. Сам сервис Dropbox имеет разнообразное API для работы с данными, посмотреть список функций можно по адресу https://www.dropbox.com/developers/documentation/http/documentation. Нам для отправки файлов нужна будет всего лишь одна функция upload.
Для того, чтобы отличать файлы друг от друга, мы будем создавать файлы по шаблону “год-месяц-день-чч-мм-сс.txt”. Dropbox требует защищенного