ESP32 ESP8266 flprog блоки для вывода погоды htu21 WS2815 управление всеми светодиодами сразу БЛОК ДЛЯ МОДУЛЯ LORA ПО SPI БЛОКИ ДЛЯ TFT ДИСПЛЕЯ НА БИБЛИОТЕКИ ADAFRUIT ST7735 Блок для En_AP - включает автоматическое включение точки доступа в случае отсутствия подключения в р Блок для детектирования попадания текущего времени в указанный временной интервал Блок для дисплея 0 Блок для дисплея контроллеров на базе библиотеки TFT_eSPI Блок для изготовление электронной рулетки подсчета длины филамента Блок для инфракрасный CO2 Сенсор модуль MH Z19B Блок для радиомодуля nRF24L01+ Блок для снятия показаний с трансформатора переменного тока Блок для таймер обратного отсчёта Блок для таймер обратного отсчёта отсчёт в секундах Блок для управления электронными потенциометрами Х9Сххх Блок для установки соединения с программой Virtuino Блок для энкодера Блок парсит погоду с сайта api.openweathermap.org Блок преобразует данные с датчика MPC9700 в градусы. Блок для передача данных по UART Блок служит для опроса одного датчика (только один датчик на один пин). Реализован контроль работосп Блок служит для создания бегущей строки Блок читает карту RFID и выдает ее ID на выход CardID Блоки для MPU-6050 модуль 3 оси гироскоп + акселерометр   Блоки для матрицы 8х8 Мах7219 Блоки разные (прочее блоки) ДИСПЛЕЙ Заказать скетч МАТРИЦА 8X8 Передача данных в Excel из arduino РЕГУЛЯТОР НАГРЕВА ТЕРМОСТАТ Этот блок предназначен для работы с программой CANHacker V2.00.01 и работает в связке с модулем MCP2 блок используется для передачи и приема данных с помощью ESP8266 и ESP32 без создания WiFi сети включенных последовательно которая оптимизированна для контроллеров STM32 отсчёт в секундах при которой содержащийся в нём пар достигает состояния насыщения и начинает конденсироваться в росу.

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

Опрос

Откуда Вы узнали о нашем сайте?

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