ESP-07 и Arduino
Чтобы не быть голословными, рассмотрим основные технические параметры модуля:
- напряжение: 1,7-3,6В;
- поддерживаемые стандарты протоколов: 802.11 b/g/n;
- потребление тока: 200 мА;
- частота: 2.4 ГГц;
- объем флеш-памяти: 512кБайт;
- статическая память: 80Кб + 32 Кб для инструкций;
- несколько режимов работы: STA, AP, STA+AP.
На плате имеется керамическая антенна, но встречается комплектация с разъемами для внешней антенны. Таким образом есть возможность при желании увеличить дальность связи.
Распиновка платы показана ниже:
Выполним подключение ESP-07 к Arduino. Для этой цели создадим небольшой проект, для реализации которого применяем следующее «железо»:
- вай-фай модуль;
- датчик влажности и температуры (в нашем случае DHT11);
- дисплей Nokia 5110;
- блок питания 3 - 3.6V;
- макетная плата;
- комплект соединительных проводов.
Далее следует поработать над прошивкой и программированием. Нам понадобятся сразу несколько специализированных приложений – библиотеки ESP8266WiFi (встроенная), Adafruit_PCD8544 и GFX, DHT. Их следует скачать и установить в папку libraries среды разработки Arduino IDE. Инструкции имеются у нас на портале, как и ссылки на софт.
Пишем скетч:
// Подключаем библиотеки
#include <ESP8266WiFi.h>
#include <DHT.h>
#include <SPI.h>
#include <Adafruit_GFX.h>
#include <Adafruit_PCD8544.h>
// создание экземпляров
DHT sensor(5, DHT11);
// 14 - SCLK
// 13 - DIN
// 12 - D/C
// 15 - CS
// 4 - RST
Adafruit_PCD8544 dNokia5110 = Adafruit_PCD8544(14, 13, 12, 15, 4);
// параметры WiFi
const char* ssid = "**********";
const char* pass = "********";
// ThingSpeak
const char* serverthingspeak = "184.106.153.149";
const char* privateKey = "****************";
// переменные
float tdht;
float hdht;
unsigned long millis1=0;
unsigned long interval=10000;
void setup() {
dNokia5110.begin();
dNokia5110.setContrast(70);
dNokia5110.clearDisplay();
dNokia5110.setTextSize(1);
dNokia5110.setTextColor(BLACK);
dNokia5110.setCursor(0,0);
dNokia5110.println("Connect to WiFi");
dNokia5110.display();
// Соединяемся по WiFi
WiFi.begin(ssid, pass);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
}
// дисплей
dNokia5110.clearDisplay();
dNokia5110.setCursor(0,0);
dNokia5110.println("ESP07 - DHT11");
dNokia5110.println("Makerplus.ru");
dNokia5110.display();
// запуск dht
sensor.begin();
}
void loop() {
// каждые 10 минут
if(millis()-millis1>=interval) {
// WiFi клиент
WiFiClient client;
if (!client.connect(serverthingspeak, 80)) {
dNokia5110.clearDisplay();
dNokia5110.setCursor(0,0);
dNokia5110.println("ESP07 - DHT11");
dNokia5110.println("Makerplus.ru");
dNokia5110.display();
return;
}
// получить данные c dht11
tdht = sensor.readTemperature();
hdht = sensor.readHumidity();
// вывод на дисплей
dNokia5110.clearDisplay();
dNokia5110.setCursor(0,0);
dNokia5110.println("ESP07 - DHT11");
dNokia5110.println("Makerplus.ru");
dNokia5110.print("T=");
dNokia5110.print(tdht);
dNokia5110.println(" *C");
dNokia5110.print("H=");
dNokia5110.print(hdht);
dNokia5110.println(" %");
dNokia5110.display();
// формирование запроса к серверу
String str1="/update?key=";
str1+=privateKey;
str1+="&temp=";
str1+=tdht;
str1+="&humidity=";
str1+=hdht;
// запрос на сервер
client.print(String("GET ") + str1 + " HTTP/1.1\r\n" + "Host: " + serverthingspeak + "\r\n" + "Connection: close\r\n\r\n");
delay(10);
// ответ от сервера
while(client.available()){
String str = client.readStringUntil('\r');
Serial.print(str);
}
interval=10*60000;
}
}
Заходим в сервис ThingSpeak (предварительно пройдя регистрацию). Там мы будем взаимодействовать с показаниями нашего устройства. Кому сложно с ней справиться, можно настроить прошивку и управлять функционалом при помощи утилиты ESP8266_config – это значительно проще! Все зависит от вас – пробуйте!На этом прощаемся с вами! До новых встреч!
Сегодня поговорим о том, как воплотить в жизнь подключение FPM10A к Arduino, что это за модуль, где используется, каковы параметры его работы и т.д. Речь идет...
В новом информационном обзоре рассматриваем GSM модуль SIM800L к Arduino. Почему выбрано именно это устройство? Во-первых, оно достаточно известно и популярно...
В этой статье мы рассмотрим подключение ADS1115 к Ардуино. Речь идет о 16-битном аналого-цифровом преобразователе, оснащенном 4 входами непосредственно для...
Модуль энкодер KY-040 является электромеханическим устройством, а точнее - датчиком угла поворота и вращения оси различных девайсов. Непосредственно сам прибор...
GSM модуль NEOWAY M590 – один из самых простых и бюджетных контроллеров, с помощью которого можно совершать звонки, принимать ∕ отправлять SMS-сообщения, а...