Სარჩევი:

პირადი ასისტენტი: 9 ნაბიჯი (სურათებით)
პირადი ასისტენტი: 9 ნაბიჯი (სურათებით)

ვიდეო: პირადი ასისტენტი: 9 ნაბიჯი (სურათებით)

ვიდეო: პირადი ასისტენტი: 9 ნაბიჯი (სურათებით)
ვიდეო: ციფრების საიდუმლო, ტესლას 3 - 6 - 9 თეორია, ანგელოზების მესიჯები, ნუმეროლოგია 2024, ნოემბერი
Anonim
Image
Image
Პირადი დამხმარე
Პირადი დამხმარე

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

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

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

როგორ მუშაობს? ამ პროექტის ძირითადი კომპონენტებია მიკროკონტროლერი და მუსიკალური პლეერის მოდული. ჩვენი მიკროკონტროლერი (NodeMCU) იყენებს WiFi ტექნოლოგიას ინტერნეტ კავშირით წვდომის წერტილთან დასაკავშირებლად; მას შეუძლია მიიღოს საჭირო მონაცემები, დაამუშაოს იგი და აცნობოს მუსიკალურ პლეერს (DFPlayer Mini) როდის, რომელი MP3 ფაილის დაკვრაა საჭირო.

ჯერჯერობით სულ ეს არის რაც უნდა იცოდე. მე მოგაწვდით უფრო დეტალურ ინფორმაციას მომდევნო ნაბიჯებში, ასე რომ არ ინერვიულოთ.

ნაბიჯი 1: საჭირო ნაწილები

ნაწილები საჭიროა
ნაწილები საჭიროა
  • NodeMCU ESP-12E (CP2102 USB- სერიული ინტერფეისი)
  • მინი DFPlayer
  • SPST მომენტალური ღილაკი
  • 8 Ohm 2 Watt სპიკერი
  • მიკრო SD ბარათი (თქვენ დაგჭირდებათ რამდენიმე კილობიტი, ასე რომ ტევადობას მნიშვნელობა არ აქვს)
  • თხილი და ჭანჭიკები

    • M3 თხილი (x6)
    • M3 ჭანჭიკები - 23 მმ (x4)
    • M3 ჭანჭიკები - 15 მმ (x2)
  • სიგნალის დიოდი 1N4148 (x1)
  • რეზისტორები

    • 1K რეზისტორი (x1)
    • 10K რეზისტორი (x2)

სხვა ნაწილები:

  • PCB (შეგიძლიათ შეუკვეთოთ პროტოტიპი ინტერნეტით ან ეწვიოთ ადგილობრივ მაღაზიას)
  • აკრილის ფურცელი ლაზერულად

    • 2 მმ სისქის გამჭვირვალე ფურცელი
    • 2.8 მმ სისქის ორი განსხვავებული ფერის ფურცელი (ნარინჯისფერი და მწვანე, წითელი და მწვანე, თქვენზეა დამოკიდებული და ფერებს არ აქვს მნიშვნელობა)
  • ნებისმიერი 5 ვოლტი (მინიმუმ) 1 ამპერი მიკრო USB დამტენი (მოწყობილობის გასაძლიერებლად)

ნაბიჯი 2: როგორ მუშაობს

Როგორ მუშაობს
Როგორ მუშაობს
Როგორ მუშაობს
Როგორ მუშაობს

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

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

აქ ჩვენ გვაქვს რამდენიმე სერვისი და ქვე სერვისი ან მათი მოდულები:

  • Gmail

    წაუკითხავი შეტყობინებები

  • ამინდი

    • მიმდინარე ტემპერატურა
    • დღევანდელი მდგომარეობა
    • დღეს დაბალი / მაღალი
    • ხვალ მდგომარეობა
    • ხვალ დაბალი / მაღალი
    • ნალექების პროგნოზი
    • Მზის ამოსვლა მზის ჩასვლა
  • დრო

    • Მიმდინარე დრო
    • Მიმდინარე თარიღი
  • დაბადება და სიკვდილი

    • მსოფლიო დაბადება
    • მსოფლიო სიკვდილი

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

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

QUEUE (წაუკითხავი შეტყობინებები | ნალექების პროგნოზი | მიმდინარე დრო)

თქვენ დააჭირეთ ღილაკს, წაუკითხავი შეტყობინებები უნდა შესრულდეს.

QUEUE (წაუკითხავი შეტყობინებები | ნალექების პროგნოზი | მიმდინარე დრო)

ასე რომ, მოწყობილობა გამოიყენებს მის მიერ შეგროვებულ მონაცემებს (აქ, თქვენი წაუკითხავი შეტყობინებების რაოდენობა, რომლებიც ამოღებულია google mail API არხიდან) თქვენთან სალაპარაკოდ. Მაგრამ როგორ? აქ, NodeMCU გეტყვით MP3 მოდულს, როდის უნდა ითამაშოს რომელი MP3 ნაჭერი გააკეთოს მნიშვნელოვანი წინადადება. ამის მისაღწევად, მე შევიმუშავე სხვადასხვა რიგები, ქრონომეტრები და ალგორითმები. (თუ თქვენ ხართ c ++ ბიჭი და მოგწონთ მიკროკონტროლერები, შეგიძლიათ შეისწავლოთ კოდი თქვენთვის.)

ასე რომ, თქვენ მოისმენთ, მოწყობილობა იწყებს საუბარს: თქვენ გაქვთ 4 წაუკითხავი შეტყობინება თქვენს gmail შემოსულებში.

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

QUEUE (წაუკითხავი შეტყობინებები | ნალექების პროგნოზი | მიმდინარე დრო)

ასე რომ, თქვენ მოისმენთ მსგავს რამეს: ნუ დაივიწყებთ თქვენს ქოლგას, ხვალ წვიმს. და ასე შემდეგ … კიდევ ერთი მაგარი რამ: ზოგიერთი მოდულისთვის (მაგალითად, ნალექების პროგნოზი), შეგიძლიათ ელოდოთ შემთხვევით წინადადებებს ერთი და იმავე შტატებისთვის. მაგალითად, თუ ხვალ არის ნალექი და წვიმს და არა თოვლი, შეგიძლიათ ელოდოთ "ხვალ შესაძლებელია წვიმა", "მოიტანე შენი მზე, ხვალ წვიმს", "ტუტი, ტუტი, ხვალ წვიმას ჰგავს", ან…

როგორ მივიღოთ განსხვავებული მონაცემები თითოეული სერვისისთვის?

  • Gmail

    წაუკითხავი შეტყობინებები Google- ს აქვს მძლავრი API, რომლის საშუალებითაც შეგიძლიათ მისი სხვადასხვა სერვისების წვდომა Gmail- ის ჩათვლით. მაგრამ, უსაფრთხოების მიზნით, თქვენ გჭირდებათ სხვადასხვა ავტორიზაციისა და ავტორიზაციის მეთოდები, როგორიცაა OAuth. ESP8266 არც ისე მძლავრია სხვადასხვა რთული ჰეშის ალგორითმების გასაშვებად. ამრიგად, მე გამოვიყენე ძველი და მარტივი შესვლის ტექნოლოგია gmail- ის შემოსულებში შესასვლელად. ეს არის Google Atom Feed, რომელსაც ასევე შეუძლია გამოიყენოს RSS მკითხველი. ჩვენ ვაგზავნით HTTP მოთხოვნას gmail- ის არხზე წვდომისათვის და მისი პასუხი არის XML ფორმატში. ასე რომ, ჩვენ ვითვლით წაუკითხავი შეტყობინებების რაოდენობას და ვიყენებთ მას ჩვენს პროგრამაში

  • ჩვენ ვიყენებთ Yahoo Weather API- ს ამინდის სხვადასხვა ინფორმაციის მისაღებად. ცოტა ხნის წინ, ისევე როგორც Google, Yahoo– მ შეცვალა ამინდის API, ასე რომ თქვენ დაგჭირდებათ OAuth სტანდარტების გამოყენება მის მონაცემებზე წვდომისათვის. სამწუხაროდ, ESP8266 ვერ უმკლავდება მის სირთულეს, ამიტომ ჩვენ გამოვიყენებთ ხრიკს პრობლემის გადასაჭრელად. იმის ნაცვლად, რომ პირდაპირ შევიდეთ Yahoo Weather API– ში, ჩვენ გავაგზავნით ჩვენს მოთხოვნას სერვერზე მორგებულ ფაილზე. ჩვენი ფაილი იღებს მონაცემებს Yahoo Weather– დან და უბრალოდ გვიგზავნის ჩვენთვის.

    • ხვალ მდგომარეობა ხვალ გეტყვით ხვალ უფრო თბილია თუ ცივა ვიდრე დღეს, ან იქ თუ არ იქნება ტემპერატურის გონივრული ცვლილება. ჩვენ შევადარებთ "დღეს დაბალ / მაღალ" და "ხვალ დაბალ / მაღალ" ამის მისაღწევად. თქვენ შეგიძლიათ შეამოწმოთ როგორ დავწერე ეს ალგორითმი და როგორ მუშაობს პროგრამის ბიბლიოთეკის ფაილში.
    • ნალექების პროგნოზი თუ შეამოწმებთ Yahoo ამინდის დოკუმენტაციას, შეგიძლიათ იხილოთ მდგომარეობის კოდების ცხრილი. როგორც ნათქვამია, მდგომარეობის კოდები გამოიყენება საპასუხოდ მიმდინარე მდგომარეობების აღსაწერად. ჩვენ გამოვიყენებთ ხვალინდელი მდგომარეობის კოდებს და მათ მნიშვნელობას იმის გასარკვევად, იქნება თუ არა ნალექი და წვიმს თუ თოვლი.
  • TimeNTP ნიშნავს ქსელის დროის პროტოკოლს. ეს არის ქსელის პროტოკოლი კომპიუტერის სისტემებს შორის საათის სინქრონიზაციისათვის. ვინაიდან ჩვენ გვაქვს ინტერნეტი, ჩვენ გამოვიყენებთ NTP კლიენტს, რომ მივიღოთ დრო NTP სერვერისგან და გავასინქროთ ESP8266 შიდა ქრონომეტრზე (ისევე როგორც თქვენ იყენებთ მას millis () თუ თქვენ ხართ Arduino ბიჭი).
  • დაბადება და სიკვდილი ჩვენ გამოვთვლით დაბადებისა და გარდაცვლილთა რაოდენობას დღის დასაწყისიდან (NTP კლიენტის წყალობით, დღის დასაწყისიდან მარტივად ხდება წამების რაოდენობა). მე გამოვიყენე მსოფლიოში დაბადებისა და სიკვდილიანობის მაჩვენებლები ეკოლოგიიდან.

ნაბიჯი 3: პროგრამული უზრუნველყოფის დაყენება

პროგრამული უზრუნველყოფის დაყენება
პროგრამული უზრუნველყოფის დაყენება

ჩვენ გამოვიყენებთ Arduino IDE- ს ჩვენი პროგრამის NodeMCU- ზე ასატვირთად. შეგიძლიათ ჩამოტვირთოთ და დააინსტალიროთ უახლესი Arduino IDE მათი ოფიციალური საიტიდან:

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

ჩვენს პროგრამას აქვს ბიბლიოთეკის დამოკიდებულება. რა არის პროგრამული დამოკიდებულება?

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

აქ არის Arduino ბიბლიოთეკების სია, რომლებიც უნდა გქონდეთ თქვენს კომპიუტერში, რათა შეძლოთ პერსონალური ასისტენტის პროგრამის შედგენა:

  • არდუინო ჯონსონი
  • DFRobotDFPlayerMini
  • NTP კლიენტი

თქვენ შეგიძლიათ გადმოწეროთ ისინი სათითაოდ მათი Github გვერდიდან, შემდეგ ამოიღოთ zip ფაილები Arduino ბიბლიოთეკის დირექტორიაში. მისი გზა თქვენს სისტემაში არის: C: / Users [your-username] Documents / Arduino

მე დავწერე ბიბლიოთეკა, რომ შევინარჩუნო კოდი სუფთა და თავიდან ავიცილოთ სირთულე. ჩამოტვირთეთ ფაილი PersonalAssistant-Library.zip და ამოიღეთ Arduino ბიბლიოთეკის დირექტორიაში. ისევე, როგორც ადრე გააკეთე ამ სამი ბიბლიოთეკისთვის.

YahooWeather.php ფაილი

ვინაიდან ESP8266 არ არის საკმარისად ძლიერი ჰეშ ალგორითმების შესასრულებლად, ჩვენ არ შეგვიძლია გამოვიყენოთ იგი პირდაპირ Yahoo Weather API– ზე HTTP მოთხოვნების გასაგზავნად, OAuth სტანდარტებზე დაყრდნობით. ამრიგად, ჩვენ გამოვიყენებთ ფაილს ჩვენს მოწყობილობასა და Yahoo Weather API- ს შორის. თქვენ შეგიძლიათ გადმოწეროთ YahooWeather.zip ფაილი, ამოიღოთ იგი და განათავსოთ YahooWeather.php ფაილი ვებ სერვერზე. მაგალითად, თუ თქვენი დომენი არის example.com და თქვენ შეიტანთ ფაილს api დირექტორიაში, თქვენი api საბოლოო წერტილი გახდება example.com/api/YahooWeather.php თქვენ გაგზავნით ამინდის მონაცემების მოთხოვნებს ამ საბოლოო წერტილში.

პროგრამის ესკიზი და FFS (Flash ფაილური სისტემა)

თქვენს NodeMCU დაფას აქვს 4 MB ფლეშ ფაილური სისტემა მონაცემთა შესანახად. ასე რომ, როდესაც ჩვენ გვაქვს, რატომ არ გამოვიყენოთ იგი?

გახსოვთ, როდესაც ვთქვი, რომ ჩვენს მოწყობილობას აქვს ორი მომხმარებლის ინტერფეისი? იმ მარტოხელა ღილაკის გარდა, ჩვენი მეორე ინტერფეისი არის მარტივი ვებ – აპლიკაცია. ამ აპლიკაციის საშუალებით შეგიძლიათ ოპერაციის რიგის მანიპულირება თითოეული მოდულის ჩართვით / გამორთვით, სერვისის პარამეტრების ან მოწყობილობის კონფიგურაციის შეცვლით, როგორიცაა WiFi SSID და პაროლის დაყენება. ჩვენ შევინახავთ ყველა ამ ფაილს NodeMCU Flash ფაილურ სისტემაში და გავუშვებთ მსუბუქ ვებ სერვერს მომხმარებლის ბრაუზერის მომხმარებლის მოთხოვნების შესასრულებლად.

კონფიგურაციის ფაილის რედაქტირება

ჩამოტვირთეთ ფაილი PersonalAssistant-Sketch.zip და ამოიღეთ იგი სადმე თქვენს კომპიუტერში. გახსენით ფაილი config.json, რომელიც მდებარეობს:

PersonalAssistant/data/config.json

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

  • Gmail

    • მომხმარებლის სახელი: თქვენი Gmail მომხმარებლის სახელი თავისი @gmail.com
    • პაროლი: თქვენი Gmail პაროლი
  • ამინდი

    • woeid: ადგილმდებარეობა, რომლისთვისაც გსურთ ამინდის შესახებ ინფორმაციის მიღება. WOEID (სად დედამიწაზე იდენტიფიკატორი) არის საცნობარო იდენტიფიკატორი, რომელსაც Yahoo იყენებს ადგილმდებარეობისთვის. თქვენ შეგიძლიათ შეასრულოთ ძებნა WOEID- ის ადგილებში ამ ბმულზე.
    • api: ეს არის API საბოლოო წერტილი. ბმული თქვენს yahooweather.php ფაილზე.
    • appId, konsumKey და customerSecret: Yahoo Weather API- ზე წვდომისათვის, თქვენ უნდა შექმნათ პროექტი Yahoo დეველოპერების გვერდზე. ეს მოგცემთ სამომხმარებლო გასაღებს და საიდუმლოებას, რაც საჭიროა API– ს გამოსაყენებლად. დასაწყებად, ეწვიეთ Yahoo Weather Developer გვერდს და შექმენით APP.
  • Დროის სარტყელი

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

  • Ვაი - ფაი

    • ssid: თქვენი ქსელის SSID.
    • პაროლი: თქვენი ქსელის პაროლი. NodeMCU გამოიყენებს ssid და პაროლს თქვენს wifi ქსელთან დასაკავშირებლად.

ატვირთეთ პროგრამის ესკიზი და FFS მონაცემები

შეაერთეთ NodeMCU თქვენს კომპიუტერს მიკრო USB USB კაბელის გამოყენებით.

ახლა გახსენით ფაილი PersonalAssistant.ino, რომელიც მდებარეობს:

PersonalAssistant/PersonalAssistant.ino

Arduino IDE– ში Tools> Board– დან აირჩიეთ NodeMCU 1.0 (ESP-12E მოდული). Tools> Port– დან აირჩიეთ სწორი პორტი. ის წარმოადგენს თქვენს NodeMCU- ს.

ახლა, აირჩიეთ ინსტრუმენტები> ESP8266 ესკიზის მონაცემთა ატვირთვა, ეს ატვირთავს მონაცემთა საქაღალდის შინაარსს ESP8266. დაელოდეთ რამდენიმე წამს, სანამ არ დასრულდება. შემდეგ შეარჩიეთ ესკიზი> ატვირთვა ან უბრალოდ დააჭირეთ კლავიატურაზე Ctrl + U ღილაკებს, რომ დაიწყოთ პროგრამის ატვირთვა. დაელოდეთ სანამ დაინახავთ შეტყობინებას "ატვირთვა დასრულებულია".

ნაბიჯი 4: დააინსტალირეთ მიკრო SD ბარათი

ჩვენ ვიყენებთ მიკრო SD ბარათს MP3 ფაილის ნაწილის შესანახად. ეს არის NodeMCU, რომელიც წყვეტს რომელი ფაილი რა დროს უნდა დაიკრას და DFPlayer Mini ეხმარება მას მნიშვნელოვანი ფაილების წარმოებაში MP3 ფაილების დეკოდირებით.

მე გამოვიყენე Amazon Polly, რათა შემექმნა საჭირო ხმები.

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

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

მე გამოვიყენე ეს საიტი MP3 ფაილების შესაქმნელად. ხმის გამომავალი მე შევარჩიე იყო ამერიკული ინგლისური / სალი.

ერთადერთი რაც თქვენ უნდა გააკეთოთ, არის ჩამოტვირთოთ microSD.zip ფაილი, შემდეგ ამოიღოთ იგი თქვენს მიკრო SD ბარათში. იგი შეიცავს 78 საჭირო MP3 ფაილს.

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

ნაბიჯი 5: სქემის შემუშავება და PCB- ის დაყენება

სქემების შემუშავება და PCB- ის დაყენება
სქემების შემუშავება და PCB- ის დაყენება
სქემების შემუშავება და PCB- ის დაყენება
სქემების შემუშავება და PCB- ის დაყენება
სქემების შემუშავება და PCB- ის დაყენება
სქემების შემუშავება და PCB- ის დაყენება
სქემების შემუშავება და PCB- ის დაყენება
სქემების შემუშავება და PCB- ის დაყენება

მე შევადგინე სქემა და დაფა Autodesk EAGLE– ის გამოყენებით. მე ჩავრთე SCH და BRD ფაილები PersonalAssistant-PCB.zip– ში. თქვენ შეგიძლიათ მარტივად შეცვალოთ და / ან გაუგზავნოთ იგი ადგილობრივ ან ონლაინ PCB მწარმოებელს, რათა შეუკვეთოთ და მიიღოთ თქვენი დაფა.

კიდევ ერთი რამ უნდა აღინიშნოს, რომ ESP8266 მუშაობს 3.3 ვ -ში, ხოლო DFPlayer Mini მუშაობს 5 ვ. ვინაიდან ამ ორ მოდულს ერთმანეთთან სერიული ინტერფეისის საშუალებით სჭირდება საუბარი, ჩვენ არ შეგვიძლია პირდაპირ დავუკავშიროთ 5 ვ გამომავალი 3.3 ვ შეყვანა, რადგან ის აზიანებს თქვენს ESP8266- ს. ასე რომ, ჩვენ დაგვჭირდება დონის კონვერტაცია 5 ვ -დან 3.3 ვ -მდე. ჩვენ ვიყენებთ სიგნალის დიოდს და 10K რეზისტორს, რომ მოხდეს.

ნაბიჯი 6: შეაერთეთ იგი

Solder It Up
Solder It Up
Solder It Up
Solder It Up

დაფის აწყობა საკმაოდ მარტივია, რადგან თქვენ გაქვთ რამდენიმე კომპონენტი. მიჰყევით სქემატურ და დაფის დიზაინს მე –5 საფეხურზე, რათა ადვილად მოათავსოთ თითოეული ნივთი თავის სწორ ადგილას.

დავიწყე რეზისტორების და დიოდის შედუღებით, რადგან ისინი პატარაა. თქვენ შეგიძლიათ მარტივად გაჭრათ მათი არასაჭირო კუდები მავთულის საჭრელის გამოყენებით. ზემოდან ქვემოდან უნდა დააყენოთ 1K, 10K და 10K რეზისტორი.

თქვენ არ გჭირდებათ ყველა NodeMCU და DFPlayer Mini ქინძისთავების შედუღება PCB– ზე. ქინძისთავების ბილიკით შედუღება საკმარისია.

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

ნაბიჯი 7: დანართი

დანართი
დანართი
დანართი
დანართი
დანართი
დანართი

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

კლასიკური ექვსკუთხედის კუბური ფორმის ნაცვლად, რომელსაც 6 სახე ჰქონდა, მე შევიმუშავე მრავალ ფენის დანართი. ქვემოდან ზემოდან, თითოეული ფენა იდება მის ქვედა ფენაზე. (მე მათ დავარქვი L0- დან L6- მდე, ქვემოდან ზემოდან)

ფერები და სისქე

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

  • წითელი და მწვანე
  • ლურჯი და ნარინჯისფერი
  • ყვითელი და მეწამული
  • ლურჯი და ყვითელი

მე ვიყენებ გამჭვირვალე აკრილს ზედა ფენისთვის, ასე რომ თქვენ შეგიძლიათ ნახოთ მოწყობილობის შიგნით.

ზედა ფენის სისქე (ფენა -6) უნდა იყოს 2 მმ. სხვა ფენების სისქე (ფენა -0 ფენა -5) უნდა იყოს 4 მმ. თუ გსურთ გამოიყენოთ 2.8 მმ აკრილის ფარი, როგორც მე გავაკეთე, პრობლემა არ არის. თქვენ უნდა გაჭრათ ორი სერია ფენიდან 1 და ფენა 3 ოფსეტურიდან.

დანართის ასაწყობად, დაიწყეთ ქვედა ფენიდან (L0). განათავსეთ დაფა მასზე, გამოიყენეთ მოკლე ჭანჭიკები და გამკაცრეთ თხილით. ახლა თქვენ შეგიძლიათ მიამაგროთ ოთხი გრძელი ჭანჭიკი ფენის ქვემოდან -0. რაღაც კოშკის მსგავსი. შემდეგ თქვენ შეგიძლიათ მარტივად გააგრძელოთ მათზე სხვა ფენების დაყენება.

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

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

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

ნაბიჯი 8: წვდომა ვებ დაფუძნებულ ინტერფეისზე

ვებზე დაფუძნებული მომხმარებლის ინტერფეისზე წვდომა
ვებზე დაფუძნებული მომხმარებლის ინტერფეისზე წვდომა

ჩართეთ მოწყობილობა

თქვენ შეგიძლიათ ჩართოთ მოწყობილობა ნებისმიერი 5 ვ მიკრო USB დამტენის გამოყენებით. მიამაგრეთ მიკრო USB მოწყობილობის დენის პორტს, ეს არის მიკრო USB შეყვანა თქვენს NodeMCU– ზე.

წვდომა მომხმარებლის ინტერაქციაზე

გახსოვთ ჩვენ ატვირთეთ რამდენიმე ფაილი ESP8266 Flash ფაილურ სისტემაში? დროა გამოვიყენო. ყველაფერი რაც თქვენ გჭირდებათ, არის IP მისამართი, რომელიც მინიჭებულია ESP8266 ქსელში. არსებობს მრავალი განსხვავებული გზა IP მისამართის მოსაძებნად. მე ჩამოვთვლი რამდენიმე მათგანს აქ:

  • თქვენი როუტერის კონფიგურაციის გვერდზე, სადმე DHCP იჯარის სიაში, თქვენ შეგიძლიათ ნახოთ მოწყობილობების სია მათი IP მისამართებით თქვენს ქსელში.
  • Microsoft Windows და macOS– ში შეგიძლიათ გაუშვათ ბრძანებები, როგორიცაა arp –a ტერმინალში.
  • Android და iOS– ში შეგიძლიათ გამოიყენოთ ისეთი პროგრამები, როგორიცაა Fing. (Android / iOS)
  • Linux– ში შეგიძლიათ გამოიყენოთ ისეთი ინსტრუმენტები, როგორიცაა Nmap.

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

ნაბიჯი 9: საბოლოო აზრები

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

  1. მეტი სერვისისა და მოდულის დამატება. მაგალითად რიცხვების დათვლა, კამათლის გადაყრა ან მონეტის გადახვევა.
  2. ქსელთან დაკავშირების შემდეგ მოწყობილობას შეუძლია ისაუბროს IP მისამართზე. თქვენ შეგიძლიათ დაამატოთ ეს ვარიანტი IP მისამართის მოძიების პროცესის გასამარტივებლად.
  3. ინტერნეტში დაფუძნებულ მართვის პანელში WiFi პარამეტრების შეცვლის შესაძლებლობის დამატება.
  4. ვების მართვის პანელში სერვისის პარამეტრების შეცვლის შესაძლებლობის დამატება. (მათი html ფორმა მზად არის. თქვენ უნდა გაუმკლავდეთ მოთხოვნებს)
  5. აპარატის სხვადასხვა მდგომარეობაში მეტი ხმოვანი პასუხის დამატება.
  6. ვებზე დაფუძნებული მართვის პანელის შესვლის გვერდის დამატება. ამის გაკეთება შეგიძლიათ HTTP სათაურის ხაზებში ქუქი -ფაილების დამატებით / შედარებით.

და მე მინდა ვიცოდე თქვენი იდეები ამ სასწავლო ინსტრუქციის შესახებ.:)

გირჩევთ: