{"id":29615,"date":"2023-10-31T15:33:30","date_gmt":"2023-10-31T12:03:30","guid":{"rendered":"https:\/\/thecaferobot.com\/learn\/?p=29615"},"modified":"2023-11-01T08:02:15","modified_gmt":"2023-11-01T04:32:15","slug":"sending-data-from-esp32-or-esp8266-to-google-sheets-2-methods","status":"publish","type":"post","link":"https:\/\/thecaferobot.com\/learn\/sending-data-from-esp32-or-esp8266-to-google-sheets-2-methods\/","title":{"rendered":"\u0627\u0631\u0633\u0627\u0644 \u062f\u06cc\u062a\u0627 \u0627\u0632 ESP32 \u06cc\u0627 ESP8266 \u0628\u0647 Google Sheets (\u0628\u0627 2 \u0631\u0648\u0634)"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-post\" data-elementor-id=\"29615\" class=\"elementor elementor-29615\">\n\t\t\t\t\t\t<div class=\"elementor-inner\">\n\t\t\t\t<div class=\"elementor-section-wrap\">\n\t\t\t\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-a999bee elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"a999bee\" data-element_type=\"section\">\r\n\t\t\t\r\n\t\t\t\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\r\n\t\t\t\t\t\t\t\t<div class=\"elementor-row\">\r\n\t\t\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-55d5d9d\" data-id=\"55d5d9d\" data-element_type=\"column\">\r\n\r\n\t\t\t\t\t<div class=\"elementor-column-wrap elementor-element-populated\">\r\n\t\t\t\t\t\t\t<div class=\"elementor-widget-wrap\">\r\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-99a4cff elementor-widget elementor-widget-heading\" data-id=\"99a4cff\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">\u0645\u0642\u062f\u0645\u0647<\/h2>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-a0e161f elementor-widget elementor-widget-text-editor\" data-id=\"a0e161f\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-text-editor elementor-clearfix\">\n\t\t\t\t<p>\u0634\u0645\u0627 \u0647\u0645 \u0627\u0632 \u0627\u06cc\u0646\u06a9\u0647 \u062f\u06cc\u062a\u0627\u06cc ESP32 \u0631\u0627 \u0628\u0635\u0648\u0631\u062a \u062f\u0633\u062a\u06cc \u062b\u0628\u062a \u0648 \u0630\u062e\u06cc\u0631\u0647 \u06a9\u0646\u06cc\u062f \u062e\u0633\u062a\u0647 \u0634\u062f\u0647\u200c\u0627\u06cc\u062f\u061f \u0634\u0645\u0627 \u0647\u0645 \u0645\u06cc\u062e\u0648\u0627\u0647\u06cc\u062f \u0641\u0631\u0627\u06cc\u0646\u062f \u0627\u0631\u0633\u0627\u0644 \u0648 \u0630\u062e\u06cc\u0631\u0647 \u062f\u06cc\u062a\u0627\u06cc \u062f\u0633\u062a\u06af\u0627\u0647 ESP32 \u0628\u0647 Google Sheets \u0631\u0627 \u062e\u0648\u062f\u06a9\u0627\u0631 \u06a9\u0646\u06cc\u062f\u061f \u062e\u0628\u0631 \u062e\u0648\u0628 \u0627\u06cc\u0646\u06a9\u0647 \u0627\u0635\u0644\u0627 \u06a9\u0627\u0631 \u0633\u062e\u062a\u06cc \u0646\u06cc\u0633\u062a \u0648 \u0645\u0627 \u062f\u0631 \u0627\u06cc\u0646 \u0622\u0645\u0648\u0632\u0634\u060c \u0627\u0631\u0633\u0627\u0644 \u062f\u06cc\u062a\u0627 \u0627\u0632 ESP32 \u06cc\u0627 ESP8266 \u0628\u0647 \u06af\u0648\u06af\u0644 \u0634\u06cc\u062a \u0631\u0627 \u0628\u0635\u0648\u0631\u062a \u06a9\u0627\u0645\u0644 \u0648 \u06af\u0627\u0645 \u0628\u0647 \u06af\u0627\u0645 \u062a\u0648\u0636\u06cc\u062d \u062f\u0627\u062f\u0647 \u0627\u06cc\u0645.<br \/>ESP32 \u06cc\u06a9 \u0645\u06cc\u06a9\u0631\u0648\u06a9\u0646\u062a\u0631\u0644\u0631 \u0642\u062f\u0631\u062a\u0645\u0646\u062f \u0628\u0627 \u0642\u0627\u0628\u0644\u06cc\u062a \u0627\u062a\u0635\u0627\u0644 \u0628\u0647 \u0648\u0627\u06cc\u0641\u0627\u06cc \u0627\u0633\u062a \u0648 \u0645\u06cc \u062a\u0648\u0627\u0646\u062f \u0628\u0647 \u062f\u0633\u062a\u06af\u0627\u0647 \u0647\u0627 \u0648 \u0633\u0646\u0633\u0648\u0631\u0647\u0627\u06cc \u0645\u062e\u062a\u0644\u0641 \u0645\u062a\u0635\u0644 \u0634\u0648\u062f. \u0628\u0631\u0627\u06cc \u062c\u0645\u0639 \u0622\u0648\u0631\u06cc \u0627\u0637\u0644\u0627\u0639\u0627\u062a \u062f\u0633\u062a\u06af\u0627\u0647 \u0647\u0627 \u0648 \u0645\u062f\u06cc\u0631\u06cc\u062a \u0622\u0646\u0647\u0627\u060c \u0628\u0647 \u06cc\u06a9 \u0633\u06cc\u0633\u062a\u0645 \u0647\u0648\u0634\u0645\u0646\u062f\u06cc \u0646\u06cc\u0627\u0632 \u062f\u0627\u0631\u06cc\u062f \u06a9\u0647 \u0628\u062a\u0648\u0627\u0646\u062f \u062d\u062c\u0645 \u0642\u0627\u0628\u0644 \u062a\u0648\u062c\u0647\u06cc \u0627\u0632 \u0627\u0637\u0644\u0627\u0639\u0627\u062a \u0631\u0627 \u062f\u0631 \u062e\u0648\u062f \u0630\u062e\u06cc\u0631\u0647 \u0648 \u0622\u0646\u0647\u0627 \u0631\u0627 \u0645\u062f\u06cc\u0631\u06cc\u062a \u06a9\u0646\u062f. \u0647\u0645\u0686\u0646\u06cc\u0646 \u0627\u0645\u06a9\u0627\u0646 \u06a9\u0646\u062a\u0631\u0644 \u0648 \u0645\u062f\u06cc\u0631\u06cc\u062a \u0627\u0632 \u0631\u0627\u0647 \u062f\u0648\u0631 \u0631\u0627 \u0628\u0647 \u0634\u0645\u0627 \u0628\u062f\u0647\u062f. <br \/>\u0627\u06cc\u0646\u062c\u0627\u0633\u062a \u06a9\u0647 \u06af\u0648\u06af\u0644 \u0634\u06cc\u062a \u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u06cc\u06a9 \u0633\u0631\u0648\u06cc\u0633 \u0631\u0627\u06cc\u06af\u0627\u0646\u060c \u0622\u0634\u0646\u0627 \u0648 \u0627\u0632 \u0647\u0645\u0647 \u0645\u0647\u0645\u062a\u0631 \u0645\u0637\u0645\u0626\u0646\u060c \u06cc\u06a9 \u0631\u0627\u0647 \u062d\u0644 \u0645\u0646\u0627\u0633\u0628 \u0631\u0627 \u0641\u0631\u0627\u0647\u0645 \u0645\u06cc\u200c\u06a9\u0646\u062f. \u0627\u06cc\u0646 \u0628\u0633\u062a\u0631\u060c \u0639\u0645\u0644\u06af\u0631\u0647\u0627\u06cc \u0641\u0631\u0627\u0648\u0627\u0646\u06cc \u0631\u0627 \u062f\u0631 \u062f\u0631\u0648\u0646 \u062e\u0648\u062f \u062f\u0627\u0634\u062a\u0647 \u0648 \u0627\u0632 \u0637\u0631\u06cc\u0642 API \u0647\u0627\u060c \u0628\u0627 \u062f\u06cc\u06af\u0631 \u0633\u0631\u0648\u06cc\u0633 \u0647\u0627\u06cc \u06af\u0648\u06af\u0644 \u062a\u0639\u0627\u0645\u0644 \u0628\u0633\u06cc\u0627\u0631 \u062e\u0648\u0628\u06cc \u062f\u0627\u0631\u062f.<\/p>\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-c14daa0 elementor-widget elementor-widget-heading\" data-id=\"c14daa0\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">\u0686\u0631\u0627 \u0627\u0632 Google Sheets \u0628\u0631\u0627\u06cc \u062b\u0628\u062a \u062f\u06cc\u062a\u0627\u06cc ESP32 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u0645\u061f<\/h2>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-ed3a74f elementor-widget elementor-widget-text-editor\" data-id=\"ed3a74f\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-text-editor elementor-clearfix\">\n\t\t\t\t<p>\u0628\u0627 \u0627\u0631\u0633\u0627\u0644 \u0648 \u062b\u0628\u062a \u062f\u06cc\u062a\u0627\u06cc ESP32 \u0628\u0647 Google Sheets \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u062f \u0628\u0647 \u0631\u0627\u062d\u062a\u06cc \u0627\u0632 \u0647\u0631\u062c\u0627 \u0628\u0647 \u0622\u0646 \u062f\u0633\u062a\u0631\u0633\u06cc \u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u06cc\u062f. \u0686\u0646\u062f \u0645\u0648\u0631\u062f \u0627\u0632 \u0645\u0632\u0627\u06cc\u0627\u06cc \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 Google Sheets \u0628\u0631\u0627\u06cc \u062b\u0628\u062a \u062f\u06cc\u062a\u0627\u06cc ESP32 \u0639\u0628\u0627\u0631\u062a\u0646\u062f \u0627\u0632:<br \/>\u2022 \u0627\u0646\u062c\u0627\u0645 Data Logging \u0628\u0633\u06cc\u0627\u0631 \u0633\u0627\u062f\u0647 \u0627\u0633\u062a \u0648 \u0646\u06cc\u0627\u0632\u06cc \u0628\u0647 \u0633\u0631\u0648\u06cc\u0633 \u0647\u0627\u06cc \u062e\u0627\u0631\u062c\u06cc \u0646\u062f\u0627\u0631\u062f<br \/>\u2022 \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u062a\u0648\u0627\u0628\u0639 \u0645\u0648\u062c\u0648\u062f\u060c \u062c\u0645\u0639 \u0622\u0648\u0631\u06cc \u0648 \u062a\u062d\u0644\u06cc\u0644 \u062f\u0627\u062f\u0647 \u0647\u0627 \u0633\u0627\u062f\u0647 \u0627\u0633\u062a<br \/>\u2022 \u0627\u0645\u06a9\u0627\u0646 \u062f\u0633\u062a\u0631\u0633\u06cc \u0628\u0647 \u0622\u0646 \u0627\u0632 \u0647\u0631 \u062f\u0633\u062a\u06af\u0627\u0647 \u0645\u062a\u0635\u0644 \u0628\u0647 \u0627\u06cc\u0646\u062a\u0631\u0646\u062a<br \/>\u2022 \u0641\u0631\u0645\u062a \u0628\u0646\u062f\u06cc \u062f\u0627\u062f\u0647 \u0647\u0627\u060c \u0628\u0627\u0639\u062b \u062e\u0648\u0627\u0646\u0627\u06cc\u06cc \u0628\u0647\u062a\u0631 \u0648 \u0622\u0646\u0627\u0644\u06cc\u0632 \u0631\u0627\u062d\u062a\u062a\u0631 \u062f\u0627\u062f\u0647 \u0647\u0627 \u0645\u06cc \u0634\u0648\u062f<br \/>\u062f\u0631 \u0627\u06cc\u0646 \u067e\u0631\u0648\u0698\u0647\u060c \u0628\u0631\u0627\u06cc \u0628\u0631\u0642\u0631\u0627\u0631\u06cc \u0627\u0631\u062a\u0628\u0627\u0637 \u062f\u0648\u0637\u0631\u0641\u0647 \u0628\u0627 Google Sheets \u0648 \u0627\u0631\u0633\u0627\u0644 \u0648 \u062f\u0631\u06cc\u0627\u0641\u062a \u062f\u0627\u062f\u0647\u060c \u0627\u0632 ESP32 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc \u06a9\u0646\u06cc\u0645. <br \/>\u0627\u0644\u0628\u062a\u0647 \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u062f \u0627\u0632 ESP8266 \u0646\u06cc\u0632 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f. \u0647\u0645\u0647 \u0645\u0631\u0627\u062d\u0644 \u062f\u0642\u06cc\u0642\u0627 \u06cc\u06a9\u0633\u0627\u0646 \u0627\u0633\u062a.<\/p>\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-698ddff elementor-widget elementor-widget-image\" data-id=\"698ddff\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-image\">\n\t\t\t\t\t\t\t\t\t\t\t\t<img width=\"1140\" height=\"713\" src=\"https:\/\/thecaferobot.com\/learn\/wp-content\/uploads\/2023\/09\/Esp32-Google-Sheets-intro-1200x750.jpg\" class=\"attachment-large size-large\" alt=\"Logging Data from ESP32 to Google Sheets\" loading=\"lazy\" srcset=\"https:\/\/thecaferobot.com\/learn\/wp-content\/uploads\/2023\/09\/Esp32-Google-Sheets-intro-600x375.jpg 600w, https:\/\/thecaferobot.com\/learn\/wp-content\/uploads\/2023\/09\/Esp32-Google-Sheets-intro-768x480.jpg 768w\" sizes=\"(max-width: 1140px) 100vw, 1140px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-a611b4a elementor-widget elementor-widget-heading\" data-id=\"a611b4a\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">\u0622\u0646\u0686\u0647 \u062f\u0631 \u0627\u06cc\u0646 \u0622\u0645\u0648\u0632\u0634 \u06cc\u0627\u062f \u0645\u06cc \u06af\u06cc\u0631\u06cc\u062f<\/h3>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-7872c1d elementor-widget elementor-widget-text-editor\" data-id=\"7872c1d\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-text-editor elementor-clearfix\">\n\t\t\t\t<p>\u2022 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u062f\u0648 \u0631\u0648\u0634 Google Sheets API \u0648 Google Apps Script \u0628\u0631\u0627\u06cc \u0627\u0631\u0633\u0627\u0644 \u062f\u0627\u062f\u0647 \u0627\u0632 ESP32<br \/>\u2022 \u0627\u06cc\u062c\u0627\u062f \u0641\u0627\u06cc\u0644 \u062f\u0631 Google Sheets \u062a\u0648\u0633\u0637 ESP32<br \/>\u2022 \u0627\u0631\u0633\u0627\u0644 \u062f\u06cc\u062a\u0627 \u0628\u0647 Google Sheets \u0648 \u06cc\u0627 \u062e\u0648\u0627\u0646\u062f\u0646 \u0622\u0646 \u062a\u0648\u0633\u0637 ESP32<br \/>\u2022 \u0641\u0631\u0645\u062a \u0628\u0646\u062f\u06cc \u0646\u0648\u0634\u062a\u0647 \u0647\u0627 \u0648 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u062a\u0648\u0627\u0628\u0639 \u0645\u0648\u062c\u0648\u062f \u062f\u0631 Google Sheets<\/p>\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-310cc36 elementor-widget elementor-widget-heading\" data-id=\"310cc36\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">\u0631\u0648\u0634 \u0647\u0627\u06cc \u0627\u0631\u0633\u0627\u0644 \u062f\u06cc\u062a\u0627 \u0627\u0632 ESP32 \u0628\u0647 \u06af\u0648\u06af\u0644 \u0634\u06cc\u062a<\/h2>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-f9dfcf5 elementor-widget elementor-widget-text-editor\" data-id=\"f9dfcf5\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-text-editor elementor-clearfix\">\n\t\t\t\t<p>\u0631\u0627\u0647 \u0647\u0627\u06cc \u0645\u062e\u062a\u0644\u0641\u06cc \u0628\u0631\u0627\u06cc \u0627\u0631\u0633\u0627\u0644 \u062f\u06cc\u062a\u0627 \u0627\u0632 ESP32 \u0628\u0647 Google Sheets \u0648\u062c\u0648\u062f \u062f\u0627\u0631\u062f. \u062f\u0631 \u0627\u06cc\u0646\u062c\u0627 \u0633\u0647 \u0631\u0648\u0634 \u0631\u0627 \u0645\u0639\u0631\u0641\u06cc \u0645\u06cc \u06a9\u0646\u06cc\u0645.<\/p>\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-3355192 elementor-widget elementor-widget-heading\" data-id=\"3355192\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">1- \u0627\u0631\u0633\u0627\u0644 \u062f\u06cc\u062a\u0627 \u0628\u0647 \u06af\u0648\u06af\u0644 \u0634\u06cc\u062a \u0628\u0627 Google App Scripts <\/h3>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-7f9461a elementor-widget elementor-widget-text-editor\" data-id=\"7f9461a\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-text-editor elementor-clearfix\">\n\t\t\t\t<p>\u062f\u0631 \u0627\u06cc\u0646 \u0631\u0648\u0634\u060c \u062a\u0646\u0647\u0627 \u0628\u0647 \u06cc\u06a9 \u0627\u06a9\u0627\u0646\u062a \u06af\u0648\u06af\u0644 \u0646\u06cc\u0627\u0632 \u062f\u0627\u0631\u06cc\u062f. \u0641\u0642\u0637 \u0628\u0627 \u0627\u0646\u062c\u0627\u0645 \u0686\u0646\u062f \u062a\u0646\u0638\u06cc\u0645\u0627\u062a \u0633\u0627\u062f\u0647 \u062f\u0631 Google Sheets \u0648 \u0648\u0627\u0631\u062f \u06a9\u0631\u062f\u0646 \u06cc\u06a9 Script \u062f\u0631 \u0622\u0646\u060c \u0627\u0631\u062a\u0628\u0627\u0637 \u0628\u06cc\u0646 \u06cc\u06a9 \u062f\u0633\u062a\u06af\u0627\u0647 \u0645\u062a\u0635\u0644 \u0628\u0647 \u0627\u06cc\u0646\u062a\u0631\u0646\u062a (\u0645\u0627\u0646\u0646\u062f ESP32) \u0648 Google Sheets \u0628\u0631\u0642\u0631\u0627\u0631 \u0645\u06cc \u0634\u0648\u062f.<br \/><strong>\u0645\u0632\u06cc\u062a \u0627\u06cc\u0646 \u0631\u0648\u0634<\/strong>: \u0628\u0631\u0627\u06cc \u0628\u0627\u0631\u06af\u0630\u0627\u0631\u06cc \u062f\u0627\u062f\u0647 \u0647\u0627\u06cc \u062e\u0648\u062f \u062f\u0631 Google Sheets\u060c \u062a\u0646\u0647\u0627 \u06cc\u06a9 URL \u0628\u0627 \u0641\u0631\u0645\u062a \u0645\u0634\u062e\u0635 \u0634\u062f\u0647 \u0631\u0627 \u062f\u0631 ESP32 \u0628\u0627\u0632 \u0645\u06cc \u06a9\u0646\u06cc\u062f.<\/p>\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-7c6fb9d elementor-widget elementor-widget-image\" data-id=\"7c6fb9d\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-image\">\n\t\t\t\t\t\t\t\t\t\t\t\t<img width=\"1140\" height=\"713\" src=\"https:\/\/thecaferobot.com\/learn\/wp-content\/uploads\/2023\/09\/Esp32-Google-Sheets-script-method-1200x750.jpg\" class=\"attachment-large size-large\" alt=\"\u0627\u0631\u0633\u0627\u0644 \u062f\u06cc\u062a\u0627 \u0628\u0647 \u06af\u0648\u06af\u0644 \u0634\u06cc\u062a \u0628\u0627 Google Sheets API\u200b\" loading=\"lazy\" srcset=\"https:\/\/thecaferobot.com\/learn\/wp-content\/uploads\/2023\/09\/Esp32-Google-Sheets-script-method-600x375.jpg 600w, https:\/\/thecaferobot.com\/learn\/wp-content\/uploads\/2023\/09\/Esp32-Google-Sheets-script-method-768x480.jpg 768w\" sizes=\"(max-width: 1140px) 100vw, 1140px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-43191ed elementor-widget elementor-widget-heading\" data-id=\"43191ed\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">2- \u0627\u0631\u0633\u0627\u0644 \u062f\u06cc\u062a\u0627 \u0628\u0647 \u06af\u0648\u06af\u0644 \u0634\u06cc\u062a \u0628\u0627 Google Sheets API<\/h3>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-9decce4 elementor-widget elementor-widget-text-editor\" data-id=\"9decce4\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-text-editor elementor-clearfix\">\n\t\t\t\t<p>\u062f\u0631 \u0627\u06cc\u0646 \u0631\u0648\u0634\u060c \u0646\u06cc\u0627\u0632\u06cc \u0628\u0647 \u0647\u06cc\u0686\u06af\u0648\u0646\u0647 \u06a9\u062f\u0646\u0648\u06cc\u0633\u06cc \u062e\u0627\u0631\u062c \u0627\u0632 \u0628\u0631\u0646\u0627\u0645\u0647 \u0622\u0631\u062f\u0648\u06cc\u0646\u0648 \u0648\u062c\u0648\u062f \u0646\u062f\u0627\u0631\u062f. \u062a\u0646\u0647\u0627 \u0628\u0627 \u0627\u0646\u062c\u0627\u0645 \u062a\u0646\u0638\u06cc\u0645\u0627\u062a \u0627\u0648\u0644\u06cc\u0647 \u0628\u0631 \u0631\u0648\u06cc \u0627\u06a9\u0627\u0646\u062a \u06af\u0648\u06af\u0644 \u062e\u0648\u062f \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u062f \u062f\u06cc\u062a\u0627 \u0631\u0627 \u0628\u0627 ESP32 \u0628\u0647 Google Sheets \u0627\u0631\u0633\u0627\u0644 \u06a9\u0646\u06cc\u062f.<br \/>\u0627\u0632 \u0622\u0646\u062c\u0627 \u06a9\u0647 \u062f\u0631 \u0627\u06cc\u0646 \u0631\u0648\u0634 \u0627\u0632 Google Sheets API \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc\u0634\u0648\u062f\u060c \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u062f \u0627\u0632 \u062a\u0645\u0627\u0645\u06cc \u0627\u0645\u06a9\u0627\u0646\u0627\u062a \u0645\u0648\u062c\u0648\u062f \u062f\u0631 \u0622\u0646 \u0627\u0632 \u062c\u0645\u0644\u0647 \u062a\u0648\u0627\u0628\u0639 \u06a9\u0627\u0631\u0628\u0631\u062f\u06cc \u0628\u0647 \u0631\u0627\u062d\u062a\u06cc \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f. \u0636\u0645\u0646 \u0627\u06cc\u0646\u06a9\u0647 \u0627\u0631\u0633\u0627\u0644 \u0648 \u062f\u0631\u06cc\u0627\u0641\u062a \u062f\u0627\u062f\u0647 \u062f\u0631 \u0627\u06cc\u0646 \u0631\u0648\u0634\u060c \u0628\u0633\u06cc\u0627\u0631 \u0633\u0627\u062f\u0647 \u0627\u0633\u062a.<br \/>\u0647\u0645\u0686\u0646\u06cc\u0646 \u0628\u0647 \u062f\u0644\u06cc\u0644 \u0627\u0631\u0633\u0627\u0644 \u062f\u0627\u062f\u0647 \u0628\u0647 \u0635\u0648\u0631\u062a \u0645\u0633\u062a\u0642\u06cc\u0645\u060c \u0642\u0627\u0628\u0644\u06cc\u062a \u0627\u0637\u0645\u06cc\u0646\u0627\u0646 \u0622\u0646 \u0648 \u0627\u0645\u0646\u06cc\u062a \u062f\u0627\u062f\u0647 \u0647\u0627\u06cc \u062a\u0628\u0627\u062f\u0644 \u0634\u062f\u0647 \u0646\u0633\u0628\u062a \u0628\u0647 \u0631\u0648\u0634 \u0633\u0631\u0648\u06cc\u0633 \u0647\u0627\u06cc \u062e\u0627\u0631\u062c\u06cc \u0628\u0627\u0644\u0627\u062a\u0631 \u0627\u0633\u062a.<\/p>\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-a13b384 elementor-widget elementor-widget-image\" data-id=\"a13b384\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-image\">\n\t\t\t\t\t\t\t\t\t\t\t\t<img width=\"1140\" height=\"713\" src=\"https:\/\/thecaferobot.com\/learn\/wp-content\/uploads\/2023\/09\/ESP32-Google-Sheets-API-method-1200x750.jpg\" class=\"attachment-large size-large\" alt=\"\u0627\u0631\u0633\u0627\u0644 \u062f\u06cc\u062a\u0627 \u0628\u0647 \u06af\u0648\u06af\u0644 \u0634\u06cc\u062a \u0628\u0627 Google Sheets API\u200b\" loading=\"lazy\" srcset=\"https:\/\/thecaferobot.com\/learn\/wp-content\/uploads\/2023\/09\/ESP32-Google-Sheets-API-method-600x375.jpg 600w, https:\/\/thecaferobot.com\/learn\/wp-content\/uploads\/2023\/09\/ESP32-Google-Sheets-API-method-768x480.jpg 768w\" sizes=\"(max-width: 1140px) 100vw, 1140px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-1651a9d elementor-widget elementor-widget-heading\" data-id=\"1651a9d\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">3- \u0627\u0631\u0633\u0627\u0644 \u062f\u06cc\u062a\u0627 \u0628\u0647 \u06af\u0648\u06af\u0644 \u0634\u06cc\u062a \u0628\u0627 IFTTT<\/h3>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-9c0bbc8 elementor-widget elementor-widget-text-editor\" data-id=\"9c0bbc8\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-text-editor elementor-clearfix\">\n\t\t\t\t<p>\u062f\u0631 \u0627\u06cc\u0646 \u0631\u0648\u0634\u060c ESP32 \u0628\u0631\u0627\u06cc \u0627\u0631\u0633\u0627\u0644 \u062f\u06cc\u062a\u0627 \u0628\u0647 Google Sheets\u060c \u0628\u0647 \u06cc\u06a9 \u0633\u0631\u0648\u06cc\u0633 \u0627\u06cc\u0646\u062a\u0631\u0646\u062a\u06cc \u062b\u0627\u0646\u0648\u06cc\u0647 \u0645\u062a\u0635\u0644 \u0645\u06cc \u0634\u0648\u062f. \u062f\u0627\u062f\u0647 \u0647\u0627\u06cc \u0627\u0631\u0633\u0627\u0644 \u0634\u062f\u0647 \u0627\u0632 \u0633\u0648\u06cc \u0645\u06cc\u06a9\u0631\u0648\u06a9\u0646\u062a\u0631\u0644\u0631\u060c \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u0627\u06cc\u0646 \u0633\u0631\u0648\u06cc\u0633\u060c \u062f\u0631 Google Sheets \u0645\u0631\u0628\u0648\u0637\u0647 \u0648\u0627\u0631\u062f \u0645\u06cc \u0634\u0648\u062f.<br \/>\u06cc\u06a9 \u0646\u0645\u0648\u0646\u0647 \u0627\u0632 \u0627\u06cc\u0646 \u0633\u0631\u0648\u06cc\u0633 \u0647\u0627 IFTTT \u0627\u0633\u062a. <strong>\u0645\u0632\u06cc\u062a \u0627\u06cc\u0646 \u0631\u0648\u0634 \u062f\u0631 \u0645\u0642\u0627\u06cc\u0633\u0647 \u0628\u0627 \u062f\u0648 \u0631\u0648\u0634 \u062f\u06cc\u06af\u0631<\/strong>: \u0627\u0645\u06a9\u0627\u0646 \u0628\u0631\u0642\u0631\u0627\u0631\u06cc \u0627\u0631\u062a\u0628\u0627\u0637 \u0628\u0627 \u0627\u0646\u0648\u0627\u0639 \u0646\u0631\u0645 \u0627\u0641\u0632\u0627\u0631\u0647\u0627\u06cc \u062a\u062d\u062a \u0648\u0628 \u0628\u0647 \u0637\u0648\u0631 \u0647\u0645\u0632\u0645\u0627\u0646.<\/p>\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-39a4a81 elementor-widget elementor-widget-image\" data-id=\"39a4a81\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-image\">\n\t\t\t\t\t\t\t\t\t\t\t\t<img width=\"1140\" height=\"713\" src=\"https:\/\/thecaferobot.com\/learn\/wp-content\/uploads\/2023\/09\/ESP32-Google-sheets-IFTTT-method-1200x750.jpg\" class=\"attachment-large size-large\" alt=\"\u0627\u0631\u0633\u0627\u0644 \u062f\u06cc\u062a\u0627 \u0628\u0647 \u06af\u0648\u06af\u0644 \u0634\u06cc\u062a \u0628\u0627 IFTTT\u200b\" loading=\"lazy\" srcset=\"https:\/\/thecaferobot.com\/learn\/wp-content\/uploads\/2023\/09\/ESP32-Google-sheets-IFTTT-method-600x375.jpg 600w, https:\/\/thecaferobot.com\/learn\/wp-content\/uploads\/2023\/09\/ESP32-Google-sheets-IFTTT-method-768x480.jpg 768w\" sizes=\"(max-width: 1140px) 100vw, 1140px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-69066dd elementor-widget elementor-widget-alert\" data-id=\"69066dd\" data-element_type=\"widget\" data-widget_type=\"alert.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"elementor-alert elementor-alert-info\" role=\"alert\">\n\t\t\t<span class=\"elementor-alert-title\">\u0646\u06a9\u062a\u0647:<\/span>\n\t\t\t\t\t\t\t<span class=\"elementor-alert-description\">\u062f\u0631 \u0627\u06cc\u0646 \u0622\u0645\u0648\u0632\u0634\u060c \u062f\u0648 \u0631\u0648\u0634 Google Apps Script \u0648 Google Sheets API \u0631\u0627 \u0628\u0631\u0631\u0633\u06cc \u06a9\u0631\u062f\u0647  \u0627\u06cc\u0645. \u0634\u0645\u0627 \u0627\u0632 \u0647\u0631 \u0631\u0648\u0634\u06cc \u06a9\u0647 \u0645\u0646\u0627\u0633\u0628 \u062e\u0648\u062f\u062a\u0627\u0646 \u0627\u0633\u062a\u060c \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u062f \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f.<\/span>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-c0f4a1b elementor-widget elementor-widget-heading\" data-id=\"c0f4a1b\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">\u0644\u0648\u0627\u0632\u0645\u06cc \u06a9\u0647 \u0628\u0647 \u0622\u0646 \u0627\u062d\u062a\u06cc\u0627\u062c \u062f\u0627\u0631\u06cc\u062f<\/h2>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-dc8e99d elementor-widget elementor-widget-image\" data-id=\"dc8e99d\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-image\">\n\t\t\t\t\t\t\t\t\t\t\t\t<img width=\"1140\" height=\"713\" src=\"https:\/\/thecaferobot.com\/learn\/wp-content\/uploads\/2023\/09\/Esp32-Google-Sheets-required-parts-1200x750.jpg\" class=\"attachment-large size-large\" alt=\"\u0644\u0648\u0627\u0632\u0645 \u0645\u0648\u0631\u062f \u0646\u06cc\u0627\u0632 \u0628\u0631\u0627\u06cc \u0627\u0631\u0633\u0627\u0644 \u062f\u06cc\u062a\u0627 esp32 \u0628\u0647 \u06af\u0648\u06af\u0644 \u0634\u06cc\u062a\" loading=\"lazy\" srcset=\"https:\/\/thecaferobot.com\/learn\/wp-content\/uploads\/2023\/09\/Esp32-Google-Sheets-required-parts-600x375.jpg 600w, https:\/\/thecaferobot.com\/learn\/wp-content\/uploads\/2023\/09\/Esp32-Google-Sheets-required-parts-768x480.jpg 768w\" sizes=\"(max-width: 1140px) 100vw, 1140px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-c3a65c2 elementor-widget elementor-widget-heading\" data-id=\"c3a65c2\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">\u0642\u0637\u0639\u0627\u062a \u0645\u0648\u0631\u062f \u0646\u06cc\u0627\u0632 <\/h3>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-b762ef9 elementor-widget elementor-widget-html\" data-id=\"b762ef9\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<div class=\"table-2\">\r\n<table width=\"100%\" class=\"zebra\">\r\n<tbody>\r\n\r\n<tr>\r\n\t<td width=\"70%\"> ESP32-WROOM**\r\n\r\n<\/td>\r\n\t<td class=\"center\" width=\"10%\">\u00d7<\/td>\r\n    <td class=\"center\" width=\"10%\">1<\/td>\r\n\t<td class=\"center\" width=\"10%\"><a href=\"https:\/\/thecaferobot.com\/store\/esp32-development-board-equipped-with-wroom-32u\r\n\" target=\"_blank\"><i class=\"fa fa-shopping-cart\" style=\"\"><\/i><\/a><\/td>\r\n<\/tr>\r\n<tr>\r\n\t<td width=\"70%\"> \u0633\u0646\u0633\u0648\u0631 \u06af\u0627\u0632 \u0645\u0648\u0646\u0648 \u0627\u06a9\u0633\u06cc\u062f \u06a9\u0631\u0628\u0646 \u0648 \u06af\u0627\u0632 \u0627\u0634\u062a\u0639\u0627\u0644\u0632\u0627 MQ-9***\r\n<\/td>\r\n\t<td class=\"center\" width=\"10%\">\u00d7<\/td>\r\n    <td class=\"center\" width=\"10%\">1<\/td>\r\n\t<td class=\"center\" width=\"10%\"><a href=\"https:\/\/thecaferobot.com\/store\/mq-9-gas-sensor-1  \r\n\" target=\"_blank\"><i class=\"fa fa-shopping-cart\" style=\"\"><\/i><\/a><\/td>\r\n<\/tr>\r\n<tr>\r\n\t<td width=\"70%\"> MCU-680 BME680 Temperature Humidity Pressure Sensor Module***\r\n\r\n<\/td>\r\n\t<td class=\"center\" width=\"10%\">\u00d7<\/td>\r\n    <td class=\"center\" width=\"10%\">1<\/td>\r\n\t<td class=\"center\" width=\"10%\"><a href=\"https:\/\/thecaferobot.com\/store\/mcu-680-bme680-bosch-temperature-and-humidity-pressure-sensor\r\n\" target=\"_blank\"><i class=\"fa fa-shopping-cart\" style=\"\"><\/i><\/a><\/td>\r\n<\/tr>\r\n<tr>\r\n\t<td width=\"70%\"> \u0633\u06cc\u0645 \u062c\u0627\u0645\u067e\u0631 \u0645\u0627\u062f\u06af\u06cc-\u0645\u0627\u062f\u06af\u06cc\r\n<\/td>\r\n\t<td class=\"center\" width=\"10%\">\u00d7<\/td>\r\n    <td class=\"center\" width=\"10%\">1<\/td>\r\n\t<td class=\"center\" width=\"10%\"><a href=\"https:\/\/thecaferobot.com\/store\/female-female-40p-21cm\r\n\" target=\"_blank\"><i class=\"fa fa-shopping-cart\" style=\"\"><\/i><\/a><\/td>\r\n<\/tr>\r\n\r\n<\/tbody>\r\n<\/table>\r\n<\/div>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-6afc26a elementor-widget elementor-widget-text-editor\" data-id=\"6afc26a\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-text-editor elementor-clearfix\">\n\t\t\t\t<p><strong>**<\/strong>: \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u062f \u0627\u0632 \u0647\u0631 \u06cc\u06a9 \u0627\u0632 \u0627\u0646\u0648\u0627\u0639 \u0628\u0631\u062f\u0647\u0627\u06cc ESP32 \u06cc\u0627 ESP8266 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f.<br \/><strong>***<\/strong>: \u0645\u0627 \u062f\u0631 \u0627\u06cc\u0646 \u0622\u0645\u0648\u0632\u0634\u060c \u062f\u06cc\u062a\u0627\u06cc \u0633\u0646\u0633\u0648\u0631 MQ9 \u0648 BME680 \u0631\u0627 \u062f\u0631 \u06af\u0648\u06af\u0644 \u0634\u06cc\u062a \u062b\u0628\u062a \u06a9\u0631\u062f\u0647 \u0627\u06cc\u0645. \u0634\u0645\u0627 \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u062f \u0627\u0632 \u0647\u0631 \u0633\u0646\u0633\u0648\u0631 \u062f\u06cc\u06af\u0631\u06cc \u0645\u062a\u0646\u0627\u0633\u0628 \u0628\u0627 \u0646\u06cc\u0627\u0632 \u062e\u0648\u062f \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f.<\/p>\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-24bc2fe elementor-widget elementor-widget-heading\" data-id=\"24bc2fe\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">\u0646\u0631\u0645 \u0627\u0641\u0632\u0627\u0631\u0647\u0627\u06cc \u0645\u0648\u0631\u062f \u0646\u06cc\u0627\u0632<\/h3>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-a8c9511 elementor-widget elementor-widget-html\" data-id=\"a8c9511\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<div class=\"table-2\">\r\n<table width=\"100%\" class=\"zebra\">\r\n<tbody>\r\n\r\n<tr>\r\n\t<td width=\"90%\">Arduino IDE<\/td>\r\n\t<td class=\"center\" width=\"10%\"><a href=\"https:\/\/www.arduino.cc\/en\/Main\/Software\" target=\"_blank\"><i class=\"fa fa-info\" style=\"\"><\/i><\/a><\/td>\r\n<\/tr>\r\n\r\n\r\n<\/tbody>\r\n<\/table>\r\n<\/div>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-15e9e48 elementor-widget elementor-widget-heading\" data-id=\"15e9e48\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">\u0631\u0648\u0634 \u0627\u0648\u0644: \u0627\u0631\u0633\u0627\u0644 \u062f\u06cc\u062a\u0627 \u0627\u0632 ESP32 \u0628\u0647 Google Sheets \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 Google Sheets API<\/h2>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-8e8d9bd elementor-widget elementor-widget-text-editor\" data-id=\"8e8d9bd\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-text-editor elementor-clearfix\">\n\t\t\t\t<p>\u062f\u0631 \u0627\u06cc\u0646 \u0642\u0633\u0645\u062a\u060c \u0627\u0631\u0633\u0627\u0644 \u062f\u06cc\u062a\u0627 \u0627\u0632 ESP32 \u0628\u0647 \u06af\u0648\u06af\u0644 \u0634\u06cc\u062a \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 Google Sheets API \u0631\u0627 \u062a\u0648\u0636\u06cc\u062d \u0645\u06cc \u062f\u0647\u06cc\u0645. \u0628\u0631\u0627\u06cc \u0627\u0646\u062c\u0627\u0645 \u0627\u06cc\u0646 \u06a9\u0627\u0631\u060c \u0645\u0631\u0627\u062d\u0644 \u0632\u06cc\u0631 \u0631\u0627 \u0628\u0647 \u062a\u0631\u062a\u06cc\u0628 \u0627\u0646\u062c\u0627\u0645 \u062f\u0647\u06cc\u062f.<\/p>\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-57ddcf6 elementor-widget elementor-widget-heading\" data-id=\"57ddcf6\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">\u06af\u0627\u0645 \u0627\u0648\u0644: \u0622\u0645\u0627\u062f\u0647 \u0633\u0627\u0632\u06cc Google Sheets<\/h3>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-fa6ccb6 elementor-widget elementor-widget-text-editor\" data-id=\"fa6ccb6\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-text-editor elementor-clearfix\">\n\t\t\t\t<p>\u0628\u0631\u0627\u06cc \u0627\u06cc\u0646\u06a9\u0627\u0631 \u0644\u0627\u0632\u0645 \u0627\u0633\u062a Service Account Private Key \u0645\u062e\u0635\u0648\u0635 \u062e\u0648\u062f \u0631\u0627 \u0628\u0633\u0627\u0632\u06cc\u062f \u0648 Google Sheets API \u0648 Google Drive API \u0631\u0627 \u0641\u0639\u0627\u0644 \u06a9\u0646\u06cc\u062f.<br \/>\u0627\u0628\u062a\u062f\u0627 \u0648\u0627\u0631\u062f \u062d\u0633\u0627\u0628 \u06a9\u0627\u0631\u0628\u0631\u06cc \u06af\u0648\u06af\u0644 \u062e\u0648\u062f \u0634\u0648\u06cc\u062f. <\/p>\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-08e295e elementor-widget elementor-widget-alert\" data-id=\"08e295e\" data-element_type=\"widget\" data-widget_type=\"alert.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"elementor-alert elementor-alert-danger\" role=\"alert\">\n\t\t\t<span class=\"elementor-alert-title\">\u0647\u0634\u062f\u0627\u0631:<\/span>\n\t\t\t\t\t\t\t<span class=\"elementor-alert-description\">\u0628\u062f\u0644\u06cc\u0644 \u062a\u062d\u0631\u06cc\u0645 \u0634\u062f\u0646 \u0628\u0633\u06cc\u0627\u0631\u06cc \u0627\u0632 \u0633\u0631\u0648\u06cc\u0633 \u0647\u0627\u06cc \u06af\u0648\u06af\u0644 \u062f\u0631 \u0627\u06cc\u0631\u0627\u0646\u060c \u0628\u0647\u062a\u0631 \u0627\u0633\u062a \u0627\u0632  \u0646\u0631\u0645 \u0627\u0641\u0632\u0627\u0631 \u0647\u0627\u06cc \u062a\u063a\u06cc\u06cc\u0631 \u0622\u06cc \u067e\u06cc \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f.<\/span>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-4499600 elementor-widget elementor-widget-alert\" data-id=\"4499600\" data-element_type=\"widget\" data-widget_type=\"alert.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"elementor-alert elementor-alert-warning\" role=\"alert\">\n\t\t\t<span class=\"elementor-alert-title\">\u062a\u0648\u062c\u0647:<\/span>\n\t\t\t\t\t\t\t<span class=\"elementor-alert-description\">\u062f\u0631\u0633\u0627\u0644 \u0647\u0627\u06cc \u0627\u062e\u06cc\u0631\u060c \u0628\u0631\u062e\u06cc \u0627\u0632 \u062d\u0633\u0627\u0628\u0647\u0627\u06cc \u06a9\u0627\u0631\u0628\u0631\u06cc Google \u06a9\u0627\u0631\u0628\u0631\u0627\u0646 \u0627\u06cc\u0631\u0627\u0646\u06cc \u0645\u0648\u0631\u062f \u062a\u062d\u0631\u06cc\u0645 \u0642\u0631\u0627\u0631 \u06af\u0631\u0641\u062a\u0647 \u0627\u0633\u062a \u0648 \u062d\u062a\u06cc \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u0641\u06cc\u0644\u062a\u0631 \u0634\u06a9\u0646 \u06cc\u0627 DNS \u0646\u06cc\u0632\u060c \u0627\u0645\u06a9\u0627\u0646 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u0633\u0631\u0648\u06cc\u0633 \u0647\u0627\u06cc \u0627\u0634\u0627\u0631\u0647 \u0634\u062f\u0647 \u0648\u062c\u0648\u062f \u0646\u062f\u0627\u0631\u062f.<br>\u062f\u0631 \u0627\u06cc\u0646 \u0635\u0648\u0631\u062a\u060c \u0645\u062c\u0628\u0648\u0631 \u0628\u0647 \u0633\u0627\u062e\u062a \u06cc\u06a9 \u0627\u06a9\u0627\u0646\u062a \u062c\u062f\u06cc\u062f \u0647\u0633\u062a\u06cc\u062f. \u062f\u0631 \u0637\u06cc \u062a\u0645\u0627\u0645\u06cc \u0645\u0631\u0627\u062d\u0644 \u0633\u0627\u062e\u062a \u0627\u06cc\u0645\u06cc\u0644 \u062c\u062f\u06cc\u062f\u060c \u0627\u0632 \u0646\u0631\u0645 \u0627\u0641\u0632\u0627\u0631\u0647\u0627\u06cc \u0636\u062f \u062a\u062d\u0631\u06cc\u0645 \u06cc\u0627 \u0641\u06cc\u0644\u062a\u0631 \u0634\u06a9\u0646 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f \u062a\u0627 \u0628\u0627 \u0622\u06cc \u067e\u06cc \u06a9\u0634\u0648\u0631 \u062e\u0627\u0631\u062c\u06cc\u060c \u0627\u06a9\u0627\u0646\u062a \u0634\u0645\u0627 \u0633\u0627\u062e\u062a\u0647 \u0634\u0648\u062f.<\/span>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-b1236d6 elementor-widget elementor-widget-alert\" data-id=\"b1236d6\" data-element_type=\"widget\" data-widget_type=\"alert.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"elementor-alert elementor-alert-info\" role=\"alert\">\n\t\t\t<span class=\"elementor-alert-title\">\u0646\u06a9\u062a\u0647:<\/span>\n\t\t\t\t\t\t\t<span class=\"elementor-alert-description\">\u062f\u0631 \u0635\u0648\u0631\u062a \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0637\u0648\u0644\u0627\u0646\u06cc \u0645\u062f\u062a \u0627\u0632 \u0627\u06a9\u0627\u0646\u062a \u062e\u0648\u062f\u2014\u0628\u062f\u0648\u0646 \u0641\u0639\u0627\u0644 \u06a9\u0631\u062f\u0646 \u0646\u0631\u0645 \u0627\u0641\u0632\u0627\u0631\u0647\u0627\u06cc \u062a\u063a\u06cc\u06cc\u0631 \u0622\u06cc \u067e\u06cc\u2014\u0645\u0645\u06a9\u0646 \u0627\u0633\u062a \u067e\u0633 \u0627\u0632 \u0645\u062f\u062a\u06cc \u062f\u0633\u062a\u0631\u0633\u06cc \u0634\u0645\u0627 \u0628\u0647 \u0633\u0631\u0648\u06cc\u0633 \u0647\u0627\u06cc \u06af\u0648\u06af\u0644 \u0645\u0633\u062f\u0648\u062f \u0634\u0648\u062f.<br>\u0627\u06af\u0631 \u0642\u0635\u062f \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0637\u0648\u0644\u0627\u0646\u06cc \u0645\u062f\u062a \u0627\u0632 \u0628\u0631\u0646\u0627\u0645\u0647 \u062e\u0648\u062f \u0631\u0627 \u062f\u0627\u0631\u06cc\u062f \u0628\u0647\u062a\u0631 \u0627\u0633\u062a \u0628\u0647 \u0635\u0648\u0631\u062a \u0645\u062f\u0627\u0648\u0645 \u0627\u0632 \u0646\u0631\u0645 \u0627\u0641\u0632\u0627\u0631\u0647\u0627\u06cc \u062a\u063a\u06cc\u06cc\u0631 \u0622\u06cc \u067e\u06cc \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f. \n\u0627\u06af\u0631 \u0627\u06cc\u0646\u06a9\u0627\u0631 \u0645\u0645\u06a9\u0646 \u0646\u0628\u0648\u062f\u060c \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u062f \u0631\u0648\u0634 \u062f\u0648\u0645\u2014 Google Apps Scrip\u2014\u0631\u0627 \u0628\u0647 \u06a9\u0627\u0631 \u0628\u0628\u0631\u06cc\u062f.<\/span>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-9efeead elementor-widget elementor-widget-heading\" data-id=\"9efeead\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<h4 class=\"elementor-heading-title elementor-size-default\">\u0641\u0639\u0627\u0644\u0633\u0627\u0632\u06cc Google Sheets API  \u0648 Google Drive API<\/h4>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-1be2c44 elementor-widget elementor-widget-text-editor\" data-id=\"1be2c44\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-text-editor elementor-clearfix\">\n\t\t\t\t<p>\u0628\u0631\u0627\u06cc \u0627\u06cc\u0646 \u06a9\u0627\u0631\u060c \u0628\u0631 \u0631\u0648\u06cc \u0627\u06cc\u0646 <a href=\"https:\/\/console.cloud.google.com\/apis\/library\/sheets.googleapis.com\">\u0644\u06cc\u0646\u06a9<\/a> \u06a9\u0644\u06cc\u06a9 \u06a9\u0631\u062f\u0647 \u0648 \u062f\u0631 \u0635\u0641\u062d\u0647 \u0628\u0627\u0632 \u0634\u062f\u0647\u060c \u0628\u0631 \u0631\u0648\u06cc \u062f\u06a9\u0645\u0647 Enable \u06a9\u0644\u06cc\u06a9 \u06a9\u0646\u06cc\u062f.<br \/>\u0633\u067e\u0633 \u0628\u0631\u0627\u06cc \u0641\u0639\u0627\u0644\u0633\u0627\u0632\u06cc Google Drive API\u060c \u0628\u0647 \u0627\u06cc\u0646 <a href=\"https:\/\/console.cloud.google.com\/apis\/library\/drive.googleapis.com\">\u0644\u06cc\u0646\u06a9<\/a> \u0645\u0631\u0627\u062c\u0639\u0647 \u0648 \u0628\u0631 \u0631\u0648\u06cc \u062f\u06a9\u0645\u0647 Enable \u0628\u0632\u0646\u06cc\u062f.<\/p>\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-6b880bf elementor-widget elementor-widget-heading\" data-id=\"6b880bf\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<h4 class=\"elementor-heading-title elementor-size-default\">\u0633\u0627\u062e\u062a Service Account Private Key<\/h4>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-dba540d elementor-widget elementor-widget-text-editor\" data-id=\"dba540d\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-text-editor elementor-clearfix\">\n\t\t\t\t<p>\u0635\u0641\u062d\u0647 <a href=\"https:\/\/console.cloud.google.com\/projectselector2\/iam-admin\/settings\">Google Cloud Console<\/a> \u0631\u0627 \u0628\u0627\u0632 \u06a9\u0646\u06cc\u062f.<br \/>1. \u06cc\u06a9 \u067e\u0631\u0648\u0698\u0647 \u062c\u062f\u06cc\u062f \u0628\u0633\u0627\u0632\u06cc\u062f \u062a\u0627 Service Account \u0628\u0631\u0627\u06cc \u0634\u0645\u0627 \u0627\u06cc\u062c\u0627\u062f \u0634\u0648\u062f.<br \/>2. Service Account \u0645\u0648\u0631\u062f \u0646\u0638\u0631 \u0631\u0627 \u0627\u0646\u062a\u062e\u0627\u0628 \u06a9\u0646\u06cc\u062f.<\/p>\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-1efaffc elementor-widget elementor-widget-image\" data-id=\"1efaffc\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-image\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"https:\/\/thecaferobot.com\/learn\/wp-content\/uploads\/2023\/09\/ESP32-google-Sheets-preparation-procedure1.jpg\" data-elementor-open-lightbox=\"yes\" data-elementor-lightbox-title=\"ESP32-google-Sheets-preparation-procedure1\" e-action-hash=\"#elementor-action%3Aaction%3Dlightbox%26settings%3DeyJpZCI6MzAyOTksInVybCI6Imh0dHBzOlwvXC90aGVjYWZlcm9ib3QuY29tXC9sZWFyblwvd3AtY29udGVudFwvdXBsb2Fkc1wvMjAyM1wvMDlcL0VTUDMyLWdvb2dsZS1TaGVldHMtcHJlcGFyYXRpb24tcHJvY2VkdXJlMS5qcGcifQ%3D%3D\">\n\t\t\t\t\t\t\t<img width=\"1140\" height=\"713\" src=\"https:\/\/thecaferobot.com\/learn\/wp-content\/uploads\/2023\/09\/ESP32-google-Sheets-preparation-procedure1-1200x750.jpg\" class=\"attachment-large size-large\" alt=\"\u06af\u0627\u0645 \u0627\u0648\u0644 \u0627\u0631\u0633\u0627\u0644 \u062f\u06cc\u062a\u0627 esp32 \u0628\u0647 \u06af\u0648\u06af\u0644 \u0634\u06cc\u062a\" loading=\"lazy\" srcset=\"https:\/\/thecaferobot.com\/learn\/wp-content\/uploads\/2023\/09\/ESP32-google-Sheets-preparation-procedure1-600x375.jpg 600w, https:\/\/thecaferobot.com\/learn\/wp-content\/uploads\/2023\/09\/ESP32-google-Sheets-preparation-procedure1-768x480.jpg 768w\" sizes=\"(max-width: 1140px) 100vw, 1140px\" \/>\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-c1942fd elementor-widget elementor-widget-text-editor\" data-id=\"c1942fd\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-text-editor elementor-clearfix\">\n\t\t\t\t<p>3. \u0628\u0631 \u0631\u0648\u06cc \u062f\u06a9\u0645\u0647 CREATE SERVICE ACCOUNT+ \u06a9\u0644\u06cc\u06a9 \u06a9\u0646\u06cc\u062f.<\/p>\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-5e29068 elementor-widget elementor-widget-image\" data-id=\"5e29068\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-image\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"https:\/\/thecaferobot.com\/learn\/wp-content\/uploads\/2023\/09\/ESP32-google-Sheets-preparation-procedure2.jpg\" data-elementor-open-lightbox=\"yes\" data-elementor-lightbox-title=\"ESP32-google-Sheets-preparation-procedure2\" e-action-hash=\"#elementor-action%3Aaction%3Dlightbox%26settings%3DeyJpZCI6MzAzMDMsInVybCI6Imh0dHBzOlwvXC90aGVjYWZlcm9ib3QuY29tXC9sZWFyblwvd3AtY29udGVudFwvdXBsb2Fkc1wvMjAyM1wvMDlcL0VTUDMyLWdvb2dsZS1TaGVldHMtcHJlcGFyYXRpb24tcHJvY2VkdXJlMi5qcGcifQ%3D%3D\">\n\t\t\t\t\t\t\t<img width=\"1140\" height=\"713\" src=\"https:\/\/thecaferobot.com\/learn\/wp-content\/uploads\/2023\/09\/ESP32-google-Sheets-preparation-procedure2-1200x750.jpg\" class=\"attachment-large size-large\" alt=\"ESP32 to Google Sheets (Preparation 2)\" loading=\"lazy\" srcset=\"https:\/\/thecaferobot.com\/learn\/wp-content\/uploads\/2023\/09\/ESP32-google-Sheets-preparation-procedure2-600x375.jpg 600w, https:\/\/thecaferobot.com\/learn\/wp-content\/uploads\/2023\/09\/ESP32-google-Sheets-preparation-procedure2-768x480.jpg 768w\" sizes=\"(max-width: 1140px) 100vw, 1140px\" \/>\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-cd7d4e7 elementor-widget elementor-widget-text-editor\" data-id=\"cd7d4e7\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-text-editor elementor-clearfix\">\n\t\t\t\t<p>4. \u0646\u0627\u0645 Service Account \u0631\u0627 \u0648\u0627\u0631\u062f \u06a9\u0646\u06cc\u062f.<br \/>5. \u062f\u0631 \u0635\u0648\u0631\u062a\u06cc \u06a9\u0647 \u0628\u0627 \u0648\u0627\u0631\u062f \u06a9\u0631\u062f\u0646 \u0646\u0627\u0645 Service Account\u060c \u0628\u062e\u0634 Service Account ID \u0628\u0647 \u0637\u0648\u0631 \u062e\u0648\u062f\u06a9\u0627\u0631 \u062a\u06a9\u0645\u06cc\u0644 \u0646\u0634\u062f\u060c \u06cc\u0627 \u0642\u0635\u062f \u0627\u0646\u062a\u062e\u0627\u0628 \u0646\u0627\u0645 \u062f\u06cc\u06af\u0631\u06cc \u0631\u0627 \u062f\u0627\u0631\u06cc\u062f\u060c \u0627\u06cc\u0646 \u0642\u0633\u0645\u062a \u0631\u0627 \u0628\u0627 \u0646\u0627\u0645 \u062f\u0644\u062e\u0648\u0627\u0647 \u067e\u0631 \u06a9\u0646\u06cc\u062f.<br \/>6. \u0628\u0631\u0631\u0648\u06cc \u062f\u06a9\u0645\u0647 Create and Continue \u06a9\u0644\u06cc\u06a9 \u06a9\u0646\u06cc\u062f.<\/p>\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-8e4b4bb elementor-widget elementor-widget-image\" data-id=\"8e4b4bb\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-image\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"https:\/\/thecaferobot.com\/learn\/wp-content\/uploads\/2023\/09\/ESP32-google-Sheets-preparation-procedure3.jpg\" data-elementor-open-lightbox=\"yes\" data-elementor-lightbox-title=\"ESP32-google-Sheets-preparation-procedure3\" e-action-hash=\"#elementor-action%3Aaction%3Dlightbox%26settings%3DeyJpZCI6MzAzMTAsInVybCI6Imh0dHBzOlwvXC90aGVjYWZlcm9ib3QuY29tXC9sZWFyblwvd3AtY29udGVudFwvdXBsb2Fkc1wvMjAyM1wvMDlcL0VTUDMyLWdvb2dsZS1TaGVldHMtcHJlcGFyYXRpb24tcHJvY2VkdXJlMy5qcGcifQ%3D%3D\">\n\t\t\t\t\t\t\t<img width=\"1140\" height=\"713\" src=\"https:\/\/thecaferobot.com\/learn\/wp-content\/uploads\/2023\/09\/ESP32-google-Sheets-preparation-procedure3-1200x750.jpg\" class=\"attachment-large size-large\" alt=\"ESP32 to Google Sheets (Preparation 3)\" loading=\"lazy\" srcset=\"https:\/\/thecaferobot.com\/learn\/wp-content\/uploads\/2023\/09\/ESP32-google-Sheets-preparation-procedure3-600x375.jpg 600w, https:\/\/thecaferobot.com\/learn\/wp-content\/uploads\/2023\/09\/ESP32-google-Sheets-preparation-procedure3-768x480.jpg 768w\" sizes=\"(max-width: 1140px) 100vw, 1140px\" \/>\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-4906bda elementor-widget elementor-widget-text-editor\" data-id=\"4906bda\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-text-editor elementor-clearfix\">\n\t\t\t\t<p>7. \u0646\u0648\u0639 Role \u0631\u0627 \u0627\u0646\u062a\u062e\u0627\u0628 \u06a9\u0646\u06cc\u062f (\u062f\u0631 \u0627\u06cc\u0646\u062c\u0627 Owner).<br \/>8. \u0628\u0631 \u0631\u0648\u06cc \u062f\u06a9\u0645\u0647 Continue \u06a9\u0644\u06cc\u06a9 \u06a9\u0646\u06cc\u062f.<br \/>9. \u062f\u0631 \u0646\u0647\u0627\u06cc\u062a \u0628\u0631 \u0631\u0648\u06cc \u062f\u06a9\u0645\u0647 Done \u0628\u0632\u0646\u06cc\u062f.<br \/>10. Service Account \u0627\u06cc\u062c\u0627\u062f \u0634\u062f\u0647 \u0631\u0627 \u0627\u0646\u062a\u062e\u0627\u0628 \u06a9\u0646\u06cc\u062f.<\/p>\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-a8b3185 elementor-widget elementor-widget-image\" data-id=\"a8b3185\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-image\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"https:\/\/thecaferobot.com\/learn\/wp-content\/uploads\/2023\/09\/ESP32-google-Sheets-preparation-procedure4.jpg\" data-elementor-open-lightbox=\"yes\" data-elementor-lightbox-title=\"ESP32-google-Sheets-preparation-procedure4\" e-action-hash=\"#elementor-action%3Aaction%3Dlightbox%26settings%3DeyJpZCI6MzAzMTQsInVybCI6Imh0dHBzOlwvXC90aGVjYWZlcm9ib3QuY29tXC9sZWFyblwvd3AtY29udGVudFwvdXBsb2Fkc1wvMjAyM1wvMDlcL0VTUDMyLWdvb2dsZS1TaGVldHMtcHJlcGFyYXRpb24tcHJvY2VkdXJlNC5qcGcifQ%3D%3D\">\n\t\t\t\t\t\t\t<img width=\"1140\" height=\"713\" src=\"https:\/\/thecaferobot.com\/learn\/wp-content\/uploads\/2023\/09\/ESP32-google-Sheets-preparation-procedure4-1200x750.jpg\" class=\"attachment-large size-large\" alt=\"ESP32 to Google Sheets (Preparation 4)\" loading=\"lazy\" srcset=\"https:\/\/thecaferobot.com\/learn\/wp-content\/uploads\/2023\/09\/ESP32-google-Sheets-preparation-procedure4-600x375.jpg 600w, https:\/\/thecaferobot.com\/learn\/wp-content\/uploads\/2023\/09\/ESP32-google-Sheets-preparation-procedure4-768x480.jpg 768w\" sizes=\"(max-width: 1140px) 100vw, 1140px\" \/>\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-84686ff elementor-widget elementor-widget-text-editor\" data-id=\"84686ff\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-text-editor elementor-clearfix\">\n\t\t\t\t<p>11. \u0648\u0627\u0631\u062f \u0642\u0633\u0645\u062a KEYS \u0634\u0648\u06cc\u062f.<br \/>12. \u0628\u0631 \u0631\u0648\u06cc \u062f\u06a9\u0645\u0647 ADD KEY \u06a9\u0644\u06cc\u06a9 \u06a9\u0646\u06cc\u062f.<\/p>\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-7e1f1c9 elementor-widget elementor-widget-image\" data-id=\"7e1f1c9\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-image\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"https:\/\/thecaferobot.com\/learn\/wp-content\/uploads\/2023\/09\/ESP32-google-Sheets-preparation-procedure5.jpg\" data-elementor-open-lightbox=\"yes\" data-elementor-lightbox-title=\"ESP32-google-Sheets-preparation-procedure5\" e-action-hash=\"#elementor-action%3Aaction%3Dlightbox%26settings%3DeyJpZCI6MzAzMTgsInVybCI6Imh0dHBzOlwvXC90aGVjYWZlcm9ib3QuY29tXC9sZWFyblwvd3AtY29udGVudFwvdXBsb2Fkc1wvMjAyM1wvMDlcL0VTUDMyLWdvb2dsZS1TaGVldHMtcHJlcGFyYXRpb24tcHJvY2VkdXJlNS5qcGcifQ%3D%3D\">\n\t\t\t\t\t\t\t<img width=\"1140\" height=\"713\" src=\"https:\/\/thecaferobot.com\/learn\/wp-content\/uploads\/2023\/09\/ESP32-google-Sheets-preparation-procedure5-1200x750.jpg\" class=\"attachment-large size-large\" alt=\"ESP32 to Google Sheets (Preparation 5)\" loading=\"lazy\" srcset=\"https:\/\/thecaferobot.com\/learn\/wp-content\/uploads\/2023\/09\/ESP32-google-Sheets-preparation-procedure5-600x375.jpg 600w, https:\/\/thecaferobot.com\/learn\/wp-content\/uploads\/2023\/09\/ESP32-google-Sheets-preparation-procedure5-768x480.jpg 768w\" sizes=\"(max-width: 1140px) 100vw, 1140px\" \/>\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-b6c4555 elementor-widget elementor-widget-text-editor\" data-id=\"b6c4555\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-text-editor elementor-clearfix\">\n\t\t\t\t<p>13. \u0646\u0648\u0639 Key Type \u0631\u0627 \u0628\u0631\u0631\u0648\u06cc JSON \u0642\u0631\u0627\u0631 \u062f\u0627\u062f\u0647 \u0648 \u0628\u0631 \u0631\u0648\u06cc CREATE \u06a9\u0644\u06cc\u06a9 \u06a9\u0646\u06cc\u062f.<\/p>\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-9451df5 elementor-widget elementor-widget-image\" data-id=\"9451df5\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-image\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"https:\/\/thecaferobot.com\/learn\/wp-content\/uploads\/2023\/09\/ESP32-google-Sheets-preparation-procedure6.jpg\" data-elementor-open-lightbox=\"yes\" data-elementor-lightbox-title=\"ESP32-google-Sheets-preparation-procedure6\" e-action-hash=\"#elementor-action%3Aaction%3Dlightbox%26settings%3DeyJpZCI6MzAzMjIsInVybCI6Imh0dHBzOlwvXC90aGVjYWZlcm9ib3QuY29tXC9sZWFyblwvd3AtY29udGVudFwvdXBsb2Fkc1wvMjAyM1wvMDlcL0VTUDMyLWdvb2dsZS1TaGVldHMtcHJlcGFyYXRpb24tcHJvY2VkdXJlNi5qcGcifQ%3D%3D\">\n\t\t\t\t\t\t\t<img width=\"1140\" height=\"713\" src=\"https:\/\/thecaferobot.com\/learn\/wp-content\/uploads\/2023\/09\/ESP32-google-Sheets-preparation-procedure6-1200x750.jpg\" class=\"attachment-large size-large\" alt=\"ESP32 to Google Sheets (Preparation 6)\" loading=\"lazy\" srcset=\"https:\/\/thecaferobot.com\/learn\/wp-content\/uploads\/2023\/09\/ESP32-google-Sheets-preparation-procedure6-600x375.jpg 600w, https:\/\/thecaferobot.com\/learn\/wp-content\/uploads\/2023\/09\/ESP32-google-Sheets-preparation-procedure6-768x480.jpg 768w\" sizes=\"(max-width: 1140px) 100vw, 1140px\" \/>\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-31d383b elementor-widget elementor-widget-text-editor\" data-id=\"31d383b\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-text-editor elementor-clearfix\">\n\t\t\t\t<p>14. \u0628\u0627 \u0627\u06cc\u0646 \u06a9\u0627\u0631\u060c \u06a9\u0644\u06cc\u062f \u0627\u062e\u062a\u0635\u0627\u0635\u06cc \u0634\u0645\u0627 \u0627\u06cc\u062c\u0627\u062f \u0634\u062f\u0647 \u0648 \u0628\u0647 \u0637\u0648\u0631 \u062e\u0648\u062f\u06a9\u0627\u0631 \u062f\u0627\u0646\u0644\u0648\u062f \u0645\u06cc \u0634\u0648\u062f. \u0628\u0631 \u0631\u0648\u06cc \u062f\u06a9\u0645\u0647 CLOSE \u06a9\u0644\u06cc\u06a9 \u06a9\u0646\u06cc\u062f.<\/p>\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-64519af elementor-widget elementor-widget-alert\" data-id=\"64519af\" data-element_type=\"widget\" data-widget_type=\"alert.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"elementor-alert elementor-alert-info\" role=\"alert\">\n\t\t\t<span class=\"elementor-alert-title\">\u0646\u06a9\u062a\u0647:<\/span>\n\t\t\t\t\t\t\t<span class=\"elementor-alert-description\">\u06af\u0627\u0645 15 \u0648 16\u060c \u0628\u0631\u0627\u06cc \u0648\u0627\u0631\u062f \u06a9\u0631\u062f\u0646 \u0645\u0634\u062e\u0635\u0627\u062a Service Account \u062f\u0631 \u06a9\u062f \u0622\u0631\u062f\u0648\u06cc\u0646\u0648 \u0627\u0633\u062a. \u062f\u0631 \u0635\u0648\u0631\u062a\u06cc \u06a9\u0647 \u0642\u0635\u062f \u062f\u0627\u0631\u06cc\u062f \u0641\u0627\u06cc\u0644 Service Account JSON key \u062a\u0648\u0633\u0637 \u062f\u0633\u062a\u0648\u0631\u0627\u062a \u06a9\u062a\u0627\u0628\u062e\u0627\u0646\u0647 \u062e\u0648\u0627\u0646\u062f\u0647 \u0634\u0648\u062f\u060c \u0627\u0632 \u0622\u0646\u0647\u0627 \u0639\u0628\u0648\u0631 \u06a9\u0646\u06cc\u062f.<\/span>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-7f30a9f elementor-widget elementor-widget-text-editor\" data-id=\"7f30a9f\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-text-editor elementor-clearfix\">\n\t\t\t\t<p>15. \u0641\u0627\u06cc\u0644 \u0628\u0627 \u067e\u0633\u0648\u0646\u062f .json \u062f\u0627\u0646\u0644\u0648\u062f \u0634\u062f\u0647 \u0631\u0627 \u0628\u0627 \u0646\u0631\u0645 \u0627\u0641\u0632\u0627\u0631\u0647\u0627\u06cc \u0648\u06cc\u0631\u0627\u06cc\u0634 \u0645\u062a\u0646 \u0628\u0627\u0632 \u06a9\u0646\u06cc\u062f. \u0645\u062a\u0646\u06cc \u0645\u0634\u0627\u0628\u0647 \u0632\u06cc\u0631 \u0628\u0627\u0632 \u0645\u06cc \u0634\u0648\u062f:<\/p>\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-b1d7338 elementor-widget elementor-widget-html\" data-id=\"b1d7338\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<pre class=\"line-numbers lang-arduino\"><code>{\r\n  \"type\": \"service_account\",\r\n  \"project_id\": \"...\",\r\n  \"private_key_id\": \"...\",\r\n  \"private_key\": \"-----BEGIN PRIVATE KEY-----\\n...\\n-----END PRIVATE KEY-----\\n\",\r\n  \"client_email\": \"...\",\r\n  \"client_id\": \"...\",\r\n  \"auth_uri\": \"https:\/\/accounts.google.com\/o\/oauth2\/auth\",\r\n  \"token_uri\": \"https:\/\/oauth2.googleapis.com\/token\",\r\n  \"auth_provider_x509_cert_url\": \"https:\/\/www.googleapis.com\/oauth2\/v1\/certs\",\r\n  \"client_x509_cert_url\": \"...\"\r\n}\r\n<\/code><\/pre>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-86bb4f1 elementor-widget elementor-widget-text-editor\" data-id=\"86bb4f1\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-text-editor elementor-clearfix\">\n\t\t\t\t<p>\u062f\u0631 \u0645\u062a\u0646 \u0641\u0648\u0642\u060c project_id\u060c client_email\u060c private_key_id \u0648 private_key \u0631\u0627 \u062f\u0631 \u0645\u062d\u0644 \u0645\u0646\u0627\u0633\u0628\u06cc \u0630\u062e\u06cc\u0631\u0647 \u06a9\u0646\u06cc\u062f. \u0628\u0631\u0627\u06cc \u06a9\u062f\u0646\u0648\u06cc\u0633\u06cc \u0622\u0631\u062f\u0648\u06cc\u0646\u0648 \u0628\u0647 \u0627\u06cc\u0646 \u067e\u0627\u0631\u0627\u0645\u062a\u0631\u0647\u0627 \u0627\u062d\u062a\u06cc\u0627\u062c \u062e\u0648\u0627\u0647\u06cc\u062f \u062f\u0627\u0634\u062a.<\/p>\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-d6d210a elementor-widget elementor-widget-alert\" data-id=\"d6d210a\" data-element_type=\"widget\" data-widget_type=\"alert.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"elementor-alert elementor-alert-success\" role=\"alert\">\n\t\t\t<span class=\"elementor-alert-title\">\u062a\u0628\u0631\u06cc\u06a9!<\/span>\n\t\t\t\t\t\t\t<span class=\"elementor-alert-description\">\u0634\u0645\u0627 \u0645\u0648\u0641\u0642 \u0628\u0647 \u0631\u0627\u0647 \u0627\u0646\u062f\u0627\u0632\u06cc Google Sheets \u0648 \u0627\u0646\u062c\u0627\u0645 \u062a\u0646\u0638\u06cc\u0645\u0627\u062a \u0622\u0646 \u0634\u062f\u06cc\u062f! <\/span>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-34621f4 elementor-widget elementor-widget-heading\" data-id=\"34621f4\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">\u06af\u0627\u0645 \u062f\u0648\u0645: \u0633\u06cc\u0645 \u0628\u0646\u062f\u06cc<\/h3>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-a88bab9 elementor-widget elementor-widget-text-editor\" data-id=\"a88bab9\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-text-editor elementor-clearfix\">\n\t\t\t\t<p>\u0628\u0631\u0627\u06cc \u0633\u06cc\u0645 \u0628\u0646\u062f\u06cc\u060c \u06a9\u0627\u0641\u06cc \u0627\u0633\u062a \u067e\u0627\u06cc\u0647\u00a0 \u0647\u0627\u06cc VCC \u0648 GND \u0633\u0646\u0633\u0648\u0631 \u0631\u0627 \u0628\u0647 \u067e\u0627\u06cc\u0647 \u0647\u0627\u06cc \u0645\u0634\u0627\u0628\u0647 \u0622\u0646 \u062f\u0631 \u0628\u0631\u062f ESP32 (VIN \u0648 GND \u06cc\u0627 5V \u0648 GND) \u0648 \u067e\u0627\u06cc\u0647 AO \u0633\u0646\u0633\u0648\u0631 \u0631\u0627 \u0628\u0647 \u067e\u0627\u06cc\u0647 34 \u0628\u0631\u062f ESP32 \u0645\u062a\u0635\u0644 \u06a9\u0646\u06cc\u062f. \u0646\u0648\u0639 \u0628\u0631\u062f ESP32 \u062a\u0641\u0627\u0648\u062a\u06cc \u062f\u0631 \u0633\u06cc\u0645 \u06a9\u0634\u06cc \u0627\u06cc\u062c\u0627\u062f \u0646\u0645\u06cc \u06a9\u0646\u062f.<\/p>\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-ea32b63 elementor-widget elementor-widget-image\" data-id=\"ea32b63\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-image\">\n\t\t\t\t\t\t\t\t\t\t\t\t<img width=\"1140\" height=\"713\" src=\"https:\/\/thecaferobot.com\/learn\/wp-content\/uploads\/2023\/09\/ESP32-google-Sheets-API-circuit-1200x750.jpg\" class=\"attachment-large size-large\" alt=\"\u0633\u06cc\u0645 \u0628\u0646\u062f\u06cc \u0627\u0631\u0633\u0627\u0644 \u062f\u06cc\u062a\u0627 \u0633\u0646\u0633\u0648\u0631 \u0628\u0647 google sheet\" loading=\"lazy\" srcset=\"https:\/\/thecaferobot.com\/learn\/wp-content\/uploads\/2023\/09\/ESP32-google-Sheets-API-circuit-600x375.jpg 600w, https:\/\/thecaferobot.com\/learn\/wp-content\/uploads\/2023\/09\/ESP32-google-Sheets-API-circuit-768x480.jpg 768w\" sizes=\"(max-width: 1140px) 100vw, 1140px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-107f151 elementor-widget elementor-widget-heading\" data-id=\"107f151\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">\u06af\u0627\u0645 \u0633\u0648\u0645: \u0646\u0635\u0628 \u06a9\u062a\u0627\u0628\u062e\u0627\u0646\u0647<\/h3>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-94af15c elementor-widget elementor-widget-text-editor\" data-id=\"94af15c\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-text-editor elementor-clearfix\">\n\t\t\t\t<p>\u0628\u0631\u0627\u06cc \u0634\u0631\u0648\u0639 \u06a9\u062f \u0646\u0648\u06cc\u0633\u06cc\u060c \u0627\u0628\u062a\u062f\u0627 \u0628\u0627\u06cc\u062f \u06a9\u062a\u0627\u0628\u062e\u0627\u0646\u0647 \u0645\u0648\u0631\u062f \u0646\u06cc\u0627\u0632 \u0631\u0627 \u0646\u0635\u0628 \u06a9\u0646\u06cc\u062f. <br \/>\u062f\u0631 \u0646\u0631\u0645 \u0627\u0641\u0632\u0627\u0631 Arduino IDE\u060c \u0648\u0627\u0631\u062f \u0642\u0633\u0645\u062a Sketch-&gt;Include Library-&gt;Manage Libraries \u0634\u0648\u06cc\u062f.<br \/>\u062f\u0631 \u067e\u0646\u062c\u0631\u0647 Library manager\u060c \u062f\u0631 \u0642\u0633\u0645\u062a \u062c\u0633\u062a\u062c\u0648\u060c \u0644\u063a\u062a Sheet \u0631\u0627 \u0648\u0627\u0631\u062f \u06a9\u0646\u06cc\u062f. \u0627\u0632 \u0628\u06cc\u0646 \u06af\u0632\u06cc\u0646\u0647 \u0647\u0627\u060c ESP Spreadsheet Client \u0631\u0627 \u0646\u0635\u0628 \u06a9\u0646\u06cc\u062f.<br \/>\u0627\u06af\u0631 \u0628\u0631\u0627\u06cc \u0646\u0635\u0628 \u06a9\u062a\u0627\u0628\u062e\u0627\u0646\u0647 \u0628\u0647 \u0631\u0627\u0647\u0646\u0645\u0627\u06cc\u06cc \u0628\u06cc\u0634\u062a\u0631\u06cc \u0646\u06cc\u0627\u0632 \u062f\u0627\u0631\u06cc\u062f\u060c \u0628\u0647 \u0627\u06cc\u0646 <a href=\"https:\/\/thecaferobot.com\/learn\/how-to-install-an-arduino-library\/\">\u0644\u06cc\u0646\u06a9<\/a> \u0645\u0631\u0627\u062c\u0639\u0647 \u06a9\u0646\u06cc\u062f. <\/p>\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-2660228 elementor-widget elementor-widget-heading\" data-id=\"2660228\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">\u06af\u0627\u0645 \u0686\u0647\u0627\u0631\u0645: \u06a9\u062f \u0622\u0631\u062f\u0648\u06cc\u0646\u0648 \u0628\u0631\u0627\u06cc \u0627\u0631\u0633\u0627\u0644 \u062f\u06cc\u062a\u0627 \u0627\u0632 ESP32 \u0628\u0647 Google Sheets<\/h3>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-23a88ab elementor-widget elementor-widget-text-editor\" data-id=\"23a88ab\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-text-editor elementor-clearfix\">\n\t\t\t\t<p>\u067e\u0633 \u0627\u0632 \u0646\u0635\u0628 \u06a9\u062a\u0627\u0628\u062e\u0627\u0646\u0647\u060c \u0627\u0628\u062a\u062f\u0627 \u06cc\u06a9 \u0627\u0633\u06a9\u0686 \u062c\u062f\u06cc\u062f Arduino \u0628\u0633\u0627\u0632\u06cc\u062f \u0648 \u06a9\u062f \u0632\u06cc\u0631 \u0631\u0627 \u062f\u0631 \u0622\u0646 \u06a9\u067e\u06cc \u06a9\u0646\u06cc\u062f.<\/p>\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-c86d176 elementor-widget elementor-widget-html\" data-id=\"c86d176\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<pre class=\"line-numbers lang-arduino\"><code>\/**\r\n Created by M.Merati\r\n\r\n Email: majid.merati.2012@gmail.com\r\n*\/\r\n\r\n\/\/ This example shows how to create the spreadsheet, update and read the values.\r\n\r\n#include &lt;Arduino.h&gt;\r\n#if defined(ESP32) || defined(ARDUINO_RASPBERRY_PI_PICO_W)\r\n#include &lt;WiFi.h&gt;\r\n#elif defined(ESP8266)\r\n#include &lt;ESP8266WiFi.h&gt;\r\n#endif\r\n#include &lt;ESP_Google_Sheet_Client.h&gt;\r\n#include &lt;stdlib.h&gt;\r\n#include \"time.h\"\r\nconst char* ntpServer = \"pool.ntp.org\";\r\nconst long gmtOffset_sec = 19800;\r\nconst int daylightOffset_sec = 0;\r\nint SensValue = 0;\r\n\r\n\/\/ For SD\/SD_MMC mounting helper\r\n#include &lt;GS_SDHelper.h&gt;\r\n\r\n#define WIFI_SSID \"Galaxy S20 FEDF80\"\r\n#define WIFI_PASSWORD \"kdbi8870\"\r\n\r\n#define PROJECT_ID \"logical-utility-388206\"\r\n\r\n\/\/ Service Account's client email\r\n#define CLIENT_EMAIL \"esp32test20230529@logical-utility-388206.iam.gserviceaccount.com\"\r\n\r\n\/\/ Your email to share access to spreadsheet\r\n#define USER_EMAIL \"majid.merati.2022@gmail.com\"\r\n\r\nchar numberArray[20];\r\n\r\n\/\/ Service Account's private key\r\nconst char PRIVATE_KEY[] PROGMEM = \"-----BEGIN PRIVATE KEY-----\\nMIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCbBLtWIEx2OmTI\\nzyNk53HtxjebDfGp0AcbAcC\/ztN6CTPYKKO7k1jGcKkSUMe7oWGr4lB\/QeS0XBFG\\nkzjS3LpIuTMlBtf4erf7fcFqCF5VlYYWwuprOmZe3hyYvlc8oBUIcgQvOA6xQcxW\\n0tJTAQXfT9g1IF3lRupZ6mCN1ILinxMQOA7zNLa7CLe2wq1hFX4kn8+YztHAiunp\\nR7EMhzZAL9rwR2VpWoFZj24TZpQzEYS1S7n3iD8d0Ip3mVmoNcYDe39I5+ZE8xe1\\nuqbc4Z5SzUe6RyytAMLL4tMAqDqvDTXtnD9Hw1f3DTymEWEFYjfjO3B6Pt90VLMG\\n48r7veZvAgMBAAECggEAO5XzCGT73woNCV8NhNCt6y6g2xneBV7wDEJ9O30drq\/w\\n3KqqXQSDQCu34VFppMagi3g\/ZtsGNQmanl0in3K2rBN8BESAKYPKSoIJIV+8GvuR\\nghhEERlulhKcPV4UnDoQO6HP1\/KdOydGiy0YKU2gWzkOq0UYsnOyywMbQAkqkj7n\\n5ELfR\/\/Leewx92zTiGrI4xns0sDm15rEYQvF8WQZeMFUblmJ+5FfuSK5hP0SaX4F\\nvv9cx34TteUm1sro+v65HYTjY8Ozcur+ZjiuSNuAx4vs7CmpUM3kAjIN2451H9ka\\ny3PY7I3bvFhy9tIHmQflFiokAFk3eH\/\/HavpmBnroQKBgQDKJYElbW1b9L+5RHK4\\nD8vRRbIgNVw1lcsBulwc4\/VyAUORd3V9JQwfGvGBKykTVvJ75USR9T49BIDBZeR+\\nfeO2RZtCaEXm5OtQgVM8p9GFUxhRk283CPf\/uZbMkNkXXCLefcVWCBr+6+2extUV\\nz+MMgghwFx4vjbJqe2RqFtA+vwKBgQDEURJ6zhKu7pJy1wNlPkfsnDwb2sbj\/UmG\\nmzA+9KEP9PQExxShRYBwyrsgGRB644kLtWv6tOTezib54SnWXAcVHXkkP1hWrw79\\nfWY9tgPldwvlT9KMXTiG6NBHDZD\/lwVtiMqulmKpXVr+AVSOp+t\/vzquvOO8MKl2\\nP5g5BvT0UQKBgQCX1S24uAWBIUd0V7Y3DB5R9KCDUrEMypMtnBWd2Zc85zgiJfEI\\na3A8WNd25r02eoMtjho\/602xNRWkrey\/Gb2U5Zller6uW9lnoYusrnxQQQauFyhc\\n1Q65dGORCWcWBa1nIl67bOEiAoF7VestM\/VdKro9vw98NlkBY+cbTEFkLwKBgHno\\nglpCR7XbrpOj05b2UwGqj2UYuXNwoUz2Z8JgdPgMu8+PtM7k8vqX2hX3mpVFYKAl\\nu\/UGii2VxPxdB3b21OsWz1hkAb5qnRtq2KevtMG06G0w4WWKqgSU5GmLEiS1qog3\\nbu11s7TKpSugtdqUihhdLtq9r4n4ifNFUIjxOgHRAoGAbMlZi6KtyuIqfpnOvYej\\nIO2SmKA85EBelrZCl2xKlIgGpLRITzfiQ5k+HH3ts22iw3ld+tBxpg82EX4Zuavj\\niM57EIf6hzLsh8eLpic85ziD6PV14PBQUECS1Bb14fMJ4k3rcGcNFo2o9tgjlu9R\\nKDx2yXeNgh\/pToM7GLvlIOg=\\n-----END PRIVATE KEY-----\\n\";\r\n\r\nbool taskComplete = false;\r\n\r\n#if defined(ARDUINO_RASPBERRY_PI_PICO_W)\r\nWiFiMulti multi;\r\n#endif\r\n\r\nvoid tokenStatusCallback(TokenInfo info);\r\n\r\nvoid setup()\r\n{\r\n\r\n Serial.begin(115200);\r\n Serial.println();\r\n Serial.println();\r\n\r\n#if defined(ESP32) || defined(ESP8266)\r\n WiFi.setAutoReconnect(true);\r\n#endif\r\n\r\n#if defined(ARDUINO_RASPBERRY_PI_PICO_W)\r\n multi.addAP(WIFI_SSID, WIFI_PASSWORD);\r\n multi.run();\r\n#else\r\n WiFi.begin(WIFI_SSID, WIFI_PASSWORD);\r\n#endif\r\n\r\n Serial.print(\"Connecting to Wi-Fi\");\r\n unsigned long ms = millis();\r\n while (WiFi.status() != WL_CONNECTED)\r\n {\r\n Serial.print(\".\");\r\n delay(300);\r\n#if defined(ARDUINO_RASPBERRY_PI_PICO_W)\r\n if (millis() - ms &gt; 10000)\r\n break;\r\n#endif\r\n }\r\n Serial.println();\r\n Serial.print(\"Connected with IP: \");\r\n Serial.println(WiFi.localIP());\r\n Serial.println();\r\n\r\n \/\/ Set the callback for Google API access token generation status (for debug only)\r\n GSheet.setTokenCallback(tokenStatusCallback);\r\n\r\n \/\/ The WiFi credentials are required for Pico W\r\n \/\/ due to it does not have reconnect feature.\r\n#if defined(ARDUINO_RASPBERRY_PI_PICO_W)\r\n GSheet.clearAP();\r\n GSheet.addAP(WIFI_SSID, WIFI_PASSWORD);\r\n#endif\r\n\r\n \/\/ Set the seconds to refresh the auth token before expire (60 to 3540, default is 300 seconds)\r\n GSheet.setPrerefreshSeconds(10 * 60);\r\n\r\n \/\/ Begin the access token generation for Google API authentication\r\n GSheet.begin(CLIENT_EMAIL, PROJECT_ID, PRIVATE_KEY);\r\n\r\n configTime(gmtOffset_sec, daylightOffset_sec, ntpServer);\r\n}\r\n\r\nvoid loop()\r\n{\r\n \/\/ Call ready() repeatedly in loop for authentication checking and processing\r\n bool ready = GSheet.ready();\r\n\r\n if (ready &amp;&amp; !taskComplete)\r\n {\r\n FirebaseJson response;\r\n\r\n Serial.println(\"\\nCreate spreadsheet...\");\r\n Serial.println(\"------------------------\");\r\n\r\n FirebaseJson spreadsheet;\r\n spreadsheet.set(\"properties\/title\", \"Gas Sensor Data Log\");\r\n spreadsheet.set(\"sheets\/properties\/gridProperties\/rowCount\", 100 );\r\n spreadsheet.set(\"sheets\/properties\/gridProperties\/columnCount\", 2);\r\n\r\n String spreadsheetId, spreadsheetURL;\r\n bool success = false;\r\n\r\n \/\/ For Google Sheet API ref doc, go to https:\/\/developers.google.com\/sheets\/api\/reference\/rest\/v4\/spreadsheets\/create\r\n\r\n success = GSheet.create(&amp;response \/* returned response *\/, &amp;spreadsheet \/* spreadsheet object *\/, USER_EMAIL \/* your email that this spreadsheet shared to *\/);\r\n response.toString(Serial, true);\r\n Serial.println();\r\n \r\n\r\n if (success)\r\n {\r\n \/\/ Get the spreadsheet id from already created file.\r\n FirebaseJsonData result;\r\n response.get(result, FPSTR(\"spreadsheetId\")); \/\/ parse or deserialize the JSON response\r\n if (result.success)\r\n spreadsheetId = result.to&lt;const char *&gt;();\r\n\r\n \/\/ Get the spreadsheet URL.\r\n result.clear();\r\n response.get(result, FPSTR(\"spreadsheetUrl\")); \/\/ parse or deserialize the JSON response\r\n if (result.success)\r\n {\r\n spreadsheetURL = result.to&lt;const char *&gt;();\r\n Serial.println(\"\\nThe spreadsheet URL\");\r\n Serial.println(spreadsheetURL);\r\n }\r\n\r\n struct tm timeinfo;\r\n char timeStringBuff[50];\r\n String asString;\r\n char buffer[40];\r\n\r\n\r\n FirebaseJson valueRange;\r\n for (int counter = 0; counter &lt; 10; counter++)\r\n {\r\n Serial.println(\"\\nUpdate spreadsheet values...\");\r\n Serial.println(\"------------------------------\");\r\n if (!getLocalTime(&amp;timeinfo)) {\r\n Serial.println(\"Failed to obtain time\");\r\n return;\r\n }\r\n strftime(timeStringBuff, sizeof(timeStringBuff), \"%A, %B %d %Y %H:%M:%S\", &amp;timeinfo);\r\n asString = timeStringBuff;\r\n asString.replace(\" \", \"-\");\r\n SensValue = analogRead(34);\r\n itoa(SensValue, numberArray, 10);\r\n\r\n sprintf(buffer, \"values\/[%d]\/[1]\", counter);\r\n valueRange.set(buffer, numberArray);\r\n sprintf(buffer, \"values\/[%d]\/[0]\", counter);\r\n valueRange.set(buffer, asString);\r\n sprintf(buffer, \"Sheet1!A%d:B%d\", 1 + counter, 10 + counter);\r\n\r\n success = GSheet.values.update(&amp;response \/* returned response *\/, spreadsheetId \/* spreadsheet Id to update *\/, \"Sheet1!A1:B1000\" \/* range to update *\/, &amp;valueRange \/* data to update *\/);\r\n response.toString(Serial, true);\r\n Serial.println();\r\n \/\/valueRange.clear();\r\n delay(5000);\r\n }\r\n\r\n \/\/ For Google Sheet API ref doc, go to https:\/\/developers.google.com\/sheets\/api\/reference\/rest\/v4\/spreadsheets.values\/update\r\n\r\n if (success)\r\n {\r\n\r\n Serial.println(\"\\nGet spreadsheet values...\");\r\n Serial.println(\"------------------------------\");\r\n\r\n success = GSheet.values.get(&amp;response \/* returned response *\/, spreadsheetId \/* spreadsheet Id to read *\/, \"Sheet1!A1:B10\" \/* range to read *\/);\r\n response.toString(Serial, true);\r\n Serial.println();\r\n\r\n\r\n\r\n#if defined(ESP32) || defined(ESP8266)\r\n Serial.println(ESP.getFreeHeap());\r\n#elif defined(PICO_RP2040)\r\n Serial.println(rp2040.getFreeHeap());\r\n#endif\r\n }\r\n }\r\n\r\n taskComplete = true;\r\n }\r\n}\r\n\r\nvoid tokenStatusCallback(TokenInfo info)\r\n{\r\n if (info.status == esp_signer_token_status_error)\r\n {\r\n Serial.printf(\"Token info: type = %s, status = %s\\n\", GSheet.getTokenType(info).c_str(), GSheet.getTokenStatus(info).c_str());\r\n Serial.printf(\"Token error: %s\\n\", GSheet.getTokenError(info).c_str());\r\n }\r\n else\r\n {\r\n Serial.printf(\"Token info: type = %s, status = %s\\n\", GSheet.getTokenType(info).c_str(), GSheet.getTokenStatus(info).c_str());\r\n }\r\n}\r\n<\/code><\/pre>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-36f82f7 elementor-widget elementor-widget-heading\" data-id=\"36f82f7\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<h4 class=\"elementor-heading-title elementor-size-default\">\u062a\u0648\u0636\u06cc\u062d\u0627\u062a \u06a9\u062f<\/h4>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-3d06d64 elementor-widget elementor-widget-text-editor\" data-id=\"3d06d64\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-text-editor elementor-clearfix\">\n\t\t\t\t<p>\u062f\u0631 \u0627\u0628\u062a\u062f\u0627\u06cc \u0628\u0631\u0646\u0627\u0645\u0647\u060c \u06a9\u062a\u0627\u0628\u062e\u0627\u0646\u0647 \u0647\u0627\u06cc \u0645\u0648\u0631\u062f \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0631\u0627 \u0628\u0627\u0631\u06af\u0630\u0627\u0631\u06cc \u0645\u06cc \u06a9\u0646\u06cc\u0645.<\/p>\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-ddca353 elementor-widget elementor-widget-html\" data-id=\"ddca353\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<pre class=\"line-numbers lang-arduino\"><code>#include &lt;Arduino.h&gt;\r\n#if defined(ESP32) || defined(ARDUINO_RASPBERRY_PI_PICO_W)\r\n#include &lt;WiFi.h&gt;\r\n#elif defined(ESP8266)\r\n#include &lt;ESP8266WiFi.h&gt;\r\n#endif\r\n#include &lt;ESP_Google_Sheet_Client.h&gt;\r\n#include &lt;stdlib.h&gt;\r\n#include \"time.h\"\r\n<\/code><\/pre>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-de13dec elementor-widget elementor-widget-text-editor\" data-id=\"de13dec\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-text-editor elementor-clearfix\">\n\t\t\t\t<p>\u06a9\u062a\u0627\u0628\u062e\u0627\u0646\u0647 WiFi.h \u0628\u0631\u0627\u06cc \u0628\u0631\u0642\u0631\u0627\u0631\u06cc \u0627\u062a\u0635\u0627\u0644 WiFi \u0627\u0633\u062a \u0648 \u06a9\u062a\u0627\u0628\u062e\u0627\u0646\u0647 ESP_Google_Sheet_Client.h \u0628\u0631\u0627\u06cc \u0628\u0631\u0642\u0631\u0627\u0631\u06cc \u0627\u0631\u062a\u0628\u0627\u0637 \u0628\u0627 Googel Sheets API \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc \u0634\u0648\u062f. <br \/>\u062f\u0631 \u0627\u062f\u0627\u0645\u0647\u060c \u0645\u0634\u062e\u0635\u0627\u062a WiFi \u0631\u0627 \u0628\u0631\u0627\u06cc \u0645\u06cc\u06a9\u0631\u0648\u06a9\u0646\u062a\u0631\u0644\u0631 ESP32 \u0645\u0639\u0631\u0641\u06cc \u0645\u06cc \u06a9\u0646\u06cc\u0645.<\/p>\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-25c7e03 elementor-widget elementor-widget-html\" data-id=\"25c7e03\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<pre class=\"line-numbers lang-arduino\"><code>#define WIFI_SSID \"**********\"\r\n#define WIFI_PASSWORD \"**********\"\r\n<\/code><\/pre>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-fbdad8d elementor-widget elementor-widget-text-editor\" data-id=\"fbdad8d\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-text-editor elementor-clearfix\">\n\t\t\t\t<p>\u062f\u0631 \u06a9\u062f \u0632\u06cc\u0631\u060c \u0628\u0627\u06cc\u062f \u0627\u0637\u0644\u0627\u0639\u0627\u062a \u0628\u0647 \u062f\u0633\u062a \u0622\u0645\u062f\u0647 \u0627\u0632 \u06af\u0627\u0645 \u0647\u0627\u06cc 15 \u0648 16 \u0645\u0631\u062d\u0644\u0647 \u0642\u0628\u0644 \u0631\u0627 \u0648\u0627\u0631\u062f \u0628\u0631\u0646\u0627\u0645\u0647 \u06a9\u0646\u06cc\u062f.<\/p>\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-921c3bf elementor-widget elementor-widget-html\" data-id=\"921c3bf\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<pre class=\"line-numbers lang-arduino\"><code>#define PROJECT_ID \"**************\"\r\n\r\n\/\/ Service Account's client email\r\n#define CLIENT_EMAIL \"*******************\"\r\n\r\n\/\/ Your email to share access to spreadsheet\r\n#define USER_EMAIL \"************\"\r\n\r\nchar numberArray[20];\r\n\r\n\/\/ Service Account's private key\r\nconst char PRIVATE_KEY[] PROGMEM = **********************\"\";\r\n<\/code><\/pre>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-8a3de82 elementor-widget elementor-widget-text-editor\" data-id=\"8a3de82\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-text-editor elementor-clearfix\">\n\t\t\t\t<p><strong>\u062a\u0627\u0628\u0639 setup():<\/strong><br \/>\u062f\u0631 \u062a\u0627\u0628\u0639 setup()\u060c \u0627\u0628\u062a\u062f\u0627 \u0627\u0631\u062a\u0628\u0627\u0637 \u0633\u0631\u06cc\u0627\u0644 \u0631\u0627 \u0628\u0631\u0627\u06cc \u0628\u0631\u0631\u0633\u06cc \u0639\u0645\u0644\u06a9\u0631\u062f \u0628\u0631\u0646\u0627\u0645\u0647 \u062f\u0631 \u0645\u0631\u0627\u062d\u0644 \u0645\u062e\u062a\u0644\u0641 \u0628\u0631\u0642\u0631\u0627\u0631 \u0645\u06cc \u06a9\u0646\u06cc\u0645. \u0633\u067e\u0633 \u0628\u0647 \u0634\u0628\u06a9\u0647 WiFi \u0645\u0639\u0631\u0641\u06cc \u0634\u062f\u0647 \u0628\u0647 \u06a9\u062f \u0628\u0631\u0646\u0627\u0645\u0647 \u0645\u062a\u0635\u0644 \u0645\u06cc \u0634\u0648\u06cc\u0645. \u062f\u0631 \u0635\u0648\u0631\u062a \u0639\u062f\u0645 \u0628\u0631\u0648\u0632 \u062e\u0637\u0627\u060c \u0622\u06cc \u067e\u06cc ESP32 \u062f\u0631 \u0634\u0628\u06a9\u0647 \u0631\u0627 \u062f\u0631 \u067e\u0648\u0631\u062a \u0633\u0631\u06cc\u0627\u0644 \u0627\u0631\u0633\u0627\u0644 \u0645\u06cc \u06a9\u0646\u06cc\u0645.<br \/>\u062f\u0631 \u0646\u0647\u0627\u06cc\u062a \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u0645\u0634\u062e\u0635\u0627\u062a CLIENT_EMAIL\u060c PROJECT_ID \u0648 PRIVATE_KEY \u06a9\u0647 \u0642\u0628\u0644\u0627\u064b \u062f\u0631 \u06a9\u062f \u0648\u0627\u0631\u062f \u06a9\u0631\u062f\u0647 \u0628\u0648\u062f\u06cc\u0645\u060c ESP32 \u0631\u0627 \u0628\u0647 \u0633\u0631\u0648\u06cc\u0633 Google Sheets API \u0645\u062a\u0635\u0644 \u0645\u06cc \u06a9\u0646\u06cc\u0645.<\/p>\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-2c8b95b elementor-widget elementor-widget-html\" data-id=\"2c8b95b\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<pre class=\"line-numbers lang-arduino\"><code>void setup()\r\n{\r\n\r\n Serial.begin(115200);\r\n Serial.println();\r\n Serial.println();\r\n\r\n#if defined(ESP32) || defined(ESP8266)\r\n WiFi.setAutoReconnect(true);\r\n#endif\r\n\r\n#if defined(ARDUINO_RASPBERRY_PI_PICO_W)\r\n multi.addAP(WIFI_SSID, WIFI_PASSWORD);\r\n multi.run();\r\n#else\r\n WiFi.begin(WIFI_SSID, WIFI_PASSWORD);\r\n#endif\r\n\r\n Serial.print(\"Connecting to Wi-Fi\");\r\n unsigned long ms = millis();\r\n while (WiFi.status() != WL_CONNECTED)\r\n {\r\n Serial.print(\".\");\r\n delay(300);\r\n#if defined(ARDUINO_RASPBERRY_PI_PICO_W)\r\n if (millis() - ms &gt; 10000)\r\n break;\r\n#endif\r\n }\r\n Serial.println();\r\n Serial.print(\"Connected with IP: \");\r\n Serial.println(WiFi.localIP());\r\n Serial.println();\r\n \r\n \/\/ Set the callback for Google API access token generation status (for debug only)\r\n GSheet.setTokenCallback(tokenStatusCallback);\r\n\r\n \/\/ The WiFi credentials are required for Pico W\r\n \/\/ due to it does not have reconnect feature.\r\n#if defined(ARDUINO_RASPBERRY_PI_PICO_W)\r\n GSheet.clearAP();\r\n GSheet.addAP(WIFI_SSID, WIFI_PASSWORD);\r\n#endif\r\n\r\n \/\/ Set the seconds to refresh the auth token before expire (60 to 3540, default is 300 seconds)\r\n GSheet.setPrerefreshSeconds(10 * 60);\r\n\r\n \/\/ Begin the access token generation for Google API authentication\r\n GSheet.begin(CLIENT_EMAIL, PROJECT_ID, PRIVATE_KEY);\r\n\r\n configTime(gmtOffset_sec, daylightOffset_sec, ntpServer);\r\n}\r\n<\/code><\/pre>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-6736ac7 elementor-widget elementor-widget-text-editor\" data-id=\"6736ac7\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-text-editor elementor-clearfix\">\n\t\t\t\t<p><strong>\u062a\u0627\u0628\u0639 ()loop:<\/strong><br \/>\u062f\u0631 \u062a\u0627\u0628\u0639 loop()\u060c \u0627\u0628\u062a\u062f\u0627 \u0628\u0631\u0631\u0633\u06cc \u0645\u06cc \u06a9\u0646\u06cc\u0645 \u06a9\u0647 \u0622\u06cc\u0627 ESP32 \u0648 Google Sheets \u0622\u0645\u0627\u062f\u0647 \u0627\u0631\u062a\u0628\u0627\u0637 \u0628\u0627 \u06cc\u06a9\u062f\u06cc\u06af\u0631 \u0647\u0633\u062a\u0646\u062f.<\/p>\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-5e2d955 elementor-widget elementor-widget-html\" data-id=\"5e2d955\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<pre class=\"line-numbers lang-arduino\"><code>bool ready = GSheet.ready();\r\n<\/code><\/pre>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-c34e787 elementor-widget elementor-widget-text-editor\" data-id=\"c34e787\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-text-editor elementor-clearfix\">\n\t\t\t\t<p>\u06cc\u06a9 instance \u0628\u0631\u0627\u06cc response \u062f\u0631\u06cc\u0627\u0641\u062a\u06cc \u0627\u0632 Google Sheets \u0627\u06cc\u062c\u0627\u062f \u06a9\u0631\u062f\u0647\u060c \u0648 \u062f\u0631 \u0635\u0648\u0631\u062a \u0622\u0645\u0627\u062f\u0647 \u0628\u0648\u062f\u0646 \u0627\u0631\u062a\u0628\u0627\u0637\u060c \u0645\u062a\u0646 \u0632\u06cc\u0631 \u0631\u0627 \u062f\u0631 \u067e\u0648\u0631\u062a \u0633\u0631\u06cc\u0627\u0644 \u0686\u0627\u067e \u0645\u06cc \u06a9\u0646\u06cc\u0645.<\/p>\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-a2a6c3a elementor-widget elementor-widget-html\" data-id=\"a2a6c3a\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<pre class=\"line-numbers lang-arduino\"><code>Serial.println(\"\\nCreate spreadsheet...\");\r\nSerial.println(\"------------------------\");\r\n<\/code><\/pre>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-f795918 elementor-widget elementor-widget-text-editor\" data-id=\"f795918\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-text-editor elementor-clearfix\">\n\t\t\t\t<p>\u0628\u0631\u0627\u06cc \u0627\u0646\u062c\u0627\u0645 \u06a9\u0627\u0631\u0647\u0627\u06cc \u0645\u062e\u062a\u0644\u0641 \u0628\u0631 \u0631\u0648\u06cc Sheet\u060c \u06cc\u06a9 Instance \u0628\u0647 \u0635\u0648\u0631\u062a \u0632\u06cc\u0631 \u062a\u0639\u0631\u06cc\u0641 \u0645\u06cc \u06a9\u0646\u06cc\u0645.<\/p>\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-878dc6d elementor-widget elementor-widget-html\" data-id=\"878dc6d\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<pre class=\"line-numbers lang-arduino\"><code>FirebaseJson spreadsheet;\r\n<\/code><\/pre>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-c6604b9 elementor-widget elementor-widget-text-editor\" data-id=\"c6604b9\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-text-editor elementor-clearfix\">\n\t\t\t\t<p>\u062f\u0631 \u062e\u0637 116\u060c \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u062f \u0639\u0646\u0648\u0627\u0646 \u0641\u0627\u06cc\u0644 Sheet \u0627\u06cc\u062c\u0627\u062f \u0634\u062f\u0647 \u0631\u0627 \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 instance \u0641\u0648\u0642 \u062a\u063a\u06cc\u06cc\u0631 \u062f\u0647\u06cc\u062f. \u0647\u0645\u0686\u0646\u06cc\u0646 \u062f\u0631 \u062e\u0637 117 \u0648 118\u060c \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u062f \u062a\u0639\u062f\u0627\u062f \u0633\u0637\u0631 \u0648 \u0633\u062a\u0648\u0646 \u0634\u06cc\u062a \u0645\u0648\u0631\u062f \u0646\u0638\u0631 \u0631\u0627 \u062a\u0639\u0631\u06cc\u0641 \u06a9\u0646\u06cc\u062f.<\/p>\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-e6989f9 elementor-widget elementor-widget-html\" data-id=\"e6989f9\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<pre class=\"line-numbers lang-arduino\"><code>spreadsheet.set(\"properties\/title\", \"Gas Sensor Data Log\");\r\nspreadsheet.set(\"sheets\/properties\/gridProperties\/rowCount\", 100 );\r\nspreadsheet.set(\"sheets\/properties\/gridProperties\/columnCount\", 2);\r\n<\/code><\/pre>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-7bc7c2a elementor-widget elementor-widget-text-editor\" data-id=\"7bc7c2a\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-text-editor elementor-clearfix\">\n\t\t\t\t<p>\u0628\u0631\u0627\u06cc \u062a\u063a\u06cc\u06cc\u0631 \u0633\u0627\u06cc\u0631 \u0645\u0634\u062e\u0635\u0627\u062a \u0627\u0632 \u062c\u0645\u0644\u0647 \u0646\u0627\u0645 Sheet\u060c ID \u0622\u0646\u060c \u0646\u0648\u0639 Sheet (\u062f\u0631 \u0627\u06cc\u0646\u062c\u0627 GRID)\u060c \u062a\u0639\u062f\u0627\u062f \u0633\u0637\u0631 \u0648 \u0633\u062a\u0648\u0646\u060c \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u062f \u06a9\u062f\u0647\u0627\u06cc \u0632\u06cc\u0631 \u0631\u0627 \u062f\u0631 \u062e\u0637 120 \u0628\u0647 \u0628\u0631\u0646\u0627\u0645\u0647 \u0627\u0636\u0627\u0641\u0647 \u06a9\u0646\u06cc\u062f.<\/p>\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-16e597e elementor-widget elementor-widget-html\" data-id=\"16e597e\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<pre class=\"line-numbers lang-arduino\"><code>       spreadsheet.set(\"properties\/title\", \"ENTER YOUR FILE NAME HERE\");\r\n\r\n        spreadsheet.set(\"sheets\/properties\/title\", \"ENTER YOUR SHEET TITLE HERE\");\r\n        spreadsheet.set(\"sheets\/properties\/sheetId\", TYPE SHEET ID HERE (Ex. 1));\r\n        spreadsheet.set(\"sheets\/properties\/sheetType\", \u201cENTER SHEET TYPE HERE (Ex. \"GRID\")\u201d);\r\n        spreadsheet.set(\"sheets\/properties\/gridProperties\/rowCount\", ENTER SHEET ROW COUNT HERE (EX. 20) );\r\n        spreadsheet.set(\"sheets\/properties\/gridProperties\/columnCount\", ENTER SHEET COLUMN COUNT HERE (EX. 10));\r\n<\/code><\/pre>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-35a4c8c elementor-widget elementor-widget-text-editor\" data-id=\"35a4c8c\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-text-editor elementor-clearfix\">\n\t\t\t\t<p>\u067e\u0633 \u0627\u0632 \u062a\u0639\u06cc\u06cc\u0646 \u0646\u0627\u0645 \u0641\u0627\u06cc\u0644\u060c \u060c \u0641\u0627\u06cc\u0644 \u0628\u0627 \u0645\u0634\u062e\u0635\u0627\u062a \u062a\u0639\u0631\u06cc\u0641 \u0634\u062f\u0647 \u0631\u0627 \u0628\u0647 \u0648\u0633\u06cc\u0644\u0647 \u06a9\u062f \u062e\u0637 126 \u0627\u06cc\u062c\u0627\u062f \u06a9\u0631\u062f\u0647 \u0648 \u067e\u0627\u0633\u062e \u062f\u0631\u06cc\u0627\u0641\u062a\u06cc \u0627\u0632 Google Sheets \u0631\u0627 \u062f\u0631 \u067e\u0648\u0631\u062a \u0633\u0631\u06cc\u0627\u0644 \u0686\u0627\u067e \u0645\u06cc \u06a9\u0646\u06cc\u0645.<\/p>\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-e5559a5 elementor-widget elementor-widget-html\" data-id=\"e5559a5\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<pre class=\"line-numbers lang-arduino\"><code>    success = GSheet.create(&response \/* returned response *\/, &spreadsheet \/* spreadsheet object *\/, USER_EMAIL \/* your email that this spreadsheet shared to *\/);\r\n    response.toString(Serial, true);\r\n    Serial.println();\r\n<\/code><\/pre>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-79e690e elementor-widget elementor-widget-text-editor\" data-id=\"79e690e\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-text-editor elementor-clearfix\">\n\t\t\t\t<p>\u0627\u06af\u0631 \u0641\u0627\u06cc\u0644 \u0628\u0627 \u0645\u0648\u0641\u0642\u06cc\u062a \u0627\u06cc\u062c\u0627\u062f \u0634\u062f\u060c spreadsheetId \u0648 spreadsheetUrl \u0631\u0627 \u0627\u0632 Google Sheets \u062f\u0631\u06cc\u0627\u0641\u062a \u0648 \u062f\u0631 \u067e\u0648\u0631\u062a \u0633\u0631\u06cc\u0627\u0644 \u0686\u0627\u067e \u0645\u06cc \u06a9\u0646\u06cc\u0645.<\/p>\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-0088fea elementor-widget elementor-widget-html\" data-id=\"0088fea\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<pre class=\"line-numbers lang-arduino\"><code>response.get(result, FPSTR(\"spreadsheetId\")); \r\n if (result.success)\r\n spreadsheetId = result.to&lt;const char *&gt;();\r\n\r\n \/\/ Get the spreadsheet URL.\r\n result.clear();\r\n response.get(result, FPSTR(\"spreadsheetUrl\")); \r\n if (result.success)\r\n {\r\n spreadsheetURL = result.to&lt;const char *&gt;();\r\n Serial.println(\"\\nThe spreadsheet URL\");\r\n Serial.println(spreadsheetURL);\r\n }\r\n<\/code><\/pre>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-7c370ba elementor-widget elementor-widget-text-editor\" data-id=\"7c370ba\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-text-editor elementor-clearfix\">\n\t\t\t\t<p><strong>\u0627\u0631\u0633\u0627\u0644 \u062f\u0627\u062f\u0647 \u0627\u0632 ESP32 \u0628\u0647 Google Sheets:<\/strong><br \/>\u062d\u0627\u0644 \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u062f \u062f\u0631 \u0641\u0627\u06cc\u0644 \u0627\u06cc\u062c\u0627\u062f \u0634\u062f\u0647\u060c \u062f\u0627\u062f\u0647 \u0647\u0627\u06cc \u0645\u0648\u0631\u062f \u0646\u0638\u0631 \u062e\u0648\u062f \u0631\u0627 \u0648\u0627\u0631\u062f \u06a9\u0646\u06cc\u062f. \u0645\u0627 \u062f\u0631 \u0627\u06cc\u0646\u062c\u0627 \u062f\u0627\u062f\u0647 \u0647\u0627\u06cc \u0633\u0646\u0633\u0648\u0631 \u06af\u0627\u0632 \u0631\u0627 \u06a9\u0647 \u062e\u0631\u0648\u062c\u06cc \u0622\u0646 \u0628\u0647 \u0635\u0648\u0631\u062a \u0622\u0646\u0627\u0644\u0648\u06af \u0627\u0633\u062a\u060c \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 ADC \u0648\u0627\u0631\u062f \u0628\u0631\u0646\u0627\u0645\u0647 \u0645\u06cc \u06a9\u0646\u06cc\u0645.<br \/>\u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u062f \u0628\u0647 \u062c\u0627\u06cc \u0627\u06cc\u0646 \u0633\u0646\u0633\u0648\u0631\u060c \u0647\u0631 \u0646\u0648\u0639 \u062e\u0631\u0648\u062c\u06cc \u0633\u0646\u0633\u0648\u0631 \u0648 \u06cc\u0627 \u062f\u0627\u062f\u0647 \u062f\u06cc\u06af\u0631\u06cc (\u0639\u062f\u062f \u0648 \u06cc\u0627 \u0645\u062a\u0646) \u0631\u0627 \u062f\u0631 \u0627\u06cc\u0646 \u0642\u0633\u0645\u062a \u0628\u0647 \u0628\u0631\u0646\u0627\u0645\u0647 \u0628\u062f\u0647\u06cc\u062f \u062a\u0627 \u0648\u0627\u0631\u062f Google Sheets \u06a9\u0646\u062f.<br \/>\u062f\u0631 \u062d\u0644\u0642\u0647 For \u0632\u06cc\u0631\u060c \u0627\u0628\u062a\u062f\u0627 \u062a\u0627\u0631\u06cc\u062e \u0648 \u0632\u0645\u0627\u0646 \u0641\u0639\u0644\u06cc \u0633\u06cc\u0633\u062a\u0645 \u0631\u0627 \u0645\u06cc \u062e\u0648\u0627\u0646\u06cc\u0645. \u0633\u067e\u0633 \u062e\u0631\u0648\u062c\u06cc \u0633\u0646\u0633\u0648\u0631 \u06af\u0627\u0632 \u0631\u0627 \u062a\u0648\u0633\u0637 ADC \u062f\u0631 \u0645\u062a\u063a\u06cc\u0631 SensValue \u0630\u062e\u06cc\u0631\u0647 \u0645\u06cc \u06a9\u0646\u06cc\u0645. \u0627\u06cc\u0646 \u062f\u0648 \u062f\u0627\u062f\u0647 \u0631\u0627 \u062f\u0631 \u06cc\u06a9 \u0633\u0637\u0631 \u0648 \u062f\u0648 \u0633\u062a\u0648\u0646\u060c \u0628\u0647 Google Sheets \u0627\u0631\u0633\u0627\u0644 \u0645\u06cc \u06a9\u0646\u06cc\u0645. \u0633\u067e\u0633 \u0646\u062a\u06cc\u062c\u0647 \u0627\u0631\u0633\u0627\u0644 \u062f\u0627\u062f\u0647 \u0631\u0627 \u062f\u0631 \u067e\u0648\u0631\u062a \u0633\u0631\u06cc\u0627\u0644 \u0686\u0627\u067e \u0645\u06cc \u06a9\u0646\u06cc\u0645.<br \/>\u0627\u06cc\u0646 \u0639\u0645\u0644\u06cc\u0627\u062a \u0631\u0627 \u0628\u0647 \u062a\u0639\u062f\u0627\u062f 10 \u0628\u0627\u0631 \u0648 \u0628\u0647 \u0641\u0627\u0635\u0644\u0647 \u0632\u0645\u0627\u0646\u06cc 5 \u062b\u0627\u0646\u06cc\u0647 \u062a\u06a9\u0631\u0627\u0631 \u0645\u06cc \u06a9\u0646\u06cc\u0645. \u0634\u0645\u0627 \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u062f \u062a\u0639\u062f\u0627\u062f \u0646\u0645\u0648\u0646\u0647 \u06af\u06cc\u0631\u06cc \u0631\u0627 \u062a\u063a\u06cc\u06cc\u0631 \u062f\u0647\u06cc\u062f.<\/p>\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-4ca4c66 elementor-widget elementor-widget-html\" data-id=\"4ca4c66\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<pre class=\"line-numbers lang-arduino\"><code>FirebaseJson valueRange;\r\n\r\n for (int counter = 0; counter &lt; 10; counter++)\r\n {\r\n Serial.println(\"\\nUpdate spreadsheet values...\");\r\n Serial.println(\"------------------------------\");\r\n if (!getLocalTime(&amp;timeinfo)) {\r\n Serial.println(\"Failed to obtain time\");\r\n return;\r\n }\r\n strftime(timeStringBuff, sizeof(timeStringBuff), \"%A, %B %d %Y %H:%M:%S\", &amp;timeinfo);\r\n asString = timeStringBuff;\r\n asString.replace(\" \", \"-\");\r\n SensValue = analogRead(34);\r\n itoa(SensValue, numberArray, 10);\r\n\r\n sprintf(buffer, \"values\/[%d]\/[1]\", counter);\r\n valueRange.set(buffer, numberArray);\r\n sprintf(buffer, \"values\/[%d]\/[0]\", counter);\r\n valueRange.set(buffer, asString);\r\n sprintf(buffer, \"Sheet1!A%d:B%d\", 1+counter,10+counter);\r\n\r\n success = GSheet.values.update(&amp;response \/* returned response *\/, spreadsheetId \/* spreadsheet Id to update *\/, \"Sheet1!A1:B1000\" \/* range to update *\/, &amp;valueRange \/* data to update *\/);\r\n response.toString(Serial, true);\r\n Serial.println();\r\n \/\/valueRange.clear();\r\n delay(5000);\r\n }\r\n<\/code><\/pre>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-24a1191 elementor-widget elementor-widget-text-editor\" data-id=\"24a1191\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-text-editor elementor-clearfix\">\n\t\t\t\t<p>\u062f\u0631 \u0635\u0648\u0631\u062a \u0645\u0648\u0641\u0642 \u0628\u0648\u062f\u0646 \u0639\u0645\u0644\u06cc\u0627\u062a \u0627\u0631\u0633\u0627\u0644 \u062f\u0627\u062f\u0647\u060c \u0648\u0627\u0631\u062f \u0645\u0631\u062d\u0644\u0647 \u062f\u0631\u06cc\u0627\u0641\u062a \u062f\u0627\u062f\u0647 \u0627\u0632 Google Sheets \u0645\u06cc \u0634\u0648\u06cc\u0645.<br \/><strong>\u062f\u0631\u06cc\u0627\u0641\u062a \u062f\u0627\u062f\u0647 \u0627\u0632 Google Sheets \u062a\u0648\u0633\u0637 ESP32:<\/strong><\/p>\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-5bd4fc5 elementor-widget elementor-widget-html\" data-id=\"5bd4fc5\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<pre class=\"line-numbers lang-arduino\"><code>        success = GSheet.values.get(&response \/* returned response *\/, spreadsheetId \/* spreadsheet Id to read *\/, \"Sheet1!A1:B10\" \/* range to read *\/);\r\n        response.toString(Serial, true);\r\n        Serial.println();\r\n<\/code><\/pre>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-c3b0403 elementor-widget elementor-widget-text-editor\" data-id=\"c3b0403\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-text-editor elementor-clearfix\">\n\t\t\t\t<p>\u062f\u0631 \u06a9\u062f \u0641\u0648\u0642\u060c \u062f\u0627\u062f\u0647 \u0647\u0627\u06cc \u062f\u0631\u062c \u0634\u062f\u0647 \u062f\u0631 \u0645\u062d\u062f\u0648\u062f\u0647 \u062e\u0627\u0646\u0647 \u0647\u0627\u06cc A1 \u062a\u0627 B10 \u0631\u0627 \u0627\u0632 \u0631\u0648\u06cc Google Sheets \u0645\u06cc \u062e\u0648\u0627\u0646\u06cc\u0645. \u062f\u0631 \u0635\u0648\u0631\u062a \u0645\u0648\u0641\u0642\u06cc\u062a\u060c \u062f\u0627\u062f\u0647 \u0647\u0627\u06cc \u062e\u0648\u0627\u0646\u062f\u0647 \u0634\u062f\u0647 \u0631\u0627 \u062f\u0631 \u067e\u0648\u0631\u062a \u0633\u0631\u06cc\u0627\u0644 \u0646\u0645\u0627\u06cc\u0634 \u0645\u06cc \u062f\u0647\u06cc\u0645.<br \/>\u062f\u0631 \u0635\u0648\u0631\u062a \u0628\u0631\u0648\u0632 \u062e\u0637\u0627 \u062f\u0631 \u0647\u0631 \u06cc\u06a9 \u0627\u0632 \u0645\u0631\u0627\u062d\u0644\u060c \u067e\u06cc\u0627\u0645 \u062e\u0637\u0627 \u0648 \u0639\u0644\u062a \u0622\u0646 \u0631\u0627 \u062f\u0631 \u067e\u0648\u0631\u062a \u0633\u0631\u06cc\u0627\u0644 \u0627\u0631\u0633\u0627\u0644 \u0645\u06cc \u06a9\u0646\u06cc\u0645.<\/p>\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-b8ab9a8 elementor-widget elementor-widget-heading\" data-id=\"b8ab9a8\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">\u06af\u0627\u0645 \u067e\u0646\u062c\u0645: \u0622\u067e\u0644\u0648\u062f \u06a9\u062f \u0631\u0648\u06cc  ESP32<\/h3>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-e64b9ea elementor-widget elementor-widget-text-editor\" data-id=\"e64b9ea\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-text-editor elementor-clearfix\">\n\t\t\t\t<p>\u00a0ESP32 \u0631\u0627 \u067e\u0631\u0648\u06af\u0631\u0627\u0645 \u06a9\u0646\u06cc\u062f. \u0628\u0627 \u0627\u062c\u0631\u0627\u06cc \u0628\u0631\u0646\u0627\u0645\u0647 \u062a\u0648\u0633\u0637 ESP32\u060c \u06cc\u06a9 \u0641\u0627\u06cc\u0644 Sheet \u0628\u0647 \u0635\u0648\u0631\u062a \u0632\u06cc\u0631 \u0627\u06cc\u062c\u0627\u062f \u0645\u06cc \u0634\u0648\u062f.<br \/>\u0647\u0645\u0627\u0646\u0637\u0648\u0631 \u06a9\u0647 \u0645\u0634\u0627\u0647\u062f\u0647 \u0645\u06cc \u06a9\u0646\u06cc\u062f\u060c \u062f\u0631 \u0633\u062a\u0648\u0646 A\u060c \u062a\u0627\u0631\u06cc\u062e \u0648 \u0632\u0645\u0627\u0646 \u0641\u0639\u0644\u06cc \u0633\u06cc\u0633\u062a\u0645\u060c \u0648 \u062f\u0631 \u0633\u062a\u0648\u0646 B \u060c \u062f\u0627\u062f\u0647 \u0647\u0627\u06cc \u0633\u0646\u0633\u0648\u0631 \u06af\u0627\u0632 \u062f\u0631\u062c \u0634\u062f\u0647 \u0627\u0633\u062a.<\/p>\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-6c088ac elementor-widget elementor-widget-image\" data-id=\"6c088ac\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-image\">\n\t\t\t\t\t\t\t\t\t\t\t\t<img width=\"1140\" height=\"713\" src=\"https:\/\/thecaferobot.com\/learn\/wp-content\/uploads\/2023\/09\/ESP32-google-sheets-API-result1-1200x750.jpg\" class=\"attachment-large size-large\" alt=\"ESP32 to Google Sheets (API Results 1)\" loading=\"lazy\" srcset=\"https:\/\/thecaferobot.com\/learn\/wp-content\/uploads\/2023\/09\/ESP32-google-sheets-API-result1-600x375.jpg 600w, https:\/\/thecaferobot.com\/learn\/wp-content\/uploads\/2023\/09\/ESP32-google-sheets-API-result1-768x480.jpg 768w\" sizes=\"(max-width: 1140px) 100vw, 1140px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-4708cb8 elementor-widget elementor-widget-text-editor\" data-id=\"4708cb8\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-text-editor elementor-clearfix\">\n\t\t\t\t<p>\u0628\u0639\u062f \u0627\u0632 \u0627\u062c\u0631\u0627\u06cc \u0628\u0631\u0646\u0627\u0645\u0647\u060c \u0645\u0642\u0627\u062f\u06cc\u0631\u06cc \u06a9\u0647 ESP32 \u0627\u0632 \u0631\u0648\u06cc Google Sheets \u0645\u06cc \u062e\u0648\u0627\u0646\u062f\u060c \u062f\u0631 \u067e\u0648\u0631\u062a \u0633\u0631\u06cc\u0627\u0644 \u0646\u0645\u0627\u06cc\u0634 \u062f\u0627\u062f\u0647 \u0645\u06cc \u0634\u0648\u062f (\u0639\u06a9\u0633 \u0632\u06cc\u0631).<\/p>\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-fee84a4 elementor-widget elementor-widget-image\" data-id=\"fee84a4\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-image\">\n\t\t\t\t\t\t\t\t\t\t\t\t<img width=\"1140\" height=\"713\" src=\"https:\/\/thecaferobot.com\/learn\/wp-content\/uploads\/2023\/09\/ESP32-google-Sheets-API-result2-1200x750.jpg\" class=\"attachment-large size-large\" alt=\"ESP32 to Google Sheets (API Results 2)\" loading=\"lazy\" srcset=\"https:\/\/thecaferobot.com\/learn\/wp-content\/uploads\/2023\/09\/ESP32-google-Sheets-API-result2-600x375.jpg 600w, https:\/\/thecaferobot.com\/learn\/wp-content\/uploads\/2023\/09\/ESP32-google-Sheets-API-result2-768x480.jpg 768w\" sizes=\"(max-width: 1140px) 100vw, 1140px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-77ba736 elementor-widget elementor-widget-text-editor\" data-id=\"77ba736\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-text-editor elementor-clearfix\">\n\t\t\t\t<p>\u0645\u0647\u0645\u062a\u0631\u06cc\u0646 \u0642\u0633\u0645\u062a \u0647\u0627\u06cc \u062e\u0631\u0648\u062c\u06cc \u0686\u0627\u067e \u0634\u062f\u0647 \u062f\u0631 \u067e\u0648\u0631\u062a \u0633\u0631\u06cc\u0627\u0644 \u0628\u0647 \u0635\u0648\u0631\u062a \u0632\u06cc\u0631 \u0627\u0633\u062a.<\/p>\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-6058110 elementor-widget elementor-widget-html\" data-id=\"6058110\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<pre class=\"line-numbers lang-arduino\"><code>Connecting to Wi-Fi...\r\nConnected with IP: 192.168.***.***\r\n\r\nToken info: type = OAuth2.0 access token, status = on initializing\r\nToken info: type = OAuth2.0 access token, status = on signing\r\nToken info: type = OAuth2.0 access token, status = on exchange request\r\nToken info: type = OAuth2.0 access token, status = ready\r\n\r\nCreate spreadsheet...\r\n------------------------\r\n{\r\n \"spreadsheetId\": \"**********\",\r\n \"properties\": {\r\n \"title\": \"Gas Sensor Data Log\",\r\n \r\n \"spreadsheetUrl\": \"https:\/\/docs.google.com\/spreadsheets\/d\/1vIeFO58uNubRK0As6nr-iJrRRYMdxR2-NhkrHE0rihE\/edit\"\r\n}\r\n\r\nThe spreadsheet URL\r\nhttps:\/\/docs.google.com\/spreadsheets\/d\/1vIeFO58uNubRK0As6nr-iJrRRYMdxR2-NhkrHE0rihE\/edit\r\n\r\nUpdate spreadsheet values...\r\n------------------------------\r\n{\r\n \"spreadsheetId\": \"1vIeFO58uNubRK0As6nr-iJrRRYMdxR2-NhkrHE0rihE\",\r\n \"updatedRange\": \"Sheet1!A1:B1\",\r\n \"updatedRows\": 1,\r\n \"updatedColumns\": 2,\r\n \"updatedCells\": 2\r\n}\r\n\r\nUpdate spreadsheet values...\r\n------------------------------\r\n{\r\n \"spreadsheetId\": \"1vIeFO58uNubRK0As6nr-iJrRRYMdxR2-NhkrHE0rihE\",\r\n \"updatedRange\": \"Sheet1!A1:B2\",\r\n \"updatedRows\": 2,\r\n \"updatedColumns\": 2,\r\n \"updatedCells\": 4\r\n}\r\n\r\nUpdate spreadsheet values...\r\n------------------------------\r\n{\r\n \"spreadsheetId\": \"1vIeFO58uNubRK0As6nr-iJrRRYMdxR2-NhkrHE0rihE\",\r\n \"updatedRange\": \"Sheet1!A1:B3\",\r\n \"updatedRows\": 3,\r\n \"updatedColumns\": 2,\r\n \"updatedCells\": 6\r\n}\r\n\r\nUpdate spreadsheet values...\r\n------------------------------\r\n{\r\n \"spreadsheetId\": \"1vIeFO58uNubRK0As6nr-iJrRRYMdxR2-NhkrHE0rihE\",\r\n \"updatedRange\": \"Sheet1!A1:B4\",\r\n \"updatedRows\": 4,\r\n \"updatedColumns\": 2,\r\n \"updatedCells\": 8\r\n}\r\n\r\nUpdate spreadsheet values...\r\n------------------------------\r\n{\r\n \"spreadsheetId\": \"1vIeFO58uNubRK0As6nr-iJrRRYMdxR2-NhkrHE0rihE\",\r\n \"updatedRange\": \"Sheet1!A1:B5\",\r\n \"updatedRows\": 5,\r\n \"updatedColumns\": 2,\r\n \"updatedCells\": 10\r\n}\r\n\r\nUpdate spreadsheet values...\r\n------------------------------\r\n{\r\n \"spreadsheetId\": \"1vIeFO58uNubRK0As6nr-iJrRRYMdxR2-NhkrHE0rihE\",\r\n \"updatedRange\": \"Sheet1!A1:B6\",\r\n \"updatedRows\": 6,\r\n \"updatedColumns\": 2,\r\n \"updatedCells\": 12\r\n}\r\n\r\nUpdate spreadsheet values...\r\n------------------------------\r\n{\r\n \"spreadsheetId\": \"1vIeFO58uNubRK0As6nr-iJrRRYMdxR2-NhkrHE0rihE\",\r\n \"updatedRange\": \"Sheet1!A1:B7\",\r\n \"updatedRows\": 7,\r\n \"updatedColumns\": 2,\r\n \"updatedCells\": 14\r\n}\r\n\r\nUpdate spreadsheet values...\r\n------------------------------\r\n{\r\n \"spreadsheetId\": \"1vIeFO58uNubRK0As6nr-iJrRRYMdxR2-NhkrHE0rihE\",\r\n \"updatedRange\": \"Sheet1!A1:B8\",\r\n \"updatedRows\": 8,\r\n \"updatedColumns\": 2,\r\n \"updatedCells\": 16\r\n}\r\n\r\nUpdate spreadsheet values...\r\n------------------------------\r\n{\r\n \"spreadsheetId\": \"1vIeFO58uNubRK0As6nr-iJrRRYMdxR2-NhkrHE0rihE\",\r\n \"updatedRange\": \"Sheet1!A1:B9\",\r\n \"updatedRows\": 9,\r\n \"updatedColumns\": 2,\r\n \"updatedCells\": 18\r\n}\r\n\r\nUpdate spreadsheet values...\r\n------------------------------\r\n{\r\n \"spreadsheetId\": \"1vIeFO58uNubRK0As6nr-iJrRRYMdxR2-NhkrHE0rihE\",\r\n \"updatedRange\": \"Sheet1!A1:B10\",\r\n \"updatedRows\": 10,\r\n \"updatedColumns\": 2,\r\n \"updatedCells\": 20\r\n}\r\n\r\nGet spreadsheet values...\r\n------------------------------\r\n{\r\n \"range\": \"Sheet1!A1:B10\",\r\n \"majorDimension\": \"ROWS\",\r\n \"values\": [\r\n [\r\n \"Saturday,-June-10-2023-09:57:18\",\r\n \"462\"\r\n ],\r\n [\r\n \"Saturday,-June-10-2023-09:57:24\",\r\n \"462\"\r\n ],\r\n [\r\n \"Saturday,-June-10-2023-09:57:30\",\r\n \"439\"\r\n ],\r\n [\r\n \"Saturday,-June-10-2023-09:57:35\",\r\n \"432\"\r\n ],\r\n [\r\n \"Saturday,-June-10-2023-09:57:41\",\r\n \"427\"\r\n ],\r\n [\r\n \"Saturday,-June-10-2023-09:57:46\",\r\n \"421\"\r\n ],\r\n [\r\n \"Saturday,-June-10-2023-09:57:52\",\r\n \"421\"\r\n ],\r\n [\r\n \"Saturday,-June-10-2023-09:57:57\",\r\n \"419\"\r\n ],\r\n [\r\n \"Saturday,-June-10-2023-09:58:03\",\r\n \"403\"\r\n ],\r\n [\r\n \"Saturday,-June-10-2023-09:58:08\",\r\n \"414\"\r\n ]\r\n ]\r\n}\r\n193840\r\n<\/code><\/pre>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-e7df7fd elementor-widget elementor-widget-alert\" data-id=\"e7df7fd\" data-element_type=\"widget\" data-widget_type=\"alert.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"elementor-alert elementor-alert-success\" role=\"alert\">\n\t\t\t<span class=\"elementor-alert-title\">\u062a\u0628\u0631\u06cc\u06a9!<\/span>\n\t\t\t\t\t\t\t<span class=\"elementor-alert-description\">\u0634\u0645\u0627 \u0633\u06cc\u0633\u062a\u0645 \u06a9\u0627\u0645\u0644 \u062a\u0628\u0627\u062f\u0644 \u062f\u0627\u062f\u0647 \u0628\u06cc\u0646 ESP32 \u0648 Google Sheets \u0631\u0627 \u0631\u0627\u0647 \u0627\u0646\u062f\u0627\u0632\u06cc \u06a9\u0631\u062f\u06cc\u062f!<\/span>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-e48640e elementor-widget elementor-widget-text-editor\" data-id=\"e48640e\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-text-editor elementor-clearfix\">\n\t\t\t\t<p>\u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u062f \u0628\u0627 \u0645\u0642\u0627\u06cc\u0633\u0647 \u0627\u0639\u062f\u0627\u062f \u062f\u0631\u062c \u0634\u062f\u0647 \u062f\u0631 Google Sheets \u0648 \u067e\u0648\u0631\u062a \u0633\u0631\u06cc\u0627\u0644\u060c \u0627\u0632 \u0635\u062d\u062a \u0645\u0642\u0627\u062f\u06cc\u0631 \u0627\u0637\u0645\u06cc\u0646\u0627\u0646 \u062d\u0627\u0635\u0644 \u06a9\u0646\u06cc\u062f.<\/p>\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-6a57ac8 elementor-widget elementor-widget-alert\" data-id=\"6a57ac8\" data-element_type=\"widget\" data-widget_type=\"alert.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"elementor-alert elementor-alert-info\" role=\"alert\">\n\t\t\t<span class=\"elementor-alert-title\">\u0646\u06a9\u062a\u0647:<\/span>\n\t\t\t\t\t\t\t<span class=\"elementor-alert-description\">\u062f\u0631 \u0635\u0648\u0631\u062a\u06cc \u06a9\u0647 \u0642\u0635\u062f \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u0641\u0627\u06cc\u0644 sheet \u0627\u0632 \u067e\u06cc\u0634 \u0622\u0645\u0627\u062f\u0647 \u0648 \u062e\u0648\u0627\u0646\u062f\u0646 \u06cc\u0627 \u0646\u0648\u0634\u062a\u0646 \u0628\u0631 \u0631\u0648\u06cc \u0622\u0646 \u0631\u0627 \u062f\u0627\u0631\u06cc\u062f\u060c \u0644\u0627\u0632\u0645 \u0627\u0633\u062a \u0622\u0646 \u0641\u0627\u06cc\u0644 \u0631\u0627 \u0628\u0627 \u0622\u062f\u0631\u0633 \u0627\u06cc\u0645\u06cc\u0644 Service Account Client  \u0628\u0647 \u0627\u0634\u062a\u0631\u0627\u06a9 \u0628\u06af\u0630\u0627\u0631\u06cc\u062f (Share \u06a9\u0646\u06cc\u062f).<br>\u0641\u0627\u06cc\u0644 \u0647\u0627\u06cc \u0633\u0627\u062e\u062a\u0647 \u0634\u062f\u0647 \u062a\u0648\u0633\u0637 \u06a9\u062f\u0647\u0627\u06cc \u0627\u06cc\u0646 \u0622\u0645\u0648\u0632\u0634\u060c \u0628\u0647 \u0635\u0648\u0631\u062a \u062e\u0648\u062f\u06a9\u0627\u0631 \u0628\u0627 \u0627\u06a9\u0627\u0646\u062a \u0634\u0645\u0627 \u0628\u0647 \u0627\u0634\u062a\u0631\u0627\u06a9 \u06af\u0630\u0627\u0634\u062a\u0647 \u0645\u06cc \u0634\u0648\u062f.<\/span>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-2b3c00b elementor-widget elementor-widget-heading\" data-id=\"2b3c00b\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">\u06af\u0627\u0645 \u0634\u0634\u0645: \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u062a\u0648\u0627\u0628\u0639 \u06a9\u0627\u0631\u0628\u0631\u062f\u06cc Google Sheets <\/h3>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-e99a54d elementor-widget elementor-widget-alert\" data-id=\"e99a54d\" data-element_type=\"widget\" data-widget_type=\"alert.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"elementor-alert elementor-alert-info\" role=\"alert\">\n\t\t\t<span class=\"elementor-alert-title\">\u0646\u06a9\u062a\u0647:<\/span>\n\t\t\t\t\t\t\t<span class=\"elementor-alert-description\">\u0647\u0645\u0627\u0646\u0646\u062f \u0628\u0631\u0646\u0627\u0645\u0647 Excel\u060c \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u062f \u0627\u0632 \u0627\u0646\u0648\u0627\u0639 \u062a\u0648\u0627\u0628\u0639 \u062f\u0631 \u0627\u06cc\u062c\u0627\u062f sheet \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f.<\/span>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-e20f0ff elementor-widget elementor-widget-text-editor\" data-id=\"e20f0ff\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-text-editor elementor-clearfix\">\n\t\t\t\t<p>\u0628\u0631\u0627\u06cc \u0646\u0645\u0648\u0646\u0647\u060c \u062e\u0637 \u0632\u06cc\u0631 \u0645\u062c\u0645\u0648\u0639 \u0627\u0639\u062f\u0627\u062f \u0648\u0627\u0631\u062f \u0634\u062f\u0647 \u062f\u0631 \u062e\u0627\u0646\u0647 \u0647\u0627\u06cc A1 \u062a\u0627 A5 \u0631\u0627 \u0645\u062d\u0627\u0633\u0628\u0647 \u06a9\u0631\u062f\u0647 \u0648 \u062f\u0631 \u062e\u0627\u0646\u0647 \u0633\u0637\u0631 \u0627\u0648\u0644 \u0648 \u0633\u062a\u0648\u0646 \u062f\u0648\u0645 \u062f\u0631\u062c \u0645\u06cc \u06a9\u0646\u062f.<\/p>\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-e34bf5c elementor-widget elementor-widget-html\" data-id=\"e34bf5c\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<pre class=\"line-numbers lang-arduino\"><code>valueRange.set(\"values\/[0]\/[1]\", \"=SUM(A1:A5)\");\r\n<\/code><\/pre>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-8b311aa elementor-widget elementor-widget-text-editor\" data-id=\"8b311aa\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-text-editor elementor-clearfix\">\n\t\t\t\t<p>\u06cc\u0627 \u0628\u0631\u0627\u06cc \u0645\u06cc\u0627\u0646\u06af\u06cc\u0646 \u06af\u06cc\u0631\u06cc \u0627\u0632 \u0647\u0645\u06cc\u0646 \u0627\u0639\u062f\u0627\u062f\u060c \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u062f \u0627\u0632 \u06a9\u062f \u0632\u06cc\u0631 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f. \u0639\u062f\u062f \u0645\u062d\u0627\u0633\u0628\u0647 \u0634\u062f\u0647 \u062f\u0631 \u062e\u0627\u0646\u0647 \u0633\u0637\u0631 \u0633\u0648\u0645 \u0648 \u0633\u062a\u0648\u0646 \u062f\u0648\u0645 \u062f\u0631\u062c \u062e\u0648\u0627\u0647\u062f \u0634\u062f.<\/p>\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-198f51c elementor-widget elementor-widget-html\" data-id=\"198f51c\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<pre class=\"line-numbers lang-arduino\"><code>valueRange.set(\"values\/[2]\/[1]\", \"=AVERAGE(A1:A5)\");\r\n<\/code><\/pre>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-55c86f1 elementor-widget elementor-widget-text-editor\" data-id=\"55c86f1\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-text-editor elementor-clearfix\">\n\t\t\t\t<p>\u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u062f \u06a9\u0644\u06cc\u0647 \u062a\u0648\u0627\u0628\u0639 \u0642\u0627\u0628\u0644 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u062f\u0631 Sheets Google \u0631\u0627 \u0628\u0627 \u0628\u0627\u0632 \u06a9\u0631\u062f\u0646 \u0641\u0627\u06cc\u0644 \u062f\u0631 \u0645\u0631\u0648\u0631\u06af\u0631 \u0648 \u0633\u067e\u0633 \u0627\u0632 \u0642\u0633\u0645\u062a Insert-&gt; Function\u060c \u0645\u0634\u0627\u0647\u062f\u0647 \u06a9\u0646\u06cc\u062f (\u0628\u0647 \u062a\u0635\u0648\u06cc\u0631 \u0632\u06cc\u0631 \u062f\u0642\u062a \u06a9\u0646\u06cc\u062f).<br \/>\u062a\u0645\u0627\u0645\u06cc \u0641\u0627\u06cc\u0644 \u0647\u0627\u06cc Google Sheets \u0645\u0648\u062c\u0648\u062f \u0631\u0627 \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u062f \u062f\u0631 \u0627\u06cc\u0646 <a href=\"https:\/\/docs.google.com\/spreadsheets\/\">\u0644\u06cc\u0646\u06a9<\/a> \u067e\u06cc\u062f\u0627 \u06a9\u0646\u06cc\u062f.<\/p>\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-4921ff4 elementor-widget elementor-widget-image\" data-id=\"4921ff4\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-image\">\n\t\t\t\t\t\t\t\t\t\t\t\t<img width=\"1140\" height=\"713\" src=\"https:\/\/thecaferobot.com\/learn\/wp-content\/uploads\/2023\/09\/ESP32-google-sheets-Functions-1200x750.jpg\" class=\"attachment-large size-large\" alt=\"ESP32 to Google Sheets (Functions)\" loading=\"lazy\" srcset=\"https:\/\/thecaferobot.com\/learn\/wp-content\/uploads\/2023\/09\/ESP32-google-sheets-Functions-600x375.jpg 600w, https:\/\/thecaferobot.com\/learn\/wp-content\/uploads\/2023\/09\/ESP32-google-sheets-Functions-768x480.jpg 768w\" sizes=\"(max-width: 1140px) 100vw, 1140px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-03e91c7 elementor-widget elementor-widget-heading\" data-id=\"03e91c7\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">\u0631\u0648\u0634 \u062f\u0648\u0645: \u0627\u0631\u0633\u0627\u0644 \u062f\u06cc\u062a\u0627 \u0627\u0632 ESP32 \u0628\u0647 \u06af\u0648\u06af\u0644 Sheets \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 Google Apps Scripts<\/h2>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-1c1be1b elementor-widget elementor-widget-text-editor\" data-id=\"1c1be1b\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-text-editor elementor-clearfix\">\n\t\t\t\t<p>\u062f\u0631 \u0627\u06cc\u0646 \u0642\u0633\u0645\u062a \u0628\u062c\u0627\u06cc \u0633\u0646\u0633\u0648\u0631 MQ9 \u0627\u0632 \u0633\u0646\u0633\u0648\u0631 \u062f\u0645\u0627 \u0648 \u0631\u0637\u0648\u0628\u062a BME680 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0631\u062f\u0647 \u0627\u06cc\u0645.<\/p>\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-cc39a04 elementor-widget elementor-widget-heading\" data-id=\"cc39a04\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">\u06af\u0627\u0645 \u0627\u0648\u0644: \u0633\u0627\u062e\u062a \u0641\u0627\u06cc\u0644 \u062c\u062f\u06cc\u062f \u062f\u0631 \u06af\u0648\u06af\u0644 Sheet<\/h3>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-06fb660 elementor-widget elementor-widget-text-editor\" data-id=\"06fb660\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-text-editor elementor-clearfix\">\n\t\t\t\t<p>\u0628\u0631\u0627\u06cc \u0634\u0631\u0648\u0639 \u0628\u0627\u06cc\u062f \u06cc\u06a9 Sheet \u0628\u0633\u0627\u0632\u06cc\u0645: \u0648\u0627\u0631\u062f \u0628\u0631\u0646\u0627\u0645\u0647 Sheets Google \u0634\u0648\u06cc\u062f\u060c \u06cc\u06a9 \u0634\u06cc\u062a \u062c\u062f\u06cc\u062f \u0627\u06cc\u062c\u0627\u062f \u06a9\u0631\u062f\u0647 \u0648 \u0627\u0633\u0645 \u0641\u0627\u06cc\u0644 \u0648 \u0639\u0646\u0627\u0648\u06cc\u0646 \u0633\u062a\u0648\u0646 \u0647\u0627 \u0631\u0627 \u062a\u0639\u06cc\u06cc\u0646 \u06a9\u0646\u06cc\u062f.<\/p>\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-1d7372b elementor-widget elementor-widget-image\" data-id=\"1d7372b\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-image\">\n\t\t\t\t\t\t\t\t\t\t\t\t<img width=\"1140\" height=\"713\" src=\"https:\/\/thecaferobot.com\/learn\/wp-content\/uploads\/2023\/09\/ESP32-google-sheets-FirstStep-1200x750.jpg\" class=\"attachment-large size-large\" alt=\"ESP32 to Google Sheets (Creating a Sheet)\" loading=\"lazy\" srcset=\"https:\/\/thecaferobot.com\/learn\/wp-content\/uploads\/2023\/09\/ESP32-google-sheets-FirstStep-600x375.jpg 600w, https:\/\/thecaferobot.com\/learn\/wp-content\/uploads\/2023\/09\/ESP32-google-sheets-FirstStep-768x480.jpg 768w\" sizes=\"(max-width: 1140px) 100vw, 1140px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-d928968 elementor-widget elementor-widget-heading\" data-id=\"d928968\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">\u06af\u0627\u0645 \u062f\u0648\u0645: \u0633\u0627\u062e\u062a Script<\/h3>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-c65b00e elementor-widget elementor-widget-text-editor\" data-id=\"c65b00e\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-text-editor elementor-clearfix\">\n\t\t\t\t<p>1- \u062f\u0631 \u0646\u0648\u0627\u0631 \u0628\u0627\u0644\u0627\u060c \u06af\u0632\u06cc\u0646\u0647 Extensions \u0631\u0627 \u0627\u0646\u062a\u062e\u0627\u0628 \u06a9\u0631\u062f\u0647 \u0648 \u0628\u0631 \u0631\u0648\u06cc Apps Script \u06a9\u0644\u06cc\u06a9 \u06a9\u0646\u06cc\u062f \u062a\u0627 \u06cc\u06a9 Script \u062c\u062f\u06cc\u062f \u0628\u0627\u0632 \u0634\u0648\u062f.<\/p>\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-5ef9e60 elementor-widget elementor-widget-image\" data-id=\"5ef9e60\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-image\">\n\t\t\t\t\t\t\t\t\t\t\t\t<img width=\"1140\" height=\"713\" src=\"https:\/\/thecaferobot.com\/learn\/wp-content\/uploads\/2023\/09\/ESP32-google-sheets-ScriptProcedure1-1200x750.jpg\" class=\"attachment-large size-large\" alt=\"ESP32 to Google Sheets (Creating a Script 1)\" loading=\"lazy\" srcset=\"https:\/\/thecaferobot.com\/learn\/wp-content\/uploads\/2023\/09\/ESP32-google-sheets-ScriptProcedure1-600x375.jpg 600w, https:\/\/thecaferobot.com\/learn\/wp-content\/uploads\/2023\/09\/ESP32-google-sheets-ScriptProcedure1-768x480.jpg 768w\" sizes=\"(max-width: 1140px) 100vw, 1140px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-330a112 elementor-widget elementor-widget-text-editor\" data-id=\"330a112\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-text-editor elementor-clearfix\">\n\t\t\t\t<p>2- \u06a9\u062f \u0632\u06cc\u0631 \u0631\u0627 \u062f\u0631 \u0635\u0641\u062d\u0647 \u0628\u0627\u0632 \u0634\u062f\u0647 \u06a9\u067e\u06cc \u06a9\u0646\u06cc\u062f:<\/p>\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-1d8fbde elementor-widget elementor-widget-html\" data-id=\"1d8fbde\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<pre class=\"line-numbers lang-arduino\"><code>function doGet(e) { \r\nLogger.log( JSON.stringify(e) );\r\nvar result = 'Ok';\r\nif (e.parameter == 'undefined') {\r\nresult = 'No Parameters';\r\n}\r\nelse {\r\nvar sheet_id = '1Ffxy21v1vhflxuzJLBeuH0Y_nyqVw-DQq9pVF-66Xrc'; \/\/ Spreadsheet ID\r\nvar sheet = SpreadsheetApp.openById(sheet_id).getActiveSheet();\r\nvar newRow = sheet.getLastRow() + 1; \r\nvar rowData = [];\r\nvar Curr_Date = new Date();\r\nrowData[0] = Curr_Date; \r\nvar Curr_Time = Utilities.formatDate(Curr_Date, \"Asia\/Tehran\", 'HH:mm:ss');\r\nrowData[1] = Curr_Time; \r\nfor (var param in e.parameter) {\r\nLogger.log('In for loop, param=' + param);\r\nvar value = stripQuotes(e.parameter[param]);\r\nLogger.log(param + ':' + e.parameter[param]);\r\nswitch (param) {\r\ncase 'temperature':\r\nrowData[2] = value; \/\/ Temperature in column C\r\nresult = 'Temperature Written on column C'; \r\nbreak;\r\ncase 'humidity':\r\nrowData[3] = value; \/\/ Humidity in column D\r\nresult += ' ,Humidity Written on column D'; \r\nbreak; \r\ndefault:\r\nresult = \"unsupported parameter\";\r\n}\r\n}\r\nLogger.log(JSON.stringify(rowData));\r\nvar newRange = sheet.getRange(newRow, 1, 1, rowData.length);\r\nnewRange.setValues([rowData]);\r\n}\r\nreturn ContentService.createTextOutput(result);\r\n}\r\nfunction stripQuotes( value ) {\r\nreturn value.replace(\/^[\"']|['\"]$\/g, \"\");\r\n}\r\n<\/code><\/pre>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-3380b16 elementor-widget elementor-widget-image\" data-id=\"3380b16\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-image\">\n\t\t\t\t\t\t\t\t\t\t\t\t<img width=\"1140\" height=\"713\" src=\"https:\/\/thecaferobot.com\/learn\/wp-content\/uploads\/2023\/09\/ESP32-google-sheets-ScriptsProcedure2-1200x750.jpg\" class=\"attachment-large size-large\" alt=\"ESP32 to Google Sheets (Creating a Script 2)\" loading=\"lazy\" srcset=\"https:\/\/thecaferobot.com\/learn\/wp-content\/uploads\/2023\/09\/ESP32-google-sheets-ScriptsProcedure2-600x375.jpg 600w, https:\/\/thecaferobot.com\/learn\/wp-content\/uploads\/2023\/09\/ESP32-google-sheets-ScriptsProcedure2-768x480.jpg 768w\" sizes=\"(max-width: 1140px) 100vw, 1140px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-c3f3c34 elementor-widget elementor-widget-alert\" data-id=\"c3f3c34\" data-element_type=\"widget\" data-widget_type=\"alert.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"elementor-alert elementor-alert-warning\" role=\"alert\">\n\t\t\t<span class=\"elementor-alert-title\">\u062a\u0648\u062c\u0647:<\/span>\n\t\t\t\t\t\t\t<span class=\"elementor-alert-description\">\u062f\u0642\u062a \u06a9\u0646\u06cc\u062f \u06a9\u0647 \u062d\u062a\u0645\u0627 \u062a\u0645\u0627\u0645\u06cc \u0645\u062d\u062a\u0648\u0627\u06cc \u0635\u0641\u062d\u0647 Script \u0631\u0627 \u0642\u0628\u0644 \u0627\u0632 \u06a9\u067e\u06cc \u06a9\u0631\u062f\u0646 \u06a9\u062f \u067e\u0627\u06a9 \u06a9\u0631\u062f\u0647 \u0628\u0627\u0634\u06cc\u062f.<\/span>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-8995e18 elementor-widget elementor-widget-text-editor\" data-id=\"8995e18\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-text-editor elementor-clearfix\">\n\t\t\t\t<p>3- sheet ID \u0631\u0627 \u0628\u0627 \u062f\u0642\u062a \u0648 \u0645\u0637\u0627\u0628\u0642 \u0634\u06a9\u0644 \u06a9\u067e\u06cc \u06a9\u0631\u062f\u0647 \u0648 \u062f\u0631 \u06a9\u062f Script \u062c\u0627\u06cc\u06af\u0630\u0627\u0631\u06cc \u06a9\u0646\u06cc\u062f.<\/p>\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-11ca8df elementor-widget elementor-widget-image\" data-id=\"11ca8df\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-image\">\n\t\t\t\t\t\t\t\t\t\t\t\t<img width=\"1140\" height=\"713\" src=\"https:\/\/thecaferobot.com\/learn\/wp-content\/uploads\/2023\/09\/ESP32-google-sheets-ScriptsProcedure3-1200x750.jpg\" class=\"attachment-large size-large\" alt=\"ESP32 to Google Sheets (Creating a Script 3)\" loading=\"lazy\" srcset=\"https:\/\/thecaferobot.com\/learn\/wp-content\/uploads\/2023\/09\/ESP32-google-sheets-ScriptsProcedure3-600x375.jpg 600w, https:\/\/thecaferobot.com\/learn\/wp-content\/uploads\/2023\/09\/ESP32-google-sheets-ScriptsProcedure3-768x480.jpg 768w\" sizes=\"(max-width: 1140px) 100vw, 1140px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-3942144 elementor-widget elementor-widget-text-editor\" data-id=\"3942144\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-text-editor elementor-clearfix\">\n\t\t\t\t<p>4- \u0628\u0631 \u0631\u0648\u06cc Save \u0648 \u0633\u067e\u0633 Deploy \u06a9\u0644\u06cc\u06a9 \u06a9\u0631\u062f\u0647 \u0648 New deployment \u0631\u0627 \u0627\u0646\u062a\u062e\u0627\u0628 \u06a9\u0646\u06cc\u062f.<\/p>\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-dc2262b elementor-widget elementor-widget-image\" data-id=\"dc2262b\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-image\">\n\t\t\t\t\t\t\t\t\t\t\t\t<img width=\"1140\" height=\"713\" src=\"https:\/\/thecaferobot.com\/learn\/wp-content\/uploads\/2023\/09\/ESP32-google-sheets-ScriptsProcedure4-1200x750.jpg\" class=\"attachment-large size-large\" alt=\"ESP32 to Google Sheets (Creating a Script 4)\" loading=\"lazy\" srcset=\"https:\/\/thecaferobot.com\/learn\/wp-content\/uploads\/2023\/09\/ESP32-google-sheets-ScriptsProcedure4-600x375.jpg 600w, https:\/\/thecaferobot.com\/learn\/wp-content\/uploads\/2023\/09\/ESP32-google-sheets-ScriptsProcedure4-768x480.jpg 768w\" sizes=\"(max-width: 1140px) 100vw, 1140px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-e17c8e3 elementor-widget elementor-widget-text-editor\" data-id=\"e17c8e3\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-text-editor elementor-clearfix\">\n\t\t\t\t<p>5- \u062f\u0631 \u0642\u0633\u0645\u062a Select type \u0628\u0631 \u0631\u0648\u06cc \u06af\u0632\u06cc\u0646\u0647 Web app \u06a9\u0644\u06cc\u06a9 \u06a9\u0646\u06cc\u062f.<\/p>\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-61887c5 elementor-widget elementor-widget-image\" data-id=\"61887c5\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-image\">\n\t\t\t\t\t\t\t\t\t\t\t\t<img width=\"1140\" height=\"713\" src=\"https:\/\/thecaferobot.com\/learn\/wp-content\/uploads\/2023\/09\/ESP32-google-sheets-ScriptsProcedure5-1200x750.jpg\" class=\"attachment-large size-large\" alt=\"ESP32 to Google Sheets (Creating a Script 5)\" loading=\"lazy\" srcset=\"https:\/\/thecaferobot.com\/learn\/wp-content\/uploads\/2023\/09\/ESP32-google-sheets-ScriptsProcedure5-600x375.jpg 600w, https:\/\/thecaferobot.com\/learn\/wp-content\/uploads\/2023\/09\/ESP32-google-sheets-ScriptsProcedure5-768x480.jpg 768w\" sizes=\"(max-width: 1140px) 100vw, 1140px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-ada1442 elementor-widget elementor-widget-text-editor\" data-id=\"ada1442\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-text-editor elementor-clearfix\">\n\t\t\t\t<p>6- \u062d\u0627\u0644 Description \u0648 Who has access \u0631\u0627 \u0645\u0637\u0627\u0628\u0642 \u0634\u06a9\u0644 \u062a\u0646\u0638\u06cc\u0645 \u0648 \u0628\u0631 \u0631\u0648\u06cc Deploy \u06a9\u0644\u06cc\u06a9 \u06a9\u0646\u06cc\u062f (\u0628\u062e\u0634 Description \u062f\u0644\u062e\u0648\u0627\u0647 \u0645\u06cc \u0628\u0627\u0634\u062f).<\/p>\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-7d89fac elementor-widget elementor-widget-image\" data-id=\"7d89fac\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-image\">\n\t\t\t\t\t\t\t\t\t\t\t\t<img width=\"1140\" height=\"713\" src=\"https:\/\/thecaferobot.com\/learn\/wp-content\/uploads\/2023\/09\/ESP32-google-sheets-ScriptsProcedure6-1200x750.jpg\" class=\"attachment-large size-large\" alt=\"ESP32 to Google Sheets (Creating a Script 6)\" loading=\"lazy\" srcset=\"https:\/\/thecaferobot.com\/learn\/wp-content\/uploads\/2023\/09\/ESP32-google-sheets-ScriptsProcedure6-600x375.jpg 600w, https:\/\/thecaferobot.com\/learn\/wp-content\/uploads\/2023\/09\/ESP32-google-sheets-ScriptsProcedure6-768x480.jpg 768w\" sizes=\"(max-width: 1140px) 100vw, 1140px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-f0e2af8 elementor-widget elementor-widget-text-editor\" data-id=\"f0e2af8\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-text-editor elementor-clearfix\">\n\t\t\t\t<p>7- \u0628\u0627 \u06a9\u0644\u06cc\u06a9 \u0628\u0631 \u0631\u0648\u06cc Authorize access\u060c \u0627\u06a9\u0627\u0646\u062a \u06af\u0648\u06af\u0644 \u062e\u0648\u062f \u0631\u0627 \u0627\u0646\u062a\u062e\u0627\u0628 \u06a9\u0646\u06cc\u062f.<\/p>\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-c1ae80a elementor-widget elementor-widget-image\" data-id=\"c1ae80a\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-image\">\n\t\t\t\t\t\t\t\t\t\t\t\t<img width=\"1140\" height=\"713\" src=\"https:\/\/thecaferobot.com\/learn\/wp-content\/uploads\/2023\/09\/ESP32-google-sheets-ScriptsProcedure7-1200x750.jpg\" class=\"attachment-large size-large\" alt=\"ESP32 to Google Sheets (Creating a Script 7)\" loading=\"lazy\" srcset=\"https:\/\/thecaferobot.com\/learn\/wp-content\/uploads\/2023\/09\/ESP32-google-sheets-ScriptsProcedure7-600x375.jpg 600w, https:\/\/thecaferobot.com\/learn\/wp-content\/uploads\/2023\/09\/ESP32-google-sheets-ScriptsProcedure7-768x480.jpg 768w\" sizes=\"(max-width: 1140px) 100vw, 1140px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-f3d2945 elementor-widget elementor-widget-image\" data-id=\"f3d2945\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-image\">\n\t\t\t\t\t\t\t\t\t\t\t\t<img width=\"1140\" height=\"713\" src=\"https:\/\/thecaferobot.com\/learn\/wp-content\/uploads\/2023\/09\/ESP32-google-sheets-ScriptsProcedure8-1200x750.jpg\" class=\"attachment-large size-large\" alt=\"ESP32 to Google Sheets (Creating a Script 8)\" loading=\"lazy\" srcset=\"https:\/\/thecaferobot.com\/learn\/wp-content\/uploads\/2023\/09\/ESP32-google-sheets-ScriptsProcedure8-600x375.jpg 600w, https:\/\/thecaferobot.com\/learn\/wp-content\/uploads\/2023\/09\/ESP32-google-sheets-ScriptsProcedure8-768x480.jpg 768w\" sizes=\"(max-width: 1140px) 100vw, 1140px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-ff3e2ea elementor-widget elementor-widget-text-editor\" data-id=\"ff3e2ea\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-text-editor elementor-clearfix\">\n\t\t\t\t<p>8- \u0627\u06af\u0631 \u0628\u0627 \u062e\u0637\u0627\u06cc Google Hasn\u2019t Verified This App \u0645\u0648\u0627\u062c\u0647 \u0634\u062f\u06cc\u062f\u060c \u0631\u0648\u06cc Advanced \u06a9\u0644\u06cc\u06a9 \u0648 \u067e\u0633 \u0627\u0632 \u0627\u0646\u062a\u062e\u0627\u0628 \u06af\u0632\u06cc\u0646\u0647 unsafe \u0628\u0631 \u0631\u0648\u06cc Allow \u06a9\u0644\u06cc\u06a9 \u06a9\u0646\u06cc\u062f.<br \/>9- \u062d\u0627\u0644 \u06cc\u06a9 Deployment ID \u0648 Web app URL \u0628\u0647 \u0634\u0645\u0627 \u0646\u0634\u0627\u0646 \u062f\u0627\u062f\u0647 \u0645\u06cc \u0634\u0648\u062f. Deployment ID \u0631\u0627 \u06a9\u067e\u06cc \u0648 \u062f\u0631 \u062c\u0627\u06cc\u06cc \u0630\u062e\u06cc\u0631\u0647 \u06a9\u0646\u06cc\u062f.<\/p>\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-7f79c64 elementor-widget elementor-widget-image\" data-id=\"7f79c64\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-image\">\n\t\t\t\t\t\t\t\t\t\t\t\t<img width=\"1140\" height=\"713\" src=\"https:\/\/thecaferobot.com\/learn\/wp-content\/uploads\/2023\/09\/ESP32-google-sheets-ScriptsProcedure9-1200x750.jpg\" class=\"attachment-large size-large\" alt=\"ESP32 to Google Sheets (Creating a Script 9)\" loading=\"lazy\" srcset=\"https:\/\/thecaferobot.com\/learn\/wp-content\/uploads\/2023\/09\/ESP32-google-sheets-ScriptsProcedure9-600x375.jpg 600w, https:\/\/thecaferobot.com\/learn\/wp-content\/uploads\/2023\/09\/ESP32-google-sheets-ScriptsProcedure9-768x480.jpg 768w\" sizes=\"(max-width: 1140px) 100vw, 1140px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-4401df1 elementor-widget elementor-widget-heading\" data-id=\"4401df1\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<h4 class=\"elementor-heading-title elementor-size-default\">\u062a\u0648\u0636\u06cc\u062d\u0627\u062a \u06a9\u062f script<\/h4>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-e539392 elementor-widget elementor-widget-text-editor\" data-id=\"e539392\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-text-editor elementor-clearfix\">\n\t\t\t\t<p>\u062f\u0631 \u0627\u06cc\u0646 \u0628\u062e\u0634\u060c \u0627\u0628\u062a\u062f\u0627 Sheet ID \u0631\u0627 \u0627\u0632 Sheet \u0645\u0648\u0631\u062f \u0646\u0638\u0631 \u06a9\u067e\u06cc \u06a9\u0631\u062f\u0647 \u0648 \u062c\u0627\u06cc\u06af\u0630\u0627\u0631\u06cc \u0645\u06cc \u06a9\u0646\u06cc\u0645. \u0648 \u062f\u0631 \u062e\u0637 \u0628\u0639\u062f\u06cc\u060c \u0635\u0641\u062d\u0647 script\u060c \u0628\u0627 \u062a\u0648\u062c\u0647 \u0628\u0647 ID \u0648\u0627\u0631\u062f \u0634\u062f\u0647\u060c \u0628\u0647 Sheet \u0634\u0645\u0627 \u062f\u0633\u062a\u0631\u0633\u06cc \u067e\u06cc\u062f\u0627 \u062e\u0648\u0627\u0647\u062f \u06a9\u0631\u062f.<\/p>\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-f5ddbf5 elementor-widget elementor-widget-html\" data-id=\"f5ddbf5\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<pre class=\"line-numbers lang-arduino\"><code>var sheet_id = '1Ffxy21v1vhflxuzJLBeuH0Y_nyqVw-DQq9pVF-66Xrc'; \/\/ Spreadsheet ID\r\nvar sheet = SpreadsheetApp.openById(sheet_id).getActiveSheet();\r\n<\/code><\/pre>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-148fc34 elementor-widget elementor-widget-text-editor\" data-id=\"148fc34\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-text-editor elementor-clearfix\">\n\t\t\t\t<p>\u062f\u0631 \u0627\u06cc\u0646\u062c\u0627\u060c \u0627\u0628\u062a\u062f\u0627 \u062a\u0627\u0631\u06cc\u062e \u0631\u0648\u0632 \u0631\u0627 \u06af\u0631\u0641\u062a\u0647 \u0648 \u062f\u0631 \u06cc\u06a9 \u0645\u062a\u063a\u06cc\u0631 \u0630\u062e\u06cc\u0631\u0647 \u0645\u06cc \u06a9\u0646\u06cc\u0645. \u0633\u067e\u0633 \u0627\u06cc\u0646 \u0645\u062a\u063a\u06cc\u0631 \u0631\u0627 \u062f\u0631 \u0633\u062a\u0648\u0646 A \u0627\u0632 Sheet \u0645\u0648\u0631\u062f \u0646\u0638\u0631 \u062f\u0631\u062c \u0645\u06cc \u06a9\u0646\u06cc\u0645. \u0628\u0639\u062f \u0627\u0632 \u0622\u0646 \u0632\u0645\u0627\u0646 \u0631\u0627 \u062f\u0631 \u0645\u0646\u0637\u0642\u0647 \u0648 \u0641\u0631\u0645\u062a \u062f\u0644\u062e\u0648\u0627\u0647 \u06af\u0631\u0641\u062a\u0647 \u0648 \u062f\u0631 \u0633\u062a\u0648\u0646 B \u0630\u062e\u06cc\u0631\u0647 \u062e\u0648\u0627\u0647\u06cc\u0645 \u06a9\u0631\u062f.<\/p>\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-1a9850f elementor-widget elementor-widget-html\" data-id=\"1a9850f\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<pre class=\"line-numbers lang-arduino\"><code>var Curr_Date = new Date();\r\nrowData[0] = Curr_Date; \r\nvar Curr_Time = Utilities.formatDate(Curr_Date, \"Asia\/China\", 'HH:mm:ss');\r\nrowData[1] = Curr_Time;\r\n<\/code><\/pre>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-d36c976 elementor-widget elementor-widget-text-editor\" data-id=\"d36c976\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-text-editor elementor-clearfix\">\n\t\t\t\t<p>\u062f\u0631 \u0627\u06cc\u0646 \u0628\u062e\u0634 \u0627\u0632 \u06a9\u062f\u060c \u0645\u062a\u063a\u06cc\u0631 \u0647\u0627\u06cc \u0645\u0631\u0628\u0648\u0637 \u0628\u0647 \u062f\u0645\u0627 \u0648 \u0631\u0637\u0648\u0628\u062a \u0631\u0627 \u0627\u0632 ESP32 \u06af\u0631\u0641\u062a\u0647 \u0648 \u062f\u0631 \u0633\u062a\u0648\u0646 \u0647\u0627\u06cc C \u0648 D \u0634\u06cc\u062a \u0686\u0627\u067e \u0645\u06cc \u06a9\u0646\u06cc\u0645.<\/p>\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-e8da2a2 elementor-widget elementor-widget-html\" data-id=\"e8da2a2\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<pre class=\"line-numbers lang-arduino\"><code>case 'temperature':\r\nrowData[2] = value; \r\nresult = 'Temperature Written on column C'; \r\nbreak;\r\ncase 'humidity':\r\nrowData[3] = value; \r\nresult += ' ,Humidity Written on column D'; \r\nbreak;\r\n<\/code><\/pre>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-7e10f79 elementor-widget elementor-widget-heading\" data-id=\"7e10f79\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">\u06af\u0627\u0645 \u0633\u0648\u0645: \u0633\u06cc\u0645 \u0628\u0646\u062f\u06cc<\/h3>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-b33ac42 elementor-widget elementor-widget-text-editor\" data-id=\"b33ac42\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-text-editor elementor-clearfix\">\n\t\t\t\t<p>\u0633\u06cc\u0645 \u0628\u0646\u062f\u06cc \u0631\u0627 \u0645\u0637\u0627\u0628\u0642 \u0634\u06a9\u0644 \u0632\u06cc\u0631 \u0627\u0646\u062c\u0627\u0645 \u0628\u062f\u0647\u06cc\u062f.<\/p>\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-d641fbd elementor-widget elementor-widget-image\" data-id=\"d641fbd\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-image\">\n\t\t\t\t\t\t\t\t\t\t\t\t<img width=\"1140\" height=\"713\" src=\"https:\/\/thecaferobot.com\/learn\/wp-content\/uploads\/2023\/09\/ESP32-google-sheets-Scripts-Circuit-1200x750.jpg\" class=\"attachment-large size-large\" alt=\"ESP32 to Google Sheets (Scripts Circuit)\" loading=\"lazy\" srcset=\"https:\/\/thecaferobot.com\/learn\/wp-content\/uploads\/2023\/09\/ESP32-google-sheets-Scripts-Circuit-600x375.jpg 600w, https:\/\/thecaferobot.com\/learn\/wp-content\/uploads\/2023\/09\/ESP32-google-sheets-Scripts-Circuit-768x480.jpg 768w\" sizes=\"(max-width: 1140px) 100vw, 1140px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-f7bdb93 elementor-widget elementor-widget-heading\" data-id=\"f7bdb93\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">\u06af\u0627\u0645 \u0686\u0647\u0627\u0631\u0645: \u0622\u067e\u0644\u0648\u062f \u06a9\u062f \u0628\u0631 \u0631\u0648\u06cc ESP32<\/h3>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-403f217 elementor-widget elementor-widget-text-editor\" data-id=\"403f217\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-text-editor elementor-clearfix\">\n\t\t\t\t<p>\u0646\u0631\u0645 \u0627\u0641\u0632\u0627\u0631 \u0622\u0631\u062f\u0648\u06cc\u0646\u0648 \u0631\u0627 \u0628\u0627\u0632 \u06a9\u0631\u062f\u0647 \u0648 \u067e\u0633 \u0627\u0632 \u0627\u0646\u062a\u062e\u0627\u0628 Port \u0648 Board \u0645\u0648\u0631\u062f \u0646\u0638\u0631\u060c \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0631\u0627 \u067e\u0627\u06a9 \u0648 \u06a9\u062f \u0632\u06cc\u0631 \u0631\u0627 \u0628\u062c\u0627\u06cc \u0622\u0646 \u06a9\u067e\u06cc \u06a9\u0646\u06cc\u062f.<\/p>\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-178d34c elementor-widget elementor-widget-html\" data-id=\"178d34c\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<pre class=\"line-numbers lang-arduino\"><code>#if defined(ESP32) || defined(ARDUINO_RASPBERRY_PI_PICO_W)\r\n#include &lt;WiFi.h&gt;\r\n#elif defined(ESP8266)\r\n#include &lt;ESP8266WiFi.h&gt;\r\n#endif\r\n#include &lt;WiFiClientSecure.h&gt;\r\n#include &lt;Wire.h&gt;\r\n#include &lt;Adafruit_Sensor.h&gt;\r\n#include \"Adafruit_BME680.h\"\r\n#define SEALEVELPRESSURE_HPA (1013.25)\r\nAdafruit_BME680 bme; \/\/ I2C\r\n#define ON_Board_LED 2 \/\/--&gt; Defining an On Board LED, used for indicators when the process of connecting to a wifi router\r\nconst char* ssid = \"Caferobot\"; \/\/--&gt; Your wifi name or SSID.\r\nconst char* password = \"**********\"; \/\/--&gt; Your wifi password.\r\n\r\n\/\/----------------------------------------Host &amp; httpsPort\r\nconst char* host = \"script.google.com\";\r\nconst int httpsPort = 443;\r\n\/\/----------------------------------------\r\n\r\nWiFiClientSecure client; \/\/--&gt; Create a WiFiClientSecure object.\r\n\r\nString GAS_ID = \"AKfycbxGBAOSGsonYMhC44spCtQUwFCW3C-0P2NdZiAmrRFXMzpSB2DKD9cF8hL7F4QCRg7C\"; \/\/--&gt; spreadsheet script ID\r\n\r\nvoid setup() {\r\n \/\/ put your setup code here, to run once:\r\n Serial.begin(115200);\r\n delay(500);\r\n WiFi.begin(ssid, password); \/\/--&gt; Connect to your WiFi router\r\n Serial.println(\"\");\r\n pinMode(ON_Board_LED,OUTPUT); \/\/--&gt; On Board LED port Direction output\r\n digitalWrite(ON_Board_LED, HIGH); \/\/--&gt; Turn off Led On Board\r\n \/\/----------------------------------------Wait for connection\r\n Serial.print(\"Connecting\");\r\n while (WiFi.status() != WL_CONNECTED) {\r\n Serial.print(\".\");\r\n \/\/----------------------------------------Make the On Board Flashing LED on the process of connecting to the wifi router.\r\n digitalWrite(ON_Board_LED, LOW);\r\n delay(250);\r\n digitalWrite(ON_Board_LED, HIGH);\r\n delay(250);\r\n \/\/----------------------------------------\r\n }\r\n \/\/----------------------------------------\r\n digitalWrite(ON_Board_LED, HIGH); \/\/--&gt; Turn off the On Board LED when it is connected to the wifi router.\r\n Serial.println(\"\");\r\n Serial.print(\"Successfully connected to : \");\r\n Serial.println(ssid);\r\n Serial.print(\"IP address: \");\r\n Serial.println(WiFi.localIP());\r\n Serial.println();\r\n \/\/----------------------------------------\r\n\r\n while (!Serial);\r\n Serial.println(F(\"BME680 test\"));\r\n if (!bme.begin()) {\r\n Serial.println(\"Could not find a valid BME680 sensor, check wiring!\");\r\n while (1);\r\n }\r\n \/\/ Set up oversampling and filter initialization\r\n bme.setTemperatureOversampling(BME680_OS_8X);\r\n bme.setHumidityOversampling(BME680_OS_2X);\r\n bme.setPressureOversampling(BME680_OS_4X);\r\n bme.setIIRFilterSize(BME680_FILTER_SIZE_3);\r\n bme.setGasHeater(320, 150); \/\/ 320*C for 150 ms\r\n client.setInsecure();\r\n}\r\n\r\nvoid loop() {\r\n \/\/ Reading temperature or humidity takes about 250 milliseconds!\r\n \/\/ Sensor readings may also be up to 2 seconds 'old' (its a very slow sensor)\r\n if (! bme.performReading()) {\r\n Serial.println(\"Failed to perform reading :(\");\r\n return;\r\n }\r\n Serial.print(\"Temperature = \");\r\n Serial.print(bme.temperature);\r\n Serial.println(\" *C\");\r\n Serial.print(\"Pressure = \");\r\n Serial.print(bme.pressure \/ 100.0);\r\n Serial.println(\" hPa\");\r\n Serial.print(\"Humidity = \");\r\n Serial.print(bme.humidity);\r\n Serial.println(\" %\");\r\n Serial.print(\"Gas = \");\r\n Serial.print(bme.gas_resistance \/ 1000.0);\r\n Serial.println(\" KOhms\");\r\n\r\n Serial.print(\"Approx. Altitude = \");\r\n Serial.print(bme.readAltitude(SEALEVELPRESSURE_HPA));\r\n Serial.println(\" m\");\r\n Serial.println();\r\nint h = bme.humidity;\r\n float t = bme.temperature;\r\n sendData(t, h); \/\/--&gt; Calls the sendData Subroutine\r\n}\r\n\r\n\/\/ Subroutine for sending data to Google Sheets\r\nvoid sendData(float tem, int hum) {\r\n Serial.println(\"==========\");\r\n Serial.print(\"connecting to \");\r\n Serial.println(host); \r\n \/\/----------------------------------------Connect to Google host\r\n if (!client.connect(host, httpsPort)) {\r\n Serial.println(\"connection failed\");\r\n return;\r\n }\r\n \/\/----------------------------------------\r\n\r\n \/\/----------------------------------------Processing data and sending data\r\n String string_temperature = String(tem);\r\n \/\/ String string_temperature = String(tem, DEC); \r\n String string_humidity = String(hum, DEC); \r\n String url = \"\/macros\/s\/\" + GAS_ID + \"\/exec?temperature=\" + string_temperature + \"&amp;humidity=\" + string_humidity;\r\n Serial.print(\"requesting URL: \");\r\n Serial.println(url);\r\n\r\n client.print(String(\"GET \") + url + \" HTTP\/1.1\\r\\n\" +\r\n \"Host: \" + host + \"\\r\\n\" +\r\n \"User-Agent: BuildFailureDetectorESP32 \\r\\n\" +\r\n \"Connection: close\\r\\n\\r\\n\");\r\n\r\n Serial.println(\"request sent\");\r\n \/\/----------------------------------------\r\n\r\n \/\/----------------------------------------Checking whether the data was sent successfully or not\r\n while (client.connected()) {\r\n String line = client.readStringUntil('\\n');\r\n if (line == \"\\r\") {\r\n Serial.println(\"headers received\");\r\n break;\r\n }\r\n }\r\n String line = client.readStringUntil('\\n');\r\n if (line.startsWith(\"{\\\"state\\\":\\\"success\\\"\")) {\r\n Serial.println(\"ESP32 \/Arduino CI successfull!\");\r\n } else {\r\n Serial.println(\"ESP32 \/Arduino CI has failed\");\r\n }\r\n Serial.print(\"reply was : \");\r\n Serial.println(line);\r\n Serial.println(\"closing connection\");\r\n Serial.println(\"==========\");\r\n Serial.println();\r\n}\r\n<\/code><\/pre>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-0b62969 elementor-widget elementor-widget-text-editor\" data-id=\"0b62969\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-text-editor elementor-clearfix\">\n\t\t\t\t<p>\u0633\u067e\u0633 \u062f\u0631 \u0642\u0633\u0645\u062a GAS_ID \u0628\u0627\u06cc\u062f Deployment ID \u06a9\u0647 \u0627\u0632 \u0642\u0628\u0644 \u0630\u062e\u06cc\u0631\u0647 \u06a9\u0631\u062f\u0647 \u0628\u0648\u062f\u06cc\u062f \u0631\u0627 \u062c\u0627\u06cc\u06af\u0630\u0627\u0631\u06cc \u06a9\u0646\u06cc\u062f. \u0647\u0645\u0686\u0646\u06cc\u0646 \u062f\u0631 \u0642\u0633\u0645\u062a ssid \u0648 password \u0627\u0637\u0644\u0627\u0639\u0627\u062a \u0645\u0631\u0628\u0648\u0637 \u0628\u0647 \u062e\u0648\u062f \u0631\u0627 \u062c\u0627\u06cc\u06af\u0630\u0627\u0631\u06cc \u06a9\u0631\u062f\u0647 \u0648 \u06a9\u062f \u0631\u0627 Upload \u06a9\u0646\u06cc\u062f.<\/p>\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-3779fd3 elementor-widget elementor-widget-image\" data-id=\"3779fd3\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-image\">\n\t\t\t\t\t\t\t\t\t\t\t\t<img width=\"1140\" height=\"713\" src=\"https:\/\/thecaferobot.com\/learn\/wp-content\/uploads\/2023\/09\/ESP32-google-sheets-Code-1200x750.jpg\" class=\"attachment-large size-large\" alt=\"ESP32 to Google Sheets (Code)\" loading=\"lazy\" srcset=\"https:\/\/thecaferobot.com\/learn\/wp-content\/uploads\/2023\/09\/ESP32-google-sheets-Code-600x375.jpg 600w, https:\/\/thecaferobot.com\/learn\/wp-content\/uploads\/2023\/09\/ESP32-google-sheets-Code-768x480.jpg 768w\" sizes=\"(max-width: 1140px) 100vw, 1140px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-4a034f0 elementor-widget elementor-widget-text-editor\" data-id=\"4a034f0\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-text-editor elementor-clearfix\">\n\t\t\t\t<p>\u067e\u0633 \u0627\u0632 \u0627\u062a\u0645\u0627\u0645 \u06a9\u0627\u0631\u060c \u0628\u0647 Sheet \u0633\u0627\u062e\u062a\u0647 \u0634\u062f\u0647 \u0628\u0627\u0632 \u0645\u06cc\u06af\u0631\u062f\u06cc\u0645. \u062e\u0631\u0648\u062c\u06cc \u0645\u0648\u0631\u062f \u0646\u0638\u0631\u0645\u0627\u0646 \u0628\u0647 \u0635\u0648\u0631\u062a \u062f\u0645\u0627 \u0648 \u0631\u0637\u0648\u0628\u062a \u0648 \u0632\u0645\u0627\u0646 \u0648 \u062a\u0627\u0631\u06cc\u062e \u0642\u0627\u0628\u0644 \u0645\u0634\u0627\u0647\u062f\u0647 \u0627\u0633\u062a. \u0627\u06cc\u0646 \u062f\u0627\u062f\u0647 \u0647\u0627 \u0631\u0627 \u062f\u0631 \u067e\u0646\u062c\u0631\u0647 Serial Monitor \u0646\u0631\u0645 \u0627\u0641\u0632\u0627\u0631 \u0622\u0631\u062f\u0648\u06cc\u0646\u0648 \u0646\u06cc\u0632 \u0645\u06cc\u062a\u0648\u0627\u0646\u06cc\u0645 \u0645\u0634\u0627\u0647\u062f\u0647 \u06a9\u0646\u06cc\u0645. \u0627\u06cc\u0646 \u0627\u0639\u062f\u0627\u062f \u0628\u0631 \u0631\u0648\u06cc \u062a\u0644\u0641\u0646 \u0647\u0645\u0631\u0627\u0647 \u0648 \u062f\u0631 \u0646\u0631\u0645 \u0627\u0641\u0632\u0627\u0631 Google Sheets \u0646\u06cc\u0632 \u0642\u0627\u0628\u0644 \u0631\u0635\u062f \u0647\u0633\u062a\u0646\u062f.<\/p>\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-a239459 elementor-widget elementor-widget-image\" data-id=\"a239459\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-image\">\n\t\t\t\t\t\t\t\t\t\t\t\t<img width=\"1140\" height=\"713\" src=\"https:\/\/thecaferobot.com\/learn\/wp-content\/uploads\/2023\/09\/ESP32-google-sheets-ScriptResult-1200x750.jpg\" class=\"attachment-large size-large\" alt=\"ESP32 to Google Sheets (Creating a Script - Result)\" loading=\"lazy\" srcset=\"https:\/\/thecaferobot.com\/learn\/wp-content\/uploads\/2023\/09\/ESP32-google-sheets-ScriptResult-600x375.jpg 600w, https:\/\/thecaferobot.com\/learn\/wp-content\/uploads\/2023\/09\/ESP32-google-sheets-ScriptResult-768x480.jpg 768w\" sizes=\"(max-width: 1140px) 100vw, 1140px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-e8c25b9 elementor-widget elementor-widget-heading\" data-id=\"e8c25b9\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<h4 class=\"elementor-heading-title elementor-size-default\">\u062a\u0648\u0636\u06cc\u062d\u0627\u062a \u06a9\u062f \u0622\u0631\u062f\u0648\u06cc\u0646\u0648<\/h4>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-0cd4d8b elementor-widget elementor-widget-text-editor\" data-id=\"0cd4d8b\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-text-editor elementor-clearfix\">\n\t\t\t\t<p>\u062f\u0631 \u0627\u062f\u0627\u0645\u0647 \u06a9\u062f \u0622\u0631\u062f\u0648\u06cc\u0646\u0648 \u0631\u0627 \u0628\u0647 \u0628\u062e\u0634 \u0647\u0627\u06cc \u0645\u062e\u062a\u0644\u0641\u06cc \u062a\u0642\u0633\u06cc\u0645 \u0645\u06cc \u06a9\u0646\u06cc\u0645 \u0648 \u0647\u062f\u0641 \u0627\u0632 \u0647\u0631 \u0628\u062e\u0634 \u0631\u0627 \u0628\u0647 \u0637\u0648\u0631 \u062e\u0644\u0627\u0635\u0647 \u062a\u0648\u0636\u06cc\u062d \u0645\u06cc \u062f\u0647\u06cc\u0645.<\/p><p>\u0627\u0628\u062a\u062f\u0627 \u06a9\u062a\u0627\u0628\u062e\u0627\u0646\u0647 \u0647\u0627\u06cc \u0645\u0648\u0631\u062f \u0646\u06cc\u0627\u0632 \u0631\u0627 \u062a\u0639\u0631\u06cc\u0641 \u0645\u06cc \u06a9\u0646\u06cc\u0645. \u0628\u062f\u06cc\u0647\u06cc \u0627\u0633\u062a \u06a9\u0647 \u062f\u0631 \u0635\u0648\u0631\u062a \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u0633\u0646\u0633\u0648\u0631\u0647\u0627\u06cc \u0645\u062a\u0641\u0627\u0648\u062a\u060c \u06a9\u062a\u0627\u0628\u062e\u0627\u0646\u0647 \u0647\u0627 \u0646\u06cc\u0632 \u0645\u062a\u0646\u0627\u0633\u0628 \u0628\u0627 \u0622\u0646 \u062a\u063a\u06cc\u06cc\u0631 \u062e\u0648\u0627\u0647\u0646\u062f \u06a9\u0631\u062f.<\/p>\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-f4631ca elementor-widget elementor-widget-html\" data-id=\"f4631ca\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<pre class=\"line-numbers lang-arduino\"><code>#if defined(ESP32) || defined(ARDUINO_RASPBERRY_PI_PICO_W)\r\n#include &lt;WiFi.h&gt;\r\n#elif defined(ESP8266)\r\n#include &lt;ESP8266WiFi.h&gt;\r\n#endif\r\n#include &lt;WiFiClientSecure.h&gt;\r\n#include &lt;Wire.h&gt;\r\n#include &lt;Adafruit_Sensor.h&gt;\r\n#include \"Adafruit_BME680.h\"\r\n<\/code><\/pre>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-b74f511 elementor-widget elementor-widget-text-editor\" data-id=\"b74f511\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-text-editor elementor-clearfix\">\n\t\t\t\t<p>\u0645\u0634\u062e\u0635\u0627\u062a \u0634\u0628\u06a9\u0647 \u0648\u0627\u06cc \u0641\u0627\u06cc \u0631\u0627 \u0628\u0627 \u062f\u0642\u062a \u0648\u0627\u0631\u062f \u0645\u06cc \u06a9\u0646\u06cc\u0645 \u062a\u0627 \u062f\u0631 \u0627\u062f\u0627\u0645\u0647 ESP32 \u0628\u0647 \u0634\u0628\u06a9\u0647 \u0648\u0627\u06cc \u0641\u0627\u06cc \u062a\u0639\u06cc\u06cc\u0646 \u0634\u062f\u0647 \u0645\u062a\u0635\u0644 \u06af\u0631\u062f\u062f.<\/p>\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-356a9cf elementor-widget elementor-widget-html\" data-id=\"356a9cf\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<pre class=\"line-numbers lang-arduino\"><code>const char* ssid = \"ElectroPeak\"; \/\/--&gt; Your wifi name or SSID.\r\nconst char* password = \"**********\"; \/\/--&gt; Your wifi password.\r\n<\/code><\/pre>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-b16b7b1 elementor-widget elementor-widget-text-editor\" data-id=\"b16b7b1\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-text-editor elementor-clearfix\">\n\t\t\t\t<p>Deployment ID \u0631\u0627 \u0645\u0637\u0627\u0628\u0642 \u0628\u0627 \u0631\u0648\u0646\u062f\u06cc \u06a9\u0647 \u0627\u0634\u0627\u0631\u0647 \u0634\u062f \u0628\u0647 \u0637\u0648\u0631 \u062f\u0642\u06cc\u0642 \u062c\u0627\u06cc\u06af\u0632\u06cc\u0646 \u0645\u06cc \u06a9\u0646\u06cc\u0645.<\/p>\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-df9e18f elementor-widget elementor-widget-html\" data-id=\"df9e18f\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<pre class=\"line-numbers lang-arduino\"><code>String GAS_ID = \"AKfycbxGBAOSGsonYMhC44spCtQUwFCW3C-0P2NdZiAmrRFXMzpSB2DKD9cF8hL7F4QCRg7C\"; \/\/--&gt; spreadsheet script ID\r\n<\/code><\/pre>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-8ce25ad elementor-widget elementor-widget-text-editor\" data-id=\"8ce25ad\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-text-editor elementor-clearfix\">\n\t\t\t\t<p>ESP32 \u0628\u0647 \u0634\u0628\u06a9\u0647 \u0648\u0627\u06cc \u0641\u0627\u06cc \u06a9\u0647 \u062e\u0648\u062f\u0645\u0627\u0646 \u062a\u0639\u0631\u06cc\u0641 \u06a9\u0631\u062f\u0647 \u0627\u06cc\u0645 \u0645\u062a\u0635\u0644 \u0645\u06cc\u06af\u0631\u062f\u062f.<\/p>\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-754d1e0 elementor-widget elementor-widget-html\" data-id=\"754d1e0\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<pre class=\"line-numbers lang-arduino\"><code>WiFi.begin(ssid, password); \/\/--&gt; Connect to your WiFi router\r\n<\/code><\/pre>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-07097ed elementor-widget elementor-widget-text-editor\" data-id=\"07097ed\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-text-editor elementor-clearfix\">\n\t\t\t\t<p>\u062f\u0631 \u0635\u0648\u0631\u062a\u06cc \u06a9\u0647 \u0627\u062a\u0635\u0627\u0644 \u0628\u0647 \u0648\u0627\u06cc \u0641\u0627\u06cc \u0628\u0647 \u062f\u0631\u0633\u062a\u06cc \u0635\u0648\u0631\u062a \u067e\u0630\u06cc\u0631\u062f \u0646\u0627\u0645 \u0634\u0628\u06a9\u0647 \u0648 IP \u062f\u0631 \u067e\u0646\u062c\u0631\u0647 Serial Monitor \u0642\u0627\u0628\u0644 \u0645\u0634\u0627\u0647\u062f\u0647 \u062e\u0648\u0627\u0647\u0646\u062f \u0628\u0648\u062f.<\/p>\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-5001f75 elementor-widget elementor-widget-html\" data-id=\"5001f75\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<pre class=\"line-numbers lang-arduino\"><code>  Serial.println(\"\");\r\n  Serial.print(\"Successfully connected to : \");\r\n  Serial.println(ssid);\r\n  Serial.print(\"IP address: \");\r\n  Serial.println(WiFi.localIP());\r\n  Serial.println();\r\n<\/code><\/pre>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-e844da5 elementor-widget elementor-widget-text-editor\" data-id=\"e844da5\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-text-editor elementor-clearfix\">\n\t\t\t\t<p>\u0645\u06cc\u0632\u0627\u0646 \u062f\u0645\u0627 \u0648 \u0641\u0634\u0627\u0631 \u0647\u0648\u0627 \u0648 \u0631\u0637\u0648\u0628\u062a \u0648 \u06af\u0627\u0632\u0647\u0627\u06cc \u0622\u0644\u0627\u06cc\u0646\u062f\u0647 \u0648 \u0627\u0631\u062a\u0641\u0627\u0639 \u0627\u0632 \u0633\u0637\u062d \u062f\u0631\u06cc\u0627 \u0633\u0646\u062c\u06cc\u062f\u0647 \u062e\u0648\u0627\u0647\u062f \u0634\u062f \u0648 \u062f\u0631 \u067e\u0646\u062c\u0631\u0647 Serial Monitor \u0686\u0627\u067e \u0645\u06cc \u0634\u0648\u0646\u062f.<\/p>\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-41939ac elementor-widget elementor-widget-html\" data-id=\"41939ac\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<pre class=\"line-numbers lang-arduino\"><code>  Serial.print(\"Temperature = \");\r\n  Serial.print(bme.temperature);\r\n  Serial.println(\" *C\");\r\n  Serial.print(\"Pressure = \");\r\n  Serial.print(bme.pressure \/ 100.0);\r\n  Serial.println(\" hPa\");\r\n  Serial.print(\"Humidity = \");\r\n  Serial.print(bme.humidity);\r\n  Serial.println(\" %\");\r\n  Serial.print(\"Gas = \");\r\n  Serial.print(bme.gas_resistance \/ 1000.0);\r\n  Serial.println(\" KOhms\");\r\n\r\n  Serial.print(\"Approx. Altitude = \");\r\n  Serial.print(bme.readAltitude(SEALEVELPRESSURE_HPA));\r\n  Serial.println(\" m\");\r\n<\/code><\/pre>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-522426f elementor-widget elementor-widget-text-editor\" data-id=\"522426f\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-text-editor elementor-clearfix\">\n\t\t\t\t<p>\u062f\u0645\u0627 \u0648 \u0631\u0637\u0648\u0628\u062a \u0633\u0646\u062c\u06cc\u062f\u0647 \u062e\u0648\u0627\u0647\u0646\u062f \u0634\u062f \u0648 \u062f\u0631 \u0645\u062a\u063a\u06cc\u0631 \u0647\u0627\u06cc t \u0648 h \u0631\u06cc\u062e\u062a\u0647 \u0645\u06cc \u0634\u0648\u0646\u062f \u0648 \u062a\u0648\u0633\u0637 \u062a\u0627\u0628\u0639 sendDate \u0628\u0631\u0627\u06cc Google Sheets \u0627\u0631\u0633\u0627\u0644 \u062e\u0648\u0627\u0647\u0646\u062f \u0634\u062f.<\/p>\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-2271ed0 elementor-widget elementor-widget-html\" data-id=\"2271ed0\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<pre class=\"line-numbers lang-arduino\"><code>float t = bme.temperature;\r\nint h = bme.humidity;\r\nsendData(t, h); \/\/--&gt; Calls the sendData Subroutine\r\n<\/code><\/pre>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-1895a6f elementor-widget elementor-widget-text-editor\" data-id=\"1895a6f\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-text-editor elementor-clearfix\">\n\t\t\t\t<p>\u062f\u0631 \u0627\u06cc\u0646 \u0628\u062e\u0634 \u0627\u0632 \u06a9\u062f \u06a9\u0647 \u0645\u0631\u0628\u0648\u0637 \u0628\u0647 \u062a\u0639\u0631\u06cc\u0641 \u062a\u0627\u0628\u0639 sendDate \u0645\u06cc \u0628\u0627\u0634\u062f\u060c \u0627\u0628\u062a\u062f\u0627 \u0645\u062a\u063a\u06cc\u0631 \u0647\u0627\u06cc \u062f\u0645\u0627 \u0648 \u0631\u0637\u0648\u0628\u062a \u0628\u0647 \u0635\u0648\u0631\u062a \u0631\u0634\u062a\u0647 \u0627\u06cc \u062a\u0639\u0631\u06cc\u0641 \u0634\u062f\u0647 \u0648 \u0633\u067e\u0633 url \u0645\u0648\u0631\u062f \u0646\u06cc\u0627\u0632 \u062f\u0631 \u06cc\u06a9 \u0645\u062a\u063a\u06cc\u0631 \u0622\u0645\u0627\u062f\u0647 \u0633\u0627\u0632\u06cc\u060c \u0648 \u062f\u0631 \u0646\u0647\u0627\u06cc\u062a \u062f\u06cc\u062a\u0627\u06cc \u0645\u0648\u0631\u062f \u0646\u0638\u0631 \u0628\u0627 \u062f\u0633\u062a\u0648\u0631 client.print \u0628\u0647 Google Sheets \u0627\u0631\u0633\u0627\u0644 \u0645\u06cc \u0634\u0648\u062f.<\/p>\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-d356c33 elementor-widget elementor-widget-html\" data-id=\"d356c33\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<pre class=\"line-numbers lang-arduino\"><code>String string_temperature = String(tem);\r\n String string_humidity = String(hum, DEC); \r\n String url = \"\/macros\/s\/\" + GAS_ID + \"\/exec?temperature=\" + string_temperature + \"&amp;humidity=\" + string_humidity;\r\n Serial.print(\"requesting URL: \");\r\n Serial.println(url);\r\n client.print(String(\"GET \") + url + \" HTTP\/1.1\\r\\n\" +\r\n \"Host: \" + host + \"\\r\\n\" +\r\n \"User-Agent: BuildFailureDetectorESP32 \\r\\n\" +\r\n \"Connection: close\\r\\n\\r\\n\");\r\n<\/code><\/pre>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-a2b33c2 elementor-widget elementor-widget-heading\" data-id=\"a2b33c2\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">\u06cc\u06a9 \u06af\u0627\u0645 \u062c\u0644\u0648\u062a\u0631<\/h2>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-2526e0f elementor-widget elementor-widget-text-editor\" data-id=\"2526e0f\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-text-editor elementor-clearfix\">\n\t\t\t\t<p>\u062f\u0631 \u0627\u06cc\u0646 \u0622\u0645\u0648\u0632\u0634\u060c \u062a\u0648\u0627\u0646\u0633\u062a\u06cc\u0645 \u0633\u06cc\u0633\u062a\u0645 \u0627\u0631\u0633\u0627\u0644 \u0648 \u062f\u0631\u06cc\u0627\u0641\u062a \u062f\u0627\u062f\u0647 \u0628\u06cc\u0646 ESP32 \u0648 Google Sheets \u0631\u0627 \u0627\u0632 \u062f\u0648 \u0637\u0631\u06cc\u0642 Google Sheets API \u0648 Google Apps Script \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u0645. \u0633\u067e\u0633 \u062a\u0627\u0631\u06cc\u062e \u0648 \u062f\u0627\u062f\u0647 \u0647\u0627\u06cc \u062e\u0648\u0627\u0646\u062f\u0647 \u0634\u062f\u0647 \u0627\u0632 \u062d\u0633\u06af\u0631\u0647\u0627 \u0631\u0627 \u062f\u0631 Sheet \u0627\u06cc\u062c\u0627\u062f \u0634\u062f\u0647 \u0630\u062e\u06cc\u0631\u0647 \u06a9\u0631\u062f\u06cc\u0645.<br \/>\u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 sheet \u0627\u06cc\u062c\u0627\u062f\u0634\u062f\u0647\u060c \u06a9\u0627\u0631\u0647\u0627\u06cc \u0628\u0633\u06cc\u0627\u0631 \u0645\u062a\u0646\u0648\u0639 \u0648 \u067e\u06cc\u0686\u06cc\u062f\u0647 \u062a\u0631\u06cc \u0631\u0627 \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u062f \u0627\u0646\u062c\u0627\u0645 \u062f\u0647\u06cc\u062f.<br \/>\u0628\u0631\u0627\u06cc \u0646\u0645\u0648\u0646\u0647\u060c \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u062f \u0647\u0631\u06af\u0648\u0646\u0647 \u0627\u0637\u0644\u0627\u0639\u0627\u062a \u0646\u0648\u0634\u062a\u0627\u0631\u06cc \u0631\u0627 \u0628\u0627 \u0647\u0631 \u0641\u0631\u0645\u062a \u0628\u0647 Google Sheets \u0627\u0631\u0633\u0627\u0644 \u06a9\u0646\u06cc\u062f. \u0627\u06cc\u0646 \u0627\u0637\u0644\u0627\u0639\u0627\u062a \u0645\u06cc \u062a\u0648\u0627\u0646\u062f \u0627\u0632 \u0637\u0631\u06cc\u0642 \u062e\u0648\u0627\u0646\u062f\u0646 \u062e\u0631\u0648\u062c\u06cc \u0633\u0646\u0633\u0648\u0631\u0647\u0627 \u0648 \u0645\u0627\u0698\u0648\u0644 \u0647\u0627\u06cc \u0645\u062e\u062a\u0644\u0641 \u0628\u0647 \u062f\u0633\u062a \u0622\u06cc\u062f. <br \/>\u062a\u0646\u0647\u0627 \u0628\u0627 \u0627\u0631\u0633\u0627\u0644 \u062f\u0627\u062f\u0647 \u0647\u0627\u06cc \u0633\u0646\u0633\u0648\u0631 \u0628\u0647 Sheet \u0627\u06cc\u062c\u0627\u062f \u0634\u062f\u0647\u060c \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u062f \u06cc\u06a9 Data Logger \u0627\u06cc\u062c\u0627\u062f \u06a9\u0631\u062f\u0647 \u0648 \u0628\u0647 \u062a\u062d\u0644\u06cc\u0644 \u0648 \u0628\u0631\u0631\u0633\u06cc \u062f\u0627\u062f\u0647 \u0647\u0627\u06cc \u0622\u0646 \u0628\u067e\u0631\u062f\u0627\u0632\u06cc\u062f. <br \/>\u0648 \u06cc\u0627 \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u062f \u0628\u0627 \u062a\u062d\u0644\u06cc\u0644 \u062f\u0627\u062f\u0647 \u0647\u0627\u06cc \u0645\u0648\u062c\u0648\u062f\u060c \u06cc\u06a9 \u0633\u06cc\u0633\u062a\u0645 \u0645\u062f\u06cc\u0631\u06cc\u062a\u06cc \u0634\u0628\u06a9\u0647 IoT \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f.<\/p>\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\r\n\t\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t\t\t<\/div>\r\n\t\t\t\t\t<\/div>\r\n\t\t\t\t<\/section>\r\n\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>\u0645\u0642\u062f\u0645\u0647 \u0634\u0645\u0627 \u0647\u0645 \u0627\u0632 \u0627\u06cc\u0646\u06a9\u0647 \u062f\u06cc\u062a\u0627\u06cc ESP32 \u0631\u0627 \u0628\u0635\u0648\u0631\u062a \u062f\u0633\u062a\u06cc \u062b\u0628\u062a \u0648 \u0630\u062e\u06cc\u0631\u0647 \u06a9\u0646\u06cc\u062f \u062e\u0633\u062a\u0647 \u0634\u062f\u0647\u200c\u0627\u06cc\u062f\u061f \u0634\u0645\u0627 \u0647\u0645 \u0645\u06cc\u062e\u0648\u0627\u0647\u06cc\u062f \u0641\u0631\u0627\u06cc\u0646\u062f \u0627\u0631\u0633\u0627\u0644 \u0648 \u0630\u062e\u06cc\u0631\u0647 \u062f\u06cc\u062a\u0627\u06cc \u062f\u0633\u062a\u06af\u0627\u0647 ESP32 \u0628\u0647 Google Sheets \u0631\u0627 \u062e\u0648\u062f\u06a9\u0627\u0631 \u06a9\u0646\u06cc\u062f\u061f \u062e\u0628\u0631 \u062e\u0648\u0628 \u0627\u06cc\u0646\u06a9\u0647 \u0627\u0635\u0644\u0627 \u06a9\u0627\u0631 \u0633\u062e\u062a\u06cc \u0646\u06cc\u0633\u062a \u0648 \u0645\u0627 \u062f\u0631 \u0627\u06cc\u0646 \u0622\u0645\u0648\u0632\u0634\u060c \u0627\u0631\u0633\u0627\u0644 \u062f\u06cc\u062a\u0627 \u0627\u0632 ESP32 \u06cc\u0627 ESP8266 \u0628\u0647 \u06af\u0648\u06af\u0644 \u0634\u06cc\u062a \u0631\u0627 \u0628\u0635\u0648\u0631\u062a [&hellip;]<\/p>\n","protected":false},"author":28,"featured_media":30278,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[943],"tags":[4965,5008],"platform":[2732],"bytype":[1076],"difficulty":[1078],"related_products":[5009,5010],"featured_image_src":{"landsacpe":["https:\/\/thecaferobot.com\/learn\/wp-content\/uploads\/2023\/09\/poster333.jpg",1200,900,false],"list":["https:\/\/thecaferobot.com\/learn\/wp-content\/uploads\/2023\/09\/poster333.jpg",1200,900,false],"medium":["https:\/\/thecaferobot.com\/learn\/wp-content\/uploads\/2023\/09\/poster333-533x400.jpg",533,400,true],"full":["https:\/\/thecaferobot.com\/learn\/wp-content\/uploads\/2023\/09\/poster333.jpg",1200,900,false]},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v14.7 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>\u0627\u0631\u0633\u0627\u0644 \u062f\u06cc\u062a\u0627 \u0627\u0632 ESP32 \u06cc\u0627 ESP8266 \u0628\u0647 Google Sheets (\u0628\u0627 2 \u0631\u0648\u0634) - \u06a9\u0627\u0641\u0647 \u0631\u0628\u0627\u062a<\/title>\n<meta name=\"description\" content=\"\u062f\u0631 \u0627\u06cc\u0646 \u0622\u0645\u0648\u0632\u0634 \u06cc\u0627\u062f \u0645\u06cc \u06af\u06cc\u0631\u06cc\u062f \u0686\u06af\u0648\u0646\u0647 \u062f\u06cc\u062a\u0627 \u0631\u0627 \u0627\u0632 ESP32 \u06cc\u0627 ESP8266 \u0628\u0647 Google Sheets. \u0628\u0631\u0627\u06cc \u0622\u0645\u0648\u0632\u0634 \u06a9\u0627\u0645\u0644 \u0627\u0631\u0633\u0627\u0644 \u062f\u06cc\u062a\u0627 \u0628\u0647 \u06af\u0648\u06af\u0644 \u0634\u06cc\u062a \u0627\u06cc\u0646 \u0645\u0637\u0644\u0628 \u0631\u0627 \u0628\u062e\u0648\u0627\u0646\u06cc\u062f\" \/>\n<meta name=\"robots\" content=\"index, follow\" \/>\n<meta name=\"googlebot\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<meta name=\"bingbot\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/thecaferobot.com\/learn\/sending-data-from-esp32-or-esp8266-to-google-sheets-2-methods\/\" \/>\n<meta property=\"og:locale\" content=\"fa_IR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"\u0627\u0631\u0633\u0627\u0644 \u062f\u06cc\u062a\u0627 \u0627\u0632 ESP32 \u06cc\u0627 ESP8266 \u0628\u0647 Google Sheets (\u0628\u0627 2 \u0631\u0648\u0634) - \u06a9\u0627\u0641\u0647 \u0631\u0628\u0627\u062a\" \/>\n<meta property=\"og:description\" content=\"\u062f\u0631 \u0627\u06cc\u0646 \u0622\u0645\u0648\u0632\u0634 \u06cc\u0627\u062f \u0645\u06cc \u06af\u06cc\u0631\u06cc\u062f \u0686\u06af\u0648\u0646\u0647 \u062f\u06cc\u062a\u0627 \u0631\u0627 \u0627\u0632 ESP32 \u06cc\u0627 ESP8266 \u0628\u0647 Google Sheets. \u0628\u0631\u0627\u06cc \u0622\u0645\u0648\u0632\u0634 \u06a9\u0627\u0645\u0644 \u0627\u0631\u0633\u0627\u0644 \u062f\u06cc\u062a\u0627 \u0628\u0647 \u06af\u0648\u06af\u0644 \u0634\u06cc\u062a \u0627\u06cc\u0646 \u0645\u0637\u0644\u0628 \u0631\u0627 \u0628\u062e\u0648\u0627\u0646\u06cc\u062f\" \/>\n<meta property=\"og:url\" content=\"https:\/\/thecaferobot.com\/learn\/sending-data-from-esp32-or-esp8266-to-google-sheets-2-methods\/\" \/>\n<meta property=\"og:site_name\" content=\"\u06a9\u0627\u0641\u0647 \u0631\u0628\u0627\u062a\" \/>\n<meta property=\"article:published_time\" content=\"2023-10-31T12:03:30+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-11-01T04:32:15+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/thecaferobot.com\/learn\/wp-content\/uploads\/2023\/09\/poster333.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"900\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https:\/\/thecaferobot.com\/learn\/#organization\",\"name\":\"\\u06a9\\u0627\\u0641\\u0647 \\u0631\\u0628\\u0627\\u062a\",\"url\":\"https:\/\/thecaferobot.com\/learn\/\",\"sameAs\":[],\"logo\":{\"@type\":\"ImageObject\",\"@id\":\"https:\/\/thecaferobot.com\/learn\/#logo\",\"inLanguage\":\"fa-IR\",\"url\":\"https:\/\/thecaferobot.com\/learn\/wp-content\/uploads\/2018\/08\/Logo-small.png\",\"width\":250,\"height\":250,\"caption\":\"\\u06a9\\u0627\\u0641\\u0647 \\u0631\\u0628\\u0627\\u062a\"},\"image\":{\"@id\":\"https:\/\/thecaferobot.com\/learn\/#logo\"}},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/thecaferobot.com\/learn\/#website\",\"url\":\"https:\/\/thecaferobot.com\/learn\/\",\"name\":\"\\u06a9\\u0627\\u0641\\u0647 \\u0631\\u0628\\u0627\\u062a\",\"description\":\"\\u0622\\u0645\\u0648\\u0632\\u0634 \\u0627\\u0644\\u06a9\\u062a\\u0631\\u0648\\u0646\\u06cc\\u06a9\\u060c \\u0631\\u0628\\u0627\\u062a\\u06cc\\u06a9\\u060c \\u0622\\u0631\\u062f\\u0648\\u06cc\\u0646\\u0648 \\u0648 \\u0631\\u0633\\u067e\\u0628\\u0631\\u06cc \\u067e\\u0627\\u06cc\",\"publisher\":{\"@id\":\"https:\/\/thecaferobot.com\/learn\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":\"https:\/\/thecaferobot.com\/learn\/?s={search_term_string}\",\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"fa-IR\"},{\"@type\":\"ImageObject\",\"@id\":\"https:\/\/thecaferobot.com\/learn\/sending-data-from-esp32-or-esp8266-to-google-sheets-2-methods\/#primaryimage\",\"inLanguage\":\"fa-IR\",\"url\":\"https:\/\/thecaferobot.com\/learn\/wp-content\/uploads\/2023\/09\/poster333.jpg\",\"width\":1200,\"height\":900},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/thecaferobot.com\/learn\/sending-data-from-esp32-or-esp8266-to-google-sheets-2-methods\/#webpage\",\"url\":\"https:\/\/thecaferobot.com\/learn\/sending-data-from-esp32-or-esp8266-to-google-sheets-2-methods\/\",\"name\":\"\\u0627\\u0631\\u0633\\u0627\\u0644 \\u062f\\u06cc\\u062a\\u0627 \\u0627\\u0632 ESP32 \\u06cc\\u0627 ESP8266 \\u0628\\u0647 Google Sheets (\\u0628\\u0627 2 \\u0631\\u0648\\u0634) - \\u06a9\\u0627\\u0641\\u0647 \\u0631\\u0628\\u0627\\u062a\",\"isPartOf\":{\"@id\":\"https:\/\/thecaferobot.com\/learn\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/thecaferobot.com\/learn\/sending-data-from-esp32-or-esp8266-to-google-sheets-2-methods\/#primaryimage\"},\"datePublished\":\"2023-10-31T12:03:30+00:00\",\"dateModified\":\"2023-11-01T04:32:15+00:00\",\"description\":\"\\u062f\\u0631 \\u0627\\u06cc\\u0646 \\u0622\\u0645\\u0648\\u0632\\u0634 \\u06cc\\u0627\\u062f \\u0645\\u06cc \\u06af\\u06cc\\u0631\\u06cc\\u062f \\u0686\\u06af\\u0648\\u0646\\u0647 \\u062f\\u06cc\\u062a\\u0627 \\u0631\\u0627 \\u0627\\u0632 ESP32 \\u06cc\\u0627 ESP8266 \\u0628\\u0647 Google Sheets. \\u0628\\u0631\\u0627\\u06cc \\u0622\\u0645\\u0648\\u0632\\u0634 \\u06a9\\u0627\\u0645\\u0644 \\u0627\\u0631\\u0633\\u0627\\u0644 \\u062f\\u06cc\\u062a\\u0627 \\u0628\\u0647 \\u06af\\u0648\\u06af\\u0644 \\u0634\\u06cc\\u062a \\u0627\\u06cc\\u0646 \\u0645\\u0637\\u0644\\u0628 \\u0631\\u0627 \\u0628\\u062e\\u0648\\u0627\\u0646\\u06cc\\u062f\",\"inLanguage\":\"fa-IR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/thecaferobot.com\/learn\/sending-data-from-esp32-or-esp8266-to-google-sheets-2-methods\/\"]}]},{\"@type\":\"Article\",\"@id\":\"https:\/\/thecaferobot.com\/learn\/sending-data-from-esp32-or-esp8266-to-google-sheets-2-methods\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/thecaferobot.com\/learn\/sending-data-from-esp32-or-esp8266-to-google-sheets-2-methods\/#webpage\"},\"author\":{\"@id\":\"https:\/\/thecaferobot.com\/learn\/#\/schema\/person\/fdf13c585945b48eb39ef043dd45b8ea\"},\"headline\":\"\\u0627\\u0631\\u0633\\u0627\\u0644 \\u062f\\u06cc\\u062a\\u0627 \\u0627\\u0632 ESP32 \\u06cc\\u0627 ESP8266 \\u0628\\u0647 Google Sheets (\\u0628\\u0627 2 \\u0631\\u0648\\u0634)\",\"datePublished\":\"2023-10-31T12:03:30+00:00\",\"dateModified\":\"2023-11-01T04:32:15+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/thecaferobot.com\/learn\/sending-data-from-esp32-or-esp8266-to-google-sheets-2-methods\/#webpage\"},\"commentCount\":1,\"publisher\":{\"@id\":\"https:\/\/thecaferobot.com\/learn\/#organization\"},\"image\":{\"@id\":\"https:\/\/thecaferobot.com\/learn\/sending-data-from-esp32-or-esp8266-to-google-sheets-2-methods\/#primaryimage\"},\"keywords\":\"Google Sheets,\\u06af\\u0648\\u06af\\u0644 \\u0634\\u06cc\\u062a\",\"articleSection\":\"\\u0627\\u06cc\\u0646\\u062a\\u0631\\u0646\\u062a \\u0627\\u0634\\u06cc\\u0627\",\"inLanguage\":\"fa-IR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/thecaferobot.com\/learn\/sending-data-from-esp32-or-esp8266-to-google-sheets-2-methods\/#respond\"]}]},{\"@type\":[\"Person\"],\"@id\":\"https:\/\/thecaferobot.com\/learn\/#\/schema\/person\/fdf13c585945b48eb39ef043dd45b8ea\",\"name\":\"\\u0645\\u062c\\u06cc\\u062f \\u0645\\u0631\\u0622\\u062a\\u06cc\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\/\/thecaferobot.com\/learn\/#personlogo\",\"inLanguage\":\"fa-IR\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/0ac7e858bb2caebe0f4a26c2528e3933?s=96&d=mm&r=g\",\"caption\":\"\\u0645\\u062c\\u06cc\\u062f \\u0645\\u0631\\u0622\\u062a\\u06cc\"}}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","_links":{"self":[{"href":"https:\/\/thecaferobot.com\/learn\/wp-json\/wp\/v2\/posts\/29615"}],"collection":[{"href":"https:\/\/thecaferobot.com\/learn\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/thecaferobot.com\/learn\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/thecaferobot.com\/learn\/wp-json\/wp\/v2\/users\/28"}],"replies":[{"embeddable":true,"href":"https:\/\/thecaferobot.com\/learn\/wp-json\/wp\/v2\/comments?post=29615"}],"version-history":[{"count":182,"href":"https:\/\/thecaferobot.com\/learn\/wp-json\/wp\/v2\/posts\/29615\/revisions"}],"predecessor-version":[{"id":30615,"href":"https:\/\/thecaferobot.com\/learn\/wp-json\/wp\/v2\/posts\/29615\/revisions\/30615"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/thecaferobot.com\/learn\/wp-json\/wp\/v2\/media\/30278"}],"wp:attachment":[{"href":"https:\/\/thecaferobot.com\/learn\/wp-json\/wp\/v2\/media?parent=29615"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/thecaferobot.com\/learn\/wp-json\/wp\/v2\/categories?post=29615"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/thecaferobot.com\/learn\/wp-json\/wp\/v2\/tags?post=29615"},{"taxonomy":"platform","embeddable":true,"href":"https:\/\/thecaferobot.com\/learn\/wp-json\/wp\/v2\/platform?post=29615"},{"taxonomy":"bytype","embeddable":true,"href":"https:\/\/thecaferobot.com\/learn\/wp-json\/wp\/v2\/bytype?post=29615"},{"taxonomy":"difficulty","embeddable":true,"href":"https:\/\/thecaferobot.com\/learn\/wp-json\/wp\/v2\/difficulty?post=29615"},{"taxonomy":"related_products","embeddable":true,"href":"https:\/\/thecaferobot.com\/learn\/wp-json\/wp\/v2\/related_products?post=29615"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}