Мазмуну:

Google Sheets жана Google Script аркылуу аба ырайы маалыматы: 7 кадам
Google Sheets жана Google Script аркылуу аба ырайы маалыматы: 7 кадам

Video: Google Sheets жана Google Script аркылуу аба ырайы маалыматы: 7 кадам

Video: Google Sheets жана Google Script аркылуу аба ырайы маалыматы: 7 кадам
Video: Полное руководство по Google Forms - универсальный инструмент для опросов и сбора данных онлайн! 2024, Июль
Anonim
Google Sheets жана Google Script аркылуу аба ырайы маалыматтары
Google Sheets жана Google Script аркылуу аба ырайы маалыматтары

Бул Blogtutта биз SHT25 сенсорунун окууларын интернет баракчаларына Adafruit huzzah ESP8266 аркылуу google баракчаларына жөнөтөбүз.

  • Google баракчасына маалыматтарды жөнөтүү - бул маалыматты онлайн режиминде таблица түрүндө сактоонун эң пайдалуу жана негизги жолу.
  • Кутуну же MQTT NODE RED же башка REST API түртүү сыяктуу ар кандай атайын көпүрөнү колдонуунун ордуна, биз маалыматтарды скрипттин жардамы менен сенсордон алган Google скрипти аркылуу жөнөтөбүз. жарыялангандан кийин Google скрипт тиркемеси
  • Биз сценарийди Google баракчасынан, документтерден же Google Driveга жөнөтүү үчүн колдоно алабыз.
  • Муну менен эле бүтүп калбастан, сиз google баракчаларын каалаган колдонуучулар менен каалаган веб-тиркеме менен байланыштыра аласыз.
  • Башка онлайн серверлерден айырмаланып кошумча төлөмдөр төлөнбөшү керек жана сиз маалыматты колдонуучунун эсебинде 10 ГБ максимумга чейин сактай аласыз жана колдоно аласыз
  • Эң жакшы аракеттердин бири-бул маалыматтарды реалдуу убакыт режиминде интернетке туташтыруу жөнүндө билүү.
  • Биз маалыматты Google баракчалары менен ийкемдүү түрдө бөлүшүү үчүн мастер-кул протоколун аткарган I2C туташуусун колдонобуз.
  • I2C протоколунун платформасы сенсордун аппараттык тутумун туташтырат жана сенсордун маалыматын 8 бит жабдыкта өткөрүп берүү үчүн бир эле учурда 2 зымдуу тартуу аркылуу 256 сенсор менен иштейт.

1 -кадам: Аппараттык

Adafruit Feather HUZZAH комплекттери

Adafruit Feather Huzzah Board

Adafruit I2C интегралдык жана USB адаптери

SHT25 Температура жана нымдуулук сенсору

I2C кабели

2 -кадам: Stuff кантип иштейт

ESP8266 аркылуу реалдуу убакытта сенсорлордун маалыматын окуу жана маалыматтарды ар кандай Cloud платформаларына жөнөтүү абдан жөнөкөй.

Биз Adafruit Huzzah Board менен SHT25 сенсор I2C модулу менен I2C кабелинин ортосундагы эки зымдуу байланышты түзүү үчүн Arduino IDEдеги Wire.h китепканасын колдонобуз.

Эскертүү: Зымдардын татаал түзүлүшүн болтурбоо үчүн, I2C сенсорун туташтыруу үчүн иштелип чыккан Adafruit Huzzah үчүн I2C адаптерин колдоном.

Жаңы келген адам Esp8266 орнотушу үчүн ESP8266 орнотуусунан өтүшү керек

Биринчи китепканаларды баштоо:

  • Зым китепканасы
  • ESP8266WiFi
  • WiFiClientSecure

3 -кадам: Arduino IDEдеги I2C модулун аткаруу процесси

Китепканаларды инициализациялагандан кийин, биз 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 -кадам: WiFi жана Google электрондук жадыбалы менен ESP8266 туташуусу

I2C модулдары аткарылгандан кийин, биз маалыматты кантип алуу керектигин жана WiFi китепканаларын жана хост идентификаторун, ошондой эле маалыматтарды Google баракчаларына жөнөтүү үчүн API ачкычтарын колдонуу менен үйрөнөбүз.

  • Дүйнө жүзү боюнча ESP8266дагы WiFi грамоталарын аныктаңыз, бул тактанын интернетке туташуусуна жардам берет
  • Биз HTTP кардарын колдонмокчубуз жана HTTP жолун камсыз кылуу үчүн HTTPS = 443 протоколун аныктайбыз, анткени скрипт коопсуз жолдо гана иштейт.
  • Коддо хосттун чоо -жайын баштаңыз

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

const int httpsPort = 443;

String SCRIPT_ID = "сценарийлердин идентификаторун снайптарда айтылгандай айтуу";

Эскертүү: Script идентификатору "веб -колдонмолордун URLинде" айтылган, ал эми Gscript коду жарыяланат, жөн эле төмөндө көрсөтүлгөн идентификаторду көчүрүү жана чаптоо жана жогорудагы буйруктарды инициализациялоо

  • Ошондой эле өзгөрмөлүү туруксуздукту колдонуп, биз глобалдык өзгөрмөнү инициализациялайбыз, ал I2C модулунан маалыматтарды алып, URL скриптине жөнөтөт, ал маалыматты андан ары көздөгөн жерге жөнөтөт.
  • ESP8266 WiFi Китепканасын колдонуу менен биз тактайды интернетке туташтыра алабыз
  • Сенсордук маалыматтар ар бир 5 секунддан кийин жергиликтүү серверге жайгаштырылат.

  • URL скриптинин жардамы менен, маалыматтар ар бир 15 секунддан кийин активдүү баракчага жарыяланган google скриптине жайгаштырылат.

5 -кадам: GScript Editor колдонуп Google Sheetти автоматташтырыңыз

GScript редакторунун жардамы менен Google Sheetти автоматташтырыңыз
GScript редакторунун жардамы менен Google Sheetти автоматташтырыңыз
GScript редакторунун жардамы менен Google Sheetти автоматташтырыңыз
GScript редакторунун жардамы менен Google Sheetти автоматташтырыңыз
GScript редакторунун жардамы менен Google Sheetти автоматташтырыңыз
GScript редакторунун жардамы менен Google Sheetти автоматташтырыңыз

Баарыбызда Google аккаунту бар болгондуктан, Google баракчасына сиздин каттоо эсебиңиз менен кирүү керек

  • ESP8266 менен туташкан сенсордон алуу керек болгон баалуулуктарды айт
  • Куралдар> Скрипт редакторуна өтүңүз
  • Окуяларды алуу үчүн "Doget" функциясын колдонуңуз
  • "Doget" функциясында электрондук жадыбалдын API ачкычын инициализациялоо, ошондой эле сенсордук баалуулуктарды жөнөткүңүз келген активдүү баракты туташтыруу.
  • Автоматташтыруу функциясынын жардамы менен коддо айтылган маалыматтар саптарда жана мамычаларда оңой көрсөтүлөт.
  • Акырында, маалыматты сактап, "Жарыялоону" басыңыз >> "Веб колдонмолору катары жайылтууну" чыкылдатыңыз.
  • Качан "долбоордун версиясын" тандоо үчүн кандайдыр бир өзгөрүү болоорун текшериңиз >> "Жаңы" >> "жаңыртууну" басыңыз

Учурдагы веб колдонмонун URLи төмөнкүчө көрүнөт:

script.google.com/macros/s/ITEMGScript ID”/exec:

андан ары сенсорлордон маалыматтарды алуу үчүн ESP8266 кодунда колдонулат

Биз HTTPS алуу өтүнүчүн колдонобуз, биз Google баракчасы менен байланышуу үчүн маалыматыбызды андан ары коддогон gscript редакторунда айтылган хост идентификаторуна туташтыруу үчүн.

doGet (e) функциясы {Logger.log (JSON.stringify (e)); // кароо параметрлери var result = 'Ok'; // эгер ийгиликке жетүүнү болжолдосок (e.parameter == 'undefined') {result = 'No Parameters'; } else {var sheet_id = ''; // Электрондук таблицанын бар баракчасы = 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 функциялары аркылуу баалуулуктарды алуу үчүн колдонуп жатабыз
  • Биз сап форматындагы маанини өзгөртүп, андан кийин маалыматтарды gscript URL шилтемесине жөнөтүшүбүз керек.

7 -кадам: Код, Кредиттер, Маалымдама

Github коду:

github.com/varul29/SHT25_GoogleSheets_Goog…

Шилтеме

I2C коду:

Google Script үйрөткүчү:

Камтылган дүкөн:

Окутуучу блог:

Сунушталууда: