Სარჩევი:

IDC2018IOT: შეხვედრების ოთახი სნიტჩერი: 6 ნაბიჯი
IDC2018IOT: შეხვედრების ოთახი სნიტჩერი: 6 ნაბიჯი

ვიდეო: IDC2018IOT: შეხვედრების ოთახი სნიტჩერი: 6 ნაბიჯი

ვიდეო: IDC2018IOT: შეხვედრების ოთახი სნიტჩერი: 6 ნაბიჯი
ვიდეო: IDC European IoT Summit 2018 2024, ნოემბერი
Anonim
IDC2018IOT: შეხვედრების ოთახი სნიტჩერი
IDC2018IOT: შეხვედრების ოთახი სნიტჩერი

ᲞᲠᲝᲑᲚᲔᲛᲐ

როგორც ვიცით, თანამშრომლობის სივრცეების ტენდენცია აჩქარებულია ბოლო რამდენიმე წლის განმავლობაში, უახლეს ტექნოლოგიასთან ერთად, რაც განსაზღვრავს კონკრეტული თანამშრომლობის სივრცის არჩევანს, რომელიც შეესაბამება თქვენს საჭიროებებს.

ერთ-ერთი მთავარი მახასიათებელი არის საერთო შეხვედრების ოთახები, რომლებიც შესთავაზა თანამშრომლებმა სივრცის წევრებს, რომელსაც მართავს (ჩვეულებრივ) მარტივი კალენდარული პლატფორმა.

პრობლემა მეორდება, როდესაც ადამიანების გრაფიკი დინამიური ხდება.

შეიძლება ვინმემ დაჯავშნოს ოთახი და იფიქროს, რომ მას ეს დასჭირდება და არ სურს დროის მონაკვეთის გამოტოვება.

მაშინაც კი, თუ ვინმე არ გამოიყენებს ამ დროის მონაკვეთს, ის არ დაიზარებს შეატყობინოს და გააუქმოს იგი სხვების გულისთვის, რადგან, სამწუხაროდ, ეს ადამიანური ბუნებაა.

როგორ ვხსნით მას?

IoT ტექნოლოგიის გამოყენებით - ხმის და მოძრაობის შემოწმება დანიშნულ შეხვედრების ოთახში, ჩვენ ვამოწმებთ, ყოველ გარკვეულ ინტერვალს, არის თუ არა დაჯავშნილი და რეალურად დაკავებული ოთახი თუ არა:

1. თუ ის დაჯავშნილი არ არის, არაფერი გააკეთოთ.

2. თუ დაჯავშნილია, შეამოწმეთ არის თუ არა რაიმე მოძრაობა ან ხმა გამოვლენილი;

თუ არსებობს, არაფერი გააკეთო.

თუ არაფერი იქნა აღმოჩენილი, გააგზავნეთ გამაფრთხილებელი შეტყობინება (ელ.ფოსტის საშუალებით) იმ მომხმარებელს, რომელმაც დაჯავშნა ოთახი და ეკითხება, კვლავ იყენებთ თუ არა ოთახს. თუ მომხმარებელი არ განაცხადებს, რომ ის კვლავ იყენებს ოთახს, ოთახის სტატუსი შეიცვლება „ხელმისაწვდომია“.

* აქ ჩვენ გავაერთიანეთ ჩვენი პროექტი Google Calendar– ში, რათა მაქსიმალურად განვზოგადოთ.

ნაბიჯი 1: საჭიროა აპარატურა და პროტოკოლები

საჭიროა აპარატურა და პროტოკოლები
საჭიროა აპარატურა და პროტოკოლები

1. ჩვენ გამოვიყენეთ NOSEMCU, ასე რომ ჩვენ შეგვიძლია დინამიურად განვაახლოთ საგნები WIFI კავშირის გამოყენებით.

2. მიკროფონის სენსორი, რომელიც "წაიკითხავს" ხმაურს ოთახში.

3. PIR სენსორი, რომელიც შეამოწმებს რაიმე მოძრაობას.

პროგრამული უზრუნველყოფისა და სერვერის გამოყენებისთვის, გარდა Arduino– ს კოდისა, ჩვენ გამოვიყენეთ Google Script და Zapier ჩვენი სისტემის ონლაინ მხარდასაჭერად. თქვენ შეგიძლიათ ნახოთ ნაკადი დამატებულ სურათზე (და PDF).

ჩვენ გამოვიყენეთ Zapier აპების დასაკავშირებლად და ჩვენი სამუშაო პროცესების ავტომატიზაციისთვის (IFTTT) და გამოვიყენეთ Google Script, რომელიც გვეხმარება Google Calendar– თან კომუნიკაციაში. სკრიპტი, რომელიც ჩვენ დავწერეთ, აწარმოებს ღონისძიების შემქმნელის ელ.წერილს, ასე რომ ჩვენ შეგვიძლია გამოვაგზავნოთ Zapier და შეამოწმოს თუ არა მომხმარებელმა მოითხოვოს ოთახის შენარჩუნება (Google Sheets- ში ინფორმაციის შენახვა) ღონისძიების წაშლამდე.

ნაბიჯი 2: შეაერთეთ მიკროფონი და PIR სენსორი

შეაერთეთ მიკროფონი და PIR სენსორი
შეაერთეთ მიკროფონი და PIR სენსორი
შეაერთეთ მიკროფონი და PIR სენსორი
შეაერთეთ მიკროფონი და PIR სენსორი

ჩვენ გვსურს შევამოწმოთ მიკროფონის საშუალო მნიშვნელობები NODEMCU– ში, როდესაც ხალხი საუბრობს (ცხადია, ყველა ოთახში განსხვავებული ფონის ხმაური იყო). ჩვენ ჩავატარეთ ტესტირება და მივხვდით, რომ ხმაურის საშუალო დონე არის ის ოთახი, სადაც ჩვენ ვმუშაობდით, სადღაც 50 -ზე მეტია.

PIR სენსორი იძლევა მხოლოდ HIGH ან LOW მნიშვნელობებს, ამიტომ ჩვენ შევამოწმეთ მხოლოდ მგრძნობელობის დონე, რომელიც ყველაზე ზუსტია ჩვენს მიერ შემოწმებული ოთახისთვის. ეს სახელმძღვანელო საკმაოდ სასარგებლო იყო.

ჩვენი კავშირები:

მიკროფონი - როგორც სურათზეა PIR სენსორი: GND> GND, OUT> D7, VCC> VN (5V)

ნაბიჯი 3: შექმენით სამუშაო ნაკადი ზაპიერში

შექმენით სამუშაო ნაკადი ზაპიერში
შექმენით სამუშაო ნაკადი ზაპიერში
შექმენით სამუშაო ნაკადი ზაპიერში
შექმენით სამუშაო ნაკადი ზაპიერში
შექმენით სამუშაო ნაკადი ზაპიერში
შექმენით სამუშაო ნაკადი ზაპიერში

იმისათვის, რომ ვიცოდეთ არის თუ არა ოთახი რეალურად ცარიელი ან ჯერ კიდევ გამოყენებულია (და მომხმარებლები მაგალითად შესვენებაზე არიან), ჩვენ გვსურს შევქმნათ ნაკადი, რომელიც მას ირწმუნებს, მას შემდეგ რაც NodeMCU გაუშვებს Webhook– ს Zapier– ს, რომელიც აცნობებს, რომ ოთახი ცარიელია:

(1) TRIGGER - CATCH HOOK ზაპიერი იჭერს ვებჰუკს (რომელსაც გამოაგზავნის NODEMCU)

(2) ACTION - GETZapier აგზავნის სხვა Webhook– ს ღონისძიების მონაცემების მისაღებად;> ის იძახებს (გაუშვებს) GoogleScript– ს - GetCurrentEmailEventID (ახსნა შემდეგ საფეხურზე), მიმდინარე მოვლენის მონაცემების მისაღებად - მოვლენის სახელი, ღონისძიების ID, მომხმარებლის ელფოსტა.

(3) ფილტრი - გააგრძელეთ მხოლოდ თუ

გააგრძელეთ შემდეგი ნაბიჯი მხოლოდ იმ შემთხვევაში, თუ რაიმე მოვლენა (რაიმე მოვლენა) ხდება ამჟამად კალენდარში (ROOM IS BUSY), წინააღმდეგ შემთხვევაში ის ჩერდება, რადგან ოთახი ცარიელია.

(4) ACTION - GMAILZapier აგზავნის ელ.წერილს Gmail- ის საშუალებით იმ მომხმარებელს, რომელმაც დაჯავშნა ოთახი (მიიღო ეს ინფორმაცია ნაბიჯი 2 -ში)

(5) ACTION - DELAY FOR FOR მომხმარებლისთვის დრო, უპასუხოს ელ.წერილს. ოთახი კვლავ აღინიშნება როგორც დაკავებული.)

(6) ACTION - GET 5 წუთის შემდეგ ზაპიერი დარეკავს (მუშაობს) GoogleScript - DeleteCurrentEvent- თუ მომხმარებელი არ დააწკაპუნებს ბმულს

ამოწმებს არის თუ არა ოთახის ID სიაში "წაშლადი ოთახები"

ის უბრალოდ შლის მოვლენას.

ნაბიჯი 4: Google Scripts

Google სკრიპტები
Google სკრიპტები
Google სკრიპტები
Google სკრიპტები
Google სკრიპტები
Google სკრიპტები

მთელი სისტემის ინტეგრირებისას, GoogleScripts იყო IDE ტრივიალური არჩევანი, ამრიგად, ჩვენ გამოვიყენეთ შესაბამისი Google ბიბლიოთეკები. შეიცვლება ოთახის დაჯავშნის პლატფორმის მიხედვით.

(1) GetCurrentEmailEventID

მუშაობს Webhook ზარის საშუალებით.

გარკვეული ოფსეტური გამოყენება შესაძლო გამოტოვების გაუქმების მიზნით, მიმდინარე მოვლენის მონაცემების მიღება.

(2) ApproveCurrentEvent

მუშაობს მომხმარებლის დაწკაპუნებით.

იმ შემთხვევაში, თუ მომხმარებელი დაამტკიცებს, რომ ოთახი ჯერ კიდევ გამოყენებულია, წაშლის მოვლენის ID- ს "წაშლადი ოთახებიდან". ჩვენ გამოვიყენეთ Google ფურცელი, სიის ნებისმიერი სხვა ფორმა შეიძლება აქტუალური იყოს.

(3) DeleteCurrentEvent

მუშაობს Webhook ზარის საშუალებით.

ეძებს სიაში შესაბამისი ღონისძიების ID- ს (Google ფურცელი) და შლის ამ მოვლენას კალენდრიდან.

ნაბიჯი 5: შეაერთეთ ნაკადი არდუინოს კოდთან

თანდართული კოდი უკავშირდება სენსორებს, რომლებიც ჩვენ გადავამოწმეთ რამდენიმე ნაბიჯის წინ ონლაინ სისტემასთან (ჩვენს შემთხვევაში Google კალენდარი). ის ამოწმებს არის თუ არა ოთახი დაკავებული და შემდეგ თუ არა, იგი აგზავნის HTTP მოთხოვნას (Webhook), რომელიც იწყებს ღონისძიების წაშლის მოთხოვნას Zapier– ზე.

ნაბიჯი 6: მიმოხილვა, დასკვნები და მომავალი სკალირება

Image
Image

მთავარი გამოწვევა, რომელთანაც გვქონდა გამკლავება, არის ყველა უკიდურესი შემთხვევის დაფარვა, როდესაც ვიღებთ გადაწყვეტილებას შეხვედრების ოთახის გათავისუფლების შესახებ. შემდეგ ჩვენ უნდა შევქმნათ სახელმწიფო მანქანა ყველა შესაძლო შემთხვევის გათვალისწინებით, ისეთი, რომ შეცდომა არ მოხდეს და ოთახი იყოს მითითებული, როგორც ხელმისაწვდომი მხოლოდ მაშინ, როცა უნდა.

მაგალითად, თუ ოთახი დაჯავშნილია იმ ჯგუფისათვის, რომელიც ამჟამად იქ არ არის (მაგალითად, შესვენებაზეა), მაგრამ მაინც სჭირდება, NODEMCU აღმოაჩენს, რომ ოთახი უფასოა> პრობლემა.

შემდეგ, ჩვენი გამოსავალი იყო ელექტრონული ფოსტის გაგზავნა მომხმარებელთან, რომელმაც დაჯავშნა ოთახი (რომლის გარკვევაც არ იყო მარტივი) მესერა, რომელიც უზრუნველყოფს ოთახის შენარჩუნების შესაძლებლობას.

თუ მომხმარებელმა არ უპასუხა მოცემულ დროში (ჩვენ დავაყენეთ 5 წუთი, მაგრამ ის ადვილად შეიძლება შეიცვალოს), ჩვენ წავშლით მოვლენას კალენდარიდან (და გავათავისუფლებთ ოთახს).

ამ გზით ჩვენ საბოლოოდ მოვახერხეთ ყველა შესაძლო სცენარის დამუშავება და სამუშაო სისტემის შექმნა.

ჩვენი სისტემის შეზღუდვები:

1. გამოყენებული სენსორები უნდა იყოს ძალიან ზუსტი და მგრძნობიარე.

2. ოთახის ზომა შემოიფარგლება სენსორის რადიუსით/დიაპაზონით.

3. ჩვენ მოგვიწევს დაეყრდნოს მომხმარებლის რეაგირებას.

4. ჩვენი სისტემა აგებულია რამდენიმე პლატფორმის გამოყენებით (Google კალენდარი, Gmail, Zapier და ა.შ.) და შესასრულებლად მოუწევს მათი სერვისის გამოყენება.

5. ამ სერვისის გაფართოება რამდენიმე ოთახისთვის (მთელი სისტემის დუბლირების ნაცვლად) საჭიროებს დამატებით დამუშავებას ოთახის ID– ით.

6. სისტემა მხოლოდ ავტომატურია და არ არსებობს ოთახის დაჯავშნის გაუქმების ხელით ვარიანტი.

მომავლის განვითარება:

ჩვენ აუცილებლად გავაფართოვებთ სისტემას ორი გზით:

1. ნებისმიერ სხვა კალენდარულ პლატფორმებთან მუშაობის უნარი (ასე რომ ნებისმიერ თანამშრომელ სივრცეში კომპანიას შეეძლო მისი გამოყენება).

2. მრავალი ოთახის, იატაკისა და ადგილების დამუშავების უნარი.

ჩვენ გვჯერა, რომ ამ სახის მასშტაბებს 2-3 თვე დასჭირდება განზოგადების, გამოცდისა და მრავალი ოთახის (სართულები და ა.შ.) ფუნქციის დამატებისთვის.

გარდა ამისა, შეუზღუდავი თანხისა და რესურსების გამოყენებით ჩვენ გამოვიყენებთ უკეთეს სენსორებს უფრო დიდი დიაპაზონით, მათ დანიშნულ ოთახზე მორგებით - დიაპაზონის, რადიუსის, სენსორების რაოდენობის გათვალისწინებით და ა. აშკარად

გირჩევთ: