ESP32 ESP8266 flprog блоки для масивы max6675 БЛОК ДЛЯ РАБОТЫ С CAN LIN Блок для En_AP - включает автоматическое включение точки доступа в случае отсутствия подключения в р Блок для детектирования попадания текущего времени в указанный временной интервал Блок для для работы с модулем Sim800L и Sim900 GSM_NEW 0.5.1b Блок для измеритель тока напряжения и мощности INA226 Блок для конвертации HEX_to_RGB Блок для проигрывание радиостанций с помощью только ESP8266 по wi fi Блок для самодельной сенсорной кнопки Блок для снятия показаний с трансформатора переменного тока Блок для стандартный гистерезис от X1 до X2 Блок для таймер обратного отсчёта Блок для уарт передача данных с ESP на MEGA Блок для установки соединения с программой Virtuino Блок для цифровой паяльной станция с регулятором температуры T12 Блок модуль датчика тока 10А 20A 30А на ACS712 Блок предназначен для подключения матричной клавиатуры 4х3 Блок сглаживает аналоговый сигнал (Integer) Блок служит для создания бегущей строки Блок тахометр для Измерение скорости вращения путём измерения интервала между импульсами Блок №2 для радио модуль 433-315 мГц Блоки для ПИНЫ (do Блоки для удаленного обновления скетча через браузер для ESP8266 ESP32 Блоки разные (прочее блоки) ВЫРАЩИВАНИЕ ЦВЕТОВ Для проигрывания музыки формата MP3 и WAV из файловой системы ESP8266 без использования дополнительн Заказать скетч или готовый проект на Ардуино Омметр Проект для автозапуск автомобиля на ардуино с телефона SIM800 СТРОЖЕВОЙ ТАЙМЕР ФОТОРЕЗИСТОР блок для дислеев 128х64 с адресом 0х3С включенных последовательно двух и более микросхем 74НС595 напрямую по WiFi между контроллерами. Связь мо отсчёт в секундах через модуль WeMos с подключением к WiFi

СОЗДАНИЕ 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 выдаст запросы на разрешение с вашей стороны, вам необходимо предоставить это разрешение.

Опрос

Вам нравится наш сайт?

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