সুচিপত্র:

IDC2018IOT: মিটিং রুম স্নিচার: 6 টি ধাপ
IDC2018IOT: মিটিং রুম স্নিচার: 6 টি ধাপ

ভিডিও: IDC2018IOT: মিটিং রুম স্নিচার: 6 টি ধাপ

ভিডিও: IDC2018IOT: মিটিং রুম স্নিচার: 6 টি ধাপ
ভিডিও: IDC European IoT Summit 2018 2024, জুলাই
Anonim
IDC2018IOT: মিটিং রুম স্নিচার
IDC2018IOT: মিটিং রুম স্নিচার

সমস্যাটি

আমরা যেমন জানি, গত কয়েক বছর ধরে কো-ওয়ার্কিং স্পেসের প্রবণতা ত্বরান্বিত হচ্ছে, সেই সঙ্গে অত্যাধুনিক প্রযুক্তির সাহায্যে নির্দিষ্ট কো-ওয়ার্কিং স্পেসের পছন্দ নির্ধারণ করা যা আপনার প্রয়োজনের জন্য উপযুক্ত।

প্রস্তাবিত প্রধান বৈশিষ্ট্যগুলির মধ্যে একটি হল সহ-কর্মক্ষেত্রের সদস্যদের দেওয়া মিটিং রুম শেয়ার করা, যা একটি (সাধারণত) সাধারণ ক্যালেন্ডার প্ল্যাটফর্ম দ্বারা পরিচালিত হয়।

একটি সমস্যা পুনরাবৃত্তি হয় কারণ মানুষের সময়সূচী গতিশীল হতে থাকে।

কেউ হয়তো মনে করে একটি রুম বুক করে তার প্রয়োজন হতে পারে এবং সময় স্লট মিস করতে চাইবে না।

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

আমরা এটা কিভাবে সমাধান করব?

আইওটি প্রযুক্তি ব্যবহার করে - একটি নির্ধারিত মিটিং রুমে শব্দ এবং চলাচল পরীক্ষা করা, আমরা পরীক্ষা করছি, প্রতি নির্দিষ্ট সময়ের ব্যবধানে, একটি রুম বুক করা আছে কিনা এবং প্রকৃতপক্ষে দখল করা হয়েছে কিনা:

1. যদি এটি বুক করা না হয়, কিছুই করবেন না।

2. যদি এটি বুক করা থাকে, তাহলে কোন নড়াচড়া বা শব্দ সনাক্ত হয়েছে কিনা তা পরীক্ষা করুন;

যদি থাকে, কিছুই করবেন না।

যদি কিছু শনাক্ত করা না যায়, তাহলে ব্যবহারকারীকে একটি সতর্কতা বার্তা (ইমেলের মাধ্যমে) পাঠান যিনি রুমটি বুক করেছেন যা জিজ্ঞাসা করে যে রুমটি এখনও ব্যবহার করা হচ্ছে কিনা। যদি ব্যবহারকারী ঘোষণা না করে যে তিনি এখনও রুমটি ব্যবহার করছেন, তাহলে রুমের স্থিতি পরিবর্তন করে "উপলভ্য" করা হবে।

* এখানে, আমরা আমাদের প্রকল্পটিকে গুগল ক্যালেন্ডারের সাথে একত্রিত করেছি যাতে এটিকে যতটা সম্ভব সাধারণীকরণ করা যায়।

ধাপ 1: হার্ডওয়্যার এবং প্রোটোকল প্রয়োজন

হার্ডওয়্যার এবং প্রটোকল প্রয়োজন
হার্ডওয়্যার এবং প্রটোকল প্রয়োজন

1. আমরা NOSEMCU ব্যবহার করেছি যাতে আমরা WIFI সংযোগ ব্যবহার করে গতিশীলভাবে জিনিসগুলি আপডেট করতে পারি।

2. মাইক্রোফোন সেন্সর যা রুমে শব্দ "পড়বে"।

3. পিআইআর সেন্সর যা কোন নড়াচড়া আছে কিনা তা পরীক্ষা করবে।

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

আমরা অ্যাপগুলিকে সংযুক্ত করতে এবং আমাদের কর্মপ্রবাহ (যেমন IFTTT) স্বয়ংক্রিয় করতে জ্যাপিয়ার ব্যবহার করেছি এবং গুগল ক্যালেন্ডারের সাথে যোগাযোগ করতে আমাদের সাহায্য করার জন্য আমরা গুগল স্ক্রিপ্ট ব্যবহার করেছি। আমাদের লেখা স্ক্রিপ্ট ইভেন্ট নির্মাতার ইমেইল তৈরি করছে যাতে আমরা এটি পাঠাতে পারি জ্যাপিয়ার ছুঁড়ে ফেলে এবং চেক করে যে ব্যবহারকারী ইভেন্টটি মুছে ফেলার আগে রুমটি ধরে রাখতে বলেছেন (গুগল শীটে কিছু তথ্য সংরক্ষণ করে)।

পদক্ষেপ 2: মাইক্রোফোন এবং পিআইআর সেন্সর সংযুক্ত করুন

মাইক্রোফোন এবং পিআইআর সেন্সর সংযুক্ত করুন
মাইক্রোফোন এবং পিআইআর সেন্সর সংযুক্ত করুন
মাইক্রোফোন এবং পিআইআর সেন্সর সংযুক্ত করুন
মাইক্রোফোন এবং পিআইআর সেন্সর সংযুক্ত করুন

আমরা যখন NODEMCU তে মাইক্রোফোন পোস্টের গড় মানগুলি পরীক্ষা করতে চেয়েছিলাম যখন লোকেরা কথা বলছে (স্পষ্টতই, প্রতিটি ঘরে বিভিন্ন পটভূমির আওয়াজ ছিল)। আমরা কিছু পরীক্ষা করেছি এবং বুঝতে পেরেছি যে গড় শব্দ স্তর আমরা যে রুমে কাজ করেছি তা 50 এর উপরে।

পিআইআর সেন্সর শুধুমাত্র উচ্চ বা নিম্ন মান দেয় তাই আমরা শুধুমাত্র সংবেদনশীলতার মাত্রা পরীক্ষা করেছি যা আমাদের চেক করা রুমের জন্য সবচেয়ে সঠিক। এই নির্দেশিকা বেশ সহায়ক ছিল।

আমাদের সংযোগ:

মাইক্রোফোন - ছবির মত পির সেন্সর: GND> GND, OUT> D7, VCC> VN (5V)

ধাপ 3: জ্যাপিয়ারে ওয়ার্কফ্লো তৈরি করুন

জ্যাপিয়ারে ওয়ার্কফ্লো তৈরি করুন
জ্যাপিয়ারে ওয়ার্কফ্লো তৈরি করুন
জ্যাপিয়ারে ওয়ার্কফ্লো তৈরি করুন
জ্যাপিয়ারে ওয়ার্কফ্লো তৈরি করুন
জ্যাপিয়ারে ওয়ার্কফ্লো তৈরি করুন
জ্যাপিয়ারে ওয়ার্কফ্লো তৈরি করুন

রুমটি আসলে খালি নাকি এখনও ব্যবহার করা হচ্ছে (এবং ব্যবহারকারীরা উদাহরণস্বরূপ বিরতিতে আছে) তা জানতে, আমরা একটি প্রবাহ তৈরি করতে চাই যা এটিকে আশ্বস্ত করে, ঠিক পরে NodeMCU জ্যাপিয়ারে একটি ওয়েবহুক চালায় যা বিজ্ঞপ্তি দেয় যে রুম খালি:

(1) ট্রিগার - ক্যাচ হুকজ্যাপিয়ার ওয়েবহুক ধরেন (এটি NODEMCU দ্বারা পাঠানো হবে)

(2) কাজ - GETZapier ইভেন্টের ডেটা পাওয়ার জন্য আরেকটি ওয়েবহুক পাঠায়;> এটি একটি GoogleScript- কে কল করে (রান করে) - GetCurrentEmailEventID (পরবর্তী ধাপে ব্যাখ্যা), বর্তমান ইভেন্ট ডেটা পেতে - ইভেন্টের নাম, ইভেন্ট আইডি, ব্যবহারকারীর ইমেল।

(3) ফিল্টার - শুধুমাত্র অবিরত যদি

ক্যালেন্ডারে বর্তমানে কোন ইভেন্ট (কোন ইভেন্ট) ঘটছে (রুম ইজ বিসি) হলেই পরবর্তী ধাপে যান, অন্যথায় রুম খালি থাকায় বন্ধ হয়ে যায়।

(4) কাজ - GMAILZapier Gmail এর মাধ্যমে একটি ব্যবহারকারীকে একটি ই -মেইল পাঠায় যিনি রুম বুক করেছেন (ধাপ 2 এ এই তথ্যটি পেয়েছেন)

(5) কাজ - বিলম্বের জন্য ব্যবহারকারীর ইমেইলের উত্তর দিতে সময় দিন। রুম এখনও দখলকৃত হিসাবে চিহ্নিত।)

কাজ

রুম আইডি তালিকায় আছে কিনা তা পরীক্ষা করে 'ডিলিট করার রুম'

এটি কেবল ইভেন্টটি সরিয়ে দেয়।

ধাপ 4: গুগল স্ক্রিপ্ট

গুগল স্ক্রিপ্ট
গুগল স্ক্রিপ্ট
গুগল স্ক্রিপ্ট
গুগল স্ক্রিপ্ট
গুগল স্ক্রিপ্ট
গুগল স্ক্রিপ্ট

যেহেতু আমরা পুরো সিস্টেমকে একীভূত করেছি, GoogleScripts ছিল একটি IDE এর তুচ্ছ পছন্দ, এইভাবে, আমরা প্রাসঙ্গিক Google লাইব্রেরি ব্যবহার করেছি। রুম বুকিং প্ল্যাটফর্ম অনুযায়ী পরিবর্তন হবে।

(1) GetCurrentEmailEventID

একটি ওয়েবহুক কল দ্বারা চালিত হয়।

একটি নির্দিষ্ট অফসেট ব্যবহার করে যাতে সম্ভাব্য মিস-বাতিল করা যায়, বর্তমান ইভেন্টের ডেটা পাওয়া যায়।

(2) ApproveCurrentEvent

একটি ব্যবহারকারী ক্লিক দ্বারা চালানো হয়।

কোনো ব্যবহারকারীর অনুমোদনের ক্ষেত্রে যে রুমটি এখনও ব্যবহার করা হচ্ছে, ইভেন্ট আইডি 'ডিলিট করার রুম' থেকে মুছে দেয়। আমরা একটি গুগল শীট ব্যবহার করেছি, তালিকার অন্য কোন ফর্ম এখানে প্রাসঙ্গিক হতে পারে।

(3) DeleteCurrentEvent

একটি ওয়েবহুক কল দ্বারা চালিত হয়।

তালিকায় প্রাসঙ্গিক ইভেন্ট আইডি (গুগল শীট) অনুসন্ধান করে এবং সেই ইভেন্টটি ক্যালেন্ডার থেকে মুছে দেয়।

ধাপ 5: Arduino কোডের সাথে প্রবাহটি সংযুক্ত করুন

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

ধাপ 6: পর্যালোচনা, উপসংহার এবং ভবিষ্যত স্কেলিং

Image
Image

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

উদাহরণস্বরূপ, যদি রুমটি এমন কিছু গোষ্ঠীর জন্য বুক করা হয় যা বর্তমানে নেই (উদাহরণস্বরূপ, এটি বিরতিতে রয়েছে), কিন্তু এখনও এটি প্রয়োজন, NODEMCU সনাক্ত করবে যে রুমটি বিনামূল্যে> সমস্যা।

তারপরে, আমাদের সমাধানটি ছিল সেই ব্যবহারকারীকে ইমেল করা যিনি রুমটি বুক করেছিলেন (যা বোঝা সহজ ছিল না) একটি মেসেজ যা রুমটি ধরে রাখার বিকল্প সরবরাহ করে।

যদি ব্যবহারকারী একটি নির্দিষ্ট সময়ে উত্তর না দেন (আমরা এটি 5 মিনিটের জন্য সেট করেছি, কিন্তু এটি সহজেই পরিবর্তন করা যেতে পারে), আমরা ক্যালেন্ডার থেকে ইভেন্টটি মুছে ফেলি (এবং ঘরটি খালি করে)।

এইভাবে, আমরা অবশেষে সমস্ত সম্ভাব্য পরিস্থিতি পরিচালনা করতে এবং একটি কাজ করার ব্যবস্থা তৈরি করতে সফল হয়েছি।

আমাদের সিস্টেম সীমাবদ্ধতা:

1. ব্যবহৃত সেন্সরগুলি খুব নির্ভুল এবং সংবেদনশীল হতে হবে।

2. ঘরের আকার সেন্সরের ব্যাসার্ধ/পরিসরে সীমাবদ্ধ।

3. আমাদের ব্যবহারকারীর প্রতিক্রিয়াশীলতার উপর নির্ভর করতে হবে।

4. আমাদের সিস্টেমটি বেশ কয়েকটি প্ল্যাটফর্ম (গুগল ক্যালেন্ডার, জিমেইল, জ্যাপিয়ার ইত্যাদি) ব্যবহার করে তৈরি করা হয়েছে এবং পারফর্ম করার জন্য তাদের পরিষেবা ব্যবহার করতে হবে।

5. একাধিক কক্ষের জন্য এই পরিষেবাটি স্কেল করা (পুরো সিস্টেমের নকল করার পরিবর্তে) রুম আইডি সহ একটি অতিরিক্ত হ্যান্ডলিং প্রয়োজন হবে।

6. সিস্টেমটি শুধুমাত্র স্বয়ংক্রিয় এবং রুম বুকিং বাতিল করার জন্য ম্যানুয়াল বিকল্প নেই।

ভবিষ্যতে উন্নয়ন:

আমরা অবশ্যই দুটি উপায়ে সিস্টেমকে স্কেল করব:

1. অন্য কোন ক্যালেন্ডার প্ল্যাটফর্মের সাথে কাজ করার ক্ষমতা (তাই যে কোন কো-ওয়ার্কিং স্পেস কোম্পানি এটি ব্যবহার করতে পারে)।

2. একাধিক কক্ষ, মেঝে এবং সাইটগুলি পরিচালনা করার ক্ষমতা।

আমরা বিশ্বাস করি যে এই ধরনের স্কেল সাধারণীকরণ, পরীক্ষা এবং একাধিক কক্ষ (মেঝে ইত্যাদি) বৈশিষ্ট্য যোগ করতে 2-3 মাস সময় লাগবে।

উপরন্তু, সীমাহীন পরিমাণ অর্থ এবং সম্পদ ব্যবহার করে আমরা একটি বৃহত্তর পরিসীমা সহ আরও ভাল সেন্সর ব্যবহার করবো, সেইসাথে নির্ধারিত রুমে তাদের কাস্টমাইজ করার পাশাপাশি - পরিসীমা, ব্যাসার্ধ, সেন্সরের পরিমাণ ইত্যাদি বিবেচনা করে এমন একটি পদক্ষেপ যা প্রতিটি সিস্টেমকে দীর্ঘতর করে তুলবে, স্পষ্টতই।

প্রস্তাবিত: