Съдържание:

Данни за времето с помощта на Google Sheets и Google Script: 7 стъпки
Данни за времето с помощта на Google Sheets и Google Script: 7 стъпки

Видео: Данни за времето с помощта на Google Sheets и Google Script: 7 стъпки

Видео: Данни за времето с помощта на Google Sheets и Google Script: 7 стъпки
Видео: The Complete Guide to Google Forms - Online Survey and Data Collection Tool! 2024, Ноември
Anonim
Данни за времето с помощта на Google Sheets и Google Script
Данни за времето с помощта на Google Sheets и Google Script

В този Blogtut ще изпратим показанията на сензора SHT25 до листове в Google, използвайки Adafruit huzzah ESP8266, който помага за изпращане на данните в интернет.

  • Изпращането на данни в клетка на лист на Google е много полезен и основен начин, който записва данните в таблична форма онлайн.
  • Вместо да използваме какъвто и да е специален мост като натискане на кутия или MQTT NODE RED или друг вид REST API, ние ще изпращаме данните с помощта на скрипт на Google, който лесно получава данните от сензора, като използва скрипт Link, предоставен от приложение за скрипт на google след публикуване
  • Можем да използваме скрипта за изпращане на данните от google лист, документи или дори до google диск.
  • Само да не свършваме по-нататък, можете да свържете google листове с всяко уеб базирано приложение, което да споделя данните с потребителите по начина, по който те искат
  • Не се заплащат допълнителни такси за разлика от другите онлайн сървъри тук и можете да съхранявате данните до 10 GB максимум в потребителския акаунт и можете да използвате
  • Едно от най-добрите усилия е да научите лесно за свързването на данните към интернет с този вид приложение в реално време.
  • Ще използваме връзката I2C, която изпълнява протокола master-slave за споделяне на данните с google листове по гъвкав начин.
  • Платформата I2C протокол свързва хардуера на сензора и работи с около 256 сензора едновременно, като използва само 2 жични издърпвания, за да прехвърли сензорните данни в 8 -битов хардуер

Стъпка 1: Хардуер

Комплекти HUZZAH от пера от Adafruit

Дъска от пера от Adafruit Feather Huzzah

Adafruit I2C интегриран и USB адаптер

SHT25 Сензор за температура и влажност

I2C кабел

Стъпка 2: Как работят нещата

Извличането на показанията на данни в реално време на сензорите чрез ESP8266 и изпращането на данните до различни облачни платформи е много лесно.

Ще използваме библиотеката Wire.h в Arduino IDE за създаване на двужична комуникация между Adafruit Huzzah Board и I2C модул на сензора SHT25 и I2C кабел.

Забележка: За да избегна сложната структура на окабеляването, ще използвам I2C адаптера за Adafruit Huzzah, предназначен за свързване на I2C сензора.

За да може начинаещият да настрои Esp8266, той трябва да премине през настройката на ESP8266

Първо инициализирайте библиотеките:

  • Телефонна библиотека
  • ESP8266WiFi
  • WiFiClientSecure

Стъпка 3: Процес на изпълнение на I2C модул в Arduino IDE

След инициализиране на библиотеки ще дефинираме процеса I2C, който да се използва за извличане на показанията на сензора, да ги преобразува и да измести 8 -битовите данни според изискванията:

Инициализирайте регистрите в двупроводен I2C протокол за I2C сензорния модул

#define Addr 0x40

  • Стартирайте I2C предаването и инициализирайте регистрите и поискайте 2 байтови данни, откъдето ще четем данните от сензора.
  • Ако ще има налични 2 байта данни, прочетете данните от сензора и използвайки формулите, споменати по -долу, преобразуваме желаните стойности

влажност на поплавъка = (((данни [0] * 256.0 + данни [1]) * 125.0) / 65536.0) - 6;

float cTemp = (((данни [0] * 256.0 + данни [1]) * 175.72) / 65536.0) - 46.85;

float fTemp = (cTemp * 1.8) + 32;

Отпечатайте стойностите на сериен монитор

Стъпка 4: Връзка ESP8266 с WiFi и електронна таблица на Google

След изпълнението на I2C модулите ще научим как да извличаме данните и като използваме WiFi библиотеки и идентификатор на хост, както и API ключове, за да изпращаме данните до google листове.

  • Определете глобални идентификационни данни за WiFi в ESP8266, което ще ни помогне да свържем дъската с интернет
  • Тъй като ще използваме HTTP клиента и ще дефинираме HTTPS = 443 протокол за защита на HTTP пътя, тъй като скриптът ще работи само по защитения път.
  • Инициализирайте детайлите на хоста в код

const char* host = "script.google.com";

const int httpsPort = 443;

String SCRIPT_ID = "споменете идентификатора на скрипта, както е споменато в снимки";

Забележка: Идентификаторът на скрипта се споменава в „URL на уеб приложения“, докато кодът на Gscript ще бъде публикуван, просто копирайте и поставете споменатия по -долу идентификатор и инициализирайте в горните команди

  • Също така използвайки променлива с променлива, ние ще инициализираме променлива в световен мащаб, която извлича данните от I2C модула и я изпраща до URL скрипта, който допълнително ще изпраща данните до местоназначението.
  • Използвайки ESP8266 WiFi Library, ще можем да свържем дъската с интернет
  • Данните от сензора ще бъдат хоствани на локален сървър след всеки 5 секунди.
  • С помощта на URL скрипта данните ще бъдат хоствани към публикуваната връзка в google script Активна страница след всеки 15 секунди.

Стъпка 5: Автоматизирайте Google Sheet с помощта на GScript Editor

Автоматизирайте Google Sheet с помощта на GScript Editor
Автоматизирайте Google Sheet с помощта на GScript Editor
Автоматизирайте Google Sheet с помощта на GScript Editor
Автоматизирайте Google Sheet с помощта на GScript Editor
Автоматизирайте Google Sheet с помощта на GScript Editor
Автоматизирайте Google Sheet с помощта на GScript Editor

Тъй като всички ние имаме профил в Google, за да влезем в google лист с вашия акаунт

  • Споменете стойностите, които трябва да получите от сензора, свързан с ESP8266
  • Отидете на Инструменти> Редактор на скриптове
  • Използвайте функцията „Doget“, за да получавате събитията
  • Във функцията „Doget“за инициализиране на API ключ за електронна таблица, както и свързване на активния лист, където искате да изпратите стойностите на сензора
  • С помощта на функция за автоматизация, спомената в кода, за лесно представяне на данните в редове и колони.
  • Накрая запишете данните и кликнете върху „Публикуване“>> Кликнете върху „Разгърнете като уеб приложения“
  • Уверете се, че когато има някаква промяна, изберете „версията на проекта“>> „Ново“>> натиснете „актуализация“

Текущият URL адрес на уеб приложение ще се появи по -долу:

script.google.com/macros/s/}GScript ID”/exec:

допълнително използван в кода ESP8266 за извличане на данни от сензори

Ние ще използваме HTTPS заявката за получаване, за да свържем данните с идентификатора на хоста, споменат в редактора на gscript, където допълнително кодирахме данните си, за да се свържем с листа на Google.

функция doGet (e) {Logger.log (JSON.stringify (e)); // преглед на параметрите var result = 'Ok'; // приемаме успех if (e.parameter == 'undefined') {result = 'No Parameters'; } else {var sheet_id = ''; // ИД на електронна таблица var sheet = SpreadsheetApp.openById (sheet_id).getActiveSheet (); var newRow = sheet.getLastRow () + 1; var rowData = ; } Logger.log (JSON.stringify (rowData)); // Напишете нов ред под var newRange = sheet.getRange (newRow, 1, 1, rowData.length); newRange.setValues ([rowData]); }

Стъпка 6: Ограничения:

Ограничения
Ограничения
  • Този проект е ограничен само за съхраняване на данните от I2C сензора в листове на Google
  • Използваме HTTPS GET заявка за получаване на стойностите чрез I2C функции
  • Трябва да променим стойността в низов формат и след това да изпратим данните към URL адреса на gscript.

Стъпка 7: Код, кредити, справка

Код на Github:

github.com/varul29/SHT25_GoogleSheets_Goog…

Справка

I2C код:

Урок за Google Script:

Вграден магазин:

Учебен блог:

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