diff --git a/2-farm/lessons/5-migrate-application-to-the-cloud/translations/assignment.bn.md b/2-farm/lessons/5-migrate-application-to-the-cloud/translations/assignment.bn.md index 0697bf5a..41bae594 100644 --- a/2-farm/lessons/5-migrate-application-to-the-cloud/translations/assignment.bn.md +++ b/2-farm/lessons/5-migrate-application-to-the-cloud/translations/assignment.bn.md @@ -54,4 +54,3 @@ | --------- | ------------------ | ------------- | --------------------- | | HTTP ট্রিগার তৈরী | সঠিক নামকরণের মাধ্যমে ২টি ট্রিগার তৈরি করে রিলে অন/অফ করা হয়েছে | সঠিক নামকরণের মাধ্যমে ১টি ট্রিগার তৈরি করেছে | কোন ট্রিগার তৈরী করতে সমর্থ হয়নি | | এইচটিটিপি ট্রিগারগুলি থেকে রিলে নিয়ন্ত্রণ করা | উভয় ট্রিগারকে আইওটি হাবের সাথে সংযুক্ত করতে এবং যথোপযুক্তভাবে রিলে নিয়ন্ত্রণ করতে সক্ষম হয়েছিল| কেবল ১টি ট্রিগারকে আইওটি হাবের সাথে সংযুক্ত করতে এবং যথোপযুক্তভাবে রিলে নিয়ন্ত্রণ করতে সক্ষম হয়েছিল | ট্রিগারকে আইওটি হাবের সাথে সংযুক্ত করতে সমর্থ হয়নি | -{"mode":"full","isActive":false} diff --git a/2-farm/lessons/6-keep-your-plant-secure/translations/.dummy.md b/2-farm/lessons/6-keep-your-plant-secure/translations/.dummy.md deleted file mode 100644 index 6e7db247..00000000 --- a/2-farm/lessons/6-keep-your-plant-secure/translations/.dummy.md +++ /dev/null @@ -1,9 +0,0 @@ -# Dummy File - -This file acts as a placeholder for the `translations` folder.
-**Please remove this file after adding the first translation** - -For the instructions, follow the directives in the [translations guide](https://github.com/microsoft/IoT-For-Beginners/blob/main/TRANSLATIONS.md) . - -## THANK YOU -We truly appreciate your efforts! diff --git a/2-farm/lessons/6-keep-your-plant-secure/translations/README.bn.md b/2-farm/lessons/6-keep-your-plant-secure/translations/README.bn.md new file mode 100644 index 00000000..f9de5322 --- /dev/null +++ b/2-farm/lessons/6-keep-your-plant-secure/translations/README.bn.md @@ -0,0 +1,245 @@ +# উদ্ভিদের নিরাপত্তা নিশ্চিতকরণ + +![A sketchnote overview of this lesson](../../../../sketchnotes/lesson-10.jpg) + +> স্কেচনোটটি তৈরী করেছেন [Nitya Narasimhan](https://github.com/nitya). বড় সংস্করণে দেখার জন্য ছবিটিতে ক্লিক করতে হবে। + +## লেকচার-পূর্ববর্তী কুইজ + +[লেকচার-পূর্ববর্তী কুইজ](https://brave-island-0b7c7f50f.azurestaticapps.net/quiz/19) + +## সূচনা + + +গত কয়েকটি পাঠে আমরা মাটি পর্যবেক্ষণের জন্য একটি আইওটি ডিভাইস তৈরি করেছি এবং এটিকে ক্লাউডের সাথে সংযুক্ত করেছি। তবে যদি হ্যাকাররা আমাদের আইওটি ডিভাইসগুলির নিয়ন্ত্রণ দখল করতে সক্ষম হয় তবে কী হবে? কী হবে যদি তারা মাটির আর্দ্রতার সঠিক মান পরিবর্তন করে, উচ্চমান পাঠায় - যাতে আমাদের গাছপালা কখনই সেচ না পায় অথবা আমাদের সেচব্যবস্থা সবসময় চালু রেখে যদি আমাদের গাছগুলিকে বেশি পানিতে ডুবিয়ে রাখে ? + +এই পাঠে আমরা আইওটি ডিভাইসগুলি নিরাপত্তার বিষয়ে শিখব। যেহেতু এটি এই প্রকল্পের শেষ পাঠ, আমরা আমাদের ক্লাউড সার্ভিসগুলি কীভাবে গুছিয়ে রাখতে পারি যাতে ব্যয় হ্রাস হয় - তা শিখব। + +এই পাঠে আমরা দেখবো: + +* [কেন আমাদের আইওটি ডিভাইসগুলি সুরক্ষিত করা দরকার?](#কেন-আমাদের-আইওটি-ডিভাইসগুলি-সুরক্ষিত-করা-দরকার) +* [সংকেতলিপি (Cryptography)](#সংকেতলিপি) +* [আমাদের আইওটি ডিভাইস নিরাপদ রাখা](#আইওটি-ডিভাইস-নিরাপত্তা) +* [X.509 Certificate তৈরী ও ব্যবহার](#X.509-Certificate-তৈরী-ও-ব্যবহার) + +> 🗑 এটি এই প্রজেক্টের শেষ লেসন, সুতরাং এই পাঠ এবং এর অ্যাসাইনমেন্ট শেষ করার পরে, আমাদের ক্লাউড ্সার্ভিসগুলি আমাদেরকে অবশ্যই গুছিয়ে রেখে দিতে হবে বা clean up করতে হবে। অ্যাসাইনমেন্টটি সম্পন্ন করার জন্য আমাদের যেসব সার্ভিসগুলির প্রয়োজন হবে, সেগুলো আগে নিশ্চিত করতে হবে। + +> এক্ষেত্রে [প্রজেক্ট ক্লীন-আপ গাইডে](../../../../../translations/clean-up.bn.md) নির্দেশনা পাওয়া যাবে যাতে আমরা ক্লাউড সার্ভিস গুছিয়ে রাখতে পারি। + +## কেন আমাদের আইওটি ডিভাইসগুলি সুরক্ষিত করা দরকার? + +আইওটি সুরক্ষার মধ্যে এটি নিশ্চিত করা হয় যে কেবলমাত্র নির্দিষ্ট কিছু ডিভাইসই আমাদের ক্লাউড আইওটি ্সার্ভিসতে সংযোগ করতে পারে এবং তাদের টেলিমেট্রি পাঠাতে পারে। এটিও নিশ্চিত করা হয় যেন কেবল আমাদের ক্লাউড সার্ভিসই আমাদের ডিভাইসে নির্দেশ পাঠাতে পারে। আইওটি ডেটা চিকিত্সা বা বেশ অন্তরঙ্গ ডেটা সহ ব্যক্তিগতও হতে পারে, তাই এই তথ্য ফাঁস হওয়া বন্ধ করতে আমাদের পুরো ব্যবস্থাপনার সুরক্ষা বিবেচনা করা উচিত। + +যদি আমাদের আইওটি অ্যাপ্লিকেশনটি সুরক্ষিত না হয় তবে বিভিন্ন ঝুঁকি রয়েছে: + +* একটি নকল ডিভাইস আমাদের অ্যাপ্লিকেশনটিকে ভুলভাবে প্রতিক্রিয়া দিতে পারে। উদাহরণস্বরূপ, মাটির আর্দ্রতার সঠিক মান পরিবর্তন করে, উচ্চমান পাঠালে আমাদের সেচ ব্যবস্থা কখনই চালু হবেনা এবং আমাদের গাছপালা পানির অভাবে মারা যাবে। + +* অননুমোদিত ব্যবহারকারীরা ব্যক্তিগত বা ব্যবসায়িক গুরুত্বপূর্ণ ডেটা পড়তে পারবে। + +* হ্যাকাররা কোন ডিভাইসে এমনভাবে কমান্ডগুলি প্রেরণ করতে পারে যাতে ডিভাইসটি বা এর সাথে হার্ডওয়ার এর ক্ষতি করতে পারে। + +* আইওটি ডিভাইসের সাথে সংযোগ স্থাপনের মাধ্যমে, হ্যাকাররা এটি অতিরিক্ত নেটওয়ার্কগুলিতে প্রবেশের অনুমতি পেয়ে যেতে পারে। + +* ক্ষতিকারক ব্যবহারকারীরা ব্যক্তিগত ডেটা অ্যাক্সেস করতে এবং এটি ব্ল্যাকমেইলের জন্য ব্যবহার করতে পারে + +এগুলি বাস্তব পরিস্থিতি এবং সর্বদাই ঘটে। পূর্ববর্তী পাঠগুলিতে কিছু উদাহরণ দেওয়া হয়েছিল, এখানে আরও কিছু রয়েছে: + +* 2018 সালে, হ্যাকাররা ডেটা চুরির জন্য ক্যাসিনোর নেটওয়ার্কে অ্যাক্সেস পেতে একটি ফিশ ট্যাঙ্ক থার্মোস্টেটে একটি ওপেন ওয়াইফাই অ্যাক্সেস পয়েন্ট ব্যবহার করেছিল। [সূত্রঃ The Hacker News - Casino Gets Hacked Through Its Internet-Connected Fish Tank Thermometer](https://thehackernews.com/2018/04/iot-hacking-thermometer.html) +* ২০১৬ সালে মিরাই বটনেট denial of service (Dos) এর মাধ্যমে Dyn নামক একটি ইন্টারনেট সার্ভিস প্রদানকারী সরবরাহকারীর বিরুদ্ধে আক্রমণ করে। এই বটনেট সাধারণ আইওটি ডিভাইস যেমন ডিভিআর এবং ক্যামেরাগুলিতে ডিফল্ট ব্যবহারকারীর নাম এবং পাসওয়ার্ড ব্যবহার করে এবং সেখান থেকে আক্রমণ চালিয়েছিল connect [সূত্রঃ The Guardian - DDoS attack that disrupted internet was largest of its kind in history, experts say](https://www.theguardian.com/technology/2016/oct/26/ddos-attack-dyn-mirai-botnet) +* Spiral Toys এর কাছে ইন্টারনেটে সকলের জন্য এভেইলেবল ডেটাবেস ছিলো যেটিতে তাদের ক্লাউডপেটস সংযুক্ত খেলনাগুলির ব্যবহারকারীর তথ্য ছিলো । [সূত্রঃ Troy Hunt - Data from connected CloudPets teddy bears leaked and ransomed, exposing kids' voice messages](https://www.troyhunt.com/data-from-connected-cloudpets-teddy-bears-leaked-and-ransomed-exposing-kids-voice-messages/). +* Strava তে একজন এথলিট আরেকজনকে পাশাপাশি অতিক্রম করে গেলে, একে অপরের রূট সহ অনেক ব্যক্তিগত তথ্য ফাঁস করে দেয় [সূত্রঃ Kim Komndo - Fitness app could lead a stranger right to our home — change this setting](https://www.komando.com/security-privacy/strava-fitness-app-privacy/755349/). + +✅ কিছু গবেষণা করা যাক: আরও উদাহরণের জন্য অনুসন্ধান করি আইওটি হ্যাকস এবং আইওটি ডেটা লঙ্ঘনের ঘটনাগুলি, বিশেষত ব্যক্তিগত বিষয়াদি যেমন ইন্টারনেট সংযুক্ত টুথব্রাশ বা স্কেল ব্যবহার করে হ্যাক। এই হ্যাকগুলি ভুক্তভোগী বা গ্রাহকদের উপর কী প্রভাব ফেলতে পারে সে সম্পর্কে চিন্তা করি। + +> 💁 নিরাপত্তা একটি বিশাল বিষয় এবং এই পাঠটি কেবলমাত্র আমাদের ডিভাইসটিকে ক্লাউডের সাথে সংযুক্ত করার জন্য কয়েকটি প্রাথমিক বিষয় শেখাবে। অন্যান্য বিষয় যা আলোচনা করা হবে না তার মধ্যে রয়েছে ট্রানজিটে ডেটা পরিবর্তনের জন্য নজরদারি, সরাসরি ডিভাইস হ্যাকিং, বা ডিভাইস কনফিগারেশনে পরিবর্তন ইত্যাদি । IoT হ্যাকিং এর মত সমস্যা মোকাবেলা করতে [Azure Defender for IoT](https://azure.microsoft.com/services/azure-defender-for-iot/?WT.mc_id=academic-17441-jabenn) তৈরী করা হয়েছে। এটি আমাদের কম্পিউটারে ব্যবহৃত এন্টিভাইরাসেরই মতো, যা ছোট এবং কম পাওয়ারে চলমান আইওটি ডিভাইসের জন্য বানানো। + +## সংকেতলিপি + +যখন কোন ডিভাইস আইওটি পরিষেবাতে সংযুক্ত থাকে, তখন এটি নিজেকে সনাক্ত করতে একটি আইডি ব্যবহার করে। সমস্যা হল এই আইডিটি ক্লোন করা যায় - হ্যাকার একটি নকল ডিভাইস সেট আপ করতে পারে যা একই আইডিটিকে আসল ডিভাইস হিসাবে ব্যবহার করে তবে ভুল ডেটা প্রেরণ করে। + +![Both valid and malicious devices could use the same ID to send telemetry](../../../../images/iot-device-and-hacked-device-connecting.png) + +এই সমস্যার সমাধানের জন্য কেবলমাত্র ডিভাইস এবং ক্লাউডের পরিচিত কিছু ভ্যালু বা গোপন সংকেত দ্বারা ডেটা আদান প্রদানের সময় তা অগোছালো করে একধরণের গোপন সংকেত-নির্ভর করে দেয়া। এই প্রক্রিয়াকে বলে *encryption* এবং যে ভ্যালু বা গোপন সংকেত দ্বারা ডেটাকে পরিবর্তিত করা হয়, তাকে বলে *encryption key* । + +![If encryption is used, then only encrypted messages will be accepted, others will be rejected](../../../../images/iot-device-and-hacked-device-connecting-encryption.png) + +যে ক্লাউড পরিষেবাটি একটি প্রক্রিয়া ব্যবহার করে ডেটাটিকে একটি পঠনযোগ্য ফর্ম্যাটে রূপান্তর করতে পারে সেই প্রক্রিয়াকে বলে *decryption (ডিক্রিপশন)* এবং এই কাজে একই এনক্রিপশন কী বা একটি *ডিক্রিপশন কী* ব্যবহার করা হয়। যদি এনক্রিপ্ট করা বার্তা কী দ্বারা ডিক্রিপ্ট করা না যায়, সেক্ষেত্রে ধরে নেয়া হয় যে ডিভাইসটি হ্যাক হয়ে গেছে এবং বার্তাটি তখন প্রত্যাখ্যান করা হয়। + +এনক্রিপশন এবং ডিক্রিপশনের টেকনিককে একসাথে বলা হয় - *সংকেতলিপি (Cryptography)* । + +### আদিপর্যায়ের সংকেতলিপি + +সবথেকে আদিযুগের সংকেতলিপি (Cryptography) ছিলো সাইফার প্রতিস্থাপন যা প্রায় ৩৫০০ বছর আগে ব্যবহার করা হতো। এগুলোতে একটি বর্ণের পরিবর্তে আরেকটি বসানো হত। উদাহরণস্বরূপ, [সিজার সাইফারে](https://wikipedia.org/wiki/Caesar_cipher) বর্ণগুলো সামনে বা পেছনে নির্দিষ্ট সংখ্যক ঘর অবস্থান পরিবর্তন করা হতো যে পরিবর্তনের মান কেবল প্রেরক ও গ্রাহক জানতো। + +আবার [Vigenère cipher](https://wikipedia.org/wiki/Vigenère_cipher) এর ক্ষেত্রে বর্ণগুলো ভিন্ন ভিন্ন ঘর পর্যন্ত মান পরিবর্তন করতো যা সাইফার টেক্সট থেকেও কঠিন হয়ে যায়। + +ক্রিপ্টোগ্রাফি বিভিন্ন উদ্দেশ্যে যেমন প্রাচীন মেসোপটেমিয়ায় একটি কুমার গ্লাইজ রেসিপি রক্ষা করা বা ভারতে প্রেমের গোপন চিঠি লেখার জন্য বা প্রাচীন মিশরীয় যাদুকরী মন্ত্রকে গোপন রাখার মতো কাজে ব্যবহার করা হয়েছিল। + +### আধুনিক সংকেতলিপি (Cryptography) + +আধুনিক ক্রিপ্টোগ্রাফি অনেক বেশি উন্নত, এটি প্রাথমিক পদ্ধতির চেয়ে ক্র্যাক করা আরও অনেক কঠিন করে তোলে। আধুনিক ক্রিপ্টোগ্রাফি ব্রুট ফোর্স আক্রমণকে অকার্যকর করার জন্য অনেকগুলি সম্ভাব্য কী(key) দিয়ে ডেটা এনক্রিপ্ট করতে জটিল গণিত ব্যবহার করে। + +সুরক্ষিত যোগাযোগের জন্য এটি বিভিন্ন উপায়ে ব্যবহার করা হয়। যদি আমরা এই লেসনটি যদি গিটহাব এ পড়ি, তবে আমরা লক্ষ্য করতে পারি যে ওয়েব সাইটের ঠিকানাটি *https* দিয়ে শুরু হয়, যার অর্থ আমাদের ব্রাউজার এবং গিটহাবের ওয়েব সার্ভারের মধ্যে যোগাযোগ এনক্রিপ্ট করা আছে। যদি কেউ আমাদের ব্রাউজার এবং গিটহাবের মধ্যে প্রবাহিত ইন্টারনেট ট্র্যাফিক পড়তে সক্ষম হয়ও তবুও তারা এনক্রিপ্ট করা ডেটা পড়তে সক্ষম হবে না। আমাদের কম্পিউটার এমনকি আমাদের হার্ডড্রাইভে সমস্ত ডেটা এনক্রিপ্ট করতে পারে যাতে কেউ যদি এটি চুরি করে, তবুও যেন তারা আমাদের পাসওয়ার্ড ছাড়াই আমাদের ডেটা পড়তে না পারে। + +> 🎓 HTTPS হলো HyperText Transfer Protocol **Secure** + +দুর্ভাগ্যক্রমে, সবকিছুই নিরাপদ নয়। কিছু ডিভাইসের কোন সুরক্ষা নেই, অন্যকিছু ডিভাইসে আবার সহজেই ক্র্যাক করা যায় এমন কী(KEY) গুলি ব্যবহার করে বা কখনও কখনও একই কী(KEY) ব্যবহার করে একই ধরণের সমস্ত ডিভাইসে। খুব ব্যক্তিগত আইওটি ডিভাইসগুলির জন্য অ্যাকাউন্ট রয়েছে যেগুলির সাথে ওয়াইফাই বা ব্লুটুথের মাধ্যমে সংযোগ করার জন্য পাসওয়ার্ড রয়েছে। আমরা যদি আমাদের নিজস্ব ডিভাইসে সংযোগ করতে পারি তবে কিন্তু আমরা চাইলে অন্য কারও ডিভাইসেও সংযোগ করতে পারি (অনুমতি ব্যাতিরেকে এটি করা অপরাধ)। একবার সংযুক্ত হয়ে আমরা কিছু খুব প্রাইভেট ডেটা অ্যাক্সেস করতে পারি, বা তাদের ডিভাইসে নিয়ন্ত্রণ রাখতে পারি। + +> 💁 আধুনিক সংকেতলিপি (Cryptography) এর জটিলতা এবং এনক্রিপশন ভাঙতে বিলিয়ন বিলিয়ন বছর লাগবে - এমন দাবি স্বত্বেও কোয়ান্টাম কম্পিউটিং এর আবির্ভাবের ফলে এই এনক্রিপশন কী (KEY) গুলো ভেঙে ফেলা অনেক সহজ হয়ে গিয়েছে। + +### Symmetric এবং asymmetric keys + +এনক্রিপশন ২ভাবে হয় - symmetric এবং asymmetric. + +**Symmetric** এনক্রিপশন ডেটা এনক্রিপ্ট এবং ডিক্রিপ্ট করতে একই কী ব্যবহার করে। প্রেরক এবং প্রাপক উভয়েরই একই কী (KEY)টি জানা দরকার। এটি সর্বনিম্ন সুরক্ষা স্তর, কারণ কী (KEY)টি শেয়ার করতে হবে। প্রেরকের দ্বারা প্রাপকের কাছে একটি এনক্রিপ্ট করা বার্তা প্রেরণের জন্য, প্রেরককে প্রথমে প্রাপককে কী (KEY) টি পাঠাতে হবে। + +![Symmetric key encryption uses the same key to encrypt and decrypt a message](../../../../images/send-message-symmetric-key.png) + +If the key gets stolen in transit, or the sender or recipient get hacked and the key is found, the encryption can be cracked. + +যদি ট্রানজিটে কী (KEY) টি চুরি হয়ে যায়, বা প্রেরক বা প্রাপক হ্যাক হয়ে যায় এবং কী(KEY)টি পাওয়া যায়, তাহলে এনক্রিপশনটি ক্র্যাক হয়ে যাবে। + +![Symmetric key encryption is only secure if a hacker doesn't get the key - if so they can intercept and decrypt the message](../../../../images/send-message-symmetric-key-hacker.png) + +**Asymmetric** এনক্রিপশনটিতে 2টি KEY ব্যবহৃত হয় - একটি এনক্রিপশন কী এবং একটি ডিক্রিপশন কী, এটি পাবলিক/প্রাইভেট KEY Pair হিসাবে উল্লেখ করা হয়। বার্তাটি এনক্রিপ্ট করার জন্য সর্বজনীন (PUBLIC) কী ব্যবহৃত হয় তবে এটি ডিক্রিপ্ট করতে তা ব্যবহার করা যায় না। ব্যক্তিগত (PRIVATE) KEY এখানে বার্তাটি ডিক্রিপ্ট করার জন্য ব্যবহৃত হয় তবে এটি আবার এনক্রিপ্ট করার জন্য ব্যবহার করা যায় না। + +![Asymmetric encryption uses a different key to encrypt and decrypt. The encryption key is sent to any message senders so they can encrypt a message before sending it to the recipient who owns the keys](../../../../images/send-message-asymmetric.png) + +প্রাপক তার পাবলিক KEY শেয়ার করে এবং প্রেরক এটি ব্যবহার করে বার্তা এনক্রিপ্ট করে। ম্যাসেজ পাঠানোর পরে,প্রাপক তার প্রাইভেট কী দ্বারা তা ডিক্রিপ্ট করে। এসিমেট্রিক এনক্রিপশন তুলনামূলকভাবে বেশি নিরাপদ কারণ এখানে প্রাপকের প্রাইভেট কী কখনই শেয়ার করা হয়না। পাবলিক কী তে যে কেউই একসেস পেতে পারে, তবে এটি দিয়ে কেবলমাত্র এনক্রিপ্ট করা যাবে। + +সিমেট্রিক পদ্ধতিটি এসিমেট্রিক এর তুলনায় দ্রুত কাজ করতে পারে, যদিও তা কম নিরাপদ। কিছু ক্ষেত্রে উভয় পদ্ধতিই ব্যবহৃত হয়। এসিমেট্রিক পদ্ধতিতে এনক্রিপ্ট করা, আবার সিমেট্রিক কী টি শেয়ার করে সকল ডেটা সিমেট্রিক কী দ্বারা এনক্রিপ্ট করা হয়। এতে করে প্রেরক ও প্রাপকের মধ্যে সিমেট্রিক কী শেয়ার করলেও সেটা অনেক বেশি নিরাপদ থাকে আবার দ্রুতও হয়। + +## আইওটি ডিভাইস নিরাপত্তা + +আইওটি ডিভাইসের নিরাপত্তার জন্য সিমেট্রিক এবং এসিমেট্রিক পদ্ধতি ব্যবহার করা যায়। সিমেট্রিকটি সহজ, তবে কম নিরাপদ। + +### সিমেট্রিক KEYs + +আইওটি হাবের সাথে আমাদের ডিভাইসের যোগাযোগ এর জন্য আমরা কানেকশন স্ট্রিং ব্যবহার করেছিলাম। উদাহরণস্বরূপ : + +```output +HostName=soil-moisture-sensor.azure-devices.net;DeviceId=soil-moisture-sensor;SharedAccessKey=Bhry+ind7kKEIDxubK61RiEHHRTrPl7HUow8cEm/mU0= +``` + +এই কানেকশন স্ট্রিং ৩ভাগে বিভক্ত যার প্রতিটি অংশ সেমিকোলন দ্বারা পৃথকীকৃত, যেখানে প্রতি অংশে Key এবং Value রয়েছে। + +| কী | ভ্যালু | বর্ণনা | +| --- | ----- | ----------- | +| Hostname | `soil-moisture-sensor.azure-devices.net` | এটি আইওটি হাবের URL | +| DeviceID | `soil-moisture-sensor` | এটি ডিভাইসের ইউনিক আইডি | +| SharedAccessKey | `Bhry+ind7kKEIDxubK61RiEHHRTrPl7HUow8cEm/mU0=` | ডিভাইস এবং আইওটি হাবের কাছে থাকা সিমেট্রিক KEY | + +কানেকশন স্ট্রিং এর শেষাংশ `SharedAccessKey` মূলত একটি symmetric key যা ডিভাইস এবং আইওটি হাব উভয়ের কাছেই রয়েছে। এটি কখনই ডিভাইস থেকে ক্লাউডে বা ক্লাউড থেকে ডিভাইসে প্রেরণ করা হয়না। বরং এটি পরিবাহিত ডেটাকে এনক্রিপ্ট করে। + +✅ একটি এক্সপেরিমেন্ট করা যাক। আমরা আইওটি ডিভাইসে সংযুক্ত হবার সময় কানেকশন স্ট্রিং এর `SharedAccessKey` পরিবর্তন করে দিলে কী হবে? চেষ্টা করে দেখো। + + +ডিভাইসটি প্রথমে আইওটি হাবের সাথে সংযোগ দেওয়ার চেষ্টা করলে, তখন URL সহ shared access signature (SAS) টোকেন , একটি টাইমস্ট্যাম্প যেটির সিগনেচার একসেস একটি নির্দিষ্ট সময় পর (সাধারণত বর্তমান সময় থেকে 1 দিন পর্যন্ত) শেষ হয়ে যায় এবং একটি সিগনেচার - এসব প্রেরণ করে। এই সিগনেচারে কানেকশন স্ট্রিং থেকে ইউআরএল, মেয়াদোত্তীর্ণের সময় এবং এনক্রিপটেড শেয়ারড একসেস কী থাকে। + +আইওটি হাব শেয়ারড একসেস কী দিয়ে সিগনেচারটি ডিক্রিপ্ট করে এবং যদি ডিক্রিপ্ট করা মানটি ইউআরএল এবং মেয়াদোত্তীর্ণের সময়ের সাথে মিলে যায় তবে ডিভাইসটি সংযোগ করার অনুমতি পায়। এটিও যাচাই করা হয় যে বর্তমান সময়টি মেয়াদোত্তীর্ণের সময়ের আগে যাতে করে কোন দুষ্ট (malicious) ডিভাইস কোন আসল ডিভাইসের এসএএস টোকেন ক্যাপচার করে তা ব্যবহার করতে না পারে। + +প্রেরকটি সঠিক ডিভাইস কিনা তা যাচাই করার জন্য এটি একটি উত্তম উপায়। ডিক্রিপ্ট এবং এনক্রিপ্ট করা কিছু জ্ঞাত ডেটা প্রেরণ করে সার্ভার ডিভাইসটিকে যাচাই করে দেখতে পারে যে এনক্রিপ্ট করা ডেটার ডিক্রিপ্ট ভার্সনটি, প্রেরণ করা ডিক্রিপ্ট করা সংস্করণের সাথে মেলে কিনা। যদি এটি মেলে, তবে প্রেরক এবং প্রাপক উভয়েরই একই Symmetric Encryption Key রয়েছে। + +> 💁 যেহেতু এখানে মেয়াদোত্তীর্ণের একটি বিষয় রয়েছে, আমাদের আইওটি ডিভাইসের জন্য তাই বর্তমান সময়টি জানা জরুরী। সাধারণত [NTP](https://wikipedia.org/wiki/Network_Time_Protocol) সার্ভার থেকেই এটি সময় সংক্রান্ত ডেটা নেয়। সময় সঠিক না হলে, কানেকশন হবেনা। + +সংযোগের পরে, ডিভাইস থেকে আইওটি হাবের কাছে বা আইওটি হাব থেকে ডিভাইসে প্রেরিত সমস্ত ডেটা shared access key দিয়ে এনক্রিপ্ট করা হবে। + +✅ একাধিক ডিভাইস একই সংযোগের স্ট্রিং শেয়ার করলে কী ঘটবে বলে মনে হয়? + +> 💁 কোডের মধ্যেই এই KEY সংরক্ষণ করা নিরাপত্তার প্রেক্ষিতে বেশ বাজে একটি চর্চা। কোন হ্যাকার যদি আমাদের সোর্স কোড পায় তবে তারা আমাদের KEY পেয়ে যেতে পারে। এছাড়াও কোড রিলিজ করার সময় এটি আরও কঠিন হয় কারণ আমাদের প্রতিটি ডিভাইসের জন্য একটি আপডেট কী দিয়ে পুনরায় ্তা পরিবর্তন করতে হবে। একটি হার্ডওয়্যার সুরক্ষা মডিউল থেকে এই KEY লোড করা ভাল উপায়। এই মডিউল হলো আইওটি ডিভাইসের একটি চিপ যা এনক্রিপ্ট করা মানগুলিকে স্টোর করে যা আমাদের কোড দ্বারা একসেস করা যাবে। +> +> আইওটি শেখার সময় KEY গুলো কোডে রাখলে কাজ করা সহজ হয়, যেমন আমরা পূর্ববর্তী পাঠে করেছিলাম। তবে আমাদের অবশ্যই নিশ্চিত করতে হবে যে এই KEY জনসাধারণের জন্য সোর্স কোডে উন্মুক্ত করা হয়নি। + +Devices have 2 keys, and 2 corresponding connection strings. This allows we to rotate the keys - that is switch from one key to another if the first gets compromised, and re-generate the first key. + +ডিভাইসগুলিতে 2 টি কী এবং 2 টি কানেকশন স্ট্রিং রয়েছে। এটি আমাদের কীগুলির মধ্যে পরিবর্তনের অনুমতি দেয় । যদি প্রথম কী টি সমস্যার মুখে পড়ে, তবে ২য়টি ব্যবহার করা এবং প্রথম কী পুনরায় তৈরী করে। + +### X.509 সার্টিফিকেট + +যখন আমরা কোনও পাবলিক/প্রাইভেট কী পেয়ার এর সাথে এসিমেট্রিক এনক্রিপশন ব্যবহার করি, আমাদেরকে কেউ ডেটা প্রেরণ করতে চাইলে তাকে আমাদের পাবলিক কী সরবরাহ করতে হবে। সমস্যাটি হল কীভাবে আমাদের প্রাপক নিশ্চিত করতে পারেন যে এটি আসলেই আমাদের পাবলিক কী এবং অন্য কেউ আমাদের রূপধারণ করে সংযোগের চেষ্টা করছে না? KEY সরবরাহ করার পরিবর্তে, আমরা বরং আমাদের পাবলিক কী এমন একটি সার্টিফিকেটের ভিতরে সরবরাহ করতে পারি যা একটি বিশ্বস্ত তৃতীয় পক্ষ দ্বারা যাচাই করা হয়েছে এবং এটিকে বলা হয় X.509 সার্টিফিকেট। + +X.509 সার্টিফিকেট হলো ডিজিটাল ডকুমেন্ট যেগুলো পাবলিক/প্রাইভেট কী পেয়ার এর পাবলিক অংশটি ধারণ করে। এগুলি সাধারণত বেশ কয়েকটি বিশ্বস্ত সংস্থার দ্বারা ইস্যু করা হয় যেগুলোকে বলা হয় [Certification authorities](https://wikipedia.org/wiki/Certificate_authority) (CAs) এবং এসকল সংস্থা এই ডকুমেন্টগুলো সাইন করে দেয় যা বোঝায় যে key গুলো সঠিক এবং ঠিক ব্যবহারকারীর কাছ থেকেই আসছে। যেভাবে আমরা পাসপোর্ট বা ড্রাইভিং লাইসেন্সে বিশ্বাস করি (যেহেতু নির্দিষ্ট কর্তৃপক্ষ দ্বারা তা স্বীকৃত, সেভাবেই এখানেও আমরা সার্টিফিকেটগুলো বিশ্বাস করি। এগুলোর জন্য অর্থ ব্যয় হয়, তাই আমরা 'স্ব-স্বাক্ষর'ও করতে পারি, এটি পরীক্ষার উদ্দেশ্যে আমাদের স্বাক্ষরিত একটি সার্টিফিকেট তৈরি করে। + +> 💁 আমাদের কোনও প্রোডাকশন রিলিজের জন্য স্ব-স্বাক্ষরিত সার্টিফিকেট ব্যবহার করা উচিত নয়। + +These certificates have a number of fields in them, including who the public key is from, the details of the CA who issued it, how long it is valid for, and the public key itself. Before using a certificate, it is good practice to verify it by checking that is was signed by the original CA. + +এই সার্টিফিকেট গুলির মধ্যে বেশ কয়েকটি ক্ষেত্র রয়েছে যেমন - কোথায় পাবলিক কী রয়েছে , যে CA এটির স্বীকৃতি দিয়েছে তার তথ্যাবলি, কতক্ষণের জন্য এটি বৈধ হবে তার বিবরণ এবং সেই পাবলিক কী। কোন সার্টিফিকেট ব্যবহার করার আগে, এটি যে সিএ স্বাক্ষর করেছে তা যাচাই করা ভাল একটি চর্চা। + +✅ সার্টিফিকেট গুলির সকল ক্ষেত্র এর বর্ণনা [Microsoft Understanding X.509 Public Key Certificates tutorial](https://docs.microsoft.com/azure/iot-hub/tutorial-x509-certificates?WT.mc_id=academic-17441-jabenn#certificate-fields) এ রয়েছে। + +X.509 সার্টিফিকেট ব্যবহার করার সময়, প্রেরক এবং প্রাপক উভয়েরই নিজস্ব public and private keys এবং সেইসাথে উভয়েরই X.509 শংসাপত্র থাকবে যাতে পাবলিক কী রয়েছে। এরপরে তারা X.509 সার্টিফিকেট কোনভাবে বিনিময় করেন, একে অপরকে তারা পাঠানো ডেটা এনক্রিপ্ট করার জন্য পাবলিক কী এবং তাদের প্রাপ্ত ডেটা ডিক্রিপ্ট করার জন্য তাদের নিজস্ব প্রাইভেট কী ব্যবহার করে। + +![Instead of sharing a public key, we can share a certificate. The user of the certificate can verify that it comes from we by checking with the certificate authority who signed it.](../../../../images/send-message-certificate.png) + +X.509 শংসাপত্রগুলি ব্যবহার করার একটি বড় সুবিধা হল এগুলি ডিভাইসের মধ্যে শেয়ার করা যায়। আমরা একটি শংসাপত্র তৈরি করতে পারি, এটি আইওটি হাবে আপলোড করতে পারি এবং আমাদের সমস্ত ডিভাইসের জন্য এটি ব্যবহার করতে পারি। আইওটি হাব থেকে প্রাপ্ত বার্তাগুলি ডিক্রিপ্ট করার জন্য প্রতিটি ডিভাইসটির তখন কেবল প্রাইভেট কী জানতে হবে। + +আইওটি হাবের কাছে পাঠানো বার্তাগুলি এনক্রিপ্ট করার জন্য আমাদের ডিভাইস দ্বারা ব্যবহৃত শংসাপত্রটি মাইক্রোসফ্ট প্রকাশ করে। এটি একই শংসাপত্র যা প্রচুর অ্যাজুর সার্ভিস ব্যবহার করে এবং কখনও কখনও SDK-গুলিতে অন্তর্নির্মিত থাকে। + +> 💁 মনে রাখতে হবে, একটি public key আসলেই 'public'. অ্যাজুরে পাবলিক কী কেবল এখানে প্রেরিত ডেটা এনক্রিপ্ট করতে ব্যবহার করা যেতে পারে, এটি ডিক্রিপ্ট করার জন্য নয়, সুতরাং এটি সোর্স কোড সহ সর্বত্র শেয়ার করা যায়। উদাহরণস্বরূপ, আমরা [Azure IoT C SDK source code](https://github.com/Azure/azure-iot-sdk-c/blob/master/certs/certs.c) এও তা দেখতে পাবো। + +✅ X.509 certificates এ কিছু নির্দিষ্ট শব্দ বা ভাষা রয়েছে। অপিরিচিত কোন শোব্দের মুখোমুখি হলে আমরা [The layman’s guide to X.509 certificate jargon](https://techcommunity.microsoft.com/t5/internet-of-things/the-layman-s-guide-to-x-509-certificate-jargon/ba-p/2203540?WT.mc_id=academic-17441-jabenn) পড়লে তা পাবো। + +## X.509 certificate তৈরী ও ব্যবহার + +একটি X.509 শংসাপত্র তৈরী করার পদক্ষেপগুলি হল: + +1. একটি public/private key pair তৈরী করা। এটির জন্য বহুল ব্যবহৃত একটি এলগরিদম হলো [Rivest–Shamir–Adleman](https://wikipedia.org/wiki/RSA_(cryptosystem))(RSA) পদ্ধতি। + +1. CA বা self-signing এর মাধ্যমে পাবলিক কী এবং প্রয়োজনীয় তথ্য সাবমিট করা। + +আইওটি হাবটিতে একটি নতুন ডিভাইস আইডেনটিটি তৈরি করতে এবং স্বয়ংক্রিয়ভাবে পাবলিক / প্রাইভেট কী পেয়ার তৈরী করতে এবং স্ব-স্বাক্ষরিত শংসাপত্র তৈরি করার জন্য আজুর সিএলআইয়ের কমান্ড রয়েছে। + +> 💁 কাজের ধাপগুলো বিস্তারিত দেখতে হলে আমরা বরং CLI এর পরিবর্তে [Using OpenSSL to create self-signed certificates tutorial in the Microsoft IoT Hub documentation](https://docs.microsoft.com/azure/iot-hub/tutorial-x509-self-sign?WT.mc_id=academic-17441-jabenn) দেখতে পারি। + +### কাজ - X.509 certificate দ্বারা ডিভাইস আইডেনটিটি তৈরী + +1. নতুন ডিভাইস আইডেনটিটি তৈরীর জন্য নিম্নের কমান্ড রান দিই, স্বয়ংক্রিয়ভাবে কী এবং শংসাপত্রগুলি তৈরি করা হচ্ছে: + + ```sh + az iot hub device-identity create --device-id soil-moisture-sensor-x509 \ + --am x509_thumbprint \ + --output-dir . \ + --hub-name + ``` + + এখানে `` এর জায়গায় আমাদের IoT Hub এ ব্যবহৃত নামটি দিতে হবে। + + এটি `soil-moisture-sensor-x509` এর জন্য একটি আইডি সহ ডিভাইস তৈরী করে দিবে যা আগের লেসনে তৈরী করা ডিভাইস থেকে ভিন্ন । এছাড়াও ২টি ফাইল তৈরী হবে: + + * `soil-moisture-sensor-x509-key.pem` - এই ফাইলে ডিভাইসের জন্য প্রাইভেট কী থাকে। + * `soil-moisture-sensor-x509-cert.pem` - এটিতে X.509 সার্টিফিকেট থাকে। + + এই ফাইল গুলো সুরক্ষিত রাখতে হবে! পাবলিকে একসেস পাওয়ার মত করে রাখা যাবেনা। + +### কাজ - ডিভাইস কোডে X.509 certificate ব্যবহার + +নিম্নের প্রাসঙ্গিক কোন একটি গাইড অনুসরণ করতে হবে ঃ + +* [Arduino - Wio Terminal](wio-terminal-x509.md) +* [Single-board computer - Raspberry Pi/Virtual IoT device](single-board-computer-x509.md) + +--- + +## 🚀 চ্যালেঞ্জ + +Azure সার্ভিস তৈরী, পরিচালনা এবং ডিলিট করার জন্য অনেকগুলো উপায় রয়েছে। এর মধ্যে একটি হলো [Azure Portal](https://portal.azure.com?WT.mc_id=academic-17441-jabenn) - একটি ওয়য়েব-ভিত্তিক ইন্টারফেস এক্সেখান থেকে আমরা সহজেই Azure services ব্যবহার করতে পারি। + +আমরা [portal.azure.com](https://portal.azure.com?WT.mc_id=academic-17441-jabenn) এ গিয়ে পোর্টালটি দেখতে পারি। এখানে আইওটি হাব তৈরী করে, পরে ডিলিট করে দিই। + +**Hint** - পোর্টালের মাধ্যমে পরিষেবাগুলি তৈরি করার সময়, আমাদের শুরুতেই কোনও রিসোর্স গ্রুপ তৈরি করার দরকার নেই, যখন পরিষেবাটি তৈরি করা হয় তখন একটি রিসোর্স গ্রুপ তৈরি করা যেতে পারে। সবশেষে নিশ্চিত হয়ে নিতে হবে যে আমরা কাজ শেষ হয়ে গেলে এটি মুছে ফেলেছি! + +Azure Portal নিয়ে ডকুমেন্ট, টিউটোরিয়াল, গাইড [Azure portal documentation](https://docs.microsoft.com/azure/azure-portal/?WT.mc_id=academic-17441-jabenn) এ পাওয়া যাবে। + +## লেকচার-পরবর্তী কুইজ + +[লেকচার পরবর্তী কুইজ](https://brave-island-0b7c7f50f.azurestaticapps.net/quiz/20) + +## রিভিউ এবং স্ব-অধ্যয়ন + +* সংকেতলিপি এর ইতিহাস [History of Cryptography - Wikipedia](https://wikipedia.org/wiki/History_of_সংকেতলিপি (Cryptography))থেকে জেনে নিই। +* X.509 সার্টিফিকেট সম্পর্কে [X.509 page on Wikipedia](https://wikipedia.org/wiki/X.509) থেকে বিশদভাবে জ্ঞান অর্জন করি। + +## এসাইনমেন্ট + +[নতুন আইওটি ডিভাইস তৈরি](assignment.bn.md) diff --git a/2-farm/lessons/6-keep-your-plant-secure/translations/assignment.bn.md b/2-farm/lessons/6-keep-your-plant-secure/translations/assignment.bn.md new file mode 100644 index 00000000..3f23fe46 --- /dev/null +++ b/2-farm/lessons/6-keep-your-plant-secure/translations/assignment.bn.md @@ -0,0 +1,15 @@ +# নতুন আইওটি ডিভাইস তৈরি + +## নির্দেশাবলী + +আমরা ডিজিটাল কৃষিকাজ এবং উদ্ভিদ বৃদ্ধির পূর্বাভাস দেওয়ার ডেটা সংগ্রহ করার জন্য আইওটি ডিভাইসগুলি কীভাবে ব্যবহার করব এবং মাটির আর্দ্রতা পাঠের উপর ভিত্তি করে সেচকার্য স্বয়ংক্রিয়ভাবে কীভাবে করব সে সম্পর্কে গত 6 টি পাঠে শিখেছি। + +আমাদের পছন্দমতো সেন্সর এবং অ্যাকচুয়েটর ব্যবহার করে নতুন আইওটি ডিভাইস তৈরি করতে হবে। একটি আইওটি হাবে টেলিমেট্রি প্রেরণ করি এবং সার্ভারলেস কোডের মাধ্যমে কোন অ্যাকচুয়েটরকে নিয়ন্ত্রণ করতে এটি ব্যবহার করি। আমরা তো ইতিমধ্যেই বেশ কিছু সেন্সর এবং অ্যাকচুয়েটর ব্যবহার শিখেছি - সেগুলো বা একদম নতুন কিছু নিয়ে কাজ করতে পারি। + +## এসাইনমেন্ট মূল্যায়ন মানদন্ড + +| ক্রাইটেরিয়া | দৃষ্টান্তমূলক (সর্বোত্তম) | পর্যাপ্ত (মাঝারি) | উন্নতি প্রয়োজন (নিম্নমান) | +| --------- | ------------------ | -------------- | -------------------- | +| সেন্সর এবং অ্যাকচুয়েটর ব্যবহার করতে একটি আইওটি ডিভাইস কোড করা | সেন্সর এবং অ্যাকচুয়েটর এর সাথে কার্যকর আইওটি ডিভাইস তৈরী করেছে |হয় সেন্সর বা অ্যাকচুয়েটর এর সাথে কার্যকর আইওটি ডিভাইস তৈরী করেছে| সেন্সর এবং অ্যাকচুয়েটর এর সাথে কার্যকর আইওটি ডিভাইস তৈরী করতে ব্যার্থ | +| আইওটি ডিভাইসের সাথে আইওটি হাবের কানেকশন | একটি আইওটি হাব ডেপ্লয় করতে এবং এতে টেলিমেট্রি পাঠাতে সক্ষম হয়েছিল এবং এর থেকে নির্দেশ গ্রহণ করতে পেরেছিল | একটি আইওটি হাব ডেপ্লয় করতে এবং হয় এতে টেলিমেট্রি পাঠাতে সক্ষম হয়েছিল অথবা এর থেকে নির্দেশ গ্রহণ করতে পেরেছিল | একটি আইওটি হাব ডেপ্লয় করতে এবং সংযোগ তৈরী করতে ব্যার্থ | +| সার্ভারলেস কোড দ্বারা অ্যাকচুয়েটর নিয়ন্ত্রণ | টেলিমেট্রি ইভেন্টগুলির দ্বারা ট্রিগার হওয়া ডিভাইস নিয়ন্ত্রণ করতে একটি অ্যাজুর ফাংশন ডেপ্লয় করতে সক্ষম | টেলিমেট্রি ইভেন্টগুলি দ্বারা ট্রিগার করা একটি অ্যাজুর ফাংশন তৈরী করতে সক্ষম হয়েছিল কিন্তু অ্যাকচুয়েটর ব্যবহার করতে পারেনি | অ্যাজুর ফাংশন ডেপ্লয় করতে ব্যার্থ | diff --git a/quiz-app/src/assets/translations/bn.json b/quiz-app/src/assets/translations/bn.json index 1617b609..13c05a16 100644 --- a/quiz-app/src/assets/translations/bn.json +++ b/quiz-app/src/assets/translations/bn.json @@ -410,7 +410,7 @@ }, { "id": 9, - "title": "লেসন ৫ - গাছের বৃদ্ধি অনুমান করা: লেকচার পূর্ববর্তী কুইজ", + "title": "লেসন ৫ - উদ্ভিদের বৃদ্ধির পূর্বাভাস: লেকচার পূর্ববর্তী কুইজ", "quiz": [ { "questionText": "আইট ডিভাইসগুলি কৃষিক্ষেত্রে সহায়তা করতে ব্যবহার করা যেতে পারে", @@ -459,7 +459,7 @@ }, { "id": 10, - "title": "লেসন ৫ - গাছের বৃদ্ধি অনুমান করা: লেকচার পরবর্তী কুইজ", + "title": "লেসন ৫ - উদ্ভিদের বৃদ্ধির পূর্বাভাস: লেকচার পরবর্তী কুইজ", "quiz": [ { "questionText": "উদ্ভিদের বৃদ্ধি তাপমাত্রার উপর নির্ভরশীল", @@ -1011,6 +1011,1450 @@ ] } ] + }, + { + "id": 21, + "title": "লেসন ১১ - লোকেশন ট্র্যাকিং: লেকচার পূর্ববর্তী কুইজ", + "quiz": [ + { + "questionText": "অবস্থান সুনির্দিষ্ট করতে প্রয়োজন -", + "answerOptions": [ + { + "answerText": "কেবল অক্ষাংশ", + "isCorrect": "false" + }, + { + "answerText": "কেবল দ্রাঘিমাংশ", + "isCorrect": "false" + }, + { + "answerText": "অক্ষাংশ এবং দ্রাঘিমাংশ", + "isCorrect": "true" + } + ] + }, + { + "questionText": "যে ধরণের সেন্সর অবস্থান ট্র্যাক করতে পারে তাদের বলা হয় -", + "answerOptions": [ + { + "answerText": "GPS", + "isCorrect": "true" + }, + { + "answerText": "PGP", + "isCorrect": "false" + }, + { + "answerText": "GIF", + "isCorrect": "false" + } + ] + }, + { + "questionText": "গাড়ির অবস্থান ট্র্যাক করা মূল্যহীন", + "answerOptions": [ + { + "answerText": "সত্য", + "isCorrect": "false" + }, + { + "answerText": "মিথ্যা", + "isCorrect": "true" + } + ] + } + ] + }, + { + "id": 22, + "title": "লেসন ১১ - লোকেশন ট্র্যাকিং: লেকচার পরবর্তী কুইজ", + "quiz": [ + { + "questionText": "সেন্সর ব্যবহার করে জিপিএস ডেটা প্রেরণে প্রয়োজন হয় ", + "answerOptions": [ + { + "answerText": "অক্ষাংশ এবং দ্রাঘিমাংশ স্থানাঙ্ক", + "isCorrect": "false" + }, + { + "answerText": "ঠিকানা", + "isCorrect": "false" + }, + { + "answerText": "NMEA sentences", + "isCorrect": "true" + } + ] + }, + { + "questionText": "একটি ভাল জিপিএস ফিক্স পেতে কমপক্ষে কতটি স্যাটেলাইট থেকে সিগন্যাল গ্রহণ করা দরকার ? ", + "answerOptions": [ + { + "answerText": "1", + "isCorrect": "false" + }, + { + "answerText": "2", + "isCorrect": "false" + }, + { + "answerText": "3", + "isCorrect": "true" + } + ] + }, + { + "questionText": "জিপিএস সেন্সরগুলি ডেটা প্রেরণ করে কোনটির মাধ্যমে ?", + "answerOptions": [ + { + "answerText": "SPI", + "isCorrect": "false" + }, + { + "answerText": "UART", + "isCorrect": "true" + }, + { + "answerText": "ইমেইল", + "isCorrect": "false" + } + ] + } + ] + }, + { + "id": 23, + "title": "লেসন ১২ - লোকেশন ডেটা স্টোর করা: লেকচার পূর্ববর্তী কুইজ", + "quiz": [ + { + "questionText": "IoT ডেটা স্টোর হয় আইওটি হাবে-", + "answerOptions": [ + { + "answerText": "সত্য", + "isCorrect": "false" + }, + { + "answerText": "মিথ্যা", + "isCorrect": "true" + } + ] + }, + { + "questionText": "ডেটাকে নিম্নলিখিতভাবে ভাগ করা যায় -", + "answerOptions": [ + { + "answerText": "Blob এবং table", + "isCorrect": "false" + }, + { + "answerText": "Structured এবং unstructured", + "isCorrect": "true" + }, + { + "answerText": "লাল এবং নীল", + "isCorrect": "false" + } + ] + }, + { + "questionText": "সার্ভারলেস কোড দ্বারা ডেটাবেস এ আইওটি ডেটা প্রদান করা যায় -", + "answerOptions": [ + { + "answerText": "সত্য", + "isCorrect": "true" + }, + { + "answerText": "মিথ্যা", + "isCorrect": "false" + } + ] + } + ] + }, + { + "id": 24, + "title": "লেসন ১২ - লোকেশন ডেটা স্টোর করা: লেকচার পূর্ববর্তী কুইজ", + "quiz": [ + { + "questionText": "IoT ডেটা তাৎক্ষণিকভাবে কোন path এ প্রসেস করা হয়:", + "answerOptions": [ + { + "answerText": "Hot", + "isCorrect": "true" + }, + { + "answerText": "Warm", + "isCorrect": "false" + }, + { + "answerText": "Cold", + "isCorrect": "false" + } + ] + }, + { + "questionText": "Azure স্টোরেজ এর কোন কোন ধরণের স্টোরেজ রয়েছে-", + "answerOptions": [ + { + "answerText": "Boxes, tubs, bins", + "isCorrect": "false" + }, + { + "answerText": "Blob, table, queue এবং file", + "isCorrect": "true" + }, + { + "answerText": "Hot, warm, cold", + "isCorrect": "false" + } + ] + }, + { + "questionText": "Azure Functions কে কোন একটি ডেটাবেসে রিটার্ন ভ্যালু দেয়ার মত করে সীমাবদ্ধ করা যায় - can be bound to database to write return values to the database", + "answerOptions": [ + { + "answerText": "সত্য", + "isCorrect": "true" + }, + { + "answerText": "মিথ্যা", + "isCorrect": "false" + } + ] + } + ] + }, + { + "id": 25, + "title": "লেসনঃ১৩ - লোকেশন ডেটা Visualize করা: লেকচার পূর্ববর্তী কুইজ", + "quiz": [ + { + "questionText": "ডেটা খোঁজার জন্য বড় টেবলগুলো সুবিধাজনক", + "answerOptions": [ + { + "answerText": "সত্য", + "isCorrect": "false" + }, + { + "answerText": "মিথ্যা", + "isCorrect": "true" + } + ] + }, + { + "questionText": "GPS ডেটা কেবলমাত্র ম্যাপেই দেখা যাবে", + "answerOptions": [ + { + "answerText": "সত্য", + "isCorrect": "true" + }, + { + "answerText": "মিথ্যা", + "isCorrect": "false" + } + ] + }, + { + "questionText": "বৃহৎ এলাকার ম্যাপে , কোন নির্দিষ্ট দূরত্ব ম্যাপে এবং বাস্তবিক জগতে সমান হবে - তা সে যেখানেই পরিমাপ করা হোক না কেন - ", + "answerOptions": [ + { + "answerText": "সত্য", + "isCorrect": "false" + }, + { + "answerText": "মিথ্যা", + "isCorrect": "true" + } + ] + } + ] + }, + { + "id": 26, + "title": "লেসন ১৩ - লোকেশন ডেটা Visualize করা: লেকচার পরবর্তী কুইজ", + "quiz": [ + { + "questionText": "যে সার্ভিস ব্যবহার করে ম্যাপ আঁকা হয় -", + "answerOptions": [ + { + "answerText": "Azure Maps", + "isCorrect": "true" + }, + { + "answerText": "Azure Atlas", + "isCorrect": "false" + }, + { + "answerText": "Azure World Visualizer", + "isCorrect": "false" + } + ] + }, + { + "questionText": "Azure maps ___ ব্যবহার করে ম্যাপের ডেটা প্লট করে ।", + "answerOptions": [ + { + "answerText": "GeoJSON", + "isCorrect": "true" + }, + { + "answerText": "latitude এবং longitude থেকে", + "isCorrect": "false" + }, + { + "answerText": "Address সমূহের লিস্ট থেকে", + "isCorrect": "false" + } + ] + }, + { + "questionText": "Blobs কে URL এর সাহায্যে রিট্রিভ করা যায় -", + "answerOptions": [ + { + "answerText": "সত্য", + "isCorrect": "true" + }, + { + "answerText": "মিথ্যা", + "isCorrect": "false" + } + ] + } + ] + }, + { + "id": 27, + "title": "লেসন 14 - Geofences: লেকচার পূর্ববর্তী কুইজ", + "quiz": [ + { + "questionText": "GPS স্থানাঙ্ক ব্যবহার করে একটি নির্দিষ্ট এলাকায় কোন বস্তুর অবস্থান জানা যাবে ", + "answerOptions": [ + { + "answerText": "সত্য", + "isCorrect": "true" + }, + { + "answerText": "মিথ্যা", + "isCorrect": "false" + } + ] + }, + { + "questionText": "GPS অত্যন্ত নির্ভুলভাবে ১মাইলের ভিতরে ১টি নির্দিষ্ট অঞ্চলে যানবাহন প্রবেশ করলেই তা নির্দেশ করতে পারে -", + "answerOptions": [ + { + "answerText": "সত্য", + "isCorrect": "false" + }, + { + "answerText": "মিথ্যা", + "isCorrect": "true" + } + ] + }, + { + "questionText": "কখন যানবাহন ট্র্যাক করার জন্য Geofences ব্যবহার করা উচিত -", + "answerOptions": [ + { + "answerText": "কেবল যখন ১টি নির্দিষ্ট অঞ্চলে যানবাহন প্রবেশ করে", + "isCorrect": "false" + }, + { + "answerText": "কেবল যখন ১টি নির্দিষ্ট অঞ্চল থেকে যানবাহন ত্যাগ করে", + "isCorrect": "false" + }, + { + "answerText": "যখন ১টি নির্দিষ্ট অঞ্চলে যানবাহন প্রবেশ করে অথবা সেই অঞ্চল ত্যাগ করে", + "isCorrect": "true" + } + ] + } + ] + }, + { + "id": 28, + "title": "লেসন 14 - Geofences: লেকচার-পরবর্তী কুইজ", + "quiz": [ + { + "questionText": "আইওটি হাব থেকে একাধিক সার্ভিস দিয়ে ডেটা গ্রহণের জন্য আমাদের একাধিক কী দরকার -", + "answerOptions": [ + { + "answerText": "কনজ্যুমার গ্রুপ", + "isCorrect": "true" + }, + { + "answerText": "পাইপ", + "isCorrect": "false" + }, + { + "answerText": "আইওটি হাব", + "isCorrect": "false" + } + ] + }, + { + "questionText": "জিওফেন্স কলে ডিফলট কতটুকু বাফার থাকে ?", + "answerOptions": [ + { + "answerText": "5m", + "isCorrect": "false" + }, + { + "answerText": "50m", + "isCorrect": "true" + }, + { + "answerText": "500m", + "isCorrect": "false" + } + ] + }, + { + "questionText": "জিওফেন্সের ভেতরে পয়েন্টগুলোর দূরত্ব -", + "answerOptions": [ + { + "answerText": "0 এর কম ( ঋণাত্মক মান)", + "isCorrect": "true" + }, + { + "answerText": " 0 এর বড় (ধ্বনাত্মক মান)", + "isCorrect": "false" + } + ] + } + ] + }, + { + "id": 29, + "title": "লেসন ১৫ - ফলের মান শনাক্তকারী মডেলকে ট্রেইনিং দেয়া: লেকচার-পূর্ববর্তী কুইজ", + "quiz": [ + { + "questionText": "ক্যামেরাকে আইওটি হাব সেন্সর হিসেবে ব্যবহার করা যায় -", + "answerOptions": [ + { + "answerText": "সত্য", + "isCorrect": "true" + }, + { + "answerText": "মিথ্যা", + "isCorrect": "false" + } + ] + }, + { + "questionText": "ক্যামেরা ব্যবহার করে ফলগুলোকে শ্রেনিবদ্ধ করে সাজানো যায় -", + "answerOptions": [ + { + "answerText": "সত্য", + "isCorrect": "true" + }, + { + "answerText": "মিথ্যা", + "isCorrect": "false" + } + ] + }, + { + "questionText": "স্থিরচিত্র বা ইমেজ-নির্ভর কৃত্রিম বুদ্ধিমত্তা (AI) মডেলগুলো খুবই জটিল এবং এগুলোকে ট্রেইন করানো সময়সাধ্য যেখানে হাজার হাজার ইমেজ/ছবি প্রয়োজন", + "answerOptions": [ + { + "answerText": "সত্য", + "isCorrect": "false" + }, + { + "answerText": "মিথ্যা", + "isCorrect": "true" + } + ] + } + ] + }, + { + "id": 30, + "title": "লেসন ১৫ - ফলের মান শনাক্তকারী মডেলকে ট্রেইনিং দেয়া: লেকচার-পরবর্তী কুইজ", + "quiz": [ + { + "questionText": "কাস্টম ভিশনের ব্যবহৃত টেকনিকে অল্প কিছু ছবি ব্যবহার করে মডেলকে ট্রাইন করানো হয় -", + "answerOptions": [ + { + "answerText": "Transformational learning", + "isCorrect": "false" + }, + { + "answerText": "Transaction learning", + "isCorrect": "false" + }, + { + "answerText": "Transfer learning", + "isCorrect": "true" + } + ] + }, + { + "questionText": "ছবি শ্রেনিবদ্ধকারী (Image classifiers) কে নিম্নের কোনটি ব্যবহার করে ট্রেইন করানো যায় -", + "answerOptions": [ + { + "answerText": "প্রতি ট্যাগে কেবল ১টি ছবি", + "isCorrect": "false" + }, + { + "answerText": "প্রতি ট্যাগে অন্তত ৫টি ছবি", + "isCorrect": "true" + }, + { + "answerText": "প্রতি ট্যাগে অন্তত ৫০টি ছবি", + "isCorrect": "false" + } + ] + }, + { + "questionText": "যে হার্ডওয়্যার দ্বারা মেশিন লার্নিং মডেলকে দ্রুত ট্রেইন করানো যায় এবং Xbox এ সুন্দর গ্রাফিক্স প্রদর্শন করে সেটির নাম -", + "answerOptions": [ + { + "answerText": "PGU", + "isCorrect": "false" + }, + { + "answerText": "GPU", + "isCorrect": "true" + }, + { + "answerText": "PUG", + "isCorrect": "false" + } + ] + } + ] + }, + { + "id": 31, + "title": "লেসন ১৬ - আইওটি দ্বারা ফলের মান শনাক্তকরণ: লেকচার-পূর্ববর্তী কুইজ", + "quiz": [ + { + "questionText": "IoT ডিভাইসগুলো ক্যামেরা ব্যবহার করার মতো শক্তিশালী নয় ", + "answerOptions": [ + { + "answerText": "সত্য", + "isCorrect": "false" + }, + { + "answerText": "মিথ্যা", + "isCorrect": "true" + } + ] + }, + { + "questionText": "ক্যামেরা সেন্সরগুলো ফিল্ম ব্যবহার করে চিত্র ধারণ করে", + "answerOptions": [ + { + "answerText": "সত্য", + "isCorrect": "false" + }, + { + "answerText": "মিথ্যা", + "isCorrect": "true" + } + ] + }, + { + "questionText": "ক্যামেরা সেন্সরগুলো কোন ধরণের ডেটা প্রেরণ করে -", + "answerOptions": [ + { + "answerText": "ডিজিটাল", + "isCorrect": "true" + }, + { + "answerText": "এনালগ", + "isCorrect": "false" + } + ] + } + ] + }, + { + "id": 32, + "title": "লেসন ১৬ - আইওটি দ্বারা ফলের মান শনাক্তকরণ: লেকচার-পরবর্তী কুইজ", + "quiz": [ + { + "questionText": "কাস্টম ভিশন মডেলের পাবলিশড বা প্রকাশিত সংস্করণ (version) কে বলা হয় -", + "answerOptions": [ + { + "answerText": "Iteration", + "isCorrect": "true" + }, + { + "answerText": "Instance", + "isCorrect": "false" + }, + { + "answerText": "Iguana", + "isCorrect": "false" + } + ] + }, + { + "questionText": "শ্রেণিবদ্ধরণ (classification) এর জন্য যখন ইমেজ পাঠানো হয়, তখন এগুলো দিয়ে মডেলকে পুনরায় ট্রেইন করানো যায় -", + "answerOptions": [ + { + "answerText": "সত্য", + "isCorrect": "true" + }, + { + "answerText": "মিথ্যা", + "isCorrect": "false" + } + ] + }, + { + "questionText": "আইওটি ডিভাইস থেকে ক্যাপচার করা ইমেজ ব্যবহার করে মডেলগুলোকে ট্রেইন করার প্রয়োজন নেই কারণ সাধারণ ক্যামেরা এবং ফোন ক্যামেরা একই মানের ছবি দেয় -", + "answerOptions": [ + { + "answerText": "সত্য", + "isCorrect": "false" + }, + { + "answerText": "মিথ্যা", + "isCorrect": "true" + } + ] + } + ] + }, + { + "id": 33, + "title": "লেসন 17 - ফল শনাক্তকারী মডেলকে Edge এ রান করানো : লেকচার-পূর্ববর্তী কুইজ", + "quiz": [ + { + "questionText": "Edge computing তুলনামূলকভাবে cloud computing এর চাইতে বেশি নিরাপদ", + "answerOptions": [ + { + "answerText": "সত্য", + "isCorrect": "true" + }, + { + "answerText": "মিথ্য", + "isCorrect": "false" + } + ] + }, + { + "questionText": "Edge এর তুলনায় ক্লাউডে মেশিন লার্নিং মডেলগুলো ব্যবহার করলে তার ফলাফলে ভুলের মান বেশি হয় -", + "answerOptions": [ + { + "answerText": "সত্য", + "isCorrect": "false" + }, + { + "answerText": "মিথ্য", + "isCorrect": "true" + } + ] + }, + { + "questionText": "Edge ডিভাইসগুলোর সমসময় ইন্টারনেট কানেকশন দরকার.", + "answerOptions": [ + { + "answerText": "সত্য", + "isCorrect": "false" + }, + { + "answerText": "মিথ্যা", + "isCorrect": "true" + } + ] + } + ] + }, + { + "id": 34, + "title": "লেসন 17 - ফল শনাক্তকারী মডেলকে Edge এ রান করানো : লেকচার-পরবর্তী কুইজ", + "quiz": [ + { + "questionText": "Edge ডিভাইসে কাস্টম ভিশন মেশিন লার্নিং মডেলগুলো রান করার জন্য কোন ধরণের ফরম্যাট বা ডোমেইন ব্যবহার দরকার হবে ?", + "answerOptions": [ + { + "answerText": "General", + "isCorrect": "false" + }, + { + "answerText": "Quick Training", + "isCorrect": "false" + }, + { + "answerText": "Standard", + "isCorrect": "false" + }, + { + "answerText": "Compact", + "isCorrect": "true" + }, + { + "answerText": "Food", + "isCorrect": "false" + }, + { + "answerText": "Remote Deployment", + "isCorrect": "false" + } + ] + }, + { + "questionText": "কনটেইনার কী?", + "answerOptions": [ + { + "answerText": "Self-contained এপ্লিকেশন যেগুলোতে মেশিন-লার্নিংমডেল থাকে", + "isCorrect": "false" + }, + { + "answerText": "Self-contained এপ্লিকেশন যেগুলো অন্য প্রোগ্রামের তুলনায় স্বতন্ত্রভাবে রান করে", + "isCorrect": "true" + }, + { + "answerText": "Self-contained এপ্লিকেশন যেগুলো শুধুমাত্র Edge ডিভাইসে প্রোগ্রাম রান করে", + "isCorrect": "false" + }, + { + "answerText": "self-contained applications এপ্লিকেশন যেগুলো ক্লাউড এবং Edge ডিভাইসের মধ্যে যোগাযোগ পরিচালনা করে", + "isCorrect": "false" + } + ] + }, + { + "questionText": "Edge ডিভাইসে চলা কাস্টমভিশন মডেল দিয়ে কীভাবে মেশিন লার্নিং কে পুনরায় ট্রেইন করানো যায়?", + "answerOptions": [ + { + "answerText": "Edge ডিভাইসে ছবি তোলা, তা সেখানে সেইভ করা এবং ML model কে new image folder এর দিকে নির্দেশ করা", + "isCorrect": "false" + }, + { + "answerText": "Edge ডিভাইস থেকে ক্লাউডে ইমেজ আপলোড করা, কাস্টমভিশন মডেল দিয়ে মেশিন লার্নিং কে পুনরায় ট্রেইন করা, তারপর আবারো এটিকে EDGE এ ডেপ্লয় করা", + "isCorrect": "true" + }, + { + "answerText": "Edge ডিভাইসে ছবি তোলা এবং ভবিষ্যদ্বাণী (Prediction) এর আউটপুট দেখা", + "isCorrect": "false" + } + ] + } + ] + }, + { + "id": 35, + "title": "লেসন 18 - Trigger fruit quality detection from a sensor: লেকচার-পূর্ববর্তী কুইজ", + "quiz": [ + { + "questionText": "Which part of your IoT application gathers data?", + "answerOptions": [ + { + "answerText": "Things", + "isCorrect": "true" + }, + { + "answerText": "Cloud services", + "isCorrect": "false" + }, + { + "answerText": "Edge devices", + "isCorrect": "false" + } + ] + }, + { + "questionText": "আইওটি এপ্লিকেশনের আউটপুট কেবল একচুয়েটরেই আসে -", + "answerOptions": [ + { + "answerText": "সত্য", + "isCorrect": "false" + }, + { + "answerText": "মিথ্যা", + "isCorrect": "true" + } + ] + }, + { + "questionText": "সবকিছুকে সরাসরি আইওটি হাবে কানেক্ট করার প্রয়োজন নেই, বরং গেটওয়ে হিসেবে EDGE ডিভাইসগুলো ব্যবহার করা যায়", + "answerOptions": [ + { + "answerText": "সত্য", + "isCorrect": "true" + }, + { + "answerText": "মিথ্যা", + "isCorrect": "false" + } + ] + } + ] + }, + { + "id": 36, + "title": "লেসন ১৮ - সেন্সর দ্বারা ফলের মান শনাক্তকারীকে ট্রিগার করা : লেকচার-পরবর্তী কুইজ", + "quiz": [ + { + "questionText": " আইওটি এপ্লিকেশন তৈরীর ৩টি উপাদান হলো-", + "answerOptions": [ + { + "answerText": "Things, Insights, Actions", + "isCorrect": "true" + }, + { + "answerText": "Things, Internet, Databases", + "isCorrect": "false" + }, + { + "answerText": "AI, Blockchain, FizzBuzzers", + "isCorrect": "false" + } + ] + }, + { + "questionText": "যে উপাদানটি 'things' এর মধ্যে যোগাযোগ রক্ষা করে এবং 'insights' বা ফলাফল দেয়, সেটি হলো - ", + "answerOptions": [ + { + "answerText": "Azure Functions", + "isCorrect": "false" + }, + { + "answerText": "IoT Hub", + "isCorrect": "true" + }, + { + "answerText": "Azure Maps", + "isCorrect": "false" + } + ] + }, + { + "questionText": "Flight proximity সেন্সরের টাইমিং কীভাবে কাজ করে work?", + "answerOptions": [ + { + "answerText": " এগুলো লেজার বীম প্রেরণ করে এবং কত সময় পর কোন বস্তু থেকে ফেরত আসে তা হিসেব করে ", + "isCorrect": "true" + }, + { + "answerText": "এগুলো শব্দ প্রেরণ করে এবং কত সময় পর কোন বস্তু থেকে তা ফেরত আসে তার হিসেব করে", + "isCorrect": "false" + }, + { + "answerText": "অনেক লম্বা রুলার ব্যবহার করে", + "isCorrect": "false" + } + ] + } + ] + }, + { + "id": 37, + "title": "লেসন ১৯ - স্টক নির্দেশক (Stock Detector) মডেল ট্রেইন করানো: লেকচার-পূর্ববর্তী কুইজ", + "quiz": [ + { + "questionText": "AI মডেলগুলোকে অবজেক্ট হিসেবে ব্যবহার করা যাবেনা?", + "answerOptions": [ + { + "answerText": "সত্য", + "isCorrect": "false" + }, + { + "answerText": "মিথ্যা", + "isCorrect": "true" + } + ] + }, + { + "questionText": "IoT এবং AI খুচরাপর্যায়ে ব্যবহার করা যায়-", + "answerOptions": [ + { + "answerText": "কেবল স্টক চেক করার জন্য", + "isCorrect": "false" + }, + { + "answerText": "অনেকধরণের কাজে ব্যবহার করা যায় যেমনঃ স্টক চেক, প্রয়োজনমাফিক মাস্ক মনিটর করা, ফুটফল ট্র্যাক করা এবং অটোমেটিক বিল তৈরী", + "isCorrect": "true" + }, + { + "answerText": "IoT এবং AI খুচরাপর্যায়ে ব্যবহার করা যায়না", + "isCorrect": "false" + } + ] + }, + { + "questionText": " অবজেক্ট ডিটেকশনে ব্যবহার করা হয় ", + "answerOptions": [ + { + "answerText": "কোন চিত্রের মধ্যে অবজেক্টগুলি সনাক্ত করা এবং তাদের অবস্থান এবং সম্ভাব্যতা ট্র্যাক করা", + "isCorrect": "true" + }, + { + "answerText": "কেবল ইমেজ থেকে বস্তুর সংখ্যা গণনা", + "isCorrect": "false" + }, + { + "answerText": "ইমেজগুলো শ্রেণিবদ্ধ (Classify) করা", + "isCorrect": "false" + } + ] + } + ] + }, + { + "id": 38, + "title": "লেসন ১৯ - স্টক নির্দেশক (Stock Detector) মডেল ট্রেইন করানো: লেকচার-পরবর্তী কুইজ", + "quiz": [ + { + "questionText": "Object detectors গুলো কেবল ১টি রেজাল্ট রিটার্ন করে, তা সে যতটি অবজেক্টই ডিটেক্ট করুক", + "answerOptions": [ + { + "answerText": "সত্য", + "isCorrect": "false" + }, + { + "answerText": "মিথ্যা", + "isCorrect": "true" + } + ] + }, + { + "questionText": "কাস্টমভিশন দ্বারা স্টক গণনার জন্য কোন ডোমেইন ব্যবহার সর্বোত্তম?", + "answerOptions": [ + { + "answerText": "General", + "isCorrect": "false" + }, + { + "answerText": "Food", + "isCorrect": "false" + }, + { + "answerText": "Products on shelves", + "isCorrect": "true" + } + ] + }, + { + "questionText": " ১টি object detector কে ট্রেইন করানোর জন্য অন্তত কয়টি ইমেজ দরকার?", + "answerOptions": [ + { + "answerText": "1", + "isCorrect": "false" + }, + { + "answerText": "15", + "isCorrect": "true" + }, + { + "answerText": "100", + "isCorrect": "false" + } + ] + } + ] + }, + { + "id": 39, + "title": "লেসন 20 - আইওটি ডিভাইস দ্বারা স্টক চেক করা: লেকচার-পূর্ববর্তী কুইজ", + "quiz": [ + { + "questionText": "IoT devices গুলো object detectors ব্যবহার করার মত পাওয়ারফুল নয়", + "answerOptions": [ + { + "answerText": "সত্য", + "isCorrect": "false" + }, + { + "answerText": "মিথ্যা", + "isCorrect": "true" + } + ] + }, + { + "questionText": "Object detectors থেকে যা পাই:", + "answerOptions": [ + { + "answerText": " অবজেক্ট এর সংখ্যা", + "isCorrect": "false" + }, + { + "answerText": "অবজেক্ট এর সংখ্যা এবং লোকেশন", + "isCorrect": "false" + }, + { + "answerText": "অবজেক্ট এর সংখ্যা, লোকেশন এবং সম্ভাব্যতা", + "isCorrect": "true" + } + ] + }, + { + "questionText": "Object detectors দ্বারা নিখোঁজ স্টকগুলো খুঁজে রোবট দ্বারা সেগুলো ঠিক করা যায়", + "answerOptions": [ + { + "answerText": "সত্য", + "isCorrect": "true" + }, + { + "answerText": "মিথ্যা", + "isCorrect": "false" + } + ] + } + ] + }, + { + "id": 40, + "title": "লেসন ২০ - আইওটি ডিভাইস দ্বারা স্টক চেক করা: লেকচার-পরবর্তী কুইজ", + "quiz": [ + { + "questionText": "স্টক গণনার জন্য আমাদের কেবল অবজেক্ট এর সংখ্যাই বিবেচনায় আনলেই হবে", + "answerOptions": [ + { + "answerText": "সত্য", + "isCorrect": "false" + }, + { + "answerText": "মিথ্যা", + "isCorrect": "true" + } + ] + }, + { + "questionText": "Bounding boxes ব্যবহৃত হয় -", + "answerOptions": [ + { + "answerText": "শতকরা নির্ভর স্থানাংকব্যবস্থায়", + "isCorrect": "true" + }, + { + "answerText": "পিক্সেল নির্ভর স্থানাংকব্যবস্থায়", + "isCorrect": "false" + }, + { + "answerText": "সেন্টিমিটার নির্ভর স্থানাংকব্যবস্থায়", + "isCorrect": "false" + } + ] + }, + { + "questionText": " অবজেক্ট ওভারল্যাপ করলে তা বুঝতে পারে?", + "answerOptions": [ + { + "answerText": "হ্যাঁ", + "isCorrect": "true" + }, + { + "answerText": "না", + "isCorrect": "false" + } + ] + } + ] + }, + { + "id": 41, + "title": "লেসন ২১ - আইওটি ডিভাইস দ্বারা স্পীচ বুঝতে পারা: লেকচার-পূর্ববর্তী কুইজ", + "quiz": [ + { + "questionText": "আইওটি ডিভাইস দ্বারা স্পীচ বুঝতে পারা যায় ঃ", + "answerOptions": [ + { + "answerText": "সত্য", + "isCorrect": "true" + }, + { + "answerText": "মিথ্যা", + "isCorrect": "false" + } + ] + }, + { + "questionText": "ভয়েস এসিস্ট্যান্টগুলোর উচিত সকল অডিও প্রসেসিং এর জন্য ক্লাউডে পাঠানো", + "answerOptions": [ + { + "answerText": "সত্য", + "isCorrect": "false" + }, + { + "answerText": "মিথ্যা", + "isCorrect": "true" + } + ] + }, + { + "questionText": "স্পীচ বুঝতে পারার জন্য IoT ডিভাইসগুলোর বড় মাইক্রোফোন প্রয়োজন-", + "answerOptions": [ + { + "answerText": "সত্য", + "isCorrect": "false" + }, + { + "answerText": "মিথ্যা", + "isCorrect": "true" + } + ] + } + ] + }, + { + "id": 42, + "title": "লেসন 21 - আইওটি ডিভাইস দ্বারা স্পীচ বুঝতে পারা : লেকচার-পরবর্তী কুইজ", + "quiz": [ + { + "questionText": "মাইক্রোফোন কোন ধরণের সেন্সর ?", + "answerOptions": [ + { + "answerText": "ডিজিটাল", + "isCorrect": "false" + }, + { + "answerText": " এনালগ", + "isCorrect": "true" + } + ] + }, + { + "questionText": "শব্দ সংকেতকে কীভাবে ডিজিটাল সিগন্যালে রূপান্তর করা যায় ?", + "answerOptions": [ + { + "answerText": "Pulse Code Modulation", + "isCorrect": "true" + }, + { + "answerText": "Pure Code Multiplication", + "isCorrect": "false" + }, + { + "answerText": "Pulse Width Maximization", + "isCorrect": "false" + } + ] + }, + { + "questionText": "১ সেকেন্ডে 16-bit এর অডিও কে 16KHz এ স্যাম্পল করা হলে, তা কত বড় ?", + "answerOptions": [ + { + "answerText": "1KB", + "isCorrect": "false" + }, + { + "answerText": "16KB", + "isCorrect": "false" + }, + { + "answerText": "32KB", + "isCorrect": "true" + } + ] + } + ] + }, + { + "id": 43, + "title": "লেসন ২২ - ভাষা বুঝতে পারা: লেকচার-পূর্ববর্তী কুইজ", + "quiz": [ + { + "questionText": "ভাষা বুঝতে পারার জন্য কিছু নির্দিষ্ট শব্দ বোঝা জরুরী", + "answerOptions": [ + { + "answerText": "সত্য", + "isCorrect": "false" + }, + { + "answerText": "মিথ্যা", + "isCorrect": "true" + } + ] + }, + { + "questionText": "ভাষা বুঝতে পারার ক্ষেত্রে -", + "answerOptions": [ + { + "answerText": "কোন নির্দিষ্ট বাক্যে স্বতন্ত্র কিছু শব্দ দেখে তার অর্থ বোঝা", + "isCorrect": "false" + }, + { + "answerText": "আগে থেকেই বোঝানো বাক্যগুলো খুঁজে অর্থ বোঝা", + "isCorrect": "false" + }, + { + "answerText": "পুরো বাক্য দেখে শব্দগুলোর পেছনের কনটেক্সট থেকে অর্থ বোঝা", + "isCorrect": "true" + } + ] + }, + { + "questionText": " ক্লাউড প্রোভাইডারদের কাছে AI সার্ভিস রয়েছে যেগুলো ভাষা বুঝতে পারে", + "answerOptions": [ + { + "answerText": "সত্য", + "isCorrect": "true" + }, + { + "answerText": "মিথ্যা", + "isCorrect": "false" + } + ] + } + ] + }, + { + "id": 44, + "title": "লেসন ২২ - ভাষা বুঝতে পারা: লেকচার-পরবর্তী কুইজ", + "quiz": [ + { + "questionText": "১টি বাক্যকে বোঝার জন্য কীভাবে ভাঙা হয় -", + "answerOptions": [ + { + "answerText": "Ideas and explanations", + "isCorrect": "false" + }, + { + "answerText": "Intents and entities", + "isCorrect": "true" + }, + { + "answerText": "Imps and elves", + "isCorrect": "false" + } + ] + }, + { + "questionText": "ভাষা বোঝার জন্য ব্যবহৃত Microsoft service কে বলা হয়", + "answerOptions": [ + { + "answerText": "LUIS", + "isCorrect": "true" + }, + { + "answerText": "Luigi", + "isCorrect": "false" + }, + { + "answerText": "Jarvis", + "isCorrect": "false" + } + ] + }, + { + "questionText": "এখানে 'set a 3 minute timer' বাক্যটিতে -", + "answerOptions": [ + { + "answerText": "এখানে ইন্টেন্ট হলো 3 minutes এবং এনটিটি হলো a timer", + "isCorrect": "false" + }, + { + "answerText": "এখানে ইন্টেন্ট হলো minutes, এবং এনটিটি হলো 3 timers", + "isCorrect": "false" + }, + { + "answerText": "এখানে ইন্টেন্ট হলো set a timer এবং এনটিটি হলো 3 minutes", + "isCorrect": "true" + } + ] + } + ] + }, + { + "id": 45, + "title": "লেসন ২৩ - টাইমার সেট করে মৌখিক ফীডব্যাক দেয়া: লেকচার-পূর্ববর্তী কুইজ", + "quiz": [ + { + "questionText": "AI থেকে মৌখিক বক্তব্য তৈরী করলে সেগুলো একঘেঁয়ে এবং রোবোটিক", + "answerOptions": [ + { + "answerText": "সত্য", + "isCorrect": "false" + }, + { + "answerText": "মিথ্যা", + "isCorrect": "true" + } + ] + }, + { + "questionText": "AI model গুলো কেবল American English এই বক্তব্য তৈরী করতে পারে", + "answerOptions": [ + { + "answerText": "সত্য", + "isCorrect": "false" + }, + { + "answerText": "মিথ্যা", + "isCorrect": "true" + } + ] + }, + { + "questionText": "AI model গুলো '1234' লেখাটিকে কোন মৌখিক বক্তব্যে পরিণত করবে?", + "answerOptions": [ + { + "answerText": "One two three four", + "isCorrect": "false" + }, + { + "answerText": "One thousand two hundred and thirty four", + "isCorrect": "false" + }, + { + "answerText": "এটি 'one two three four' বা 'one thousand two hundred and thirty four' যেকোনটিই হতে পারে, কনটেক্সট এর ভিত্তিতে", + "isCorrect": "true" + } + ] + } + ] + }, + { + "id": 46, + "title": "লেসন ২৩ - টাইমার সেট করে মৌখিক ফীডব্যাক দেয়া: লেকচার-পরবর্তী কুইজ", + "quiz": [ + { + "questionText": "মৌখিক তৈরীর ৩টি গঠনগত অংশ হলো-", + "answerOptions": [ + { + "answerText": "টেক্সট বিশ্লেষণ, সেই বিশ্লেষণ বুঝতে পারা, শব্দ তৈরী", + "isCorrect": "false" + }, + { + "answerText": "টেক্সট বিশ্লেষণ, ভাষাগত বিশ্লেষণ, গাঠনিক সংকেত তৈরী", + "isCorrect": "true" + }, + { + "answerText": "শব্দ বিশ্লেষণ, অডিও তৈরী", + "isCorrect": "false" + } + ] + }, + { + "questionText": "বক্তব্য তৈরীকারী মডেলগুলো সত্যিকারের মানুষের মত কথা বলতে পারে -", + "answerOptions": [ + { + "answerText": "সত্য", + "isCorrect": "true" + }, + { + "answerText": "মিথ্যা", + "isCorrect": "false" + } + ] + }, + { + "questionText": "বক্তব্য এনকোড করার জন্য যে মার্ক-আপ ল্যাংগুয়েজ ব্যবহৃত হয়, সেটি হলো -", + "answerOptions": [ + { + "answerText": "SSML", + "isCorrect": "true" + }, + { + "answerText": "MSSL", + "isCorrect": "false" + }, + { + "answerText": "SpeechXML", + "isCorrect": "false" + } + ] + } + ] + }, + { + "id": 47, + "title": "লেসন 24 - একাধিক ভাষা সাপোর্ট করা: লেকচার-পূর্ববর্তী কুইজ", + "quiz": [ + { + "questionText": "ভাষা বোঝার মানে হলো ইংরেজি বোঝা", + "answerOptions": [ + { + "answerText": "সত্য", + "isCorrect": "false" + }, + { + "answerText": "মিথ্যা", + "isCorrect": "true" + } + ] + }, + { + "questionText": "AI speech to text models understand multiple languages:", + "answerOptions": [ + { + "answerText": "সত্য", + "isCorrect": "true" + }, + { + "answerText": "মিথ্যা", + "isCorrect": "false" + } + ] + }, + { + "questionText": "AI অনুবাদে প্রতিটি শব্দভিত্তিক অনুবাদ হয়-", + "answerOptions": [ + { + "answerText": "সত্য", + "isCorrect": "false" + }, + { + "answerText": "মিথ্যা", + "isCorrect": "true" + } + ] + } + ] + }, + { + "id": 48, + "title": "লেসন ২৪ - একাধিক ভাষা সাপোর্ট করা: লেকচার-পরবর্তী কুইজ", + "quiz": [ + { + "questionText": "মেশিন ট্রান্সলেশন নিয়ে গবেষণা করা হচ্ছে কত বছর ধরে -", + "answerOptions": [ + { + "answerText": "৭০ বছর", + "isCorrect": "true" + }, + { + "answerText": "১৭ বছর", + "isCorrect": "false" + }, + { + "answerText": "৭ বছর", + "isCorrect": "false" + } + ] + }, + { + "questionText": "AI ভাষা অনুবাদকগুলোকে বলা হয় -", + "answerOptions": [ + { + "answerText": "Noddy translators", + "isCorrect": "false" + }, + { + "answerText": "Neural translators", + "isCorrect": "true" + }, + { + "answerText": "AI দিয়ে অনুবাদ করা যায়না", + "isCorrect": "false" + } + ] + }, + { + "questionText": "কোন alien ভাষাগুলো্কে Microsoft translator সাপোর্ট করে -", + "answerOptions": [ + { + "answerText": "Na'vi", + "isCorrect": "false" + }, + { + "answerText": "Alienese", + "isCorrect": "false" + }, + { + "answerText": "Klingon", + "isCorrect": "true" + } + ] + } + ] } ] } diff --git a/translations/README.bn.md b/translations/README.bn.md index 1d11b5d1..b23cdea1 100644 --- a/translations/README.bn.md +++ b/translations/README.bn.md @@ -84,7 +84,7 @@ | 07 | [ফার্ম](../2-farm) | স্বয়ংক্রিয় সেচকার্য | রিলে এবং এমকিউটিটি ব্যবহার করে কীভাবে স্বয়ংক্রিয়ভাবে এবং নির্দিষ্ট সময়ে সেচ দেয়া যায় সে সংক্রান্ত জ্ঞান অর্জন | [স্বয়ংক্রিয় সেচকার্য](../2-farm/lessons/3-automated-plant-watering/translations/README.bn.md) | | 08 | [ফার্ম](../2-farm) | উদ্ভিদকে ক্লাউডে সংযুক্ত করা | ক্লাউড এবং ক্লাউড-হোস্ট করা আইওটি পরিষেবাগুলি সম্পর্কে জ্ঞান অর্জন এবং কীভাবে আমাদের উদ্ভিদটিকে পাবলিক এমকিউটিটি ব্রোকারের পরিবর্তে ক্লাউডে সংযুক্ত করতে হবে তা শেখা | [উদ্ভিদকে ক্লাউডে সংযুক্ত করা](../2-farm/lessons/4-migrate-your-plant-to-the-cloud/translations/README.bn.md) | | 09 | [ফার্ম](../2-farm) | অ্যাপ্লিকেশন লজিককে ক্লাউডে স্থানান্তর | ক্লাউডে কীভাবে অ্যাপ্লিকেশন লজিক লিখতে হবে যাতে তা আইওটি ম্যাসেজের প্রতিক্রিয়া জানাতে পারে তা শেখা| [অ্যাপ্লিকেশন লজিককে ক্লাউডে স্থানান্তর](../2-farm/lessons/5-migrate-application-to-the-cloud/translations/README.bn.md) | -| 10 | [ফার্ম](../2-farm) | Keep your plant secure | আইওটি তে নিরাপত্তা সম্পর্কে জানা এবং Key ও Certificate এর সাহায্যে আমাদের উদ্ভিদটিকে কীভাবে সুরক্ষিত রাখা যায় তা শেখা | [Keep your plant secure](../2-farm/lessons/6-keep-your-plant-secure/README.md) | +| 10 | [ফার্ম](../2-farm) | উদ্ভিদের নিরাপত্তা নিশ্চিতকরণ | আইওটি তে নিরাপত্তা সম্পর্কে জানা এবং Key ও Certificate এর সাহায্যে আমাদের উদ্ভিদটিকে কীভাবে সুরক্ষিত রাখা যায় তা শেখা | [উদ্ভিদের নিরাপত্তা নিশ্চিতকরণ](../2-farm/lessons/6-keep-your-plant-secure/translations/README.bn.md) | | 11 | [পরিবহন](../3-transport) | Location tracking | আইওটি ডিভাইসে জিপিএস লোকেশন ট্র্যাকিং শেখা | [Location tracking](../3-transport/lessons/1-location-tracking/README.md) | | 12 | [পরিবহন](../3-transport) | Store location data | পরবর্তী সময়ে বিশ্লেষণ বা চিত্রভিত্তিক ডেটা প্রদর্শন (Visualization) এর জন্য আইওটি ডেটা কীভাবে স্টোর করা যায় তা জানা | [Store location data](../3-transport/lessons/2-store-location-data/README.md) | | 13 | [পরিবহন](../3-transport) | Visualize location data |মানচিত্রে অবস্থানের ডেটা প্রদর্শন করা এবং মানচিত্রগুলি কীভাবে ২টি মাত্রায় বাস্তব ত্রিমাত্রিক বিশ্বের উপস্থাপন করে সে সম্পর্কে জ্ঞান অর্জন | [Visualize location data](../3-transport/lessons/3-visualize-location-data/README.md) |