সুচিপত্র:
- ধাপ 1: একটি প্লাগইন স্টাব লোড হচ্ছে
- ধাপ 2: সেন্সরে ডেটা খোঁজা
- ধাপ 3: সমাপ্তি স্পর্শ
- ধাপ 4: বৃহত্তর প্রসঙ্গে এটি ব্যবহার করা
- ধাপ 5: বন্ধ শব্দ
ভিডিও: ফ্লাওয়ার কেয়ার এবং নাইমিয়া আমার উদ্ভিদ উদ্ধার করতে: 5 টি ধাপ
2024 লেখক: John Day | [email protected]. সর্বশেষ পরিবর্তিত: 2024-01-30 08:01
আমার বিদ্যমান ওপেন সোর্স স্মার্ট হোমের সাথে প্ল্যান্ট কেয়ার সেন্সর জড়িয়ে হাত নোংরা করা। Nymea এর জন্য প্লাগইন ডেভেলপমেন্টের উপর একটি ওয়াকথ্রু।
গল্পটি
অন্যান্য অনেক টিঙ্কার এবং হ্যাকার হিসাবে, আমি এই সমস্যা থেকেও ভুগছি যে জিনিসগুলিতে হ্যাকিং আমার এত বেশি সময় নেয় যে আমি মাঝে মাঝে আমার গাছগুলিতে জল দিতে ভুলে যাই। আমার মনস্টেরা ডেলিসিওসা আবার শুকনো মাটিতে ভোগার পর, আমি তৃষ্ণার্ত হলে আমাকে মনে করিয়ে দেওয়ার জন্য আমি এটি সম্পর্কে কিছু করতে পারি কিনা তা দেখার সিদ্ধান্ত নিয়েছি।
ওয়েবে একটি দ্রুত গবেষণা আমার দৃষ্টি আকর্ষণ করেছে শাওমি ফ্লাওয়ারকেয়ার, যা মাইকেয়ার বা প্লান্টকেয়ার নামেও পরিচিত। এটি একটি ব্লুটুথ লো এনার্জি ডিভাইস এবং কিছু মৌলিক গবেষণায় জানা গেছে যে এর প্রোটোকল বোঝা বেশ সহজ বলে মনে হচ্ছে। যদিও শাওমি কোন পাবলিক স্পেক্স প্রদান করে বলে মনে হয় না, এই ডিভাইসের জন্য ইন্টারনেটে বেশ কিছুটা রিভার্স ইঞ্জিনিয়ারিং হয়েছে। তাই আমি এর মধ্যে একটি অর্ডার করার সিদ্ধান্ত নিয়েছি।
কিছু দিন পরে এটি বিতরণ করা হয় এবং অবশ্যই আমি এখনই এটির সাথে খেলতে শুরু করি। আমি সংক্ষিপ্তভাবে এটির সাথে আসা অ্যাপ্লিকেশনটি পরীক্ষা করে দেখেছি কিন্তু আপনি সম্ভবত অনুমান করতে পারেন, এটির ডিফল্ট সেটআপ ব্যবহার করা কখনই আমার পরিকল্পনা ছিল না। অবশ্যই এটি আমার বিদ্যমান স্মার্ট হোম সেটআপের সাথে একীভূত হওয়া প্রয়োজন এখানে যেমন বর্ণনা করা হয়েছে আমি আমার স্মার্ট হোম সলিউশন হিসাবে নিমাইয়া ব্যবহার করছি (হ্যাঁ, আপনি সেখানে একটি ছবিতে মনস্টেরাও দেখতে পারেন:))। দুlyখের বিষয়, নিমাইয়া সেই সেন্সরকে সমর্থন করেনি, তারপরও কিছু আইডিই ফায়ার করা ঠিক ছিল।
ধাপ 1: একটি প্লাগইন স্টাব লোড হচ্ছে
তাই আমি প্রথম যে কাজটি করেছি তা হল বিদ্যমান টেক্সাস ইন্সট্রুমেন্টস সেন্সর ট্যাগ প্লাগইনটি অনুলিপি করা, এটি ফ্লাওয়ারকেয়ার ডিভাইসের জন্যও কাজ করা উচিত বলে আমি অনুমান করেছি। প্লাগইনইনফো.জসনে জিনিসগুলির মৌলিক নামকরণ এবং সেন্সরটেগ প্লাগইন কোডের বেশিরভাগ মন্তব্য করার পরে আমি নতুন প্লাগইন স্টাব লোড করার জন্য প্রস্তুত ছিলাম।
প্রত্যাশিত হিসাবে, আবিষ্কারটি ইতিমধ্যে সেন্সরটি দেখাবে এবং আমাকে এটি সিস্টেমে যুক্ত করার অনুমতি দেবে। অবশ্যই এটি এই মুহুর্তে কোনও অর্থপূর্ণ ডেটা তৈরি করবে না।
ধাপ 2: সেন্সরে ডেটা খোঁজা
যেকোনো ব্লুটুথ এলই ডিভাইসের মতো, আপনি যা করতে চান সেগুলি এবং তাদের বৈশিষ্ট্যগুলি সম্পর্কে জানতে হবে। সেখানে কোথাও প্রকৃত তথ্য লুকানো আছে। সমস্ত আবিষ্কৃত পরিষেবাগুলির উপর একটি দ্রুত ডিবাগ প্রিন্ট লুপিং এবং তাদের বৈশিষ্ট্যগুলি মুদ্রণ করার সময় আমি সেই জায়গায় ছিলাম যেখানে আমি ইন্টারনেটে পাওয়া তথ্যের তুলনা করতে পারতাম যা ডিভাইসটি আসলে রিপোর্ট করে।
void FlowerCare:: onServiceDiscoveryFinished () {BluetoothLowEnergyDevice *btDev = static_cast (sender ()); qCDebug (dcFlowerCare ()) << "have service uuids"
ফার্মওয়্যার সংস্করণ এবং ব্যাটারি স্তর সহজ ছিল। আমি ইতিমধ্যে তথ্য তালিকাভুক্তির এই প্রথম প্রচেষ্টায় মুদ্রিত মানগুলি দেখতে পাচ্ছি। আসল সেন্সরের মানগুলি সেখানে কিছুটা গভীরভাবে লুকানো রয়েছে, তবে এটিকে ইন্টারনেট থেকে প্রাপ্ত ডেটার সাথে যুক্ত করে অবিলম্বে এটি কোথায় পাওয়া যায় এবং বিশেষ করে কীভাবে এটি পড়তে হবে তা নির্দেশ করে।
void FlowerCare:: onSensorServiceCharacteristicRead (const QLowEnergyCharacteristic & characteristic, const QByteArray & value) {qCDebug (dcFlowerCare ()) << "Characteristic read" << QString:: number (characteristic.handle (), 16) temp; qint8 এড়িয়ে যান; স্ট্রিম >> এড়িয়ে যান; quint32 lux; স্ট্রিম >> লাক্স; qint8 আর্দ্রতা; স্ট্রিম >> আর্দ্রতা; qint16 উর্বরতা; প্রবাহ >> উর্বরতা; নির্গত নির্গত (m_batteryLevel, 1.0 * temp / 10, lux, আর্দ্রতা, উর্বরতা); }
এটিকে একসাথে রেখে, প্লাগইনটি ইতিমধ্যে অর্থপূর্ণ ডেটা তৈরি করতে শুরু করেছে।
ধাপ 3: সমাপ্তি স্পর্শ
সুতরাং এটি মূলত এখন কাজ করেছে, তবে, একটি সমস্যা এখনও সেখানে রয়ে গেছে। ফ্লাওয়ারকেয়ার সেন্সর, টেক্সাস ইন্সট্রুমেন্টস সেন্সরট্যাগের বিপরীতে, কয়েক সেকেন্ডের পরে ব্লুটুথ সংযোগ বন্ধ করে দেবে। যদিও ব্যবহারের ক্ষেত্রে বিবেচনা করা হচ্ছে, এটি একটি সমস্যা বলে মনে হচ্ছে না কারণ এটি সংযোগ প্রচেষ্টার প্রতিক্রিয়া জানাতে বেশ নির্ভরযোগ্য। সাধারণত একটি উদ্ভিদ কয়েক মিনিটের মধ্যে এক লিটার পানি চুষে না, বরং দিনের পর দিন, সব সময় সংযুক্ত থাকা অপরিহার্য বলে মনে হয় না। এছাড়াও এটি ব্যাটারিকে অনেকটা নিষ্কাশন করবে। তাই আমি একটি প্লাগইনটাইমার যুক্ত করার সিদ্ধান্ত নিয়েছি যা প্রতি 20 মিনিটে সেন্সরটিকে পুনরায় সংযুক্ত করবে এবং এটি থেকে ডেটা আনবে। যদি, কোন কারণে, সেন্সর সংযোগের প্রচেষ্টায় সাড়া না দেয়, কোডটি আরেকটি টাইমার শুরু করবে যা সেই পয়েন্ট থেকে প্রতি মিনিটে পুনরায় সংযোগ করার চেষ্টা করে যতক্ষণ না এটি ডেটা পেতে পরিচালিত হয়। তারপর এটি আবার 20 মিনিটের ব্যবধানে ডেটা আনতে ফিরে যাবে। যদি ডিভাইসটি পরপর দুবার সংযোগ করতে ব্যর্থ হয় (অর্থাত্ 20 + 1 মিনিটের পরে), এটি সিস্টেমে অফলাইনে চিহ্নিত হবে এবং ব্যবহারকারীকে এটি সম্পর্কে সতর্ক করা যেতে পারে।
void DevicePluginFlowercare:: onPluginTimer () {foreach (FlowerCare *flowerCare, m_list) {if (--m_refreshMinutes [flowerCare] <= 0) {qCDebug (dcFlowerCare ()) << "রিফ্রেশিং" ঠিকানা (); ফুলের কেয়ার-> রিফ্রেশডাটা (); } অন্য {qCDebug (dcFlowerCare ()) << "রিফ্রেশ করা হচ্ছে না" ঠিকানা () << "পরবর্তী রিফ্রেশ" << m_refreshMinutes [flowerCare] << "minutes"; } // যদি আমাদের 2 বা ততোধিক ব্যর্থ সংযোগ প্রচেষ্টা থাকে, তাহলে এটি সংযোগ বিচ্ছিন্ন হিসাবে চিহ্নিত করুন যদি -1) <setStateValue (flowerCareConnectedStateTypeId, false); }}}
এই কৌশলের সাথে Nymea এখন এই সেন্সর থেকে পুরোপুরি নির্ভরযোগ্য তথ্য সরবরাহ করবে বলে মনে হচ্ছে।
ধাপ 4: বৃহত্তর প্রসঙ্গে এটি ব্যবহার করা
সেন্সর থেকে শুধু মান পাওয়া খুব বেশি দরকারী নয়, আমি এর জন্য মূল অ্যাপটিও ব্যবহার করতে পারতাম। এখন এর সাথে কিছু স্মার্ট জিনিস করা যাক।
Nymea পুশ বিজ্ঞপ্তি পাঠাতে সমর্থন করে, হয় Nymea: ফোনে ইনস্টল করা, অথবা PushBullet এর মাধ্যমে ফোনে। তাই সুস্পষ্ট কাজ হল যখনই মাটির আর্দ্রতা 15%এর নিচে নেমে আসে তখন আমাকে কিছু পুশ বিজ্ঞপ্তি পাঠাতে হয়। এটি অ্যাপে সেট আপ করা বরং সহজ। পূর্বশর্ত হিসাবে আপনার হয় Nymea: cloud বা PushBullet এ একটি অ্যাকাউন্ট প্রয়োজন। Nymea: ক্লাউড ভিত্তিক পুশ বিজ্ঞপ্তিগুলির জন্য nymea: nymea: core এবং nymea: app এ সক্ষম করার জন্য এটি যথেষ্ট। যত তাড়াতাড়ি উভয় সংযুক্ত করা হয়, একটি বিজ্ঞপ্তি জিনিস স্বয়ংক্রিয়ভাবে প্রদর্শিত হবে। PushBullet সিস্টেমে একটি নতুন জিনিস যোগ করার জন্য, আপনি সেখানে তালিকায় PushBullet পাবেন। PushBullet- এ সাইন আপ করার সময় আপনি যে API কী পাবেন তা এটি আপনাকে জিজ্ঞাসা করবে। একবার আপনার Nymea এ একটি পুশ বিজ্ঞপ্তি জিনিস আছে, আপনি একটি নিয়ম তৈরি করতে পারেন।
অবশ্যই আপনি যা করতে চান তা করতে পারেন … সেন্সর মান প্রতিফলিত করার জন্য কিছু আলো চালু করতে পারেন, অথবা উদাহরণস্বরূপ ইন্টারনেটে একটি সার্ভারে সেন্সর মান পোস্ট করার জন্য HTTP কমান্ডার প্লাগইন ব্যবহার করতে পারেন। আমার কাছে পানির ভালভ নেই যা ডিজিটালভাবে (এখনো) নিয়ন্ত্রিত হতে পারে কিন্তু অবশ্যই, যদি আপনার এমন কিছু থাকে এবং এটি এখনও নাইমিয়া দ্বারা সমর্থিত না হয়, তার জন্য একটি প্লাগইন যোগ করা এর চেয়ে বরং অনুরূপ হবে।
ধাপ 5: বন্ধ শব্দ
ফ্লাওয়ারকেয়ার প্লাগইনটি এখন পর্যন্ত উজানে গৃহীত হয়েছে এবং আপনার যদি এর মধ্যে একটি থাকে তবে এটি এখন নিমাইয়ের সাথে ব্যবহার করার জন্য প্রস্তুত। যাইহোক, আমি আশা করি এই নিবন্ধটি আগ্রহী হতে পারে যদি কেউ অন্য ডিভাইসের জন্য সমর্থন যোগ করতে চায়। Nymea- এর জন্য আপনার নিজের প্লাগইন কিভাবে তৈরি করা যায় তার উপর এটি একটি ওয়াকথ্রু হওয়া উচিত।
আপনি যদি শুধু আপনার বাড়িতে এই সেটআপটি তৈরি করতে চান, তাহলে আপনার প্রয়োজন শুধু ফ্লাওয়ার কেয়ার সেন্সর, একটি রাস্পবেরি পাই, নাইমিয়া কমিউনিটি ইমেজ (এতে এখন পর্যন্ত ফুল কেয়ার প্লাগইন অন্তর্ভুক্ত), এবং নাইমিয়া: অ্যাপ যা অ্যাপ স্টোরগুলিতে পাওয়া যায়। এছাড়াও, এখন পর্যন্ত আমার মনস্টেরা ডেলিসিওসা আবার খুশি এবং যেমন আপনি স্ক্রিনশটগুলিতে দেখেছেন, আমি আমার লেবু গাছের স্বাস্থ্য ট্র্যাক করার জন্য নিজেকে সেই সেন্সরগুলির মধ্যে একটি পেয়েছি। এর জন্য আমি যখনই বাইরে ঠান্ডা থাকি তখন নিজেকে পুশ বিজ্ঞপ্তি পাঠাচ্ছি যাতে আমি নিরাপদে শীতের মধ্য দিয়ে এটি আনতে পারি।
প্রস্তাবিত:
কিভাবে ম্যাটল্যাব 2016b কে কোড করতে এবং প্রকাশ করতে হবে (শিক্ষানবিশ গাইড): 4 টি ধাপ
কিভাবে ম্যাটল্যাব 2016b কে ওয়ার্ডে (প্রারম্ভিক গাইড) কোড এবং প্রকাশ করবেন: ম্যাটল্যাব একটি উচ্চ-কর্মক্ষম ভাষা প্রোগ্রাম যা প্রযুক্তিগত ফলাফল গণনা করতে ব্যবহৃত হয়। এটি ব্যবহারকারী-বান্ধব পদ্ধতিতে ভিজ্যুয়াল, গণনা এবং প্রোগ্রামিংকে সংহত করার ক্ষমতা রাখে। এই প্রোগ্রামের সাথে, ব্যবহারকারী সমস্যা এবং সমাধান প্রকাশ করতে পারেন
অফ স্ক্রিন উইন্ডোজ তাত্ক্ষণিকভাবে উদ্ধার করুন (উইন্ডোজ এবং লিনাক্স): 4 টি ধাপ
অফ স্ক্রিন উইন্ডোজকে তাত্ক্ষণিকভাবে উদ্ধার করুন (উইন্ডোজ এবং লিনাক্স): যখন কোনও প্রোগ্রাম অফ -স্ক্রিনে সরানো হয় - সম্ভবত দ্বিতীয় মনিটরে যা আর সংযুক্ত নয় - আপনার এটিকে বর্তমান মনিটরে সরানোর জন্য একটি দ্রুত এবং সহজ উপায় প্রয়োজন। এই আমি কি করি -নোট --- আমি গোপনীয়তার জন্য ছবিগুলি অস্পষ্ট করেছি
ESP8266 এবং AskSensors IoT Cloud এর সাথে উদ্ভিদ পর্যবেক্ষণ এবং সতর্কতা: 6 টি ধাপ
ESP8266 এবং AskSensors IoT Cloud- এর সাথে উদ্ভিদ পর্যবেক্ষণ এবং সতর্কতা: এই প্রকল্পের লক্ষ্য হল ESP8266 এবং AskSensors IoT প্ল্যাটফর্ম ব্যবহার করে একটি স্মার্ট প্ল্যান্ট মনিটরিং সিস্টেম তৈরি করা। যা সেচ নিশ্চিত করতে সাহায্য করে
রাস্পবেরি পিআই -তে আমার আইওটি ডেটার জন্য আমার নিজের গ্রাফ তৈরি করুন: 3 টি ধাপ
একটি রাস্পবেরি পিআই -তে আমার আইওটি ডেটার জন্য আমার নিজের গ্রাফ তৈরি করুন: যদি আপনি 7 টি কোড ব্যবহার করে আপনার নিজের আইওটি গ্রাফ তৈরি করতে সক্ষম হন তবে দয়া করে পড়ুন। একটি ওয়েব পেজে। পূর্বে, এর জন্য, আমি তৃতীয় পক্ষের পরিষেবাগুলি ব্যবহার করেছি (কিছু প
আমার কীবোর্ড আমার হাত: 8 টি ধাপ (ছবি সহ)
আমার কীবোর্ড আমার হাত: আমি একদম নতুন এপিলগ লেজার কাটার ব্যবহার করেছি যা ইন্সট্রাক্টেবল সম্প্রতি লেজার দিয়ে আমার ল্যাপটপ কীবোর্ডে স্থিরভাবে একটি ছবি আঁকতে পেরেছে। এখন এটি DIY স্টাইলে আপনার ওয়ারেন্টি বাতিল করছে! আমি লেজারের সাহায্যে অনেক বেশি ল্যাপটপ খচিত করেছি যেহেতু আমি আপনাকে সাহায্য করছি