ESP32 দিয়ে Google Sheet এ Temperature Data Logging

টিউন বিভাগ আইওটি
প্রকাশিত

ভাবুন তো — আপনার প্রোজেক্টের সেন্সর ডেটাগুলো যদি Real Time-এ স্বয়ংক্রিয়ভাবে Google Sheet-এ Save হয়ে যেতো! তাহলে কতো সুন্দর হতো, তাই না?

আজকে আমরা এমনি একটা প্রোজেক্ট তৈরি করব। এই প্রোজেক্টে আমরা ব্যবহার করবো ESP32DHT11 Sensor, যেখানে ESP32-এর Built-in WiFi সেন্সর ডেটা সরাসরি Google Sheet-এ পাঠাবে — একদম ঝামেলামুক্তভাবে।

esp32-data-logging-intro

জেনে নিন কীভাবে ESP32 DEVKIT V1 দিয়ে Real-Time Temperature Data Logging to Google Sheet প্রোজেক্টটি তৈরি করবেন!

কানেকশন

প্রথমেই আমাদের কাজ হবে নিচের কানেকশন টেবিল অথবা সার্কিট ডায়াগ্রাম ফলো করে ESP32 এবং DHT11 সেন্সরকে ইন্টারফেজ করে নেয়া। তাহলে দুইটি ডিভাইজের মধ্যে সংযোগগুলো দেয়া যাক।

কানেকশন টেবিল:

ESP32 DEV KIT V1DHT11
3.3V+
D15S
GND-

ডায়াগ্রাম:

esp32-dht11-data-logging-google-sheet-circuit-diagram

আরডুইনো IDE ইন্সটল

সর্বপ্রথম Arduino IDE ডাউনলোড করতে সরাসরি এই লিংকে ভিজিট করুন। যদি আগে থেকে করা থাকে তাহলে স্কিপ করুন।

আরডুইনো IDE তে ESP32 বোর্ড ইন্সটল

Arduino IDE-তে ডিফল্টভাবে ESP32 সিরিজের ডেভেলপমেন্ট বোর্ডগুলো থাকে না, তাই ESP32 প্রোগ্রাম করার আগে আমাদের আলাদাভাবে Board Package ইন্সটল করে নিতে হবে। চিন্তার কিছু নেই — মাত্র দুইটি সহজ স্টেপ ফলো করলেই কাজটা ঝটপট সম্পন্ন হয়ে যাবে!

প্রথমে Arduino IDE ওপেন করে উপরের মেনু থেকে File → Preferences-এ ক্লিক করুন। এখন “Additional Board Manager URLs” ফিল্ডে নিচের লিংকটি কপি করে পেস্ট করুন। তারপর Ok ক্লিক করতে হবে।

https://dl.espressif.com/dl/package_esp32_index.json

1-additional-board-manager-urls

এরপর Tools → Board → Board Manager এ গিয়ে সার্চবারে esp32 লিখে সার্চ দিতে হবে। সার্চ রেজাল্ট থেকে esp32 by Espressif Systems খুঁজে বের করে, Install বাটনে ক্লিক করলেই ইন্সটলেশন শুরু হবে।

2-esp32-board-install

ব্যাস! এখন আপনার Arduino IDE একদম রেডি যেকোনো ESP32 Board প্রোগ্রাম করার জন্য।

Google Sheet কনফিগারেশন

যদি চান ESP32 থেকে পাওয়া Temperature Data সরাসরি Google Sheet-এ Auto Save হোক, তাহলে প্রথমেই একটু কনফিগারেশন দরকার — কিন্তু চিন্তা নেই, কাজটা খুবই সহজ!

প্রথমে Google Account এ লগইন করে Google Sheet-এ একটি Blank Spreadsheet খুলুন। নিচের মতো একটি Interface দেখতে পাবেন।

3-google-sheets-interface

এরপর Extensions → App Script এ গিয়ে নিচের কোডটি কপি করে পেস্ট করুন

function doGet(e)

{var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet1");

var temperature = e.parameter.temperature;

sheet.appendRow([new Date(), temperature]);

return ContentService.createTextOutput("Data added " + temperature);}

5-code-project-editor-apps-script

তারপর কোডটি Save করে Deploy → New Deployment সিলেক্ট করুন।

6-app-scripts-deployment-option

পরে Select type এর পাশের Settings আইকন এ ক্লিক করে ড্রপডাউন থেকে Web App অপশনটি সিলেক্ট করুন।

7-app-scripts-deployment-panel-web-app-selections

নিচের মতো একটি Interface আসবে।

8-app-scripts-deployment-panel

এখন Who has access → Anyone অপশনটি বেছে নিয়ে Deploy চাপুন।

9-app-scripts-deployment-panel-configuration

এরপর আপনার Deployment-টিকে Authorize করতে বলা হবে — সেখানে Authorize Access বাটনে ক্লিক করুন।

10-app-scripts-deployment-authorization

এবার আপনার গুগল অ্যাকাউন্ট সাইন ইন করার জন্য একটি Pop-up Window ওপেন হবে। নিজের অ্যাকাউন্টটি সিলেক্ট করুন।

11-sign-in-google-accounts

সাইন ইন করার পর একটি Warning Page দেখতে পাবেন। নিচের দিকে থাকা Advanced অপশনটিতে ক্লিক করুন।

12-sign-in-google-accounts-advance

তারপর নিচে Go to project_name (unsafe) অপশনটিতে ক্লিক করো। উদাহরণস্বরূপ, যদি তোমার প্রোজেক্টের নাম হয় esp32_data_logger, তাহলে সেটি দেখাবে “Go to esp32_data_logger (unsafe)”।

13-sign-in-google-accounts-advance-go-to-safety

এখন Allow বাটনে ক্লিক করলেই অথরাইজেশন সম্পন্ন হবে।

14-sign-in-google-accounts-allow

সবশেষে কয়েক সেকেন্ড অপেক্ষা করলে “New Deployment” প্যানেলে আপনার Web App URL দেখতে পাবেন।

15-app-scripts-deployment-web-app-url

এই URL টিই হলো আপনাকে Google Sheet-এ Data Log করতে সাহায্য করবে— এটিকে কপি করে কোথাও নিরাপদে সংরক্ষণ করে রাখুন।

Arduino Code

প্রথমেই DHT11 সেন্সরের জন্য প্রয়োজনীয় লাইব্রেরি ইন্সটল করে নিন। Arduino IDE খুলে Sketch → Include Library → Manage Libraries যান।

16-library-manager

তারপর সার্চবারে “DHT sensor library” লিখে Adafruit DHT sensor library ইন্সটল করুন। (Install All অপশন সিলেক্ট করতে ভুলবেন না!)

এরপর নিচের কোডটি কপি করে Arduino IDE তে পেস্ট করুন। এখন কোডে গিয়ে YOUR_WIFI_SSID এবং YOUR_PASSWORD জায়গায় নিজের WiFi তথ্য দিন, আর YOUR_WEB_APP_URL অংশে আগে Google Sheet থেকে পাওয়া Web App URL পেস্ট করুন।

#include "DHT.h"
#define DHTPIN 15
#define DHTTYPE DHT11
DHT dht(DHTPIN, DHTTYPE);
voidsetup()
{
  Serial.begin(115200);
  dht.begin();
  delay(100);
  Serial.println("DHT Sensor Initilized Successfully! ");
}
voidloop()
{
  float h, t;
  for(int i = 0; i < 3; i+)
  {
h = dht.readHumidity();
t = dht.readTemperature();
  if (!isnan(h) &&!isnan(t)) break;
  delay(500);
}
  if(isnan(h) | isnan(t))
  {
Serial.println("Failed to read from DHT sensor after retries!");
return;
}
  Serial.print("Temperature = ");
  Serial.print(t);
  Serial.println("°C");
  Serial.print("Humidity = ");
  Serial.print(h);
  Serial.println("%");
  Serial.println();
  delay(2000);
}

সব ঠিক থাকলে এবার বোর্ড হিসেবে “DOIT ESP32 Devkit V1” এবং সঠিক COM Port সিলেক্ট করে কোডটি আপলোড করতে হবে। আপলোড হয়ে গেলে Done Uploading মেসেজ দেখতে পাবেন।

Output

কিছুক্ষণের মধ্যেই দেখবেন আপনার DHT11 Sensor থেকে Temperature ডাটা অটোমেটিকভাবে ওই Google Sheet এ Store হতে শুরু করেছে!

esp32-data-logging-output-gif

Level 0

আমি রিফাত মাহবুব। বিশ্বের সর্ববৃহৎ বিজ্ঞান ও প্রযুক্তির সৌশল নেটওয়ার্ক - টেকটিউনস এ আমি 1 মাস 2 সপ্তাহ যাবৎ যুক্ত আছি। টেকটিউনস আমি এ পর্যন্ত 3 টি টিউন ও 0 টি টিউমেন্ট করেছি। টেকটিউনসে আমার 0 ফলোয়ার আছে এবং আমি টেকটিউনসে 0 টিউনারকে ফলো করি।


টিউনস


আরও টিউনস


টিউনারের আরও টিউনস


টিউমেন্টস

দারুণ একটি প্রজেক্ট