цифровая электроника
вычислительная техника
встраиваемые системы

 
» » Использование WiFi модуля ESP8266 в качестве датчика с выходом в Интернет

Использование WiFi модуля ESP8266 в качестве датчика с выходом в Интернет

Автор: Mike(admin) от 1-12-2014, 07:05

Несколько месяцев назад модуль ESP8266 уверенно вышел на сцену радиолюбительской электроники и мира Интернета вещей и стал использоваться в различных проектах, где есть интерфейс UART.


WiFi модуль ESP8266

ESP8266 представляет собой не просто модуль для связи по WiFi. Микросхема, на основе которой он построен, по сути, является микроконтроллером со своими шинами SPI, UART, а также выводами GPIO. А это значит, что модуль можно использовать автономно без Arduino и других плат с контроллерами.


Дешевый Wi-Fi модуль ESP8266

В данном материале будет показано, как задействовать этот модуль в качестве автономного датчика открывания/закрывания двери, который будет передавать информацию в сеть.


Сначала подключим ESP8266 к переходнику USB-UART FTDI232R с выходом 3.3 В.


Программирование ESP8266 с помощью FTDI232R

Теперь скачаем приложение Coolterm отсюда, и проверим с помощью него прошивку модуля. Установите скорость связи 115200 б/с. Задайте AT+GMR. Как можно видеть на рисунке ниже прошивка используемого в данном случае модуля 00160901.


Использование ESP8266 в качестве датчика

Но мы заменим эту прошивку на прошивку LUA, которая будет лучше подходить для наших целей. Помните, чтобы сменить прошивку нужно, чтобы вывод CH_PD всегда находился в высоком логическом состоянии, а GPIO0 был подтянут к земле (GND).


Теперь возьмите загрузчик отсюда. А саму прошивку LUA отсюда.


Запустите ESP8266_flasher.exe и прошейте модуль.


Использование ESP8266 в качестве датчика

После прошивки нужно отсоединить GPIO0, чтобы перезагрузиться в нормальном режиме. Затем сконфигурируйте CoolTerm на скорость 9600 б/с, чтобы иметь возможность общаться с перепрошитым модулем. Теперь проверим WiFi соединение с помощью простого кода:



print(wifi.sta.getip())
--0.0.0.0
wifi.setmode(wifi.STATION)
wifi.sta.config("SSID","password")
print(wifi.sta.getip())
--192.168.18.110

Теперь после каждого запуска модуль ESP8266 будет помнить последние настройки WiFi сети.


Сейчас сделаем из ESP8266 датчик запирания двери. Для этого нам потребуется нижеприведенная схема соединения:


Использование ESP8266 в качестве датчика

Нам нужна программа, которая бы отправляла состояние датчика в Интернет. Поэтому создадим новый скрипт и назовем его door.lua. Загрузите терминал и введите следующее:



file.remove(“door.lua”)
file.open(“door.lua”,”w”)
writeline([[srv=net.createServer(net.TCP) srv:listen(80,function(conn)]])
writeline([[conn:on("receive",function(conn,payload)]])
writeline([[print(node.heap())]])
writeline([[door="open"]])
file.writeline([[if gpio.read(8)==1 then door="OPEN" else door="CLOSED" end]])
file.writeline([[conn:send("<h1> The door is " .. door ..".</h1>")]])
file.writeline([[end)]])
file.writeline([[conn:on("sent",function(conn) conn:close() end)]])
file.writeline([[end)]])
file.close()<b>
</b>

Теперь скрипт door.lua будет доступен после каждого включения ESP8266. Чтобы запустить его, введите


dofile(“door.lua”)

И если вы не знаете IP модуля ESP8266, то введите



print(wifi.sta.getip())
--192.168.18.110

Введите в URL-строку браузера IP модуля, и вы получите желаемый результат.


Есть одна маленькая проблемка: скрипт хранится в модуле, но не запускается автоматически. Чтобы решить ее, немного изменим скрипт:



file.remove(“init.lua”)
file.open(“init.lua”,”w”)
writeline([[print("Pete's LUA module 0.1")]])
file.writeline([[tmr.alarm(4000, 0, function() dofile("door.lua") end )]])
file.close()

Перезагрузитесь, и код запустится автоматически. Отсоедините FTDI232, подключите ESP8266 к двум батарейкам 1.5 В, и автономный датчик открывания/закрывания двери готов!




Перевод © digitrode.ru


<Via>


Теги: ESP8266




Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

Комментарии:

Оставить комментарий