С появлением на рынке недорогих WiFi-модулей ESP8266 в интернете появилось большое количество конструкций на его основе, которые не требуют микроконтроллера. Потому что в самом модуле уже есть контроллер и его можно и нужно программировать! По умолчанию модуль настраивается и управляется АТ - командами. Можно перепрошить модуль nodemcu и писать прошивки на lua. Ещё можно использовать оболочку Arduino последних версий, где есть поддержка WiFi. Ну а если вы знаете только бейсик? Тогда данный материал как раз для вас!
Для начала нужно скачать загрузчик ESP_Basic_Flasher.exe с сайта проекта (раздел "DOUNLOAD") или файлообменника и запустить его. Затем следует выбрать номер COM-порта и объем флэш-памяти чипа.
Подключить ESP8266 согласно схемы.
Здесь ардуинка используется только как мост USB/UART и источник питания 3,3в, поэтому вы можете использовать любой аналогичный преобразователь и блок питания на 3,3вольта.
Затем нажать кнопку "Firmware Flash" и подождать, пока программа (бейсик) не загрузится в контроллер. После этого следует перезагрузить модуль, убрав GPIO0 с «земли».
Следует отметить, что прошивать контроллер с помощью физического подключения к компьютеру вам придётся только один раз, загружая при этом в него оболочку бейсика.
А затем вы будете программировать в веб-браузере на компьютере, ноутбуке, планшете или смартфоне!
После прошивки контроллера подключитесь к точке доступа ESP.
После подключения достаточно перейти по адресу http://192.168.4.1/edit в вашем браузере. Вы должны увидеть экран, который выглядит, как этот:
Теперь вы можете использовать область редактирования для ввода своей программы для ESP8266.
Вы можете сохранять ваши наработки, а также открывать ранее созданные.
Мигание - пример.
Это программа предложит пользователю выбрать пин, продолжительность мерцания и количество миганий.
let noOfBlinks = 0
let pin = 0
let blinkDelay = 1000
[top]
print "How many times to blink" noOfBlinks
textbox noOfBlinks
print "Pin To use"
textbox pin
print "Blink Delay"
textbox blinkDelay
button "Blink Me Please" [blinkMe]
button "Exit" [getMeOutOfHere]
wait
[blinkMe]
let x = 0
[blinkLoop]
let x = x + 1
po pin 1
delay blinkDelay
po pin 0
delay blinkDelay
if noOfBlinks >= x then goto [blinkLoop]
wait
[getMeOutOfHere]
end
Как видите, всё очень просто, хотя слегка и не привычно.
Конечно, ожидать сильно много пока не стоит, но я бы отметил некоторые необходимые для нас вещи, которые уже реализованы.
Управление пинами модуля (ON/OFF, ШИМ (PWM), SERVO)
Работа с шиной I2C, в частности есть пример с часами DS3231, а также некоторые OLED и LCD
Работа с термометром DS18B20.
Таймер.
WiFi функции.
Функции времени и даты.
SMTP и EMAIL.
WEB интерфейс (ява-скрипты, CSS, кнопки, имиджи, текстовые поля, слайдеры...).
Работа с примитивной графикой на веб страницах.
А здесь есть информация по всем модулям ESP, которая поможет вам определиться с приобретением оных.
Проект продолжает развиваться, так что пора запасаться модулями у братьев - китайцев.
Ну а найти этот чудный проект можно здесь. Также есть форум.
Вот авторское видео:
Большая просьба всем, кто будет работать с данной программой, делиться наработками.