2 | কীভাবে আইওটি ডিভাইসটি রিওট-ওএস ব্যবহার করে বিকাশ করতে হবে এবং এটি এমকিটিটি-এসএন ব্যবহার করে থিংসবোর্ডের সাথে সংযুক্ত করবে

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

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

থিংসবোর্ড, এমকিউটিটি, রিওট-ওএস এবং আইওটি-ল্যাব ব্যবহার করে আইওটি ক্লাউড-ভিত্তিক সিস্টেম

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

গিট টান গিট সাবমডিউল আপডেট --init --recursive

আমি 2 টি নতুন গুরুত্বপূর্ণ ফোল্ডার যুক্ত করেছি:

  • ব্রোকারস: এতে ব্রোকার এবং গেটওয়ের সমস্ত কনফিগারেশন রয়েছে। এছাড়াও মশকটো.আরএসএম এবং পাহো এমকিউটিটি-এসএন স্বচ্ছ গেটওয়ের সরাসরি সোর্স কোড আনতে 2 টি সাবমডিউল রয়েছে।
  • ডিভাইস / দাঙ্গা: আইওটি ডিভাইসের জন্য আরআইওটি উত্স ফোল্ডার এবং একটি ছোট স্ক্রিপ্ট সেট_নেটওয়ার্ক.শকে সহজেই দেশীয় স্থাপনায় নেটওয়ার্ক ইন্টারফেসগুলি কনফিগার করতে পারে।

দাঙ্গা ওএস

আরআইওটি হ'ল একটি রিয়েল-টাইম মাল্টি-থ্রেডিং অপারেটিং সিস্টেম যা আইওটিতে সাধারণত পাওয়া যায় এমন অনেকগুলি ডিভাইস সমর্থন করে। এটি নিম্নলিখিত নকশার নীতিগুলির উপর ভিত্তি করে:

  • শক্তি দক্ষতা এবং বাস্তব সময় ক্ষমতা;
  • ছোট মেমরি পদচিহ্ন এবং মডুলারিটি;
  • অভিন্ন এপিআই অ্যাক্সেস: অন্তর্নিহিত হার্ডওয়্যার থেকে পৃথক (POSIX)।

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

Thingsboard

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

বিষয়: ভি 1 / গেটওয়ে / টেলিমেট্রি

এছাড়াও, পে-লোড আগের থেকে পৃথক:

{"ডিভাইস এ": [{"টিএস": 1483228800000, "মান": temperature "তাপমাত্রা": 42, "আর্দ্রতা": 80}}], "ডিভাইস বি": [{"টিএস": 1483228800000, "মান" : temperature "তাপমাত্রা": 42, "আর্দ্রতা": 80}}]}

সম্পূর্ণ থিংসবোর্ড এমকিটিটি গেটওয়ে এপিআই রেফারেন্সের জন্য এই লিঙ্কটি দেখুন।

অতএব, গেটওয়ে চেকবক্সটি নির্বাচন করা নিশ্চিত করতে আমরা থিংসবোর্ডে একটি নতুন ডিভাইস যুক্ত করি

থিংসবোর্ড গেটওয়ে কনফিগারেশন

এরপরে, টিউটোরিয়াল গেটওয়ের অ্যাক্সেস টোকেন অনুলিপি করুন এবং ব্রোকার / কনফ্রিজ / ব্রিজ_গেটওয়ে_ [প্রোড | ডেভ] paste এছাড়াও, আপনি যদি ক্লাউডে থিংসবোর্ড কনফিগার করেছেন তবে আপনার পাবলিক আইপি দিয়ে ঠিকানাও পরিবর্তন করুন।

থিংসবোর্ডে আমাদের আর কিছু কনফিগার করার দরকার নেই, প্রথম টিউটোরিয়ালে যেমন ছিল তেমন সবকিছুই রেখে দেব।

রিওট ফার্মওয়্যার

আমার আরআইওটি ফার্মওয়্যারটি emcute_mqttsn এর সরকারী উদাহরণের ভিত্তিতে তৈরি। আমি মেকফাইলে নিম্নলিখিত হিসাবে কিছু মডিউল যুক্ত করেছি:

ড্রাইভর? = Lps331ap # সরাসরি সেন্সর ব্যবহার করতে USEMODULE + = $ (চালক) ব্যবহারকারীর ++ saul_default # সেন্সর API
দাঙ্গার উপর কাস্টম শেল কমান্ড

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

নোট: অবিচ্ছিন্নভাবে ডেটা প্রকাশ করার জন্য আমি সিএমডি_পব_ডাটা ফাংশনে দাঙ্গার এপিআই থ্রেড_ক্রিয়েট ব্যবহার করে একটি পৃথক থ্রেড তৈরি করেছি।

MQTT-এস এন

এমকিউটিটি-এসএন হ'ল ওয়্যারলেস সেন্সর নেটওয়ার্কগুলির জন্য একটি পাবলিক / সাবস্ক্রাইব মেসেজিং প্রোটোকল (ডাব্লুএসএন), সেন্সর এবং অ্যাক্টিভেটর সমাধানগুলির জন্য টিসিপি / আইপি অবকাঠামোর নাগালের বাইরে এমকিউটিটি প্রোটোকলকে বাড়ানোর লক্ষ্যে।

এমকিউটিটি-এসএন আর্কিটেকচার

একটি খুব বেসিক এমকিউটিটি-এসএন গেটওয়েটি আমার সংগ্রহস্থলের সাবমডিউল হিসাবে আরএসএমএম পাওয়া যায় এবং এটি আইওটি-ল্যাব-এ আইওটিব-এ 8 ডিভাইসে ডিফল্টরূপে ইনস্টল করা হয়।

আমার কনফিগারেশনে, আমি পাহো এমকিউটিটি-এসএন ট্রান্সপারেন্ট গেটওয়ে ব্যবহার করার সিদ্ধান্ত নিয়েছি যা এমকিউটিটি-এসএন ব্রোকার এবং এমকিউটিটি-এসএন স্বচ্ছ গেটওয়ে হিসাবে কাজ করে।

অতএব, আমি ডিফল্ট গেটওয়ে.কনফকে নিম্নলিখিত হিসাবে পরিবর্তন করেছি:

ব্রোকারনাম = লোকালহোস্ট ব্রোকারপোর্টন নো = 1884
গেটওয়ে ইউডিপি 6 ব্যান্ড = ফেক0: এফিডে :: 1/4 গেটওয়ে ইউডিপি 6 পোর্ট = 1885

এখন, এটি ইনস্টল করুন এবং আমার কাস্টম কনফিগারেশনটি অনুলিপি করুন (ধরে নিলেন আপনি সাবমডিউলটি এনেছেন)

সিডি ব্রোকারস / এমকিউটিটিএসএন-গেটওয়ে। / কাস্টম_ইনস্টল.শ এমভি গেটওয়ে.কনফ গেটওয়ে.কনফ.বিকিপি সিপি ../conf/MQTTSN- গেটওয়ে.কনফ গেটওয়ে.কনফ

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

মশার -c ব্রোকার / কনফারেন্স / ব্রিজ_গেটওয়ে_প্রড.কন্ট

অন্য একটি টার্মিনাল খুলুন এবং পাহো স্বচ্ছ গেটওয়ে চালান:

সিডি ব্রোকার / এমকিউটিটিএসএন-গেটওয়ে। / এমকিউটিটি- এসএনগেটওয়ে

এরপরে আপনি শেষ পর্যন্ত RIOT ফার্মওয়্যারটি সংকলন করতে পারেন (মেকফাইলে আপনার রিওটবিএসই পরীক্ষা করুন) এবং তারপরে এটি চালান।

সিডি ডিভাইস / দাঙ্গা / সেন্সর_মক্টটসন। / স্টার্ট_নেটওয়ার্ক.শেন পোর্ট = ট্যাপ0 সমস্ত শব্দ পরিষ্কার করুন

এখন আপনার মত একটি দৃশ্য থাকবে:

রিওট নেটিভ, এমকিউটিটিএসএন ট্র্যাস্পেন্ট ব্রিজ এবং মশা

এমকিউটিটি-এসএন ব্রোকারের সাথে সংযোগ করতে এবং ডেটা পুশ করতে আপনি আরআইওটি শেলের সাথে ইন্টারঅ্যাক্ট করতে পারেন।

ifconfig 5 যোগ fec0: affe :: 99 কন fec0: affe :: 1 1885 সেট_ডভাইস "ডিভাইস পিয়ানো" পাব ভি 1 / গেটওয়ে / টেলিমেট্রি "{'ডিভাইস পিয়ানো': [{'ts': 1585744760000, 'মান': hum 'আর্দ্রতা ': 42}}]} "1 পাব_টেলমেট্রি
  • set_device : একটি কাস্টম কমান্ড যা আমি গতিশীলভাবে ডিভাইসের নাম সেটআপ করতে লিখেছিলাম
  • মদের দোকান emcute_mqttsn উপলব্ধ একটি ডিফল্ট কমান্ড
  • pub_telemetry: একটি কাস্টম কমান্ড যা আমি লিখেছিলাম র্যান্ডম ডেটা (দেশীয় অ্যাপ্লিকেশনগুলির ক্ষেত্রে) সরাসরি ধাক্কা দেওয়ার জন্য
  • pub_data: ক্রমাগত অন্য থ্রেড ব্যবহার করে ডেটা ধাক্কা দেওয়ার জন্য একটি কাস্টম কমান্ড। (এখনই এটি ব্যবহার করবেন না, এটি মাল্টি-থ্রেড প্রোগ্রামিংয়ের একমাত্র স্টাব)
একটি রিওট এক্সিকিউশনমাল্টি-ডিভাইস ড্যাশবোর্ডডিভাইস ড্যাশবোর্ড

IOT-Lab

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

স্থানীয়ভাবে এটি কীভাবে চালানো যায় এবং আইওটি-ল্যাব-এ কীভাবে আসল সেন্সরগুলির ডেটা পুনরুদ্ধার করা যায় তা দেখতে আমার ভিডিও দেখুন

  1. আইওটি-ল্যাবে নিবন্ধন করুন।
  2. এসএসএইচ অ্যাক্সেস (লিঙ্ক) কনফিগার করুন।
  3. এই টিউটোরিয়াল অনুসরণ করুন

রিমোটভাবে রিওট-ফার্মওয়্যার তৈরি করতে আপনার রিমোট মেশিনে অ্যাক্সেস পাবেন এবং তারপরে চালান:

SSH @ saclay.iot-lab.info #mv আপনার এসআরসি ফোল্ডারে উত্স /opt/riot.source BOARD = iotlab-m3 সমস্ত আইটলব-পরীক্ষার দাখিল করুন-riot_m3 -d 60 -l 1, অর্চি = এম 3: at86rf231 + সাইট = স্কলে আইওল্যাব-পরীক্ষা পেতে -i -আরওতলব-নোড - আপডেট .এফ-এল স্কলে, এম 3, NC 20000

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

এটি রোমের সাপিঞ্জা বিশ্ববিদ্যালয়ের কম্পিউটার সায়েন্সিতে এমএসসি ইঞ্জিনিয়ারিংয়ের ইন্টারনেট অফ থিংস কোর্সের একটি প্রকল্প।

  • গিটহাবের সংগ্রহস্থল: লিঙ্ক
  • লিঙ্কডইন: লিংক
  • ইউটিউব: লিঙ্ক