(Х9С102 4х слов данных и контрольной суммы. Блок передачи сигнала по радиоканалу. Пакет состои AVGN Блок "Датчик тока SCT-013-030" до 100А DMX512 ESP32 ESP8266 GSM Блок RxTx UART Блок детектор фронта/спада Блок для En_AP - включает автоматическое включение точки доступа в случае отсутствия подключения в р Блок для ESP NOW передачи и приема данных между ESP32 и ESPESP32 без создания WiFi сети без роутера Блок для FTP_SPIFFS ESP8266 Блок для IR recv IRremote ESP8266 Блок для NOKIA дисплея 5110 Graph RUS В константах задаётся контрастность Блок для PH-метр EC-PPM Блок для SPIFFS для проигрывания WAV и MP3 файлов Блок для Вольтметр 25V Блок для Логика компаратора с гистерезисом стандарта от Siemens Logo Блок для детектирования попадания текущего времени в указанный временной интервал Блок для одного Блок для парсинга погоды вашего города чарез https://openweathermap.org/city/524901 Блок для подключение к брокеру через SIM800 GPRS к MQTT Блок для снятия показаний с трансформатора переменного тока Блок для таймер обратного отсчёта Блок для установки соединения с программой Virtuino Блок для энкодер Pro (EncPro)  V1.4 Блок опроса одного выбранного канала АЦП типа НХ711 Блок предназначен использования с экранами LCD1602  HD44780  и его клонами с  I2C Блок служит для выдачи запроса по http.  У входа out у блока прописывается адрес сайта дапустим   на Блок служит для создания бегущей строки Блок управления биполярных шаговых двигателей с интерфейсом STEP/DIR Блоки для ESPUI - веб-интерфейс из блоков для ESP8266 Блоки для датчика переменного напряжения ZMPT101B Блоки приема-передачи четырех байт данных через интерфейс UART с использованием протокола PJON .Испо Блоки разные (прочее блоки) ДАТЧИК ВЛАЖНОСТИ ЗАРЯДНОЕ УСТРОЙСТВО Омметр включенных последовательно отсчёт в секундах

СОЗДАНИЕ GOOGLE-ТАБЛИЦЫ

Запись данные с ESP8266 в Google-таблицы

Создайте электронную таблицу Google на вашем Google-Диске и назовите её например DataCollector («Сборщик Данных»). Переименуйте текущий (или активный) лист (sheet) на Summary («Общее») и добавьте второй лист, назовите его DataLogger («Регистратор Данных»). Из адресной строки таблицы скопируйте символы, находящиеся между символами «d/» и «/edit» и сохраните их где-нибудь. Это уникальный ключ совместного использования вашей электронной таблицы, который позже понадобится для скрипта на языке Google Apps Script.

 
Внимание! Имя электронной таблицы Google не играет большой роли, так как в скрипте Google Apps Script мы будем использовать ключ совместного использования таблицы, который всегда уникален. В то же время имена листов (Summary и DataLogger) должны совпадать с теми, которые вы используете в скрипте Google Apps Script (об этом написано ниже).
СКРИПТ НА ЯЗЫКЕ GOOGLE APPS SCRIPT
Для создания скрипта Google Apps Script в приложении, Google-Таблицы выберите пункт меню «Apps Script» заходим в вкладку «Apps Script» далее нажимаем на плюс рядом с надписью «Файлы +» выбераем вкладку скрипт. В окне кода вставьте нижеприведённый код. Код или скрипт можно сохранить под любым именем. 

 

Далее входим во вкладку "начать развертывание" далее

 

"Новое развертывание" Веб-приложение Запуск от имени выбираете "свой аккаунт" У кого есть доступ "Все"

  

Далее Идентификатор развертывания вставляем в ссылку адресной строки ---Your-Google-Sheet-ID--Goes-Here---

https://script.google.com/macros/s/---Your-Google-Sheet-ID--Goes-Here---/exec?tag=test&value=-1

// 0) Заходим в Google-Таблицы, Инструменты > Редактор скриптов...
// 1) Вставляем туда этот код
// 2) Сохраняем и именуем уникальным названием
// 3) Задаем в меню способ запуска в режиме "doGet"
// 4) При первом запуске скрипт попросит вас дать ему права на редактирование таблицы
// 5) В главном меню > Развернуть как веб-приложение...
//    Каждый раз, когда заново разворачиваете скрипт, выбирайте последнюю версию
//    Выставляем права: "Me (your email address)"
//    ВАЖНО: выберите "Anyone, even anonymous" в меню "Кто может редактировать этот скрипт"

// Сохраняем опубликованный URL для использования в дальнейшем.
// https://script.google.com/macros/s/---Ваш-Script-ID--здесь---/exec
// https://script.google.com/macros/s/---Ваш-Script-ID--здесь---/exec?tag=test&value=-1

// Эта Функция будет вызвана один раз при первом исполнении
function doGet(e){
  Logger.log("--- doGet ---");

 var tag = "",
     value = "";

  try {

    // Дебаггинг
    if (e == null){e={}; e.parameters = {tag:"test",value:"-1"};}

    tag = e.parameters.tag;
    value = e.parameters.value;

    // Сохраняем данные в таблицу
    save_data(tag, value);

    return ContentService.createTextOutput("Wrote:n  tag: " + tag + "n  value: " + value);

  } catch(error) { 
    Logger.log(error);    
    return ContentService.createTextOutput("oops...." + error.message 
                                            + "n" + new Date() 
                                            + "ntag: " + tag +
                                            + "nvalue: " + value);
  }  
}

// Функция для сохранения данных в таблицу
function save_data(tag, value){
  Logger.log("--- save_data ---"); 

  try {
    var dateTime = new Date();

    // Вставьте URL из Google-таблицы , начиная с https thru /edit
    // Например: https://docs.google.com/..../edit 
    var ss = SpreadsheetApp.openByUrl("https://docs.google.com/spreadsheets/d/---Ваш-Google-Sheet-ID--Goes-Here---/edit");
    var summarySheet = ss.getSheetByName("Summary");
    var dataLoggerSheet = ss.getSheetByName("DataLogger");

    // Получаем информацию о последней отредактированной строке в таблице
    var row = dataLoggerSheet.getLastRow() + 1;

    // Заполняем данными
    dataLoggerSheet.getRange("A" + row).setValue(row -1); // ID
    dataLoggerSheet.getRange("B" + row).setValue(dateTime); // dateTime
    dataLoggerSheet.getRange("C" + row).setValue(tag); // tag
    dataLoggerSheet.getRange("D" + row).setValue(value); // value

    // Обновляем таблицу summary
    summarySheet.getRange("B1").setValue(dateTime); // Last modified date
    // summarySheet.getRange("B2").setValue(row - 1); // Count 
  }

  catch(error) {
    Logger.log(JSON.stringify(error));
  }

  Logger.log("--- save_data end---"); 
}



Внимание! Имена листов в вышеприведённом скрипте должны совпадать с именами листов электронной таблицы, в которые мы собираемся записывать данные.
1) var summarySheet = ss.getSheetByName("Summary");
2) var dataLoggerSheet = ss.getSheetByName("DataLogger");

Аналогичным образом необходимо изменить в скрипте ключ совместного использования электронной таблицы (изменить строку «—Your-Google-Sheet-ID–Goes-Here—») на ваш (который вы скопировали ранее из адреса электронной таблицы).
var ss = SpreadsheetApp.openByUrl("https://docs.google.com/spreadsheets/d/---Your-Google-Sheet-ID--Goes-Here---/edit");
Это запрос с браузера при переходе по нему в таблицу будут записываться данные в первую таблицу слово test а во вторую значение -1
https://script.google.com/macros/s/–Your Google Script ID–/exec?tag=test&value=-1
Символы между символами «s/» и «/exec?» — это идентификатор вашего скрипта GScriptID.
В процессе публикации Google выдаст запросы на разрешение с вашей стороны, вам необходимо предоставить это разрешение.

Опрос

Вам пригодился материал с нашего сайта?

Другие опросы...