Необходимые компоненты
- ESP8266-01
- программатор FTDI
Схемы
Схема для этого проекта очень проста. Необходимо установить последовательную связь между порграмматором FTDI и ESP8266, чтобы загрузить код.
Загрузка ESPlorer
Рекомендуется использовать программу ESPlorer, созданную 4refr0nt, для создания и сохранения файлов Lua в ESP8266.
- Нажмите здесь, чтобы загрузить ESPlorer
- Распакуйте эту папку
- Перейдите в основную папку
- Запустите ESPlorer.jar. Для этого необходима установленная JAVA .
Написание серверного скрипта
Не забывайте, что сначала нужно прошить оба ESP прошивкой NodeMCU. Скопируйте и вставьте приведенный ниже код в EXPlorer.
Описание: ESP-сервер выступает в роли точки доступа и имеет собственный SSID = test и Password = 12345678.
Сервер постоянно прослушивает соединение, когда он успешно устанавливает соединение и получает сообщение, то выводит это сообщение на последовательном мониторе.
-- ESP8266 Server
print("ESP8266 Server")
wifi.setmode(wifi.STATIONAP);
wifi.ap.config({ssid="test",pwd="12345678"});
print("Server IP Address:",wifi.ap.getip())
sv = net.createServer(net.TCP)
sv:listen(80, function(conn)
conn:on("receive", function(conn, receivedData)
print("Received Data: " .. receivedData)
end)
conn:on("sent", function(conn)
collectgarbage()
end)
end)
Загрузка скрипта Lua
- Подключите программатор FTDI к компьютеру
- Установите скорость соединения 9600
- Выберите свой порт программатора FTDI (например, COM3)
- Нажмите Открыть / Закрыть
- Выберите вкладку NodeMCU + MicroPtyhon
- Скопируйте скрипт Lua в ESPlorer
Затем вы просто нажимаете кнопку «Сохранить в ESP» и сохраняете файл с именем «init.lua». Все, что нужно изменить, выделено красной рамкой на следующем рисунке.
Написание клиентского скрипта
Прошивка ESP с NodeMCU. Скопируйте и вставьте приведенный ниже код в ESPlorer. Описание: Клиент ESP действует как станция, и постоянно ищет точку доступа. Когда Клиент находит ёё, устанавливается связь с сервером и отправляется сообщение «Hello World!» Каждые 5 секунд.
-- ESP8266 Client
print("ESP8266 Client")
wifi.sta.disconnect()
wifi.setmode(wifi.STATION)
wifi.sta.config("test","12345678") -- connecting to server
wifi.sta.connect()
print("Looking for a connection")
tmr.alarm(1, 2000, 1, function()
if(wifi.sta.getip()~=nil) then
tmr.stop(1)
print("Connected!")
print("Client IP Address:",wifi.sta.getip())
cl=net.createConnection(net.TCP, 0)
cl:connect(80,"192.168.4.1")
tmr.alarm(2, 5000, 1, function()
cl:send("Hello World!")
end)
else
print("Connecting...")
end
end)
В окне последовательного терминала должно появиться следующее:
Добавить комментарий