সুচিপত্র:

PInt@t10n: স্মার্ট প্ল্যান্ট মনিটরিং সিস্টেম: 9 টি ধাপ
PInt@t10n: স্মার্ট প্ল্যান্ট মনিটরিং সিস্টেম: 9 টি ধাপ

ভিডিও: PInt@t10n: স্মার্ট প্ল্যান্ট মনিটরিং সিস্টেম: 9 টি ধাপ

ভিডিও: PInt@t10n: স্মার্ট প্ল্যান্ট মনিটরিং সিস্টেম: 9 টি ধাপ
ভিডিও: Kant10t - Pain | Official Music Video 2024, নভেম্বর
Anonim
PInt@t10n: স্মার্ট প্ল্যান্ট মনিটরিং সিস্টেম
PInt@t10n: স্মার্ট প্ল্যান্ট মনিটরিং সিস্টেম

এই প্রকল্পটি ibm iot ক্লাউডের পরীক্ষা হিসেবে তৈরি করা হয়েছিল। আমরা একটি esp-8266 ব্যবহার করি এবং আইবিএম ক্লাউডে ডেটা পাঠাতে এবং গ্রহণ করতে। Esp এবং ibm ক্লাউডের মধ্যে যোগাযোগ MQTT এর মাধ্যমে ঘটে।

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

শুরু করতে আপনার প্রয়োজন:

  • Esp-8266
  • dht 11/22 টেম্প/আর্দ্রতা সেন্সর
  • আলোক সংবেদনশীল ডায়োড (হালকা পরিমাপ)
  • বুজার
  • স্থল আর্দ্রতা সেন্সর
  • ibm ক্লাউড অ্যাকাউন্ট

ধাপ 1: আপনার সেন্সর সংযুক্ত করুন

আপনার সেন্সর সংযুক্ত করুন
আপনার সেন্সর সংযুক্ত করুন
আপনার সেন্সর সংযুক্ত করুন
আপনার সেন্সর সংযুক্ত করুন
আপনার সেন্সর সংযুক্ত করুন
আপনার সেন্সর সংযুক্ত করুন

আমরা আগেই উল্লেখ করেছি যে আমরা esp8266 ব্যবহার করতে যাচ্ছি সেন্সর ডেটা পড়তে এবং পাঠাতে। এই টিউটোরিয়ালের জন্য আমরা অনুমান করতে যাচ্ছি যে আপনি কিভাবে আপনার সেন্সরগুলিকে আপনার মাইক্রো কন্ট্রোলারের সাথে সংযুক্ত করবেন। আপনি ইতিমধ্যে একটি esp8266 এ কোড আপলোড কিভাবে জানতে হবে।

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

অন্যান্য সমস্ত সেন্সর ডিজিটালভাবে সংযুক্ত। আমাদের DHT11 সেন্সর ডিজিটালভাবে ডেটা পাঠায় এবং আমরা সেন্সর ডেটা ব্যাখ্যা করার জন্য dht লাইব্রেরি ব্যবহার করি।

উপরে আপনি আমাদের ব্যবহৃত সেন্সরগুলির জন্য একটি সার্কিট ডায়াগ্রাম খুঁজে পেতে পারেন। কিন্তু দয়া করে মনে রাখবেন যে আমরা যে সেন্সরগুলি ব্যবহার করেছি তা প্রায়ই একটি মডিউল নিয়ে আসে যাতে আপনি সহজেই এটিকে আপনার মাইক্রো কন্ট্রোলারের সাথে সংযুক্ত করতে পারেন যা আমরা ডায়াগ্রামে অন্তর্ভুক্ত সমস্ত অতিরিক্ত প্রতিরোধক ছাড়াই।

ধাপ 2: কোড

এটি আমরা ব্যবহার করা arduino স্কেচ। আপনি মন্তব্যগুলি পড়লে কোডটি কীভাবে কাজ করে সে সম্পর্কে আপনি জানতে পারেন।

#অন্তর্ভুক্ত ArduinoJson.h #অন্তর্ভুক্ত DHT_U.h #অন্তর্ভুক্ত DHT.h #অন্তর্ভুক্ত ESP8266WiFi.h #অন্তর্ভুক্ত ESP8266WiFiMulti.h #অন্তর্ভুক্ত PubSubClient.h

#ডিফাইন STASSID "ucll-projectweek-IoT" #ডিফাইন STAPSK "Foo4aiHa" #ডিফাইন DHTPin 5 #আর্দ্রতা নির্ধারণ করুন 4 #ডিএইচটি টাইপ DHT11 DHT dht (DHTPin, DHTType); ESP8266WiFiMulti WiFiMulti; ভাসমান তাপমাত্রা = 0; ভাসমান আর্দ্রতা = 0; বুলিয়ান আর্দ্রতা = মিথ্যা; int আলো = 0; const char* ssid = STASSID; const char* password = STAPSK; const char* mqtt_server = "cmfwqk.messaging.internetofthings.ibmcloud.com"; WiFiClient espClient; PubSubClient ক্লায়েন্ট (espClient); দীর্ঘ lastMsg = 0; char msg [50]; int মান = 0; #ডিফাইন MQTT_HOST "cmfwqk.messaging.internetofthings.ibmcloud.com" #define MQTT_PORT 1883 #define MQTT_DEVICEID "d: cmfwqk: ESP8266: ESP" #define MQTT_USER "MQ #TQ #TQ #TQ #TEC #TEC #TEC #Q #TEC iot-2/evt/status/fmt/json "#define MQTT_TOPIC_DISPLAY" iot-2/cmd/update/fmt/json "#include" pitches.h "// সুরে নোট: // নোটের মেয়াদ: 4 = চতুর্থাংশ নোট, 8 = অষ্টম নোট, ইত্যাদি: int shortTone = 80; int longTone = 200; int standardDelay = 50; int delayBetweenBars = 50; অকার্যকর setup_wifi () {বিলম্ব (10); // আমরা একটি ওয়াইফাই নেটওয়ার্ক Serial.println () এর সাথে সংযোগ করে শুরু করি; সিরিয়াল.প্রিন্ট ("এর সাথে সংযুক্ত হচ্ছে"); Serial.println (ssid); WiFi.begin (ssid, password); যখন (WiFi.status ()! = WL_CONNECTED) {বিলম্ব (500); সিরিয়াল.প্রিন্ট ("।"); } Serial.println (""); Serial.println ("ওয়াইফাই সংযুক্ত"); Serial.println ("IP ঠিকানা:"); Serial.println (WiFi.localIP ()); } অকার্যকর কলব্যাক (চার* টপিক, বাইট* পেলোড, স্বাক্ষরবিহীন int দৈর্ঘ্য) {সিরিয়াল.প্রিন্ট ("বার্তা এসেছে ["); সিরিয়াল.প্রিন্ট (বিষয়); সিরিয়াল.প্রিন্ট ("]"); জন্য (int i = 0; i <length; i ++) {Serial.print ((char) payload ); } Serial.println (); StaticJsonDocument jsonBuffer; deserializeJson (jsonBuffer, পেলোড); JsonObject root = jsonBuffer.as (); যদি (মূল ["গান"] == "দারুদে") {দারুদে (); } যদি (root ["song"] == "starwars") {starwars (); } যদি (root ["song"] == "jacques") {Serial.println ("jakakakakakkakaka"); জ্যাকস (); }} অকার্যকর পুনরায় সংযোগ () {// লুপ না হওয়া পর্যন্ত আমরা পুনরায় সংযুক্ত না হওয়া পর্যন্ত (! client.connected ()) {Serial.print ("MQTT সংযোগের চেষ্টা …"); // সংযোগ করার চেষ্টা করুন যদি (client.connect (MQTT_DEVICEID, MQTT_USER, MQTT_TOKEN)) {Serial.println ("সংযুক্ত"); client.subscribe (MQTT_TOPIC_DISPLAY); } অন্য {সিরিয়াল.প্রিন্ট ("ব্যর্থ, rc ="); Serial.print (client.state ()); Serial.println ("5 সেকেন্ডের মধ্যে আবার চেষ্টা করুন"); // বিলম্ব পুনরায় চেষ্টা করার আগে 5 সেকেন্ড অপেক্ষা করুন (5000); }}} অকার্যকর সেটআপ () {Serial.begin (9600); পিনমোড (আর্দ্রতা পিন, ইনপুট); dht.begin (); পিনমোড (0, আউটপুট); setup_wifi (); client.setServer (mqtt_server, MQTT_PORT); client.setCallback (কলব্যাক); বিলম্ব (20); } অকার্যকর লুপ () {যদি (! client.connected ()) {পুনরায় সংযোগ (); } client.loop (); আর্দ্রতা = ডিজিটাল রিড (আর্দ্রতা পিন); আলো = analogRead (A0); temp = dht.readTemperature (); আর্দ্রতা = dht.readHumidity (); Serial.println ("তাপমাত্রা =" + স্ট্রিং (তাপমাত্রা, 1) + "\ n আর্দ্রতা =" + স্ট্রিং (আর্দ্রতা, 1) + "o n আর্দ্রতা:" + স্ট্রিং (আর্দ্রতা) + "ight n আলো:" + স্ট্রিং (আলো)); স্ট্রিং পেলোড = "{" ts / ": {" t / ":"+স্ট্রিং (temp, 1)+", \" h / ":"+স্ট্রিং (আর্দ্রতা, ১)+"}, \" ms ": {" m / ":"+স্ট্রিং (আর্দ্রতা)+"}, \" ls / ": {" l / ":"+স্ট্রিং (আলো)+"}}"; Serial.println (পেলোড); যদি (client.publish (MQTT_TOPIC, (char*) payload.c_str ())) {Serial.println ("ঠিক আছে প্রকাশ করুন"); } অন্য {Serial.println ("প্রকাশ ব্যর্থ"); } বিলম্ব (2000); } অকার্যকর দারুদ () {স্বর (0, NOTE_B3, শর্টটোন); বিলম্ব (শর্টটোন); noTone (0); বিলম্ব (standardDelay); স্বর (0, NOTE_B3, শর্টটোন); বিলম্ব (শর্টটোন); noTone (0); বিলম্ব (standardDelay); স্বর (0, NOTE_B3, শর্টটোন); বিলম্ব (শর্টটোন); noTone (0); বিলম্ব (standardDelay); স্বর (0, NOTE_B3, শর্টটোন); বিলম্ব (শর্টটোন); noTone (0); বিলম্ব (standardDelay); স্বর (0, NOTE_B3, লংটোন); বিলম্ব (দীর্ঘ টোন); noTone (0); বিলম্ব (বিলম্বের মধ্যে বার); স্বর (0, NOTE_B3, শর্টটোন); বিলম্ব (শর্টটোন); noTone (0); বিলম্ব (standardDelay); স্বর (0, NOTE_B3, শর্টটোন); বিলম্ব (শর্টটোন); noTone (0); বিলম্ব (standardDelay); স্বর (0, NOTE_B3, শর্টটোন); বিলম্ব (শর্টটোন); noTone (0); বিলম্ব (standardDelay); স্বর (0, NOTE_B3, শর্টটোন); বিলম্ব (শর্টটোন); noTone (0); বিলম্ব (standardDelay); স্বর (0, NOTE_B3, শর্টটোন); বিলম্ব (শর্টটোন); noTone (0); বিলম্ব (standardDelay); স্বর (0, NOTE_B3, শর্টটোন); বিলম্ব (শর্টটোন); noTone (0); বিলম্ব (standardDelay); স্বর (0, NOTE_B3, লংটোন); বিলম্ব (দীর্ঘ টোন); noTone (0); বিলম্ব (standardDelay); স্বর (0, NOTE_E4, শর্টটোন); বিলম্ব (শর্টটোন); noTone (0); বিলম্ব (standardDelay); স্বর (0, NOTE_E4, শর্টটোন); বিলম্ব (শর্টটোন); noTone (0); বিলম্ব (standardDelay); স্বর (0, NOTE_E4, শর্টটোন); বিলম্ব (শর্টটোন); noTone (0); বিলম্ব (standardDelay); স্বর (0, NOTE_E4, শর্টটোন); বিলম্ব (শর্টটোন); noTone (0); বিলম্ব (standardDelay); স্বর (0, NOTE_E4, শর্টটোন); বিলম্ব (শর্টটোন); noTone (0); বিলম্ব (standardDelay); স্বর (0, NOTE_E4, শর্টটোন); বিলম্ব (শর্টটোন); noTone (0); বিলম্ব (standardDelay); স্বর (0, NOTE_E4, লংটোন); বিলম্ব (দীর্ঘ টোন); noTone (0); বিলম্ব (standardDelay); স্বর (0, NOTE_D4, শর্টটোন); বিলম্ব (শর্টটোন); noTone (0); বিলম্ব (standardDelay); স্বর (0, NOTE_D4, শর্টটোন); বিলম্ব (শর্টটোন); noTone (0); বিলম্ব (standardDelay); স্বর (0, NOTE_D4, শর্টটোন); বিলম্ব (শর্টটোন); noTone (0); বিলম্ব (standardDelay); স্বর (0, NOTE_D4, শর্টটোন); বিলম্ব (শর্টটোন); noTone (0); বিলম্ব (standardDelay); স্বর (0, NOTE_D4, শর্টটোন); বিলম্ব (শর্টটোন); noTone (0); বিলম্ব (standardDelay); স্বর (0, NOTE_D4, শর্টটোন); বিলম্ব (শর্টটোন); noTone (0); বিলম্ব (standardDelay); স্বর (0, NOTE_D4, লংটোন); বিলম্ব (দীর্ঘ টোন); noTone (0); বিলম্ব (standardDelay); স্বর (0, NOTE_A3, দীর্ঘ টোন); বিলম্ব (দীর্ঘ টোন); noTone (0); বিলম্ব (standardDelay); স্বর (0, NOTE_B3, শর্টটোন); বিলম্ব (শর্টটোন); noTone (0); বিলম্ব (standardDelay); স্বর (0, NOTE_B3, শর্টটোন); বিলম্ব (শর্টটোন); noTone (0); বিলম্ব (standardDelay); স্বর (0, NOTE_B3, শর্টটোন); বিলম্ব (শর্টটোন); noTone (0); বিলম্ব (standardDelay); স্বর (0, NOTE_B3, শর্টটোন); বিলম্ব (শর্টটোন); noTone (0); বিলম্ব (standardDelay); স্বর (0, NOTE_B3, লংটোন); বিলম্ব (দীর্ঘ টোন); noTone (0); বিলম্ব (বিলম্বের মধ্যে বার); স্বর (0, NOTE_B3, শর্টটোন); বিলম্ব (শর্টটোন); noTone (0); বিলম্ব (standardDelay); স্বর (0, NOTE_B3, শর্টটোন); বিলম্ব (শর্টটোন); noTone (0); বিলম্ব (standardDelay); স্বর (0, NOTE_B3, শর্টটোন); বিলম্ব (শর্টটোন); noTone (0); বিলম্ব (standardDelay); স্বর (0, NOTE_B3, শর্টটোন); বিলম্ব (শর্টটোন); noTone (0); বিলম্ব (standardDelay); স্বর (0, NOTE_B3, শর্টটোন); বিলম্ব (শর্টটোন); noTone (0); বিলম্ব (standardDelay); স্বর (0, NOTE_B3, শর্টটোন); বিলম্ব (শর্টটোন); noTone (0); বিলম্ব (standardDelay); স্বর (0, NOTE_B3, দীর্ঘ টোন); বিলম্ব (দীর্ঘ টোন); noTone (0); বিলম্ব (standardDelay); স্বর (0, NOTE_E4, লংটোন); বিলম্ব (দীর্ঘ টোন); noTone (0); বিলম্ব (standardDelay); স্বর (0, NOTE_B3, শর্টটোন); বিলম্ব (শর্টটোন); noTone (0); বিলম্ব (standardDelay); স্বর (0, NOTE_B3, শর্টটোন); বিলম্ব (শর্টটোন); noTone (0); বিলম্ব (standardDelay); স্বর (0, NOTE_B3, শর্টটোন); বিলম্ব (শর্টটোন); noTone (0); বিলম্ব (standardDelay); স্বর (0, NOTE_B3, শর্টটোন); বিলম্ব (শর্টটোন); noTone (0); বিলম্ব (standardDelay); স্বর (0, NOTE_B3, লংটোন); বিলম্ব (দীর্ঘ টোন); noTone (0); বিলম্ব (বিলম্বের মধ্যে বার); স্বর (0, NOTE_B3, শর্টটোন); বিলম্ব (শর্টটোন); noTone (0); বিলম্ব (standardDelay); স্বর (0, NOTE_B3, শর্টটোন); বিলম্ব (শর্টটোন); noTone (0); বিলম্ব (standardDelay); স্বর (0, NOTE_B3, শর্টটোন); বিলম্ব (শর্টটোন); noTone (0); বিলম্ব (standardDelay); স্বর (0, NOTE_B3, শর্টটোন); বিলম্ব (শর্টটোন); noTone (0); বিলম্ব (standardDelay); স্বর (0, NOTE_B3, শর্টটোন); বিলম্ব (শর্টটোন); noTone (0); বিলম্ব (standardDelay); স্বর (0, NOTE_B3, শর্টটোন); বিলম্ব (শর্টটোন); noTone (0); বিলম্ব (standardDelay); স্বর (0, NOTE_B3, লংটোন); বিলম্ব (দীর্ঘ টোন); noTone (0); বিলম্ব (standardDelay); স্বর (0, NOTE_E4, লংটোন); বিলম্ব (দীর্ঘ টোন); noTone (0); বিলম্ব (standardDelay); } অকার্যকর স্টারওয়ার () {বীপ (NOTE_A4, 500); বিপ (NOTE_A4, 500); বিপ (NOTE_A4, 500); বিপ (NOTE_F4, 350); বিপ (NOTE_C5, 150); বিপ (NOTE_A4, 500); বিপ (NOTE_F4, 350); বিপ (NOTE_C5, 150); বিপ (NOTE_A4, 650); বিলম্ব (500); বিপ (NOTE_E5, 500); বিপ (NOTE_E5, 500); বিপ (NOTE_E5, 500); বিপ (NOTE_F5, 350); বিপ (NOTE_C5, 150); বিপ (NOTE_GS4, 500); বিপ (NOTE_F4, 350); বিপ (NOTE_C5, 150); বিপ (NOTE_A4, 650); } অকার্যকর বিপ (int note, int duration) {// buzzerPin টোনে প্লে টোন (0, নোট, সময়কাল); বিলম্ব (সময়কাল); noTone (0); বিলম্ব (standardDelay); } void heartOfCourage () {} void jacques () {beep (NOTE_C4, 500); বিপ (NOTE_D4, 500); বিপ (NOTE_E4, 500); বিপ (NOTE_C4, 500); বিপ (NOTE_C4, 500); বিপ (NOTE_D4, 500); বিপ (NOTE_E4, 500); বিপ (NOTE_C4, 500); বিপ (NOTE_E4, 500); বিপ (NOTE_F4, 500); বিপ (NOTE_G4, 500); বিপ (NOTE_E4, 500); বিপ (NOTE_F4, 500); বিপ (NOTE_G4, 500); বিপ (NOTE_G4, 500); বিপ (NOTE_A4, 500); বিপ (NOTE_G4, 500); বিপ (NOTE_F4, 500); বিপ (NOTE_E4, 500); বিপ (NOTE_C4, 500); বিপ (NOTE_G4, 500); বিপ (NOTE_A4, 500); বিপ (NOTE_G4, 500); বিপ (NOTE_F4, 500); বিপ (NOTE_E4, 500); বিপ (NOTE_C4, 500); বিপ (NOTE_C4, 500); বিপ (NOTE_G4, 500); বিপ (NOTE_C4, 500); বিপ (NOTE_C4, 500); বিপ (NOTE_G4, 500); বিপ (NOTE_C4, 500); }

ধাপ 3: আইবিএম ক্লাউড

আইবিএম ক্লাউড
আইবিএম ক্লাউড

আপনাকে একটি আইবিএম-ক্লাউড উদাহরণ সেটআপ করতে হবে। আপনি এই লিঙ্কের মাধ্যমে এই সম্পর্কে তথ্য পেতে পারেন: github।

ধাপ 4: নোড-রেড

আমরা আমাদের সাধারণ ব্যবসায়িক যুক্তি সামলাতে এবং একটি স্বজ্ঞাত ইউজার ইন্টারফেসে এই ডেটা কল্পনা করার জন্য নোড-রেড ব্যবহার করি।

ধাপ 5: নোড-রেড সেটআপ: হালকা

নোড-রেড সেটআপ: হালকা
নোড-রেড সেটআপ: হালকা

আপনার প্রকল্পে নিম্নলিখিত কোড আমদানি করুন।

[{"id": "deb0d57.1c46528", "type": "tab", "label": "আলো", "অক্ষম": মিথ্যা, "তথ্য": ""}, {"id": "8a0fcaac। 4e54 "," type ":" ibmiot in "," z ":" deb0d57.1c46528 "," authentication ":" boundService "," apiKey ":" "," inputType ":" evt "," logicalInterface ":" "," ruleId ":" "," deviceId ":" ESP "," applicationId ":" "," deviceType ":" ESP8266 "," eventType ":"+"," commandType ":" "," ফরম্যাট ": "json", "name": "ESP থেকে ডেটা পান", "service": "নিবন্ধিত", "allDevices": মিথ্যা, "allApplications": "", "allDeviceTypes": মিথ্যা, "allLogicalInterfaces": "", "allEvents": সত্য, "allCommands": "", "allFormats": "", "qos": 0, "x": 120, "y": 62, "wires":

ধাপ 6: নোড-রেড সেটআপ: তাপমাত্রা

নোড-রেড সেটআপ: তাপমাত্রা
নোড-রেড সেটআপ: তাপমাত্রা

আপনার প্রকল্পে নিম্নলিখিত কোড আমদানি করুন।

[{"id": "fbad3799.f0e0e", "type": "tab", "label": "তাপমাত্রা", "অক্ষম": মিথ্যা, "তথ্য": ""}, {"id": "b8618eb9। 1c9288 "," type ":" ibmiot in "," z ":" fbad3799.f0e0e "," authentication ":" boundService "," apiKey ":" "," inputType ":" evt "," logicalInterface ":" "," ruleId ":" "," deviceId ":" ESP "," applicationId ":" "," deviceType ":" ESP8266 "," eventType ":"+"," commandType ":" "," ফরম্যাট ": "json", "name": "ESP থেকে ডেটা পান", "service": "নিবন্ধিত", "allDevices": মিথ্যা, "allApplications": "", "allDeviceTypes": মিথ্যা, "allLogicalInterfaces": "", "allEvents": সত্য, "allCommands": "", "allFormats": "", "qos": 0, "x": 145.5, "y": 49, "wires":

ধাপ 7: নোড-রেড সেটআপ: আর্দ্রতা

নোড-রেড সেটআপ: আর্দ্রতা
নোড-রেড সেটআপ: আর্দ্রতা

আপনার প্রকল্পে নিম্নলিখিত কোড আমদানি করুন।

[{"id": "144cd53b.c00473", "type": "tab", "label": "আর্দ্রতা", "অক্ষম": মিথ্যা, "তথ্য": ""}, {"id": "d958f58b 2678e "," type ":" ibmiot in "," z ":" 144cd53b.c00473 "," authentication ":" boundService "," apiKey ":" "," inputType ":" evt "," logicalInterface ":" "," ruleId ":" "," deviceId ":" ESP "," applicationId ":" "," deviceType ":" ESP8266 "," eventType ":"+"," commandType ":" "," ফরম্যাট ": "json", "name": "ESP থেকে ডেটা পান", "service": "নিবন্ধিত", "allDevices": মিথ্যা, "allApplications": "", "allDeviceTypes": মিথ্যা, "allLogicalInterfaces": "", "allEvents": সত্য, "allCommands": "", "allFormats": "", "qos": 0, "x": 142, "y": 87, "wires":

ধাপ 8: নোড-রেড সেটআপ: আর্দ্রতা

নোড-রেড সেটআপ: আর্দ্রতা
নোড-রেড সেটআপ: আর্দ্রতা

আপনার প্রকল্পে নিম্নলিখিত কোড আমদানি করুন।

[{"id": "4ee73536.ec6fc4", "type": "tab", "label": "আর্দ্রতা", "অক্ষম": মিথ্যা, "তথ্য": ""}, {"id": "a6daac3e 2d5268 "," type ":" ibmiot out "," z ":" 4ee73536.ec6fc4 "," authentication ":" boundService "," apiKey ":" "," outputType ":" cmd "," deviceId ":" ESP "," deviceType ":" ESP8266 "," eventCommandType ":" আপডেট "," ফরম্যাট ":" json "," data ":" msg "," qos ": 0," name ":" ESP এ কমান্ড পাঠান "," সেবা ":" নিবন্ধিত "," x ": 804.1944580078125," y ": 383.0000305175781," তারের ": }, {" id ":" 4134fdb7.18e9b4 "," type ":" ibmiot in ", z: "ESP", "applicationId": "", "deviceType": "ESP8266", "eventType": "update", "commandType": "", "format": "json", "name": "ডেটা পান ESP "," service ":" নিবন্ধিত "," allDevices ": মিথ্যা," allApplications ":" "," allDeviceTypes ": মিথ্যা," allLogicalInterfaces ":" "," allEvents ": সত্য," allCommands ":" ", "allFormats": false, "qos": 0, "x": 115, "y": 76, "wires":

ধাপ 9: আপনি সম্পন্ন

অভিনন্দন! আপনার এখন একটি উদ্ভিদ পর্যবেক্ষণ ব্যবস্থা রয়েছে।

যদি আপনার কোন প্রশ্ন থাকে, আমাদের সাথে যোগাযোগ করতে দ্বিধা করবেন না!