Оглавление:

CloudyData - ESP8266 в Google Таблицы стало проще: 10 шагов (с изображениями)
CloudyData - ESP8266 в Google Таблицы стало проще: 10 шагов (с изображениями)

Видео: CloudyData - ESP8266 в Google Таблицы стало проще: 10 шагов (с изображениями)

Видео: CloudyData - ESP8266 в Google Таблицы стало проще: 10 шагов (с изображениями)
Видео: Российская Java в промышленности и образовании 2024, Июль
Anonim
CloudyData - ESP8266 в Google Таблицы стало проще
CloudyData - ESP8266 в Google Таблицы стало проще

Я долго искал облачное хранилище данных в течение последних лет: интересно отслеживать данные с любого типа датчика, но более интересно, если эти данные доступны повсюду без каких-либо проблем с хранением, таких как использование SD-карт или аналогично, при локальном хранении. Раньше я локально сохранял данные о скорости ветра на SD-картах много лет назад, до того, как Интернет вещей и облачные сервисы стали простыми в использовании: теперь один шаг вперед возможен с определенными трудностями, даже если вы не являетесь экспертом в области Интернета вещей или разработчиком.

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

Шаг 1. Общая цель

Общая цель
Общая цель

Я хочу знать, может ли быть опасно проживание рядом с 3D-принтером.

Для этого мне нужны данные, и данные должны храниться в облаке.

Я хочу использовать Google Таблицы, потому что это просто и эффективно.

Я тоже хочу конфиденциальности: поэтому обмен данными с Google - не мой первый выбор, но это лучше, чем использование сторонних сервисов, как это делают многие блоггеры.

Использование Google Sheets - это шаг к загрузке данных в личное локальное хранилище, такое как Nextcloud, на простом NAS: это будет описано в будущих инструкциях.

Шаг 2: Первый шаг: датчики

Первый шаг: датчики
Первый шаг: датчики
Первый шаг: датчики
Первый шаг: датчики

Я использую 2 датчика для контроля качества воздуха в моем доме:

  • Модуль датчика обнаружения качества воздуха Nova PM Sensor SDS011, отличное оборудование, относительно простое в использовании с Arduino и аналогичными платами. Вы можете использовать его с собственным программным обеспечением (только для Windows!:-() и 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 к Wemos D1 mini следующим образом:

Wemos GND контакт Nova Датчик воздуха GND

Wemos 5V pin Nova Air sensor 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) будет достаточно, чтобы данные отправлялись каждые 30 секунд + 90 секунд = 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 и ее скрипта

Четвертый шаг: подготовка таблицы Google и ее скрипта
Четвертый шаг: подготовка таблицы Google и ее скрипта
Четвертый шаг: подготовка таблицы Google и ее скрипта
Четвертый шаг: подготовка таблицы Google и ее скрипта
Четвертый шаг: подготовка таблицы Google и ее скрипта
Четвертый шаг: подготовка таблицы Google и ее скрипта

Кредиты идут nishant_sahay7, как я уже сказал.

Я просто переиздаю здесь его работу, добавив несколько советов по будущим улучшениям и модификациям:

  1. Настройка Google Таблиц

    1. Откройте Google Диск, создайте новую электронную таблицу и назовите ее, после чего укажите поля с параметрами, которые вы хотите определить.
    2. ID листа показан на рисунке 2.
    3. Перейдите в редактор сценариев Tools-Script (рисунок 3).
    4. Дайте имя, такое же, как у Spreadsheet (рисунок 4).
    5. Выберите код отсюда и вставьте в окно редактора скриптов (рисунок 5).

      Замените var sheet_id своим идентификатором электронной таблицы из шага 2

    6. Перейти к публикации - развернуть как веб-приложение (рисунок 6)
    7. Измените тип доступа на любой, даже анонимный, и разверните (рисунок 7)
    8. Перейдите к просмотру разрешений (рисунок 8).
    9. Выберите Advanced (рисунок 9).
    10. Выберите Перейти (имя файла), а затем разрешите (рисунок 10).
    11. Скопируйте текущий URL-адрес веб-приложения и нажмите OK (рисунок 11).
  2. Получение идентификатора скрипта Google

    • Скопированный URL-адрес будет выглядеть примерно так: https://script.google.com/macros/s/AKfycbxZGcTwqe … приведенная выше ссылка имеет вид: https://script.google.com/macros/s/AKfycbxZGcTwqe…/exec. Итак, здесь идентификатор скрипта Google: AKfycbxZGcTwqeDgF3MBMGj6FJeYD7mcUcyo2V6O20D6tRlLlP2M_wQ Он будет использоваться для отправки данных в Google Таблицы: Пример:

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

      Если вставить указанную выше ссылку в новое окно и нажать клавишу ВВОД, данные будут отправлены в Google Sheet, и в окне появится сообщение с подтверждением. Отправленные данные будут

      • температура = 1
      • влажность = 2
      • PM2,5 = 3
      • PM10 = 33,10
  3. Измените свои потребности

    вам необходимо соответственно изменить скрипт Google и эскиз Arduino, чтобы добавить или удалить значения и столбцы: сравните рисунок 5 и рисунок 5b

Шаг 6: Пятый шаг: соединяем все вместе

Пятый шаг: соединить все вместе
Пятый шаг: соединить все вместе

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

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

Шаг 7: Шестой шаг: построение графиков данных

Шестой шаг: построение графиков данных
Шестой шаг: построение графиков данных
Шестой шаг: построение графиков данных
Шестой шаг: построение графиков данных

Чтобы получить простую, но интересную и полезную панель, я организовал свои данные следующим образом:

  1. исходный лист Google, основной, используемый для получения его идентификатора для ввода в Google Script, ДОЛЖЕН быть нетронутым и поддерживать его порядок
  2. Я сгенерировал два других листа, следующих за основным

    1. один для извлечения только нескольких данных из всего материала, например, за последние 24 часа Для извлечения данных я использовал функцию SORT и QUERY, вставляя в первую ячейку извлеченных данных

      = СОРТИРОВАТЬ (ЗАПРОС (Foglio1! A2: Z; "упорядочить по пределу A по убыванию 694"); 1; 1)

    2. другой для создания графиков для отображения значений, что делает простую панель

Шаг 8: Седьмой шаг: анализ данных

Седьмой шаг: анализ данных
Седьмой шаг: анализ данных

Я провел небольшой анализ и могу сказать, что к настоящему времени не должно быть никакой опасности при использовании 3D-принтера (материал: PLA) с точки зрения PM2,5 и PM10. Каждый раз, когда я начинаю печатать новые значения твердых частиц, они стремительно повышаются., только на время: я думаю, это связано с предыдущим отложением пыли на платформе 3D-принтера, поэтому, когда эффекторный вентилятор достигает пластины, он начинает летать вокруг. Через несколько минут пыль исчезнет, поскольку вентиляторы продолжают дуть, и значения PM2,5 и PM10 снизятся до более низких значений.

Действительно, необходимы дополнительные данные и анализ.

Рекомендуемые: