Съдържание:

CloudyData - ESP8266 към Google Sheets Made Simple: 10 стъпки (със снимки)
CloudyData - ESP8266 към Google Sheets Made Simple: 10 стъпки (със снимки)

Видео: CloudyData - ESP8266 към Google Sheets Made Simple: 10 стъпки (със снимки)

Видео: CloudyData - ESP8266 към Google Sheets Made Simple: 10 стъпки (със снимки)
Видео: How to use ESP32 WiFi and Bluetooth with Arduino IDE full details with examples and code 2024, Ноември
Anonim
CloudyData - ESP8266 към Google Sheets Made Simple
CloudyData - ESP8266 към Google Sheets Made Simple

Търся съхранение на облачни данни за дълго време през последните години: интересно е да се наблюдават данни от всякакъв вид сензор, но е по -интересно, ако тези данни са достъпни навсякъде без никакви трудности при съхранение, като например използване на SD карти или подобно, при локално съхранение. Преди години съхранявах данни за скоростта на вятъра на SD карти преди години, преди IoT и облачните услуги да започнат да бъдат лесни за използване: сега една стъпка отвъд е възможна с особени трудности, дори ако не сте специалист по IoT или разработчик.

В тази инструкция ще опиша как наблюдавам качеството на въздуха си вкъщи, по -специално позовавайки се на концентрацията на прах и частици в близост до моя 3D принтер, опитвайки се да разбера дали процесът на 3D отпечатване е опасен по отношение на PM2.5 и как съм използване на Google Таблици за съхранение на данни, без да е необходима никаква услуга от трета част.

Стъпка 1: Обща цел

Обща цел
Обща цел

Искам да знам дали животът в присъствието на 3D принтер може да бъде опасен.

За да направя това, се нуждая от данни и те трябва да се съхраняват в облака.

Искам да използвам Google Sheets, тъй като е прост и ефективен.

И аз искам поверителност: така че споделянето на данни с Google не е първият ми избор, но е по -добре от използването на услуги на трети страни, както използват много блогъри.

Използването на Google Sheets е стъпка към качване на данни в лична локална памет като Nextcloud на обикновен NAS: това ще бъде описано в бъдещи инструкции.

Стъпка 2: Първа стъпка: Сензори

Първа стъпка: Сензори
Първа стъпка: Сензори
Първа стъпка: Сензори
Първа стъпка: Сензори

Използвам 2 сензора за наблюдение на качеството на домашния въздух:

  • нов PM сензор SDS011 сензор за откриване на качеството на въздуха, чудесен хардуер, сравнително лесен за използване с Arduino и подобни платки. Можете да го използвате със собствен софтуер (само за прозорци!:-() и USB адаптер или за свързване към Arduino с библиотеки. Много информация можете да намерите тук:

    • inovafitness.com/en/a/chanpinzhongxin/95.ht…
    • www-sd-nf.oss-cn-beijing.aliyuncs.com/%E5%…
    • aqicn.org/sensor/sds011/
  • щит SHT30 от Wemos, за Wemos D1 mini: Използвах версия v1.0.0, текущата версия е v2.1.0, но те имат същия отпечатък, същите функционалности

    wiki.wemos.cc/products:d1_mini_shields:sht…

Стъпка 3: Втора стъпка: Свързване към микроконтролер

Втора стъпка: Свързване към микроконтролер
Втора стъпка: Свързване към микроконтролер

Wemos D1 mini е може би най -добрият начин за прототип около ESP8266: microUSB конектор, вграден светодиод, налични хубави щитове, готови за използване.

Свързах директно щита SHT30 към Wemos D1 mini (погрижете се за ориентацията!), След това свързах сензора Nova Air към Wemos D1 mini, както следва:

Wemos GND щифт Nova Air сензор GND

Wemos 5V щифт Nova Air сензор 5V

Wemos D5 щифт (RX пин) Nova Air сензор TX

Wemos D6 щифт (TX щифт) Nova Air сензор RX

Можете да разгледате тук за повече информация:

www.hackair.eu/docs/sds011/

www.zerozone.it/tecnologia-e-sicurezza/nov…

www.instructables.com/id/Make-one-PM25-mon…

Стъпка 4: Трета стъпка: Изграждане на скица

Сега трябва да изградите скица: имаме късмет, някои момчета разработиха специфични библиотеки за Nova Air Sensor, за да можете лесно да запишете вашия софтуер.

Моята също използва библиотека SHT30, за да измерва и качва данни за температурата и влажността.

Ремиксирах някаква скица, която намерих онлайн, особено тази от nishant_sahay7, чийто урок е пълен и пълен с информация. Можете да го намерите тук.

Използвах тази библиотека:

Ще коментирам само няколко реда в скицата, която генерирах:

ред 76-77: събуждане на сензора за прах за известно време, след което той ще заспи отново, тъй като техническите листове посочват, че е предназначен да работи за около 8000 часа, което е повече от достатъчно, но не безкрайно

sds.wakeup (); забавяне (30000); // работи 30 секунди

ред 121: изпратените данни са температура, влажност, PM2.5 и PM10

sendData (t, h, pm2_5, pm10);

ред 122-123: Не използвам ESP.deepSleep, ще се опитам в бъдеще; досега просто забавяне (90000) ще бъде достатъчно, за да се изпращат данни на всеки 30s + 90s = 2 минути, повече или по -малко

//ESP.deepSleep(dataPostDelay);

забавяне (90000);

ред 143:

това е най -важният ред, редът, който създавате String_url за качване на данни, трябва да бъде същият, който ще използвате в Google Script (вижте следващите стъпки)

String url = "/macros/s/" + GAS_ID + "/exec? Temperature =" + string_x + "& влажност =" + string_y + "& PM2.5 =" + string_z + "& PM10 =" + string_k;

Стъпка 5: Четвърта стъпка: Подготовка на Google Sheet и неговия скрипт

Четвърта стъпка: Подготовка на Google Sheet и неговия скрипт
Четвърта стъпка: Подготовка на Google Sheet и неговия скрипт
Четвърта стъпка: Подготовка на Google Sheet и неговия скрипт
Четвърта стъпка: Подготовка на Google Sheet и неговия скрипт
Четвърта стъпка: Подготовка на Google Sheet и неговия скрипт
Четвърта стъпка: Подготовка на Google Sheet и неговия скрипт

Кредитите отиват на nishant_sahay7, както казах.

Просто публикувам отново неговата работа, добавяйки някои съвети за бъдещи подобрения и модификации:

  1. Настройване на Google Таблици

    1. Отворете Google Диск и създайте нова електронна таблица и й дайте име, след което дайте полетата с параметрите, които искате да дефинирате.
    2. Идентификаторът на листа е показан на фигура 2
    3. Отидете на Tools-Script Editor (фигура 3)
    4. Дайте името същото като на електронна таблица (фигура 4)
    5. Изберете кода от тук и го поставете в прозореца на редактора на скриптове (фигура 5)

      Заменете var sheet_id с вашия ID на електронна таблица от стъпка 2

    6. Отидете на Публикуване - Разгърнете като уеб приложение (фигура 6)
    7. Променете типа на достъп на всеки, дори анонимен, и внедрете (фигура 7)
    8. Отидете на Разрешения за преглед (фигура 8)
    9. Изберете Разширено (фигура 9)
    10. Изберете Go to (име на файл) и след това разрешете (фигура 10)
    11. Копирайте текущия URL адрес на уеб приложението и щракнете върху OK (фигура 11)
  2. Получаване на идентификатор на Google Script

    • Копираният URL адрес ще бъде нещо като: https://script.google.com/macros/s/AKfycbxZGcTwqe… Горната връзка е под формата на: https://script.google.com/macros/s/AKfycbxZGcTwqe…/exec Така че тук идентификаторът на Google Script е: AKfycbxZGcTwqeDgF3MBMGj6FJeYD7mcUcyo2V6O20D6tRlLlP2M_wQ Той ще се използва за изпращане на данните в Google Таблици: Пример:

      script.google.com/macros/s/AKfycbxZGcTwqeD…

      Поставянето на горната връзка в нов прозорец и натискането на Enter ще изпрати данни към Google Sheet и в прозореца ще се появи съобщение за потвърждение. Изпратените данни ще бъдат

      • температура = 1
      • влажност = 2
      • PM2.5 = 3
      • PM10 = 33.10
  3. Променете вашите нужди

    трябва да промените съответно скицата на Google Script AND Arduino, за да добавите или премахнете стойности и колони: сравнете фигура 5 и фигура 5б

Стъпка 6: Пета стъпка: Свързване на всички заедно

Пета стъпка: Свързване на всички заедно
Пета стъпка: Свързване на всички заедно

Сега имате устройство, изпращащо данни до Google Sheets, скрипт на Google, който може да получава и разпределя данни, браузър е достатъчен за преглед на данни на компютър или смартфон или каквото ви харесва.

Най -добре би било да управлявате малко тези данни, за да покажете само няколко необходими.

Стъпка 7: Шеста стъпка: Графиране на данни

Шеста стъпка: Графиране на данни
Шеста стъпка: Графиране на данни
Шеста стъпка: Графиране на данни
Шеста стъпка: Графиране на данни

За да имам прост, но интересен и полезен панел, организирах данните си по следния начин:

  1. оригиналният лист на Google, основният, използван за вземане на идентификационния му номер за въвеждане в Google Script, ТРЯБВА да бъде недокоснат и да поддържа реда си
  2. Генерирах два други листа, следвайки основния

    1. един за извличане само на няколко данни от целия материал, например за последните 24 часа

      = СОРТИРАНЕ (QUERY (Foglio1! A2: Z, "подреждане по A desc лимит 694"), 1, 1)

    2. другият за създаване на графики за показване на стойности, като прави прост панел

Стъпка 8: Седма стъпка: Анализ на данни

Седма стъпка: Анализ на данни
Седма стъпка: Анализ на данни

Направих няколко анализа и мога да кажа, че досега не би трябвало да има никаква опасност с помощта на 3D принтер (материал: PLA) по отношение на PM2.5 и PM10. Всеки път, когато стартирам нов печат, стойностите на частиците отиват на покрива, само за известно време: Мисля, че това се дължи на предишен отлаган прах върху леглото на 3D принтера, така че когато вентилаторът на ефектора достигне плочата, той започва да лети наоколо. След няколко минути прахът се отстранява, тъй като вентилаторите продължават да духат, а стойностите на PM2.5 и PM10 спадат до по -ниски стойности.

Наистина са необходими допълнителни данни и анализ.

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