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

কেমন হতো যদি আপনার তৈরি যেকোনো প্রোজেক্ট থেকে ডাটাগুলো সময়ের সাথে Real Time সংরক্ষণ করে রাখা যেতো? 

যেমন ধরেন, আপনি একটা Temperature Monitoring System বানালেন, কিন্তু সারাদিনের ডাটা ট্র্যাক বা ভিজুয়ালাইজ করতে পারলেন না — তখন প্রোজেক্টটা ঠিক পরিপূর্ণ মনে হয় না, তাই না? কিন্তু যদি সেই Temperature ডাটা স্বয়ংক্রিয়ভাবে Google Sheet-এ Store হয়ে যায়, তাহলে শুধু মনিটরিং নয়, বরং Data Visualization ও Analysis হবে অনেক সহজ।

esp32-datalogging-google-sheets-intro

আর সবচেয়ে মজার বিষয় হলো — এই Temperature ডাটাগুলোর behavioral pattern বিশ্লেষণ করে, আপনি চাইলে ভবিষ্যতে একটা AI Model পর্যন্ত Develop করতে পারবেন! 

এই প্রোজেক্টের জন্য আমাদের পারফেক্ট চয়েজ হতে পারে ESP32, কারণ এর বিল্ট-ইন WiFi feature ইন্টারনেটকে এক্সেস করে, সেন্সর ডাটাকে সরাসরি Google Sheet এ Log করতে দেবে — কোনো ঝামেলা ছাড়াই।

তাহলে চলুন, দেখে নেওয়া যাক কীভাবে ESP32 ও DHT11 Sensor ব্যবহার করে আমরা রিয়েল-টাইম Temperature ডাটা Google Sheet-এ Datalogging করতে পারি!

কানেকশন

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

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

ESP32 DHT11
3.3V +
D15 S
GND

ডায়াগ্রাম:

esp32-datalogging-google-sheets-circuit-diagram

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

যদি আপনার কম্পিউটারে আগে থেকেই Arduino IDE ইনস্টল করা থাকে, তবে এই ধাপটি সহজেই Skip করতে পারেন। আর যদি না থাকে সেক্ষেত্রে এই টিউটোরিয়্যালটি ফলো করে Arduino IDE আপনার কম্পিউটারে Install করে নিতে হবে। 

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

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

esp32-datalogging-google-sheets-board-install

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

যেহেতু আমাদের মূল লক্ষ্য হলো সেন্সর থেকে পাওয়া Temperature ডেটাগুলো Google Sheet এ Real-Time এ Log বা Store করে রাখা, তাই প্রথমেই আমাদের Sheet টি সঠিকভাবে configure করে নিতে হবে। চিন্তার কিছু নেই — মাত্র কয়েকটি সহজ স্টেপ ফলো করলেই পুরো প্রক্রিয়াটা সম্পন্ন হয়ে যাবে। 

তাহলে চলুন, ধাপে ধাপে দেখে নিই কীভাবে Google Sheet কনফিগার করতে হয়।

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

esp32-datalogging-google-sheets-interface

চাইলে ফাইলটির নাম নিজের মতো করে Rename করতে পারেন, না করলেও কোনো সমস্যা নেই।

এরপর উপরের Menu Bar থেকে Extensions → App Script এ ক্লিক করো। এতে নতুন ট্যাবে App Script Editor ওপেন হবে।

esp32-datalogging-google-sheets-project-editor-apps-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);

}

esp32-datalogging-google-sheets-code-project-editor-apps-script

এরপর Ctrl + S প্রেস করে কোডটি Save করুন। এখন উপরে থাকা Deploy বাটনে ক্লিক করে New Deployment অপশনটি সিলেক্ট করুন।

esp32-datalogging-google-sheets-app-scripts-deployment-option

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

esp32-datalogging-google-sheets-app-scripts-deployment-panel-web-app-selections

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

esp32-datalogging-google-sheets-app-scripts-deployment-panel

এখানে একটি Relevant Description লিখে Who has access থেকে Anyone অপশনটি সিলেক্ট করে Deploy বাটনে ক্লিক করুন।

esp32-datalogging-google-sheets-app-scripts-deployment-panel-configuration

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

esp32-datalogging-google-sheets-app-scripts-deployment-authorization

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

esp32-datalogging-google-sheets-sign-in-google-accounts

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

esp32-datalogging-google-sheets-sign-in-google-accounts-advance

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

esp32-datalogging-google-sheets-sign-in-google-accounts-advance-go-to-safety

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

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

app-scripts-deployment-web-app-url

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

Arduino Code 

আমরা যেহেতু Temperature Data মাপার জন্য DHT11 Sensor ব্যবহার করছি, তাই প্রথম ধাপ হবে প্রয়োজনীয় লাইব্রেরি ইন্সটল করা। এজন্য Arduino IDE-তে গিয়ে উপরের মেনুবার থেকে Sketch → Include Library → Manage Libraries ওপেন করুন। দেখবেন পাশে একটি সাইডবার Open হয়েছে। 

library-manager

তারপর সার্চবারে “DHT sensor library” লিখে সার্চ দিন এবং DHT sensor library by Adafruit ইন্সটল করে ফেলুন। (ইন্সটলের সময় অবশ্যই Install All অপশনটি সিলেক্ট করবেন যাতে সব ডিপেন্ডেন্সি অটো ইন্সটল হয়।)

কোডটি কপি করে Arduino IDE তে কপি করে, পেস্ট করে ফেলুন। এরপর কোডে গিয়ে YOUR_WIFI_SSID এবং YOUR_PASSWORD জায়গায় নিজের WiFi Credentials (SSID এবং Password) সেট করুন এবং YOUR_WEB_APP_URL এর জায়গায় আগেই Google Sheet থেকে কপি করে রাখা Web App URL পেস্ট করে দিন।

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

Output

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

esp32-data-logging-output-gif

Mahbub Morshed Rifat
Mahbub Morshed Rifat

Engineer
TechShop Bangladesh

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.