Схемы, 
виртуальные приборы 
и др
.
mylab.wmsite.ru


Главная · Карта сайта · форум · Климат

Пример подключения   ESP8266   к PSoC  




WiFi Serial Transceiver Module   ESP8266     на  www.seeedstudio.com





на aliexpress.com









https://nurdspace.nl/ESP8266


Форум:   http://www.esp8266.com/    - все новости и подробности удобно узнавать здесь.


http://esp8266.ru/        - сайт на русском  


ESP8266 Config.exe  -    очень удобная программа для настройки и экспериментов с модулем   от   AppStack   

Hercules SETUP utility   от  hw-group.com    тоже  может пригодиться.

Серия заметок от Peter Scargill:
ESP8266 Busy S (updated)         и ниже по датам ...



Несколько ссылок на примеры применения:

Погодная станция на основе Arduino и модуля ESP8266

ESP8266 server

В статье   Wifi success, for a change!     описывается, как настроить прозрачный режим (transparent mode )
и возврат в режим командной строки используя стандартный для многих модемов код  (+++)


Я использовал материалы этого сайта:   Micro WebServer จาก ESP8266 และ Arduino


Цель проекта - создать максимально простую работающую заготовку веб сервера на  ESP8266 а уж потом разбираться - что это за зверек.
На данный момент все очень примитивно:
минимум проверок - в основном таймауты.
Просто страничка со счетчиком автообновлений.



Файл проекта для  CY8CKIT-030 PSoC®3  Development Kit:


MicroWebServer.cywrk

Используется только UART, поэтому  можно переделать проект под
любой чип (PSoC3, PSoC4, PSoC5, PSoC5LP )

Внимание!!  В программе используется поиск по набору символов в ответе модуля.
К сожалению  эти наборы в новых прошивках могут быть другими - вам придется их найти и заменить.
Этот проект - для FW Version 0160901
В программе ошибка:
ответ OK  на команду   AT+CWJAP="SSID","PASS"\r\n   - всего лишь подтверждение её приема а не
подключения к WIFI !!!
Для подтверждения подключения нужно подать команду  "AT+CIFSR\r\n" .( не ранее чем через 5 секунд)
При удачном подключении вы получите  IP, выделенное  устройству, при неудаче - ERROR.






  
Еще два новых варианта для разных прошивок   ( 0160901  и  018000902 ):          WIFI_00160901.zip          WIFI_018000902.zip  


В разных версиях прошивок модуль выдает разные сообщения после сброса.
Поэтому ищем общее для двух прошивок - фрагмент текста "eady" (Ready, ready)   - он  присутствует в  прошивках в разных вариантах.
В версии 018000902 подключение к WIFI корректно подтверждается ответом "OK" на команду   AT+CWJAP="SSID","PASS"\r\n


Код  проекта очень примитивен: допускается использовать только одно соединение из нескольких возможных.
Поэтому устройство можно легко подвесить, например, при обращении сразу двух клиентов.

Для восстановления после  зависаний предусмотрен сброс устройства при отсутствии обращения клиента более 60 секунд.


                                         WiFi точка доступа (Access Point) на esp8266

это еще один проект - заготовка позволяющий использовать esp8266 в режиме 
 Access Point  для контроля и управления каким либо устройством.

В этом проекте можно управлять светодиодом Led4 на плате
и контролировать и отображать два параметра:
  - текущее состояние светодиода Led4
  - счетчик автообновлений web-странички устройства.

























  Файл проекта для  CY8CKIT-030 PSoC®3  Development Kit:                   AP_Serwer.zip      для прошивки  018000902

Для работы с устройством нужно:
- подключиться к созданной им WiFi точке доступа. ( Имя: "AP_test" пароль "12345678" тип WPA-PSK)
-открыть web страничкку устройства с адресом   http://192.168.4.1

esp8266 допускает до 4-х одновременных подлючений, но в этом проекте допускаетя только одно.
Поэтому возможны сбои в работе - esp8266 отвечает busy... и не реагирует на новые подключения.
Для вывода её из зависаний предусмотрен аппаратный сброс через 180 сек молчания в сети.


__________________________________________________________________________________________________


Еще один вариант - для   PSoC4:        ( ESP8266 - в режиме  ST )

В этом проекте добавлено:
- режим отслеживания номера соединения  ( 0-4, но это мало помогло )
- WDT таймер    

Сохранен и профилактический сброс каждые 30 секунд при отсутствии запроса от клиента.
И, похоже надо поставить более мощный блок питания...

Все это позволило восстанавливать возможность подключения к устройству.

Глючность текущих прошивок ESP8266 уже порядком утомила, поэтому придется пока приостановить
исследования этого девайса. 




Файл проекта  для    PSoC®4   


 
PSoC4_ESP8266_ST_WDT.zip   

для прошивки  018000902











Под рукой оказался бесхозный   BMP085.   Решил приспособить его для контроля погоды за окном.
Работа ESP8266  все так же неустойчива, но для того, чтобы 2 -3 раза в день зайти на страничку устройства -  вполне достаточно.
Проект сделан для PSoC4.  Устройство достаточно прожорливо, поэтому для его питания пришлось использовать блок питания.

Файл проекта для прошивки  018000902:       SCB_BMP085_ESP8266.cywrk.zip







Но этот модуль и сам все может:


Его достаточно просто использовать как одноразовый проект по принципу сделал-забыл.
Я использовал его для подключения датчиков умного дома:

-заводите аккаунт  в thingspeak.com
       покупаете датчики 
-датчик BMP180 (давление и температура)
-датчик    DHT11 (влажность и температура)
-датчик ds18b20 (температура) - любое количество, но учтите что у "thingspeak.com" не более 8 каналов отображения

Коротко о проекте:

1. HARD:
Поскольку это ESP-01 - добавим еще пару ног для подключения датчиков:
контакты RESET и CH_PD мне совершенно не нужны, поэтому на их место я
подключил GPIO13 и GPIO14 как на фото ниже:


2.SOFT:
Приятно, что устанавливать ничего не надо: скачал-прошил-удалил.
Я использовал:
- для заливки прошивки программу esp8266_flasher.exe       отсюда 
- для заливки файлов проекта LuaLoader v 0.91:       http://benlo.com/esp8266/
  
3. ФАЙЛЫ:

прошивка - с установленной  NodeMcu  конкретно эта:  nodemcu_integer_0.9.6-dev_20150704.bin
это важно, поскольку датчики, особенно DHT11 могут капризничать.

файлы проекта:     meteo.zip    введите свой SSID   PASSWORD   и   API_KEY   для thingspeak.com

Прошу прощения, при подготовке архива закралась ошибка:
в файле httpsender.lua вместо строки 54 API_KEY XXXXXXXXXXXXXXXX
надо добавить строку   conn:connect(80,'184.106.153.149')


-Если не хотите чтобы устройство мешало вам своим постоянным присутствием в сети -
добавьте команду node.dsleep(время в мкСек) перед    conn:close() в строке 61
и перемычку с 8 ножки esp8266 на пин RST для выхода из режима Deep Sleep


4. Детали:
Программы для NodeMcu пишутся на языке LUA.
С этим языком я не знаком, но мне повезло, что есть уже много проектов - я просто переделал их под свои нужды.
Некоторые неудобства доставляет нехватка памяти, поэтому в процессе загрузки файлов
ds18b20i.lua     DHT11.lua  bmp180.lua   их надо сразу компилировать (кнопка "compile" в LuaLoader)
появится файл с расширением .lc   а файл с расширением .lua -   удалять (кнопка "remove").

Много полезного можно прочитать на этой страничке:    Вечный  Wi-Fi логгер.  Автономный датчик температуры на базе ESP8266



еще раз напомню порядок действий:


    - доработайте  модуль  добавив еще 2 GPIO
    - прошейте прошивкой  nodemcu_integer_0.9.6-dev_20150704.bin   не забыв подтянуть GPIO0 к GND!!! 
    - в файлах init.lua и httpsender.lua введите свои SSID PASSWORD  и  API_KEY
    - залейте файлы проекта в модуль(не забыв удалить  ds18b20i.lua   DHT11.lua   и bmp180.lua после компиляции) 
    - учтите что ds18b20 на вашей страничке на сайте thingspeak.com выстроятся по старшинству адресов.
         вам придется понять кто где и подписать.




Мой вариант некоторое время можно видеть здесь: https://thingspeak.com/channels/80360





Для контроля давления и температуры вне дома я сделал Простую метеостанцию используя материалы этого сайта:
Simple wifi web server - barometer with BMP180 sensor
Подключившись к сети с именем "METEO_BMP180"   по адресу 192.168.4.1 можно узнать давление и температуру.

Архив проекта на языке LUA для прошивки NodeMcu :       NodeMcu_bmp180.zip       

Гостевая книга · Ссылки · Обо мне · Мои разработки
Схемы, LabVIEW и др.
ВебСтолица.РУ: создай свой бесплатный сайт!  | Пожаловаться  
Движок: Amiro CMS