Სარჩევი:

IoT მთვარის ნათურა: 5 ნაბიჯი
IoT მთვარის ნათურა: 5 ნაბიჯი

ვიდეო: IoT მთვარის ნათურა: 5 ნაბიჯი

ვიდეო: IoT მთვარის ნათურა: 5 ნაბიჯი
ვიდეო: კახი კალაძე დატროლეს 😀🤣🤣 2024, ნოემბერი
Anonim
IoT მთვარის ნათურა
IoT მთვარის ნათურა

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

ეს პროექტი მოიცავს:

  • შედუღება;
  • ESP8266 პროგრამირება Arduino IDE– ით;
  • android პროგრამის დამზადება MIT აპლიკაციის გამომგონებლით.

ინტერესის ობიექტია მთვარის ფორმის ნათურა, რომელიც ვიყიდე gearbest– დან. სინამდვილეში ეს სახელმძღვანელო შეიძლება მოერგოს ნებისმიერი დაბალი DC ძაბვის მოწყობილობას (AC ენერგიაზე მომუშავე მოწყობილობები საჭიროებენ დამატებით სქემას).

მარაგები

  1. Android სმარტფონი (android ვერსიები 7-9 შემოწმებულია).
  2. შედუღების ინსტრუმენტები.
  3. PCB პროტოტიპი (პროტობორდი).
  4. ESP-12E დაფა (ან სხვა დაფა ESP8266 მიკროკონტროლით).
  5. USB სერიული გადამყვანი პროგრამირებისთვის.
  6. პასიური კომპონენტების რამდენიმე განსხვავებული მნიშვნელობა (რეზისტორები და კონდენსატორები).

(არასავალდებულო. იხილეთ განყოფილება "ბლოკის დიაგრამა")

  1. 3.3V@500mA LDO IC.
  2. 3.3V-5V ლოგიკური დონის გადამყვანი დაფა.
  3. 5V DC კვების ბლოკი.

ნაბიჯი 1: იდეა

იდეა
იდეა

მთვარის ნათურა იკვებება ერთი Li-ION 18650 უჯრედით და მას აქვს მუშაობის სამი რეჟიმი:

  • გამორთული;
  • სახელმძღვანელო;
  • ავტო

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

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

როდესაც პროტოტიპი გაკეთდა, მან გამოუშვა m 80mA ბატარეიდან მუდმივად გამორთულ მდგომარეობაში (~ 400mA სრული სიკაშკაშე). ლოდინის დენი მაღალია, რადგან ESP8266 მუშაობს როგორც სერვერი და ყოველთვის დაკავშირებულია WiFi- თან და უსმენს მოთხოვნებს. ბატარეა ამოიწურა ერთი და ნახევარი დღის შემდეგ მხოლოდ გამორთულ მდგომარეობაში, ასე რომ მოგვიანებით გადავწყვიტე გამოვიყენო ნათურები USB დამტენი პორტი ყველა ელექტრონიკის გარე 5 ვ კვების წყაროდან და ბატარეის გათიშვისთვის ერთად (მაგრამ ეს არჩევითია).

ნაბიჯი 2: ბლოკირების დიაგრამა

ბლოკის დიაგრამა
ბლოკის დიაგრამა

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

დოკუმენტაციის თანახმად ESP8266 მოითმენს მხოლოდ 3.3 ვ -ს, თუმცა არის უამრავი მაგალითი, როდესაც ESP8266 მუშაობს სრულყოფილად 5V– ით, ამიტომ ლოგიკური დონის გადამყვანი და 3.3V LDO შეიძლება გამოტოვდეს, თუმცა მე დავრჩი საუკეთესო პრაქტიკაში და დავამატე ეს კომპონენტები.

მე გამოვიყენე 3 ESP8266 I/O ქინძისთავები და ADC pin. ერთი ციფრული გამომავალი პინი განკუთვნილია ღილაკების დაჭერის სიმულაციისთვის, ორი ციფრული შეყვანა არის იმის დასადგენად, თუ რა ფერის არის LED- ები (აქედან შეგვიძლია გავარკვიოთ რომელ მდგომარეობაშია MCU და რომელი მდგომარეობაა ღილაკის დაჭერის შემდეგ). ADC pin ზომავს შეყვანის ძაბვას (ძაბვის გამყოფის საშუალებით), ასე ჩვენ შეგვიძლია დავაკვირდეთ ბატარეის დატენვის დანარჩენ დონეს.

როგორც გარე კვების წყარო ვიყენებ ძველი ტელეფონის დამტენს 5V@1A (არ გამოვიყენო სწრაფი დამტენები).

ნაბიჯი 3: პროგრამირება

პროგრამირება
პროგრამირება
პროგრამირება
პროგრამირება

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

ESP8266 აკავშირებს თქვენს WiFi წვდომის წერტილს, რომლის რწმუნებათა სიგელები უნდა შეიყვანოთ კოდის დაწყებამდე პროგრამირების დასაწყისში, ის იღებს თქვენს IP მარშრუტიზატორებს DHCP სერვერიდან, რომ გაარკვიოთ IP რომელიც დაგჭირდებათ მოგვიანებით, შეგიძლიათ შეამოწმოთ მარშრუტიზატორის ვებ ინტერფეისი DHCP პარამეტრები ან დააყენოთ დროშის შეცვლა 1 -ში და ნახავთ რა IP ESP მიიღო სერიულ მონიტორში (თქვენ უნდა შეინახოთ ეს IP თქვენს როუტერის პარამეტრებში, რათა ESP ყოველთვის მიიღოს იგივე IP ჩატვირთვისას).

როდესაც ინიციალიზებული MCU ყოველთვის ასრულებს ერთსა და იმავე რუტინას სამუდამოდ:

  1. შეამოწმეთ კვლავ დაკავშირებულია AP– სთან, თუ არა, სცადეთ ხელახლა დაკავშირება წარმატებამდე.
  2. დაელოდეთ სანამ კლიენტი გააკეთებს HTTP მოთხოვნას. როდესაც მოთხოვნა ხდება:

    1. შეამოწმეთ შეყვანის ძაბვა.
    2. შეამოწმეთ რა მდგომარეობაშია LED- ები.
    3. შეადარეთ HTTP მოთხოვნა ცნობილ LED მდგომარეობასთან (ლურჯი ჩართული, ნარინჯისფერი ჩართული, ორივე ჩართული, გამორთული).
    4. იმდენი სიმულაციის ღილაკზე დაჭერა, რამდენადაც საჭიროა მოთხოვნილი მდგომარეობის მისაღწევად.

მე მოკლედ აღვწერ პროგრამირების ინსტრუქციებს, თუ ეს არის თქვენი პირველი პროგრამირების ESP8266 MCU უფრო სიღრმისეული ინსტრუქციები.

თქვენ დაგჭირდებათ Arduino IDE და USB სერიული ინტერფეისის გადამყვანი (მაგალითად FT232RL). IDE– ს მოსამზადებლად მიჰყევით ამ ინსტრუქციას.

დაიცავით სქემის დიაგრამა პროგრამირებისათვის ESP-12E მოდულის დასაკავშირებლად. რამდენიმე რჩევა:

  • გამოიყენეთ გარე 3.3V@500mA კვების წყარო (უმეტეს შემთხვევაში USB სერიული კვების წყარო არ არის საკმარისი);
  • შეამოწმეთ შეესაბამება თუ არა თქვენი USB სერიული გადამყვანი 3.3V ლოგიკურ დონეს;
  • შეამოწმეთ წარმატებით დაინსტალირდა თუ არა USB სერიული გადამყვანი დრაივერები (Windows მოწყობილობის მენეჯერიდან) ასევე შეგიძლიათ შეამოწმოთ სწორად მუშაობს თუ არა IDE– დან, მხოლოდ მოკლე RX და TX ქინძისთავებიდან, ვიდრე IDE– დან აირჩიეთ COM პორტი, გახსენით სერიული მონიტორი და დაწერეთ რამე, თუ ყველაფერი მუშაობს თქვენ უნდა ნახოთ ტექსტი, რომელსაც თქვენ აგზავნით, გამოჩნდება კონსოლში;
  • რატომღაც მე შევძელი ESP პროგრამირება მხოლოდ მაშინ, როდესაც პირველად შევაერთე USB სერიული გადამყვანი კომპიუტერთან და შემდეგ დავიწყე ESP გარე 3.3V წყაროდან;
  • წარმატებული პროგრამირების შემდეგ, არ დაგავიწყდეთ GPIO0 მაღალი დაწევა მომდევნო ჩატვირთვისას.

ნაბიჯი 4: სქემატური და შედუღება

სქემატური და შედუღების
სქემატური და შედუღების
სქემატური და შედუღების
სქემატური და შედუღების
სქემატური და შედუღების
სქემატური და შედუღების

დაიცავით სქემატური შედუღება ყველა კომპონენტი protoboard. როგორც უკვე აღვნიშნეთ, ზოგიერთი კომპონენტი არჩევითია. მე გამოვიყენე KA78M33 3.3V LDO IC და ეს ლოგიკური დონის გადამყვანი დაფა sparkfun– დან, ალტერნატიულად, თქვენ შეგიძლიათ თავად გააკეთოთ კონვერტორი, როგორც ეს მოცემულია სქემატურ სქემაში (BSS138– ის ნაცვლად შეგიძლიათ გამოიყენოთ ნებისმიერი N – არხის mosfet). იმ შემთხვევაში, თუ თქვენ არ იყენებთ Li-ION ბატარეას, +5V დენის ქსელი იქნება ბატარეის დადებითი ტერმინალი. ESP8266 ADC საცნობარო ძაბვა არის 1V, ჩემი არჩეული რეზისტორის გამყოფი მნიშვნელობები საშუალებას იძლევა გავზომოთ შეყვანის ძაბვა 5,7 ვ -მდე.

ორიგინალური ნათურის PCB– ს უნდა ჰქონდეს 5 კავშირი: +5V (ან +ბატარეა), GND, ღილაკი, PWM სიგნალები MCU ნათურებიდან ლურჯი და ნარინჯისფერი LED- ების გასაკონტროლებლად. თუ ლამპას 5V წყაროდან იკვებებით, როგორც მე გავაკეთე, თქვენ მოგინდებათ მოკლედ დამტენი IC VCC პინი OUTPUT პინით, ამგვარად ყველა ელექტრონიკა იკვებება უშუალოდ +5V– დან და არა ბატარეის დამტენი OUTPUT– დან.

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

შენიშვნები:

  1. თუ თქვენ გადაწყვიტეთ გათიშვა +5V ბატარეის დამტენი IC გამომავალით, ამოიღეთ ბატარეა მანამ, სანამ არ გსურთ +5V პირდაპირ აკუმულატორთან დაკავშირება.
  2. მიაქციეთ ყურადღება რომელ ღილაკზე მიამაგრეთ ESP გამომავალი, რადგან ღილაკის 2 პინი უკავშირდება მიწას და არ გსურთ მოკლე ჩართვა, როდესაც ESP გამომავალი მიდის მაღლა, უმჯობესია ორმაგი შემოწმება მულტიმეტრით.

ნაბიჯი 5: Android აპლიკაცია

Android აპლიკაცია
Android აპლიკაცია
Android აპლიკაცია
Android აპლიკაცია
Android აპლიკაცია
Android აპლიკაცია

Android აპლიკაცია დამზადებულია MIT აპლიკაციის გამომგონებლის მიერ, რომ გადმოწეროთ აპლიკაცია და/ან კლონირებული პროექტი საკუთარ თავს, გადადით ამ ბმულზე (მასზე წვდომისთვის დაგჭირდებათ Google ანგარიში).

პირველი გაშვებისას თქვენ უნდა გახსნათ პარამეტრები და შეიყვანოთ თქვენი ESP8266 IP მისამართი. ეს IP შეინახება, ასე რომ პროგრამის გადატვირთვის შემდეგ აღარ არის საჭირო მისი შეყვანა.

აპლიკაცია ტესტირებულია რამდენიმე android 9 და android 7 მოწყობილობით.

გირჩევთ: