একটি সার্ভারহীন ডেটা পাইপলাইন তৈরি করা: আইওটি থেকে অ্যানালিটিক্স

1. ওভারভিউ/পরিচয়

ওয়েব, অ্যাপ্লিকেশন সার্ভার এবং ডাটাবেস সমন্বিত মাল্টি-টায়ার অ্যাপ্লিকেশনগুলি ওয়েব ডেভেলপমেন্টের ভিত্তি এবং অনেক ওয়েবসাইটের সূচনা বিন্দু, সাফল্য প্রায়শই স্কেলেবিলিটি, ইন্টিগ্রেশন এবং তত্পরতার চারপাশে চ্যালেঞ্জ নিয়ে আসে। উদাহরণস্বরূপ, কীভাবে ডেটা রিয়েল-টাইমে পরিচালনা করা যায় এবং কীভাবে এটি একাধিক মূল ব্যবসায়িক সিস্টেমে বিতরণ করা যেতে পারে? ইন্টারনেট-স্কেল অ্যাপ্লিকেশনগুলির চাহিদাগুলির সাথে এই সমস্যাগুলি একটি বিতরণ করা মেসেজিং সিস্টেমের প্রয়োজনীয়তাকে চালিত করেছে এবং স্থিতিস্থাপক, রিয়েল-টাইম সিস্টেমগুলি অর্জনের জন্য ডেটা পাইপলাইনগুলি ব্যবহার করার একটি স্থাপত্য প্যাটার্নের জন্ম দিয়েছে। ফলস্বরূপ, কীভাবে একটি বিতরণ করা মেসেজিং সিস্টেমে রিয়েল-টাইম ডেটা প্রকাশ করা যায় এবং তারপরে কীভাবে একটি ডেটা পাইপলাইন তৈরি করা যায় তা বোঝা বিকাশকারী এবং স্থপতির জন্য একইভাবে গুরুত্বপূর্ণ দক্ষতা।

যা আপনি নির্মাণ করবেন

এই কোডল্যাবে, আপনি একটি ওয়েদার ডেটা পাইপলাইন তৈরি করতে যাচ্ছেন যা একটি ইন্টারনেট অফ থিংস (IoT) ডিভাইস দিয়ে শুরু হয়, ডেটা গ্রহণ এবং বিতরণ করার জন্য একটি বার্তা সারি ব্যবহার করে, ডেটা গুদামে ডেটা স্থানান্তর করার জন্য একটি সার্ভারবিহীন ফাংশন ব্যবহার করে এবং তারপর তৈরি করে। একটি ড্যাশবোর্ড যা তথ্য প্রদর্শন করে। একটি আবহাওয়া সেন্সর সহ একটি রাস্পবেরি পাই IoT ডিভাইসের জন্য ব্যবহার করা হবে এবং Google ক্লাউড প্ল্যাটফর্মের বিভিন্ন উপাদান ডেটা পাইপলাইন গঠন করবে। রাস্পবেরি পাই তৈরি করা, যদিও উপকারী, এই কোডল্যাবের একটি ঐচ্ছিক অংশ এবং স্ট্রিমিং আবহাওয়ার ডেটা একটি স্ক্রিপ্ট দিয়ে প্রতিস্থাপন করা যেতে পারে।

79cd6c68e83f7fea.png

এই কোডল্যাবের ধাপগুলি সম্পূর্ণ করার পরে, আপনার কাছে একটি স্ট্রিমিং ডেটা পাইপলাইন থাকবে যা একটি ড্যাশবোর্ডকে ফিড করে যা তাপমাত্রা, আর্দ্রতা, শিশিরবিন্দু এবং বায়ুচাপ প্রদর্শন করে।

e28ca9ea4abb1457.png

আপনি কি শিখবেন

  • কিভাবে Google Pub/Sub ব্যবহার করবেন
  • কিভাবে একটি Google ক্লাউড ফাংশন স্থাপন
  • কিভাবে Google BigQuery ব্যবহার করতে হয়
  • গুগল ডেটা স্টুডিও ব্যবহার করে কীভাবে ড্যাশবোর্ড তৈরি করবেন
  • এছাড়াও, আপনি যদি IoT সেন্সর তৈরি করেন, তাহলে আপনি Google Cloud SDK কীভাবে ব্যবহার করবেন এবং কীভাবে Google ক্লাউড প্ল্যাটফর্মে দূরবর্তী অ্যাক্সেস কলগুলি সুরক্ষিত করবেন তাও শিখবেন

আপনি কি প্রয়োজন হবে

আপনি যদি নমুনা ডেটা এবং একটি স্ক্রিপ্ট ব্যবহার করার পরিবর্তে এই কোডল্যাবের আইওটি সেন্সর অংশটি তৈরি করতে চান তবে আপনার নিম্নলিখিতগুলিও প্রয়োজন হবে ( যা এখানে সম্পূর্ণ কিট হিসাবে বা পৃথক অংশ হিসাবে অর্ডার করা যেতে পারে ) ...

  • পাওয়ার সাপ্লাই, এসডি মেমরি কার্ড এবং কেস সহ রাস্পবেরি পাই জিরো ডব্লিউ
  • ইউএসবি কার্ড রিডার
  • ইউএসবি হাব (রাস্পবেরি পাইতে একমাত্র ইউএসবি পোর্টে একটি কীবোর্ড এবং মাউস সংযোগ করার অনুমতি দিতে)
  • মহিলা থেকে মহিলা ব্রেডবোর্ড তারের
  • GPIO হাতুড়ি হেডার
  • BME280 সেন্সর
  • সোল্ডার দিয়ে সোল্ডারিং লোহা

এছাড়াও, HDMI ইনপুট, HDMI কেবল, কীবোর্ড এবং একটি মাউস সহ একটি কম্পিউটার মনিটর বা টিভিতে অ্যাক্সেস থাকার কথা।

2. সেট আপ করা হচ্ছে

স্ব-গতিসম্পন্ন পরিবেশ সেটআপ

আপনার যদি ইতিমধ্যে একটি Google অ্যাকাউন্ট না থাকে (Gmail বা G Suite), তাহলে আপনাকে অবশ্যই একটি তৈরি করতে হবে। আপনার ইতিমধ্যেই একটি Google অ্যাকাউন্ট আছে কি না তা নির্বিশেষে, $300 বিনামূল্যের ট্রায়ালের সুবিধা নিতে ভুলবেন না!

Google ক্লাউড প্ল্যাটফর্ম কনসোলে সাইন-ইন করুন ( console.cloud.google.com )। আপনি এই ল্যাবের জন্য ডিফল্ট প্রকল্প ("আমার প্রথম প্রকল্প") ব্যবহার করতে পারেন অথবা আপনি একটি নতুন প্রকল্প তৈরি করতে বেছে নিতে পারেন। আপনি যদি একটি নতুন প্রকল্প তৈরি করতে চান, আপনি সম্পদ পরিচালনা পৃষ্ঠাটি ব্যবহার করতে পারেন। সমস্ত Google ক্লাউড প্রজেক্ট জুড়ে প্রোজেক্ট আইডি একটি অনন্য নাম হওয়া দরকার (নীচে দেখানো একটি ইতিমধ্যে নেওয়া হয়েছে এবং আপনার জন্য কাজ করবে না)। আপনার প্রকল্প আইডি নোট করুন (অর্থাৎ আপনার প্রকল্প আইডি হবে _____) কারণ এটি পরে প্রয়োজন হবে।

f414a63d955621a7.png

3415e861c09cd06a.png

এই কোডল্যাবের মাধ্যমে চালানোর জন্য কয়েক ডলারের বেশি খরচ হওয়া উচিত নয়, তবে আপনি যদি আরও সংস্থান ব্যবহার করার সিদ্ধান্ত নেন বা যদি আপনি সেগুলিকে চলমান রেখে দেন তবে এটি আরও বেশি হতে পারে। কোডল্যাবের শেষে ক্লিনআপ বিভাগের মাধ্যমে যেতে ভুলবেন না।

3. একটি BigQuery টেবিল তৈরি করুন

BigQuery হল একটি সার্ভারবিহীন, অত্যন্ত স্কেলযোগ্য, কম খরচে এন্টারপ্রাইজ ডেটা গুদাম এবং এটি IoT ডিভাইসগুলি থেকে স্ট্রিম করা ডেটা সংরক্ষণ করার জন্য একটি আদর্শ বিকল্প হবে এবং একটি বিশ্লেষণ ড্যাশবোর্ডকে তথ্য অনুসন্ধান করার অনুমতি দেবে৷

আসুন একটি টেবিল তৈরি করি যা IoT আবহাওয়ার সমস্ত ডেটা ধারণ করবে। ক্লাউড কনসোল থেকে BigQuery নির্বাচন করুন। এটি একটি নতুন উইন্ডোতে BigQuery খুলবে (মূল উইন্ডোটি বন্ধ করবেন না কারণ আপনাকে এটি আবার অ্যাক্সেস করতে হবে)।

12a838f78a10144a.png

আপনার প্রকল্পের নামের পাশে নিচের তীর আইকনে ক্লিক করুন এবং তারপরে "নতুন ডেটাসেট তৈরি করুন" নির্বাচন করুন

27616683b64ce34a.png

ডেটাসেটের জন্য "ওয়েদারডেটা" লিখুন, একটি অবস্থান নির্বাচন করুন যেখানে এটি সংরক্ষণ করা হবে এবং "ঠিক আছে" ক্লিক করুন

62cfcbd1add830ea.png

একটি নতুন টেবিল তৈরি করতে আপনার ডেটাসেটের পাশে "+" চিহ্নে ক্লিক করুন

3d7bff6f9843fa3c.png

উৎস ডেটার জন্য, খালি টেবিল তৈরি করুন নির্বাচন করুন। গন্তব্য টেবিলের নামের জন্য, আবহাওয়া ডেটা টেবিল লিখুন। স্কিমার অধীনে, ক্ষেত্র যোগ করুন বোতামে ক্লিক করুন যতক্ষণ না মোট 9টি ক্ষেত্র থাকে। প্রতিটি ক্ষেত্রের জন্য উপযুক্ত টাইপ নির্বাচন করা নিশ্চিত করে নীচের দেখানো ক্ষেত্রগুলি পূরণ করুন। সবকিছু সম্পূর্ণ হলে, টেবিল তৈরি করুন বোতামে ক্লিক করুন।

eef352614a5696a7.png

আপনি এই মত একটি ফলাফল দেখতে হবে ...

7d10e5ab8c6d6a0d.png

আপনার আবহাওয়ার ডেটা পাওয়ার জন্য এখন আপনার কাছে একটি ডেটা গুদাম সেটআপ আছে।

4. একটি পাব/সাব বিষয় তৈরি করুন

ক্লাউড পাব/সাব হল স্ট্রিম অ্যানালিটিক্স এবং ইভেন্ট-চালিত কম্পিউটিং সিস্টেমের জন্য একটি সহজ, নির্ভরযোগ্য, মাপযোগ্য ভিত্তি। ফলস্বরূপ, এটি ইনকামিং IoT বার্তাগুলি পরিচালনা করার জন্য উপযুক্ত এবং তারপরে ডাউনস্ট্রিম সিস্টেমগুলিকে সেগুলি প্রক্রিয়া করার অনুমতি দেয়।

আপনি যদি এখনও BigQuery-এর জন্য উইন্ডোতে থাকেন, তাহলে Cloud Console-এ ফিরে যান। আপনি ক্লাউড কনসোল বন্ধ করলে, https://console.cloud.google.com-এ যান

ক্লাউড কনসোল থেকে, পাব/সাব এবং তারপরে বিষয় নির্বাচন করুন।

331ad71e8a1ea7b.png

আপনি যদি একটি সক্ষম API প্রম্পট দেখতে পান, তাহলে API সক্ষম করুন বোতামে ক্লিক করুন।

9f6fca9dc8684801.png

Create a topic বাটনে ক্লিক করুন

643670164e9fae12.png

বিষয়ের নাম হিসাবে "আবহাওয়া তথ্য" লিখুন এবং তৈরি করুন ক্লিক করুন

d7b049bc66a34db6.png

আপনি নতুন তৈরি বিষয় দেখতে হবে

7c385759f65a1031.png

আপনার কাছে এখন IoT বার্তা প্রকাশ করার জন্য এবং অন্যান্য প্রক্রিয়াগুলিকে সেই বার্তাগুলি অ্যাক্সেস করার অনুমতি দেওয়ার জন্য একটি পাব/সাব বিষয় রয়েছে৷

বিষয়টিতে নিরাপদ প্রকাশনা

আপনি যদি আপনার Google ক্লাউড কনসোলের (যেমন একটি IoT সেন্সর) এর বাইরের সংস্থানগুলি থেকে Pub/Sub বিষয়ে বার্তা প্রকাশ করার পরিকল্পনা করেন, তাহলে একটি পরিষেবা অ্যাকাউন্ট ব্যবহার করে অ্যাক্সেসকে আরও শক্তভাবে নিয়ন্ত্রণ করা এবং সংযোগের নিরাপত্তা নিশ্চিত করার প্রয়োজন হবে একটি বিশ্বাস শংসাপত্র।

ক্লাউড কনসোল থেকে, আইএএম এবং অ্যাডমিন এবং তারপরে পরিষেবা অ্যাকাউন্টগুলি নির্বাচন করুন৷

8e2f8a1428d0feca.png

পরিষেবা অ্যাকাউন্ট তৈরি করুন বোতামে ক্লিক করুন

60892b564e0ac140.png

ভূমিকা ড্রপডাউনে, পাব/সাব প্রকাশকের ভূমিকা নির্বাচন করুন৷

31f8c944af11270e.png

একটি পরিষেবা অ্যাকাউন্টের নাম টাইপ করুন (iotWeatherPublisher), একটি নতুন ব্যক্তিগত কী প্রদানের চেকবক্সটি চেক করুন, নিশ্চিত করুন যে কী টাইপ JSON এ সেট করা আছে এবং "তৈরি করুন" এ ক্লিক করুন

7e3f9d7e56a44796.png

নিরাপত্তা কী স্বয়ংক্রিয়ভাবে ডাউনলোড হবে। শুধুমাত্র একটি কী আছে, তাই এটি হারানো গুরুত্বপূর্ণ। Close এ ক্লিক করুন।

60a7da32dd85ba73.png

আপনার দেখতে হবে যে একটি পরিষেবা অ্যাকাউন্ট তৈরি করা হয়েছে এবং এটির সাথে যুক্ত একটি কী আইডি রয়েছে৷

b25f6f5629fe8fd7.png

পরে সহজে কীটি অ্যাক্সেস করার জন্য, আমরা এটিকে Google ক্লাউড স্টোরেজে সংরক্ষণ করব। ক্লাউড কনসোল থেকে, স্টোরেজ এবং তারপর ব্রাউজার নির্বাচন করুন।

c4414fe61be320a9.png

বালতি তৈরি করুন বোতামে ক্লিক করুন

cde91311b267fc65.png

স্টোরেজ বাকেটের জন্য একটি নাম চয়ন করুন (এটি এমন একটি নাম হতে হবে যা সমস্ত Google ক্লাউড জুড়ে বিশ্বব্যাপী অনন্য) এবং তৈরি করুন বোতামে ক্লিক করুন

28c10e41b401f479.png

স্বয়ংক্রিয়ভাবে ডাউনলোড হওয়া নিরাপত্তা কীটি সনাক্ত করুন এবং হয় টেনে/ড্রপ করুন বা স্টোরেজ বাকেটে আপলোড করুন

a0f6d069d42cec4b.png

কী আপলোড সম্পূর্ণ হওয়ার পরে, এটি ক্লাউড স্টোরেজ ব্রাউজারে উপস্থিত হওয়া উচিত

55b25c8b9d73ec19.png

স্টোরেজ বাকেটের নাম এবং পরবর্তীতে নিরাপত্তা কী ফাইলের নাম নোট করুন।

5. একটি ক্লাউড ফাংশন তৈরি করুন

ক্লাউড কম্পিউটিং কম্পিউটিংয়ের সম্পূর্ণ সার্ভারহীন মডেলগুলিকে সম্ভব করেছে যেখানে যেকোনো জায়গা থেকে উদ্ভূত ইভেন্টের প্রতিক্রিয়ায় চাহিদা অনুযায়ী যুক্তি তৈরি করা যেতে পারে। এই ল্যাবের জন্য, একটি ক্লাউড ফাংশন প্রতিবার আবহাওয়ার বিষয়ে একটি বার্তা প্রকাশ করার সময় শুরু হবে, বার্তাটি পড়বে এবং তারপর এটি BigQuery-এ সংরক্ষণ করবে।

ক্লাউড কনসোল থেকে, ক্লাউড ফাংশন নির্বাচন করুন

a14ac2e4f03bf831.png

আপনি যদি একটি API বার্তা দেখতে পান, তাহলে API সক্ষম করুন বোতামে ক্লিক করুন

40ba0a08430e0e8a.png

Create function বাটনে ক্লিক করুন

5d82d8faeffa55bf.png

Name ক্ষেত্রে, function-weatherPubSubToBQ টাইপ করুন। ট্রিগারের জন্য ক্লাউড পাব/সাব বিষয় নির্বাচন করুন এবং টপিক ড্রপডাউনে আবহাওয়ার ডেটা নির্বাচন করুন। সোর্স কোডের জন্য, ইনলাইন এডিটর নির্বাচন করুন। index.js ট্যাবে নিচের কোডটি পেস্ট করুন যা দিয়ে শুরু করতে হবে। আপনার পরিবেশের সাথে মানানসই করার জন্য ProjectId, datasetId এবং tableId-এর ধ্রুবক পরিবর্তন করতে ভুলবেন না।

/**
 * Background Cloud Function to be triggered by PubSub.
 *
 * @param {object} event The Cloud Functions event.
 * @param {function} callback The callback function.
 */
exports.subscribe = function (event, callback) {
  const BigQuery = require('@google-cloud/bigquery');
  const projectId = "myProject"; //Enter your project ID here
  const datasetId = "myDataset"; //Enter your BigQuery dataset name here
  const tableId = "myTable"; //Enter your BigQuery table name here -- make sure it is setup correctly
  const PubSubMessage = event.data;
  // Incoming data is in JSON format
  const incomingData = PubSubMessage.data ? Buffer.from(PubSubMessage.data, 'base64').toString() : "{'sensorID':'na','timecollected':'1/1/1970 00:00:00','zipcode':'00000','latitude':'0.0','longitude':'0.0','temperature':'-273','humidity':'-1','dewpoint':'-273','pressure':'0'}";
  const jsonData = JSON.parse(incomingData);
  var rows = [jsonData];

  console.log(`Uploading data: ${JSON.stringify(rows)}`);

  // Instantiates a client
  const bigquery = BigQuery({
    projectId: projectId
  });

  // Inserts data into a table
  bigquery
    .dataset(datasetId)
    .table(tableId)
    .insert(rows)
    .then((foundErrors) => {
      rows.forEach((row) => console.log('Inserted: ', row));

      if (foundErrors && foundErrors.insertErrors != undefined) {
        foundErrors.forEach((err) => {
            console.log('Error: ', err);
        })
      }
    })
    .catch((err) => {
      console.error('ERROR:', err);
    });
  // [END bigquery_insert_stream]


  callback();
};

package.json ট্যাবে, নিচের কোডটি প্লেসহোল্ডার কোডের উপরে পেস্ট করুন

{
  "name": "function-weatherPubSubToBQ",
  "version": "0.0.1",
  "private": true,
  "license": "Apache-2.0",
  "author": "Google Inc.",
  "dependencies": {
    "@google-cloud/bigquery": "^0.9.6"
  }
}

যদি কার্যকর করার ফাংশনটি "HelloWorld" এ সেট করা থাকে, তাহলে এটিকে "সাবস্ক্রাইব" এ পরিবর্তন করুন। Create বাটনে ক্লিক করুন

3266d5268980a4db.png

এটি প্রায় 2 মিনিট সময় নেবে যতক্ষণ না আপনার ফাংশনটি দেখাবে যে এটি স্থাপন করা হয়েছে

26f45854948426d0.png

অভিনন্দন! আপনি এইমাত্র ফাংশনের মাধ্যমে BigQuery-এর সাথে Pub/Sub-কে সংযুক্ত করেছেন।

6. IoT হার্ডওয়্যার সেটআপ করুন (ঐচ্ছিক)

রাস্পবেরি পাই এবং সেন্সর একত্রিত করুন

যদি 7টির বেশি পিন থাকে, তাহলে হেডারটি শুধুমাত্র 7 পিনের নিচে ট্রিম করুন। সেন্সর বোর্ডে হেডার পিন সোল্ডার করুন।

a162e24426118c97.png

রাস্পবেরি পাইতে হাতুড়ি হেডার পিনগুলি সাবধানে ইনস্টল করুন

a3a697907fe3c9a9.png

SD কার্ড ফরম্যাট করুন এবং এখানে ধাপগুলি অনুসরণ করে NOOBS (নতুন আউট অফ বক্স সফ্টওয়্যার) ইনস্টলার ইনস্টল করুন৷ রাস্পবেরি পাইতে SD কার্ড ঢোকান এবং রাস্পবেরি পাই এর কেসে রাখুন।

1e4e2459cd3333ec.png

নীচের চিত্র অনুসারে সেন্সরটিকে রাস্পবেরি পাই-তে সংযুক্ত করতে ব্রেডবোর্ডের তারগুলি ব্যবহার করুন।

392c2a9c85187094.png

রাস্পবেরি পাই পিন

সেন্সর সংযোগ

পিন 1 (3.3V)

ভিআইএন

পিন 3 (CPIO2)

এসডিআই

পিন 5 (GPIO3)

SCK

পিন 9 (গ্রাউন্ড)

জিএনডি

44322e38d467d66a.png

মনিটর সংযুক্ত করুন (মিনি-এইচডিএমআই সংযোগকারী ব্যবহার করে), কীবোর্ড/মাউস (ইউএসবি হাবের সাথে) এবং অবশেষে পাওয়ার অ্যাডাপ্টার।

রাস্পবেরি পাই এবং সেন্সর কনফিগার করুন

রাস্পবেরি পাই বুট করা শেষ হওয়ার পরে, পছন্দসই অপারেটিং সিস্টেমের জন্য রাস্পবিয়ান নির্বাচন করুন, আপনার পছন্দসই ভাষা সঠিক কিনা তা নিশ্চিত করুন এবং তারপরে ইনস্টলে ক্লিক করুন (উইন্ডোর উপরের বাম অংশে হার্ড ড্রাইভ আইকন)।

a16f0da19b93126.png

Wifi আইকনে ক্লিক করুন (স্ক্রীনের উপরের ডানদিকে) এবং একটি নেটওয়ার্ক নির্বাচন করুন। এটি একটি সুরক্ষিত নেটওয়ার্ক হলে, পাসওয়ার্ড লিখুন (প্রি শেয়ার্ড কী)।

17f380b2d41751a8.png

রাস্পবেরি আইকনে ক্লিক করুন (স্ক্রীনের উপরের বাম দিকে), পছন্দগুলি এবং তারপরে রাস্পবেরি পাই কনফিগারেশন নির্বাচন করুন। ইন্টারফেস ট্যাব থেকে, I2C সক্ষম করুন। স্থানীয়করণ ট্যাব থেকে, লোকেল এবং টাইমজোন সেট করুন। টাইমজোন সেট করার পরে, রাস্পবেরি পাই রিবুট করার অনুমতি দিন।

14741a77fccdb7e7.png

রিবুট সম্পন্ন হওয়ার পরে, টার্মিনাল উইন্ডো খুলতে টার্মিনাল আইকনে ক্লিক করুন।

9df6f228f6a31601.png

সেন্সরটি সঠিকভাবে সংযুক্ত কিনা তা নিশ্চিত করতে নিম্নলিখিত কমান্ডটি টাইপ করুন।

  sudo i2cdetect -y 1

ফলাফলটি এইরকম হওয়া উচিত - নিশ্চিত করুন যে এটি 77 পড়েছে।

cd35cd97bee8085a.png

Google Cloud SDK ইনস্টল করুন

Google ক্লাউড প্ল্যাটফর্মে টুলগুলি ব্যবহার করার জন্য, রাস্পবেরি পাইতে Google ক্লাউড SDK-কে ইনস্টল করতে হবে। SDK-এর মধ্যে Google ক্লাউড প্ল্যাটফর্ম পরিচালনা এবং লিভারেজ করার জন্য প্রয়োজনীয় সরঞ্জামগুলি অন্তর্ভুক্ত রয়েছে এবং এটি বিভিন্ন প্রোগ্রামিং ভাষার জন্য উপলব্ধ।

রাস্পবেরি পাইতে একটি টার্মিনাল উইন্ডো খুলুন যদি একটি ইতিমধ্যে খোলা না থাকে এবং একটি পরিবেশ পরিবর্তনশীল সেট করুন যা রাস্পবেরি পাই-এর অপারেটিং সিস্টেমের সাথে SDK সংস্করণের সাথে মিলবে৷

  export CLOUD_SDK_REPO="cloud-sdk-$(lsb_release -c -s)"

এখন Google ক্লাউড SDK প্যাকেজগুলি কোথায় সংরক্ষণ করা হয়েছে তার অবস্থান যোগ করুন যাতে ইনস্টলেশন টুলগুলি জানতে পারে যখন SDK ইনস্টল করতে বলা হবে তখন কোথায় দেখতে হবে৷

  echo "deb http://packages.cloud.google.com/apt $CLOUD_SDK_REPO main" |  sudo tee -a /etc/apt/sources.list.d/google-cloud-sdk.list

Google এর প্যাকেজ সংগ্রহস্থল থেকে সর্বজনীন কী যোগ করুন যাতে রাস্পবেরি পাই নিরাপত্তা যাচাই করবে এবং ইনস্টলেশনের সময় বিষয়বস্তুকে বিশ্বাস করবে

  curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -

রাস্পবেরি পাই-এর সমস্ত সফ্টওয়্যার আপ টু ডেট আছে তা নিশ্চিত করুন এবং মূল Google ক্লাউড SDK ইনস্টল করুন

  sudo apt-get update && sudo apt-get install google-cloud-sdk

"আপনি কি চালিয়ে যেতে চান?" অনুরোধ করা হলে, এন্টার টিপুন।

পাইথন প্যাকেজ ম্যানেজার ব্যবহার করে টেন্ডো প্যাকেজ ইনস্টল করুন। এই প্যাকেজটি একটি স্ক্রিপ্ট একাধিকবার চলছে কিনা এবং আবহাওয়া স্ক্রিপ্টে এটির প্রয়োগের জন্য ইনস্টল করা হচ্ছে কিনা তা পরীক্ষা করতে ব্যবহৃত হয়।

  pip install tendo

পাইথনের জন্য Google ক্লাউড PubSub এবং OAuth2 প্যাকেজগুলি পাইথন প্যাকেজ ম্যানেজার ব্যবহার করে ইনস্টল করা এবং আপ টু ডেট আছে তা নিশ্চিত করুন

  sudo pip install --upgrade google-cloud-pubsub
  sudo pip install --upgrade oauth2client

Google ক্লাউড SDK চালু করুন

SDK Google ক্লাউডে দূরবর্তী, প্রমাণীকৃত অ্যাক্সেসের অনুমতি দেয়। এই কোডল্যাবের জন্য, এটি স্টোরেজ বাকেট অ্যাক্সেস করতে ব্যবহার করা হবে যাতে নিরাপত্তা কী সহজেই রাস্পবেরি পাইতে ডাউনলোড করা যায়।

রাস্পবেরি পাই-এর কমান্ড লাইন থেকে প্রবেশ করুন

  gcloud init --console-only

যখন প্রম্পট করা হয় "আপনি কি লগ ইন করতে চান (Y/n)?", এন্টার টিপুন।

যখন আপনি দেখতে পান "আপনার ব্রাউজারে নিম্নলিখিত লিঙ্কে যান:" এর পরে একটি দীর্ঘ URL যা https://accounts.google.com/o/oauth ?... দিয়ে শুরু হয়, মাউস দিয়ে URL-এর উপর হোভার করুন, ডান ক্লিক করুন এবং "কপি URL" নির্বাচন করুন। তারপরে ওয়েব ব্রাউজার খুলুন (স্ক্রীনের উপরের বাম কোণে নীল গ্লোব আইকন), ঠিকানা বারের উপর ডান ক্লিক করুন এবং "পেস্ট" এ ক্লিক করুন।

একবার আপনি সাইন ইন স্ক্রীনটি দেখতে পেলে, আপনার Google ক্লাউড অ্যাকাউন্টের সাথে যুক্ত আপনার ইমেল ঠিকানা লিখুন এবং এন্টার টিপুন। তারপর আপনার পাসওয়ার্ড লিখুন এবং Next বাটনে ক্লিক করুন।

আপনাকে অনুরোধ করা হবে যে Google Cloud SDK আপনার Google অ্যাকাউন্ট অ্যাক্সেস করতে চায়৷ Allow বাটনে ক্লিক করুন।

আপনাকে যাচাইকরণ কোড দেওয়া হবে। মাউস ব্যবহার করে, এটি হাইলাইট করুন, তারপরে ডান ক্লিক করুন এবং অনুলিপি নির্বাচন করুন। টার্মিনাল উইন্ডোতে ফিরে যান, নিশ্চিত করুন যে কার্সারটি "যাচাই কোড লিখুন:" এর ডানদিকে রয়েছে, মাউস দিয়ে ডান ক্লিক করুন এবং তারপরে পেস্ট করতে বেছে নিন। এন্টার বোতাম টিপুন।

যদি আপনাকে "ব্যবহারের জন্য ক্লাউড প্রকল্প বাছাই করতে বলা হয়:", আপনি এই কোডল্যাবের জন্য যে প্রজেক্টের নামটি ব্যবহার করছেন তার সাথে সংশ্লিষ্ট নম্বরটি লিখুন এবং তারপরে এন্টার টিপুন৷

যদি আপনাকে কম্পিউট এপিআই সক্ষম করতে বলা হয়, তাহলে এটি সক্ষম করতে এন্টার বোতাম টিপুন। এর পরে, আপনাকে Google Compute Engine সেটিংস কনফিগার করতে বলা হবে। এন্টার টিপুন। আপনাকে সম্ভাব্য অঞ্চল/জোনগুলির একটি তালিকা উপস্থাপন করা হবে - আপনার কাছাকাছি একটি চয়ন করুন, সংশ্লিষ্ট নম্বরটি লিখুন এবং এন্টার টিপুন।

কিছুক্ষণের মধ্যে, আপনি কিছু অতিরিক্ত তথ্য প্রদর্শিত দেখতে পাবেন। Google Cloud SDK এখন কনফিগার করা হয়েছে। আপনি ওয়েব ব্রাউজার উইন্ডোটি বন্ধ করতে পারেন কারণ আপনার সামনে এটির প্রয়োজন হবে না।

সেন্সর সফ্টওয়্যার এবং আবহাওয়া স্ক্রিপ্ট ইনস্টল করুন

রাস্পবেরি পাই-এর কমান্ড লাইন থেকে, ইনপুট/আউটপুট পিনগুলি থেকে তথ্য পড়ার জন্য প্রয়োজনীয় প্যাকেজগুলি ক্লোন করুন।

  git clone https://github.com/adafruit/Adafruit_Python_GPIO

ডাউনলোড করা প্যাকেজ ইনস্টল করুন

  cd Adafruit_Python_GPIO

  sudo python setup.py install

  cd ..

প্রকল্প কোড ক্লোন করুন যা আবহাওয়া সেন্সর সক্ষম করে

  git clone https://github.com/googlecodelabs/iot-data-pipeline

ডাউনলোড করা সফ্টওয়্যারের অবশিষ্টাংশের মতো একই ডিরেক্টরিতে সেন্সর ড্রাইভারটিকে অনুলিপি করুন৷

  cd iot-data-pipeline/third_party/Adafruit_BME280

  mv Adafruit_BME280.py ../..

  cd ../..

টাইপ করে স্ক্রিপ্ট সম্পাদনা করুন...

  nano checkWeather.py

প্রজেক্টটিকে আপনার প্রোজেক্ট আইডিতে এবং টপিকটিকে আপনার পাব/সাব টপিকের নামে পরিবর্তন করুন (এগুলি এই কোডল্যাবের গেটিং সেট-আপ এবং একটি পাব/সাব টপিক তৈরিতে উল্লেখ করা হয়েছে)।

sensorID, sensorZipCode, sensorLat এবং sensorLong এর মান আপনি যে মান চান তাতে পরিবর্তন করুন। একটি নির্দিষ্ট অবস্থান বা ঠিকানার জন্য অক্ষাংশ এবং দ্রাঘিমাংশের মান এখানে পাওয়া যাবে।

আপনি প্রয়োজনীয় পরিবর্তনগুলি সম্পন্ন করার পরে, ন্যানো সম্পাদক থেকে প্রস্থান করতে শুরু করতে Ctrl-X টিপুন। নিশ্চিত করতে Y টিপুন।

# constants - change to fit your project and location
SEND_INTERVAL = 10 #seconds
sensor = BME280(t_mode=BME280_OSAMPLE_8, p_mode=BME280_OSAMPLE_8, h_mode=BME280_OSAMPLE_8)
credentials = GoogleCredentials.get_application_default()
project="myProject" #change this to your Google Cloud project id
topic = "myTopic" #change this to your Google Cloud PubSub topic name
sensorID = "s-Googleplex"
sensorZipCode = "94043"
sensorLat = "37.421655"
sensorLong = "-122.085637"

নিরাপত্তা কী ইনস্টল করুন

রাস্পবেরি পাইতে নিরাপত্তা কী ("একটি বিষয়ে সুরক্ষিত প্রকাশনা" বিভাগ থেকে) অনুলিপি করুন।

আপনি যদি আপনার স্থানীয় মেশিন থেকে আপনার রাস্পবেরি পাই (/home/pi ডিরেক্টরিতে) নিরাপত্তা কী অনুলিপি করতে SFTP বা SCP ব্যবহার করেন, তাহলে আপনি পরবর্তী ধাপটি এড়িয়ে যেতে পারেন এবং পাথ রপ্তানি করতে নিচে যেতে পারেন।

আপনি যদি একটি স্টোরেজ বাকেটের মধ্যে নিরাপত্তা কী রাখেন, তাহলে আপনাকে স্টোরেজ বাকেটের নাম এবং ফাইলের নাম মনে রাখতে হবে। নিরাপত্তা কী অনুলিপি করতে gsutil কমান্ড ব্যবহার করুন। এই কমান্ডটি Google স্টোরেজ অ্যাক্সেস করতে পারে (কেন এটির নাম gsutil এবং কেন ফাইলের পথটি gs:// দিয়ে শুরু হয়)। আপনার বালতির নাম এবং ফাইলের নাম থাকতে নীচের কমান্ডটি পরিবর্তন করতে ভুলবেন না।

  gsutil cp gs://nameOfYourBucket/yourSecurityKeyFilename.json .

আপনি একটি বার্তা দেখতে পাবেন যে ফাইলটি অনুলিপি করা হচ্ছে এবং তারপরে অপারেশনটি সম্পন্ন হয়েছে।

রাস্পবেরি পাই-তে কমান্ড লাইন থেকে, নিরাপত্তা কী-তে একটি পথ রপ্তানি করুন (আপনার যা আছে তা মেলানোর জন্য ফাইলের নাম পরিবর্তন করুন)

  export GOOGLE_APPLICATION_CREDENTIALS=/home/pi/iot-data-pipeline/yourSecurityKeyFilename.json

আপনার কাছে এখন একটি সম্পূর্ণ IoT আবহাওয়া সেন্সর রয়েছে যা Google ক্লাউডে ডেটা প্রেরণের জন্য প্রস্তুত৷

7. ডেটা পাইপলাইন শুরু করুন

Compute API সক্ষম করতে হতে পারে

রাস্পবেরি পাই থেকে ডেটা স্ট্রিমিং

আপনি যদি একটি Raspberry Pi IoT আবহাওয়া সেন্সর তৈরি করেন, তাহলে স্ক্রিপ্টটি শুরু করুন যা আবহাওয়ার ডেটা পড়বে এবং এটিকে Google Cloud Pub/Sub-এ পুশ করবে। আপনি যদি /home/pi/iot-data-pipeline ডিরেক্টরিতে না থাকেন তবে প্রথমে সেখানে যান

  cd /home/pi/iot-data-pipeline

আবহাওয়া স্ক্রিপ্ট শুরু করুন

  python checkWeather.py

আপনার টার্মিনাল উইন্ডোটি প্রতি মিনিটে আবহাওয়ার ডেটা ফলাফলের প্রতিধ্বনি দেখতে হবে। ডেটা প্রবাহিত হলে, আপনি পরবর্তী বিভাগে যেতে পারেন (চেক করুন যে ডেটা প্রবাহিত হচ্ছে)।

সিমুলেটেড ডেটা স্ট্রিমিং

আপনি যদি IoT আবহাওয়া সেন্সর তৈরি না করে থাকেন, তাহলে আপনি Google ক্লাউড স্টোরেজে সংরক্ষিত একটি পাবলিক ডেটাসেট ব্যবহার করে এবং বিদ্যমান পাব/সাব বিষয়ে এটিকে ফিড করে ডেটা স্ট্রিমিং অনুকরণ করতে পারেন। ক্লাউড স্টোরেজ থেকে পড়ার জন্য এবং পাব/সাব-এ প্রকাশ করার জন্য Google-প্রদত্ত টেমপ্লেট সহ Google Dataflow ব্যবহার করা হবে।

প্রক্রিয়াটির অংশ হিসাবে, ডেটাফ্লো-এর একটি অস্থায়ী স্টোরেজ অবস্থানের প্রয়োজন হবে, তাই আসুন এই উদ্দেশ্যে একটি স্টোরেজ বালতি তৈরি করি।

ক্লাউড কনসোল থেকে, স্টোরেজ এবং তারপর ব্রাউজার নির্বাচন করুন।

c4414fe61be320a9.png

বালতি তৈরি করুন বোতামে ক্লিক করুন

cde91311b267fc65.png

স্টোরেজ বাকেটের জন্য একটি নাম চয়ন করুন (মনে রাখবেন, এটি এমন একটি নাম হতে হবে যা সমস্ত Google ক্লাউড জুড়ে বিশ্বব্যাপী অনন্য) এবং তৈরি বোতামে ক্লিক করুন৷ এই স্টোরেজ বাকেটের নামটি মনে রাখবেন কারণ এটি শীঘ্রই প্রয়োজন হবে।

1dad4cfbccfc96b1.png

ক্লাউড কনসোল থেকে, ডেটাফ্লো নির্বাচন করুন।

43ec245b47ae2e78.png

টেমপ্লেট থেকে কাজ তৈরি করুন এ ক্লিক করুন (স্ক্রীনের উপরের অংশ)

da55aaf2a1b0a0d0.png

নিচের দিকে মনোযোগ দিয়ে নিচে দেখানো কাজের বিবরণ পূরণ করুন:

  • dataflow-gcs-to-pubsub-এর একটি কাজের নাম লিখুন
  • আপনার প্রজেক্ট যেখানে হোস্ট করা হয়েছে সেই অনুযায়ী আপনার অঞ্চলটি স্বয়ংক্রিয়ভাবে নির্বাচন করা উচিত এবং পরিবর্তন করার প্রয়োজন হবে না।
  • ক্লাউড পাব/সাব-এ GCS পাঠ্যের একটি ক্লাউড ডেটাফ্লো টেমপ্লেট নির্বাচন করুন
  • ইনপুট ক্লাউড স্টোরেজ ফাইল(গুলি) এর জন্য, gs://codelab-iot-data-pipeline-sampleweatherdata/*.json লিখুন (এটি একটি সর্বজনীন ডেটাসেট)
  • আউটপুট পাব/সাব বিষয়ের জন্য, সঠিক পথটি আপনার প্রকল্পের নামের উপর নির্ভর করবে এবং "প্রকল্প/আপনার প্রকল্পের নাম/বিষয়/আবহাওয়া তথ্য" এর মতো কিছু দেখাবে।
  • "tmp" এর একটি ফাইলের নাম উপসর্গ সহ আপনার তৈরি করা Google ক্লাউড স্টোরেজ বাকেটের নামে অস্থায়ী অবস্থান সেট করুন। এটি "gs://myStorageBucketName/tmp" এর মতো দেখতে হবে।

আপনার কাছে সমস্ত তথ্য পূরণ হয়ে গেলে (নীচে দেখুন), রান জব বোতামে ক্লিক করুন

5f8ca16672f19d9b.png

Dataflow কাজ চালানো শুরু করা উচিত.

e020015c369639ad.png

Dataflow কাজটি সম্পূর্ণ হতে প্রায় এক মিনিট সময় লাগবে।

218a3ff7197dcf75.png

8. পরীক্ষা করুন যে ডেটা প্রবাহিত হচ্ছে

ক্লাউড ফাংশন লগ

নিশ্চিত করুন যে ক্লাউড ফাংশন Pub/Sub দ্বারা ট্রিগার করা হচ্ছে

  gcloud beta functions logs read function-weatherPubSubToBQ

লগগুলি দেখাবে যে ফাংশনটি কার্যকর হচ্ছে, ডেটা প্রাপ্ত হচ্ছে এবং এটি BigQuery-এ ঢোকানো হচ্ছে

d88f7831dabc8b3f.png

BigQuery ডেটা

BigQuery টেবিলে ডেটা প্রবাহিত হচ্ছে কিনা তা নিশ্চিত করতে পরীক্ষা করুন। ক্লাউড কনসোল থেকে, BigQuery এ যান (bigquery.cloud.google.com)।

85627127d58f1d2e.png

প্রকল্পের নামের অধীনে (উইন্ডোর বাম দিকে), ডেটাসেট (ওয়েদারডেটা) ক্লিক করুন, তারপর টেবিলে (ওয়েদারডেটাটেবল) এবং তারপরে কোয়েরি টেবিল বোতামে ক্লিক করুন

44dc0f765a69580c.png

এসকিউএল স্টেটমেন্টে একটি তারকাচিহ্ন যুক্ত করুন যাতে এটি পড়ে SELECT * FROM... নীচে দেখানো হিসাবে এবং তারপর RUN QUERY বোতামে ক্লিক করুন

b3a001e11c2902f2.png

যদি অনুরোধ করা হয়, রান ক্যোয়ারী বোতামে ক্লিক করুন

2c894d091b789ca3.png

আপনি যদি ফলাফল দেখতে পান, তাহলে ডেটা সঠিকভাবে প্রবাহিত হচ্ছে।

c8a061cebb7b528a.png

ডেটা প্রবাহিত হওয়ার সাথে, আপনি এখন একটি বিশ্লেষণ ড্যাশবোর্ড তৈরি করতে প্রস্তুত৷

9. একটি ডেটা স্টুডিও ড্যাশবোর্ড তৈরি করুন৷

Google ডেটা স্টুডিও আপনার ডেটাকে তথ্যপূর্ণ ড্যাশবোর্ড এবং প্রতিবেদনে পরিণত করে যা পড়া সহজ, ভাগ করা সহজ এবং সম্পূর্ণরূপে কাস্টমাইজযোগ্য।

আপনার ওয়েব ব্রাউজার থেকে, https://datastudio.google.com এ যান

10f8c27060cd7430.png

"একটি নতুন প্রতিবেদন শুরু করুন" এর অধীনে, ফাঁকা ক্লিক করুন এবং তারপরে শুরু করুন বোতামে ক্লিক করুন

df1404bc0047595e.png

শর্তাদি গ্রহণ করতে চেকবক্সে ক্লিক করুন, পরবর্তী বোতামে ক্লিক করুন, আপনি কোন ইমেলগুলি পেতে আগ্রহী তা নির্বাচন করুন এবং সম্পন্ন বোতামে ক্লিক করুন। আবার, "একটি নতুন প্রতিবেদন শুরু করুন" এর অধীনে, ফাঁকা ক্লিক করুন

55e91d3dd88b05ca.png

Create New Data Source বাটনে ক্লিক করুন

a22f3fac05774fc9.png

BigQuery-এ ক্লিক করুন, তারপর অনুমোদন বোতামে এবং তারপরে আপনি ডেটা স্টুডিওর সাথে যে Google অ্যাকাউন্টটি ব্যবহার করতে চান সেটি বেছে নিন (এটি কোডল্যাবের জন্য আপনি যেটি ব্যবহার করছেন সেটিই হওয়া উচিত)।

5ab03f341edc8964.png

Allow বাটনে ক্লিক করুন

22bcdbb5f5f1d30c.png

আপনার প্রকল্পের নাম, ডেটাসেট এবং টেবিল নির্বাচন করুন। তারপর Connect বাটনে ক্লিক করুন।

dc6b6b0ed9ced509.png

নিচের দেখানো মত টাইপ ক্ষেত্রগুলি পরিবর্তন করুন (সময় সংগ্রহ করা এবং সেন্সরআইডি ব্যতীত সবকিছুই একটি সংখ্যা হওয়া উচিত)। মনে রাখবেন যে সময় সংগৃহীত তারিখ ঘন্টা (এবং শুধুমাত্র তারিখ নয়) সেট করা হয়েছে। নীচে দেখানো হিসাবে একত্রিতকরণ ক্ষেত্রগুলি পরিবর্তন করুন (শিশিরবিন্দু, তাপমাত্রা, আর্দ্রতা এবং চাপ গড় হওয়া উচিত এবং বাকি সবকিছু "কেউ নয়" সেট করা উচিত)। Create Report বাটনে ক্লিক করুন।

c60887e29c3bdf9b.png

রিপোর্টে যোগ করুন বোতামে ক্লিক করে নিশ্চিত করুন

5ec3888dfdd85095.png

যদি আপনার Google অ্যাকাউন্ট নির্বাচন করতে বলা হয়, তাহলে তা করুন এবং তারপরে ডেটা স্টুডিওকে Google ড্রাইভে তার প্রতিবেদনগুলি সঞ্চয় করতে অনুমতি দিতে অনুমতি বোতামে ক্লিক করুন।

7b8006a813b3defa.png

আপনার ড্যাশবোর্ড তৈরি করার জন্য আপনাকে একটি ফাঁকা ক্যানভাস উপস্থাপন করা হয়েছে। আইকনগুলির উপরের সারি থেকে, সময় সিরিজ নির্বাচন করুন।

c7cd97354e1cde04.png

ফাঁকা পত্রকের উপরের বাম কোণে একটি আয়তক্ষেত্র আঁকুন। এটি মোট ফাঁকা পত্রকের প্রায় ¼ অংশ দখল করা উচিত।

e0e82cb19921f835.png

উইন্ডোর ডানদিকে, স্টাইল ট্যাবটি নির্বাচন করুন। অনুপস্থিত ডেটা "লাইন টু জিরো" থেকে "লাইন ব্রেকস" এ পরিবর্তন করুন। বাম Y-অক্ষ বিভাগে, অক্ষ মিন থেকে 0 মুছুন এটিকে (অটো) এ পরিবর্তন করতে।

c7620bfe734d546.png

শীটের গ্রাফটিতে ক্লিক করুন এবং এটি 3 বার কপি/পেস্ট করুন (Ctrl-C/Ctrl-V)। গ্রাফগুলি সারিবদ্ধ করুন যাতে প্রতিটিতে লেআউটের ¼ অংশ থাকে।

9a7d3faa28996219.png

প্রতিটি গ্রাফে ক্লিক করুন এবং টাইম সিরিজ প্রোপার্টিজ এবং ডেটা বিভাগের অধীনে বিদ্যমান মেট্রিক (শিশিরবিন্দু) ক্লিক করুন, চারটি আবহাওয়া রিডিং (শিশিরবিন্দু, তাপমাত্রা, আর্দ্রতা এবং চাপ) তাদের নিজস্ব গ্রাফ না হওয়া পর্যন্ত প্রদর্শনের জন্য একটি ভিন্ন মেট্রিক বেছে নিন।

d29b21cac9e1ef5d.png

fda75a2f2a77a323.png

আপনি এখন একটি মৌলিক ড্যাশবোর্ড আছে!

8f59e8f4d44b8552.png

10. অভিনন্দন!

আপনি একটি সম্পূর্ণ ডেটা পাইপলাইন তৈরি করেছেন! এটি করার মাধ্যমে, আপনি শিখেছেন কীভাবে Google Pub/Sub ব্যবহার করতে হয়, কীভাবে একটি সার্ভারহীন ফাংশন স্থাপন করতে হয়, কীভাবে BigQuery ব্যবহার করতে হয় এবং কীভাবে ডেটা স্টুডিও ব্যবহার করে একটি বিশ্লেষণ ড্যাশবোর্ড তৈরি করতে হয়। উপরন্তু, আপনি Google ক্লাউড প্ল্যাটফর্মে ডেটা আনতে কীভাবে Google Cloud SDK নিরাপদে ব্যবহার করা যেতে পারে তা দেখেছেন। অবশেষে, আপনার কাছে এখন একটি গুরুত্বপূর্ণ আর্কিটেকচারাল প্যাটার্নের সাথে কিছু অভিজ্ঞতা আছে যা প্রাপ্যতা বজায় রেখে উচ্চ ভলিউম পরিচালনা করতে পারে।

79cd6c68e83f7fea.png

ক্লিন-আপ

একবার আপনি আবহাওয়ার ডেটা এবং বিশ্লেষণ পাইপলাইনের সাথে পরীক্ষা করা হয়ে গেলে, আপনি চলমান সংস্থানগুলি সরিয়ে ফেলতে পারেন।

আপনি যদি IoT সেন্সর তৈরি করেন তবে এটি বন্ধ করুন। স্ক্রিপ্ট বন্ধ করতে টার্মিনাল উইন্ডোতে Ctrl-C টিপুন এবং তারপরে রাস্পবেরি পাই পাওয়ার ডাউন করতে নিম্নলিখিতটি টাইপ করুন

  shutdown -h now

ক্লাউড ফাংশনে যান, function-weatherPubSubToBQ এর পাশের চেকবক্সে ক্লিক করুন এবং তারপরে Delete এ ক্লিক করুন

ae95f4f7178262e0.png

পাব/সাব-এ যান, টপিকে ক্লিক করুন, আবহাওয়ার ডেটা বিষয়ের পাশের চেকবক্সে ক্লিক করুন এবং তারপরে মুছুন ক্লিক করুন

6fb0bba3163d9a32.png

স্টোরেজ এ যান, স্টোরেজ বাকেটের পাশের চেকবক্সে ক্লিক করুন এবং তারপরে মুছুন এ ক্লিক করুন

9067fb2af9f907f4.png

bigquery.cloud.google.com-এ যান, আপনার প্রকল্পের নামের পাশে নিচের তীরটিতে ক্লিক করুন, আবহাওয়া ডেটাসেটের ডানদিকে নিচের তীরটিতে ক্লিক করুন এবং তারপরে ডেটাসেট মুছুন এ ক্লিক করুন।

a952dfeec49248c4.png

অনুরোধ করা হলে, ডেটা মুছে ফেলা শেষ করতে ডেটাসেট আইডি (ওয়েদারডেটা) টাইপ করুন।

6310b1cc8da31a77.png