Სარჩევი:

[15 წთ] უისლის საათი / ვინ არის სახლში ინდიკატორი - TR -064 (ბეტა) საფუძველზე: 4 ნაბიჯი (სურათებით)
[15 წთ] უისლის საათი / ვინ არის სახლში ინდიკატორი - TR -064 (ბეტა) საფუძველზე: 4 ნაბიჯი (სურათებით)

ვიდეო: [15 წთ] უისლის საათი / ვინ არის სახლში ინდიკატორი - TR -064 (ბეტა) საფუძველზე: 4 ნაბიჯი (სურათებით)

ვიდეო: [15 წთ] უისლის საათი / ვინ არის სახლში ინდიკატორი - TR -064 (ბეტა) საფუძველზე: 4 ნაბიჯი (სურათებით)
ვიდეო: Как стать моложе за 1 минуту? 😉 2024, ივლისი
Anonim
Image
Image
[15 წთ] უისლის საათი / ვინ არის სახლში ინდიკატორი - TR -064 (ბეტა) საფუძველზე
[15 წთ] უისლის საათი / ვინ არის სახლში ინდიკატორი - TR -064 (ბეტა) საფუძველზე

განახლება: იხილეთ ნაბიჯი 3.

გრძელი ისტორია (TL; DR ქვემოთ): რამდენიმე ხნის წინ დავწერე პატარა bash-script ჩემს კომპიუტერზე, რომელიც დაასკანირებდა ქსელს რეგისტრირებულ მოწყობილობებზე და შეადარებდა მათ ჰოსტინგის სახელებს სიასთან ასოცირებული სახელებით. ყოველ ჯერზე, როდესაც მოწყობილობა შედიოდა ან გამოდიოდა ქსელში, მე მივიღებ შეტყობინებას. ამის მსგავსად, მე მქონდა იდეა ვინ არის სახლში (არა მხოლოდ სასიამოვნოა ვიცოდე ვინ არის სახლში, რომ ვკითხო მათ სურთ თუ არა შეუერთდნენ საჭმელს ან სხვას, არამედ ის ასევე დაგეხმარებათ პოტენციურად თავიდან აიცილოთ უხერხული სიტუაციები). პრობლემა ის არის, რომ ეს მეთოდი არ არის ძალიან საიმედო. სამწუხაროდ, ზოგიერთი მოწყობილობა არ პასუხობს პინგებს (მაგალითად, სმარტფონებს) და, როგორც ჩანს, გადადის ენერგიის დაზოგვის რეჟიმში, ამიტომ საიმედოდ არ არის გამოვლენილი ისეთი ბრძანებებით, როგორიცაა nmap. მე შევეცადე ამის გადალახვა მინიმუმ 10 ნეგატივის მოთხოვნით, სანამ საბოლოოდ გამოვაცხადებდი, რომ მოწყობილობა დატოვა ქსელი. მთლიანობაში ის მუშაობდა, მაგრამ ნელა, დაუჯერებლად და არც ისე ლამაზად. ასევე მინდოდა შევძლო იმის შემოწმება, თუ ვინ არის სახლში, ჩემი კომპიუტერის გახსნის გარეშე. ასე რომ, მე მქონდა ეს ESP8266- ები - და მინდოდა მათთან თამაში. მაგრამ მე არ მინდოდა აეშენებინა 10.120.124.812th ESP– ზე დაფუძნებული ამინდის სადგური ან ისეთი (რატომ გინდოდათ ამინდის მონიტორინგი თქვენი საშინელი ± 2 ° C თერმომეტრით, როდესაც თქვენ მაინც მოინახულებდით რომელიმე ვებ გვერდს?). ასე რომ, გეგმა შედგენილია. სამწუხაროდ აღმოჩნდება, რომ ESP, როგორც ჩანს, არ არის აღჭურვილი სათანადოდ პინგზე (რაც დასაწყისში ცუდი იყო, დაიმახსოვრე?), რომ აღარაფერი ვთქვათ სრულფასოვანი ქსელის სკანირებაზე. მე ვიფიქრე ბიბლიოთეკის დაწერაზე - მაგრამ ვინაიდან ჩემი C ++ ძალიან შეზღუდულია, ეს არის ჩემი პირველი ESP პროექტი და მე არ ვარ გენიოსი ქსელის პერსონალთან ერთად, ან მე ეს იდეა გავაქციე. კვლევის ჩატარების შემდეგ აღმოვაჩინე, რომ ჩემი როუტერს (ბრენდი Fritz! Box) რეალურად აქვს API! კი !!!! ოქმს ჰქვია TR-064. ასეთი შთამაგონებელი სახელი? გარკვეული დრო დამჭირდა მის შემუშავებაზე. შეიძლება მომდევნო დღეებში გამოვაქვეყნო უფრო პრაქტიკული ინსტრუქცია (და როგორ დაუკავშირდე/შეამოწმო ეს API ბრაუზერის დამატების გამოყენებით). მას შემდეგ რაც გავიგე API, დავიწყე მისი გამოყენება ჩემი ESP– დან. მოკლედ რომ ვთქვათ: მე მივიღე იხვის ფირზე და wd40 ხსნარი, რომელიც მუშაობდა და აკეთებდა იმას, რაც მინდოდა (დაკავშირებულია მოწყობილობების API– სთან, შეადარეთ ისინი MAC მისამართების ჩამონათვალს და შესაბამისად შეცვალეთ LED- ები). მაგრამ მე მინდოდა უფრო ძლიერი და მოქნილი გადაწყვეტა და ამ API– ს აქვს კიდევ ბევრი რამ (შეგიძლიათ შეცვალოთ პარამეტრები (ჩართოთ/გამორთოთ wifi, შეცვალოთ პაროლი, გახსნათ/დახუროთ სტუმრის wifi, შეცვალოთ სიგნალის სიმძლავრე), გადატვირთოთ როუტერი, მოითხოვოთ კავშირის სიჩქარე,…) - ასე რომ, მე გადავწყვიტე შევქმნა უნივერსალური TR -064 ბიბლიოთეკა! TL; DR; მოწყობილობა, რომელიც მიუთითებს LED- ების საშუალებით, ვინ არის სახლში. მუშაობს მშვენივრად, ჯერ არ აქვს დიდი საცხოვრებელი (ჰეი - შენიშნა ბეტა სათაურში?). იყენებს SOAP პროტოკოლს როუტერთან კომუნიკაციისთვის. დაწერა Arduino ბიბლიოთეკა იმისათვის, რომ ეს მოხდეს. საჭირო ცოდნა • ძირითადი Arduino/ESP ცოდნა • თუ თქვენ შეაგროვეთ ბლიკინგის მაგალითი თქვენს ESP– ში, კარგად იქნებით! • თუ არა, შეგიძლიათ მიჰყევით ამ ინსტრუქციის პირველ ორ ნაბიჯს • გამოგადგებათ, თუ გსურთ დატოვოთ პურის დაფა • ზოგიერთი 3D დიზაინი ან/და ხის დამუშავება შეიძლება გამოგადგეს საცხოვრებლად Github პროექტის ბმული [https://github.com/Aypac/Arduino-TR-064-SOAP-Library] სწრაფი მითითებისთვის.

მარაგები

  • ESP8266 ან ESP32 განვითარების დაფაზე ან სხვა პროგრამისტთან ერთად (2 ~ 6 €)
  • USB კაბელი შეესაბამება პროგრამისტს
  • დენის ადაპტერი (მაგ. USB ან ბატარეა ~ 2 €)
  • რამდენიმე LED და რეზისტორი (€ 1 €)
  • (გარსაცმები)

=> დაახლოებით 4-6 € მინიმალური დიზაინისთვის. ეს ჩემთვის ნიშნავს იმას, რომ შემიძლია მარტივად გავთიშო რამოდენიმე სახლის ირგვლივ. თუ ზარმაცი ხართ, ასევე შეგიძლიათ გამოიყენოთ განვითარების დაფა ჩართული LED- ებით (იხილეთ ნაბიჯი 4 უფრო დეტალურად).

ნაბიჯი 1: დააყენეთ თქვენი როუტერი (სურვილისამებრ, მაგრამ რეკომენდირებული)

დააყენეთ თქვენი როუტერი (სურვილისამებრ, მაგრამ რეკომენდირებული)
დააყენეთ თქვენი როუტერი (სურვილისამებრ, მაგრამ რეკომენდირებული)
დააყენეთ თქვენი როუტერი (სურვილისამებრ, მაგრამ რეკომენდირებული)
დააყენეთ თქვენი როუტერი (სურვილისამებრ, მაგრამ რეკომენდირებული)

პროტოკოლი შემუშავებულია როგორც ზოგადი პროტოკოლი მარშრუტიზატორებისთვის, მაგრამ მე მხოლოდ ის ვიცი, რომ (უმეტესობა) Fritz! Box მარშრუტიზატორები (ძალიან გავრცელებული ევროპაში მაინც) იყენებენ მას. არ ვიცი სხვა ბრენდების შესახებ. ამიტომ ვივარაუდებ, რომ თქვენ იყენებთ Fritz! Box- ს. თუ თქვენ შეძლებთ ამ სამუშაოს შესრულებას (ან ამის გაკეთებას) ნებისმიერ სხვა როუტერზე, მე სიამოვნებით დავამატებ მას ამ სასწავლო ინსტრუქციას (იქნებ დავიწყოთ მოკლე თავსებადობის სია?).

ეს ნაბიჯი არ არის აუცილებელი, თქვენ შეგიძლიათ უბრალოდ გამოიყენოთ თქვენი ადმინისტრაციული ანგარიში, მაგრამ ეს არ არის მიზანშეწონილი გასაგები მიზეზების გამო (შესაძლოა ჩაგეჭერით ან ამოღებულ იქნას თქვენი ESP– დან, თქვენ შეიძლება შემთხვევით შეცვალოთ ის, რაც არ გსურთ …) - ასე რომ, მე გირჩევთ ამის გაკეთებას

ყოველ შემთხვევაში, ჩვენ მივდივართ:

  1. შედით თქვენს Fritz! Box- ში fritz.box- ის აკრეფით თქვენი საყვარელი ბრაუზერის url-bar- ში.
  2. იპოვეთ FRITZ! Box– ის ახალი მომხმარებლის შექმნის გვერდი (თქვენ უნდა გქონდეთ გაფართოებული ის სისტემის ქვეშ, თუ ვერ იპოვით, სცადეთ თქვენი მოწყობილობის განახლება).
  3. შექმენით ახალი ანგარიში, როგორც ხედავთ სურათზე (სხვა მომხმარებლის სახელის/პაროლის გამოყენებით!).
  4. გასვლა.

ნაბიჯი 2: კოდი

Image
Image
აპარატურა (ბეტა)
აპარატურა (ბეტა)
  1. ბიბლიოთეკა შეგიძლიათ მიიღოთ Github– დან.

  2. მაგალითებში თქვენ ნახავთ ფაილს სახელწოდებით home-indicator.ino, რომელიც არის ამ პროექტის კოდი. განათავსეთ მაგალითების საქაღალდე თქვენს arduino IDE პროექტის სახლის საქაღალდეში და სხვა საქაღალდე ბიბლიოთეკების საქაღალდეში იმავე პროექტის სახლის საქაღალდეში.
  3. (ხელახლა) დაიწყეთ IDE.
  4. გახსენით home-indicator.ino IDE– ში და შეიყვანეთ თქვენი პარამეტრები. აშკარა უნდა იყოს რა სად მიდის. თუ თქვენ გაქვთ რაიმე შეკითხვები, შემატყობინეთ!
  5. ახლა თქვენ შეგიძლიათ შეადგინოთ იგი და გადაიტანოთ იგი თქვენს ESP– ში!

ნაბიჯი 3: აპარატურა (ბეტა)

აპარატურა (ბეტა)
აპარატურა (ბეტა)
აპარატურა (ბეტა)
აპარატურა (ბეტა)
აპარატურა (ბეტა)
აპარატურა (ბეტა)

ჰო … ეს არის ნაბიჯი, სადაც მე კიდევ უნდა ვიმუშაო. მაგრამ მე ვხვდები, რომ ინტერნეტში არის საკმარისი მასალა რაღაცის გასარკვევად:) როგორც სურათებში, ეს არის მხოლოდ დიოდი ~ 100Ohm რეზისტორით, რომელიც დაკავშირებულია GPIO {5, 4, 0, 2} - თან, რომლებიც არის D1, D2, D3, D4 (ამ თანმიმდევრობით) ჩემი MCU ESP8266 დაფის ქინძისთავები და პატარა ფორთოხლის კაბელი, რომელიც კათოდებს GND– ში იღებს (აღნიშნულია G ჩემს დაფაზე). თუ ზარმაცი ხარ, შეგიძლია გააკეთო ის, რასაც ხედავ მეორე სურათზე. უბრალოდ გამოიყენეთ განვითარების დაფა ჩართული LED- ებით (მაგალითად, "ESP-202", იხილეთ სურათები-დაახლოებით 3.50-5.00 € გადაზიდვის ჩათვლით). ამის შემდეგ შეგიძლიათ უბრალოდ დააკავშიროთ იგი USB ენერგიაზე ან გამოიყენოთ ჩართული ბატარეის პაკეტი, დახაზოთ ინტერფეისი ფურცელზე და მიამაგრეთ იგი კედელზე. შესრულებულია. ამ კონკრეტული დაფისთვის პორტებია:

int userPins [numUser] = {5, 4, 2, 14, 16};

ზემოდან ქვემოდან.

ნაბიჯი 4: Outlook/References

ეს არის ის, რასაც მე ჯერ კიდევ ვგეგმავ: 1. ლამაზი საცხოვრებლის დამზადება (ცხადია) 2. სასიამოვნო GUI- ის დამატება მომხმარებლების/LED- ების/MAC- ების/ცნობილი მოწყობილობების მართვისათვის. 3. ბიბლიოთეკის გაუმჯობესება (იხილეთ Github ამისთვის) 4. დაფიქსირება: ზოგჯერ LED- ები დუნე რეაგირება (ამას ცოტა დრო სჭირდება, სანამ არ გაითიშება, მოწყობილობის დატოვების შემდეგ) ყოველგვარი აშკარა მიზეზის გამო 5. შეაერთეთ ნივთი დერეფანში და შესაძლოა კიდევ რამოდენიმე სახლის ირგვლივ. და როგორც ყოველთვის, მე ნამდვილად მახარებს იმის დანახვა, რომ სხვები ქმნიან თქვენს მიერ მოფიქრებულ ნაგავს, ასე რომ გთხოვთ დაუთმოთ ერთი წუთი კომენტარის გაკეთებას და სურათების განთავსებას!:):) კიდევ რამდენიმე მითითება აქ დავამატებ რაღაცეებს, რაც შეიძლება დაგეხმაროთ: • მითითება TR-064 • ვიღაც ბიჭი ჭუპრით და TR-064– ით (კარგია API– ს გაგებისთვის) • ჰარი პოტერი ვიკიპედია: უიზლის საათის შესვლა • ზოგიერთი ბიჭი აშენებს ლამაზ, მაგრამ რთულ Weasly საათს*_*ის ემყარება თქვენს ტელეფონის აპლიკაციას, რომელიც იღებს თქვენს ადგილსამყოფელს. თუ თქვენ იმყოფებით გარკვეულ წინასწარ განსაზღვრულ უბნებში, საათის შესაბამისი შუქი ანათებს. ჩემთვის ეს ძალიან რთული იყო და ბევრი ადგილი ჰქონდა, სადაც შეიძლება გატეხილი/ჩავარდნილიყო: • პროგრამები უნდა იყოს განახლებული • ყველამ უნდა გამოიყენოს ეს პროგრამები • და იყოს კარგად კონფიდენციალურობაზე გავლენის შემთხვევაში • აპლიკაცია მუშაობს მხოლოდ ინტერნეტით კავშირი • თქვენ უნდა გამოიყენოთ შუალედური სერვერი კომუნიკაციის დასაკავშირებლად (თუ თქვენ არ გსურთ შექმნათ სერვერი და გახსნათ სახლის ქსელი გარე ტრაფიკისთვის - კი, კიდევ ერთი სახიფათო IOT მოწყობილობა უშუალოდ ინტერნეტთან არის დაკავშირებული!) • შუალედურმა სერვისმა შეიძლება ერთ დღეს გათიშოს/შეცვალოს მისი API, •… თქვენ გჭირდებათ მეტი პროგრამული უზრუნველყოფა. მეტი პროგრამული უზრუნველყოფა ნიშნავს მეტ ადგილს შეცდომის გასაკეთებლად;) მაგრამ მათ გააკეთეს საოცარი სამუშაო და თუ გსურთ მსგავსი რამის გაკეთება, გადადით მათ საიტზე, ეს მართლაც შესანიშნავია!

გირჩევთ: