Съдържание:

ESP8266 NodeMCU с BME280 измервателни уреди и диаграма: 5 стъпки
ESP8266 NodeMCU с BME280 измервателни уреди и диаграма: 5 стъпки

Видео: ESP8266 NodeMCU с BME280 измервателни уреди и диаграма: 5 стъпки

Видео: ESP8266 NodeMCU с BME280 измервателни уреди и диаграма: 5 стъпки
Видео: Подключение GY-BME-280 3.3v к ESP8266 NodeMcu V3, сравнение с классическим барометром 2024, Ноември
Anonim
ESP8266 NodeMCU с BME280 измервателни уреди и диаграма
ESP8266 NodeMCU с BME280 измервателни уреди и диаграма
ESP8266 NodeMCU с BME280 измервателни уреди и диаграма
ESP8266 NodeMCU с BME280 измервателни уреди и диаграма

Фантастични измервателни уреди и диаграма за вашата платка за развитие на ESP8266 NodeMCU с BME280 сензор за температура, влажност и налягане. Thingspeak ще съхранява всичките ви данни в облака за извличане по всяко време през следващите години (надявам се). Измервателните уреди и диаграмата се попълват от данните, съхранявани в Thingspeak и се актуализират автоматично на всеки 5 минути.

Необходими елементи:

ESP8266 NodeMCU борд за развитие ($ 3,79 от Banggood.com Hong Kong)

Bosch BME280 ($ 5.63 от Banggood.com Hong Kong)

Джампери за платки ($ 3.09 от Banggood.com Хонконг)

Платформа ($ 2.28 от Banggood.com Хонконг)

Захранване, безплатно, ако имате зарядно устройство за микро USB телефон

Micro USB кабел, безплатен, ако вече имате такъв

Arduino IDE, безплатно изтегляне

Вземете.ino и. HTML кодовите файлове тук

Стъпка 1: Създайте и настройте вашите канали Thingspeak

Създаване и настройка на вашите канали Thingspeak
Създаване и настройка на вашите канали Thingspeak

1. Създайте безплатен акаунт в Thingspeak и нов канал на https://thingspeak.com, обадете се на канала „ESP8266-NodeMCU-12E-BME280“

2. Новият канал трябва да има 3 полета, наречени Температура Влажност Налягане в този конкретен ред (Забележка с главни букви в първото писмо).

3. Обърнете внимание на новия си „идентификатор на канал“XXXXXX в „Настройки на канала“

4. Щракнете върху връзката „API Keys“и вземете под внимание вашите „API Write“и „Read API Keys“XXXXXXXXXXXXXXX. Също така направете този обществен канал при споделяне.

5. Създайте втори канал Thingspeak, който ще съхранява данните „Днес“(от полунощ) Високо ниски данни. Наречете го „BME280 Daily High Low Data“

6. Този нов канал трябва да има 6 полета, наречени Tmax Tmin Hmax Hmin Pmax Pmin в този конкретен ред (Забележка с главни букви в първото писмо).

7. Обърнете внимание на „BME280 Daily High Low Data“„идентификационен номер на канала“, „Четене“и „Записване на API ключове“, точно както в горните стъпки.

Стъпка 2: Настройте Arduino IDE, библиотеки и конфигурирайте BME280

Настройте Arduino IDE, библиотеки и конфигурирайте BME280
Настройте Arduino IDE, библиотеки и конфигурирайте BME280

8. Следвайте инструкциите за инсталиране на ядрото на Arduino IDE & ESP8266 на адрес

9. Запалете Arduino IDE, за да можем да инсталираме четирите библиотеки, които ще ни трябват.

10. Ще ви е необходима библиотеката "Adafruit Unified Sensor Driver", инсталирайте я в "Library Manager" в Arduino IDE. Скица на менюто Включване на библиотека Управление на библиотеки направете търсене по Type = "Recommended" Topic = "Sensors", след което поставете думите Adafruit Unified Sensor Driver в полето за търсене. Този, който искате, казва „Adafruit Unified Sensor Driver by Adafruit“

11. В допълнение, вие също ще изисквате "Библиотеката Adafruit BME280" да я инсталира в "Библиотечен мениджър" в Arduino IDE. Скица на менюто Включване на библиотека Управление на библиотеки направете търсене по Type = "Recommended" Topic = "Sensors", след което поставете думите Adafruit BME280 Library в полето за търсене. Този, който искате, казва „Adafruit BME280 Library by Adafruit“

12. Друга библиотека, от която се нуждаете, е Wire.h, инсталирайте я в "Library Manager" в Arduino IDE. Меню, скица Включване на библиотека Управление на библиотеки Направете търсене по Type = "Contributed" Topic = "Signal Input/Output", след което поставете думата Wire в полето за търсене. Този, който искате, казва „Wire Built-in by Arduino“Най-вероятно в долната част на селекцията.

13. Още една библиотека, ESP8266WiFi, я инсталирайте в "Library Manager" в Arduino IDE. Меню, скица Включване на библиотека Управление на библиотеки Направете търсене по Type = "Contributed" Topic = "Communication", след което поставете думата ESP8266wifi в полето за търсене. Този, който искате, казва „ESP8266wifi вграден от Иван Грохотков“

14. I2C адресът за BME280 е твърдо кодиран във файла Adafruit_BME280.h (потърсете реда #define BME280_ADDRESS 0x77) в папката Adafruit_BME280_Library. Сензорните модули BME на Adafruit са свързани с кабел, за да използват I2C адреса 0x77. Но BME280 може да има малко по -различен I2C адрес (0x76), ако външният му SDO извод е заземен. Ако използвате сензорни модули от трета страна, вероятно адресът му няма да съвпада със стойността по подразбиране в библиотеката Adafruit. Например, за повечето от сензорните модули BME280, налични в eBay или Aliexpress, техният I2C адрес е 0x76. Ако не получите отговор от сензора, като използвате адреса по подразбиране, зададен във файла Adafruit_BME280.h, може да се наложи да го промените на 0x76.

BME280 и ESP8266 точки за свързване. ESP8266 3.3V към BME280 Vin, ESP8266 GND към BME280 GND, ESP8266 D4 към BME280 SCL, ESP8266 D3 към BME280 SDA. 15. Отворете предоставения файл ESP8266-NodeMCU-12E-BME280.html в текстов редактор и въведете своя „ESP8266-NodeMCU-12E-BME280“(Първият канал, който сте създали) „Channel ID“и „Read API Key“за променливи key1 & chan1. Също така въведете „Read API Key“и „Channel ID“за „BME280 Daily High Low Data“(Вторият канал, който създадохте) за key2 и chan2. Освен това въведете изместването на часовата зона от UTC. Като в -5 за мен. Всички стойности трябва да са в предоставените единични кавички „XXXXX“. Запазете и излезте от текстовия редактор.

Включете вашия ESP8266 с USB кабела към компютъра си, след което изберете серийния си порт за USB порт.

Потребителите на Linux може да се наложи да променят собственото си управление на USB порта, за да комуникират с /dev /ttyUSB0, както е в „sudo chown yourrusername /dev /ttyUSB0“или каквото и да сте избрали като порт в настройката.

Стъпка 3: Програмирайте ESP8266 с Arduino IDE

Програмирайте ESP8266 с Arduino IDE
Програмирайте ESP8266 с Arduino IDE

16. След това ще програмираме ESP8266. Свържете USB кабел между вашия ESP8266 и вашия компютър.

Заредете предоставения New_BME_Sensor.ino файл в Arduino IDE. Вашият сензор BME280 трябва да бъде свързан към D3 (SDA) и D4 (SCL) на ESP8266. Въведете своя „ESP8266-NodeMCU-12E-BME280“(Първият канал, който сте създали) „Ключ за запис“, „Безжичен SSID“и „Парола“в правилната част на скицата. След това щракнете върху елемента от менюто „Скица“и „Качване“. След като качите скицата (напредъкът достига 100%) към вашия ESP8266, можете да отворите серийния монитор (иконата горе вдясно прилича на лупа) и да видите вашите данни да се разпечатват след 5 минути, на всеки 5 минути. Данните се изпращат на thingspeak на интервали от 5 минути, така че ще мине известно време, преди да имате значими данни от диаграмата, но трябва да имате показания на габарита след 5 минути.

Уверете се, че получавате правилни показания от BME280 в серийния монитор.

Първото измерване вероятно ще бъде невалиден бабин.

Изчакайте няколко минути до следващото четене и се уверете, че показанията изглеждат добре.

Стъпка 4: Върнете се към Thingspeak, за да промените някои данни

Върнете се към Thingspeak, за да направите някои промени в данните
Върнете се към Thingspeak, за да направите някои промени в данните

17. Сега, докато данните бавно се качват в thingspeak, нека направим малко ощипване, за да получим някои допълнителни данни от това, което се качва. Върнете се на уебсайта на Thingspeak и на страницата на канала на Thingspeak "BME280 Daily High Low Data" (Вторият канал, който създадохте) щракнете върху зеления бутон "MATLAB Analysis". Изберете шаблон „Персонализиран (без стартов код)“

18. Назовете анализа на MATLAB „Изчислете Мин Макс от полунощ“.

19. Копирайте кода на MATLAB Analysis.txt в предоставеното пространство. Въведете „идентификатора на канала“за „ESP8266-NodeMCU-12E-BME280“(Първият канал, който сте създали) в „readChannelID“. Въведете "BME280 Daily High Low Data" (Вторият канал, който сте създали) Напишете "Channel ID" & "Write Key" в writeNewChannelID & writeAPIKey съответно. Знам, че звучи объркващо (прочетете го отново). Щракнете върху запазване и стартиране. Ако сте го направили правилно и каналът за четене е публичен, няма да видите грешки и той успешно отпечатва стойностите. Забележка: Може да видите грешка, ако все още няма качени данни в този канал. Въпреки грешката продължете. Ако желаете, можете да посетите отново Щракнете върху Запазване и стартирайте, за да се уверите, че работи, след като данните са качени.

20. След това трябва да създадем "Time Control", за да задействаме този код на всеки 5 минути и нашите данни се записват в канала "BME280 Daily High Low Data" (Вторият канал, който създадохте). От главната страница на „BME280 Daily High Low Data“(Вторият канал, който създадохте) изберете Приложения в горната част. Под действия изберете „TimeControl“, след това зеления бутон „New TimeControl“. Наречете го „Изпращане на високи ниски температури ESP8266“. Изберете вашата часова зона, ако е необходимо, и изберете „Повтарящо се“под Честота. Изберете минута под Повторение. Настройва се да се изпълнява на всеки 5 минути. Действието трябва да бъде MATLAB анализ и „Кодът за изпълнение“е „Изчисляване на минималния максимум от полунощ“. Спестете TimeControl.

Стъпка 5: Редактирайте предоставения HTML файл

Редактирайте предоставения HTML файл
Редактирайте предоставения HTML файл

Редактирайте HTML файловете и потърсете коментари, които казват „******** Промени ме 1 от 8 *********“Променете тези според вашите предпочитания.

Бележки:

Някои от текстовите полета и седмичната диаграма няма да се попълнят правилно, докато нямате цял ден и цяла седмица данни за 24 -часовата и седмичната секция и диаграма. След като имате куп данни, можете да увеличите графиките с колелото на мишката (десен бутон за нулиране). Можете също така да имате четвърти габарит (както се вижда на екранните снимки) от друг сензор от друг канал, но аз започнах съответните части. Ако се чувствате умно, свържете го. Има и някои проблеми с времето, които трябва да знаете. Вероятно няма да имате абсолютните най -актуални данни, но те винаги трябва да са по -малко от 5 минути. Това идва от момента на задействане на контрола за време, Когато данните са изпратени от ESP8266 и когато сте заредили / опреснили уеб страницата.

Отворете предоставения файл ESP8266-NodeMCU-12E-BME280.html във вашия уеб браузър и трябва да видите запълнените габарити и диаграма.

Вземете.ino и. HTML кодовите файлове тук

Препоръчано: