Სარჩევი:

როგორ გამოვიყენოთ გამწმენდი პროგრამა ESP32– ზე: 11 ნაბიჯი (სურათებით)
როგორ გამოვიყენოთ გამწმენდი პროგრამა ESP32– ზე: 11 ნაბიჯი (სურათებით)

ვიდეო: როგორ გამოვიყენოთ გამწმენდი პროგრამა ESP32– ზე: 11 ნაბიჯი (სურათებით)

ვიდეო: როგორ გამოვიყენოთ გამწმენდი პროგრამა ESP32– ზე: 11 ნაბიჯი (სურათებით)
ვიდეო: TOP 3 აპლიკაცია 🔴 თქვენი ფოტოების დასამუშავებლად 2024, ნოემბერი
Anonim
როგორ გამოვიყენოთ გამწმენდი პროგრამა ESP32– ზე
როგორ გამოვიყენოთ გამწმენდი პროგრამა ESP32– ზე

ოდესმე გსურდათ გადახედოთ თქვენს კოდს იმის გასაგებად, თუ რატომ იქცევა ის ასე? ტრადიციულად ESP32 პროექტებში, თქვენ უნდა დაამატოთ გაუთავებელი ბეჭდური განცხადება, რათა გაარკვიოთ რა ხდებოდა, მაგრამ არსებობს უკეთესი გზა!

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

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

მარაგები

  • ESP -Prog - ეს არის დაფა, რომელიც საჭიროა გამართვისთვის

    • ზუსტად ეს ვიყიდე*
    • 5 დოლარი უფრო იაფია, მაგრამ მე არ გამომიცდია*
  • ESP32, რომელიც არღვევს პინ 12, 13, 14, 15

    • ადაფრუტის ბუმბული ჰუზა 32
    • D1 Mini ESP32*
  • [სურვილისამებრ] Debug Shield ვყიდი Tindie– ზე

    • ბუმბული Huzzah32
    • D1 მინი ESP32

* = შვილობილი ბმული

ნაბიჯი 1: ნახეთ ვიდეო

Image
Image

მე მაქვს ვიდეო ამ თემაზე, თუ გსურთ მისი შემოწმება.

ჩემს არხზე მე ჩვეულებრივ ვიღებ ESP8266 და ESP32 დაფუძნებულ ვიდეოებს, ასე რომ, თუ თქვენ დაინტერესებული ხართ, გთხოვთ გადაამოწმოთ!

ნაბიჯი 2: აპარატურა - ნაწილები და გაყვანილობა

აპარატურა - ნაწილები და გაყვანილობა
აპარატურა - ნაწილები და გაყვანილობა
აპარატურა - ნაწილები და გაყვანილობა
აპარატურა - ნაწილები და გაყვანილობა
აპარატურა - ნაწილები და გაყვანილობა
აპარატურა - ნაწილები და გაყვანილობა

გამართვის გამოსაყენებლად საჭიროა მხოლოდ ESP-Prog და თითქმის ნებისმიერი ESP32 დაფა (ბმულები მათ ადრეულ ეტაპზე)

ESP-Prog:

ESP-Prog არის დაფა, რომელიც შექმნილია espressif– ის მიერ, ESP32 და ESP8266 ჩიპების შემქმნელების მიერ. ის უკავშირდება ESP32– ის JTAG ქინძისთავებს, რათა მოგვცეს საშუალება გამოვიყენოთ დებაგერი. ის ასევე შეიძლება გამოყენებულ იქნას ESP32 დაფების დასაპროგრამებლად, მაგრამ მე ამას აქ არ ვიფარებ.

ESP32 დაფა:

თქვენ შეგიძლიათ გამოიყენოთ ძირითადად ნებისმიერი ESP32 დაფა ამისთვის მას შემდეგ რაც გამოჩნდება JTAG ქინძისთავები, რომლებიც არის 12, 13, 14 და 15. მე გამოვცადე როგორც Adafruit ბუმბული Huzzah32 და D1 Mini 32 დაფა და ორივემ კარგად იმუშავა.

გთხოვთ გაითვალისწინოთ, რომ თქვენ შეგიძლიათ გამოიყენოთ JTAG ქინძისთავები თქვენს ესკიზში გამართვისას, მაგალითად Huzzah32 დაფის ჩაშენებული LED არის პინ 13-ზე, ასე რომ თქვენ არ შეგიძლიათ მისი გამართვისას.

გაყვანილობა:

ESP-Prog– ს ESP32– თან დასაკავშირებლად, უბრალოდ გამოიყენეთ გაყვანილობის სახელმძღვანელო, როგორც ეს მოცემულია ზემოთ მოცემულ სურათზე. შეამოწმეთ თქვენი ESP32 დაფის გაყვანილობის დიაგრამა, თუ დაუყოვნებლივ არ ხედავთ შესაბამის ქინძისთავებს, რადგან ზოგჯერ ისინი იყენებენ დასახელების სხვა სქემას.

გამართვის ფარები:

ეს არის სურვილისამებრ, მაგრამ მე ვყიდი ფარებს Tindie– ზე Huzzah32– სა და D1 Mini 32– სთვის, რაც ESP-Prog– ს დაკავშირებას ნამდვილად ამარტივებს, ის არღვევს IDC კონექტორთან შესაბამის ქინძისთავებს, რომლითაც შეგიძლიათ პირდაპირ დააკავშიროთ ფარი და ESP-Prog

ნაბიჯი 3: აპარატურა - დრაივერის დაყენება

აპარატურა - დრაივერის დაყენება
აპარატურა - დრაივერის დაყენება
აპარატურა - დრაივერის დაყენება
აპარატურა - დრაივერის დაყენება
აპარატურა - დრაივერის დაყენება
აპარატურა - დრაივერის დაყენება

იმისათვის, რომ გამოვიყენოთ ESP-prog გამართვისთვის, ჩვენ გვჭირდება შესაბამისი დრაივერების დაყენება. PlatformIO გთავაზობთ რამდენიმე ნაბიჯს ამისათვის, მაგრამ მე გავდივარ Windows– ის ნაბიჯებს ამ სახელმძღვანელოში.

  1. გადმოწერეთ და დააინსტალირეთ FTDI დრაივერები ESP-Prog– ისთვის აქედან, გადაახვიეთ მარჯვნივ, რომ ჩამოტვირთოთ "setup შესრულებადი" ვერსია, რომ გაადვილოთ.
  2. გადმოწერეთ და დააინსტალირეთ Zadig ინსტრუმენტი აქედან, ეს გვაძლევს საშუალებას დავაინსტალიროთ დრაივერი, რომელიც საჭიროა გამართვისთვის.
  3. ESP-Prog ჩართულთან ერთად გახსენით Zadig
  4. Zadig პროგრამაში, "პარამეტრები" განყოფილებაში, დააჭირეთ "ჩამოთვალეთ ყველა მოწყობილობა"
  5. ზადიგში ჩამოსაშლელი ნომერი უკვე დასახლებული იქნება, აირჩიეთ "Dual RS232-HS (ინტერფეისი 0)" ვარიანტი. დარწმუნდით, რომ თქვენ ირჩევთ ინტერფეისს 0!
  6. მწვანე ისრის მარჯვნივ, უნდა შეირჩეს "WinUSB", შემდეგ დააწკაპუნეთ "მძღოლის ჩანაცვლება"

როდესაც ეს დასრულდება, თქვენი დრაივერები უნდა იყოს დაყენებული გამოსაყენებლად!

შენიშვნა: თუ თქვენ შეცვლით USB პორტს, რომელსაც იყენებთ ESP-Prog– სთვის, შეიძლება დაგჭირდეთ 3-6 ნაბიჯების ხელახლა გამეორება. თუ შეცდომის დაშვებისას მიიღებთ შეცდომას, როგორც ეს ნაჩვენებია ზემოთ სურათზე, თქვენ უნდა გაიმეოროთ ნაბიჯები.

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

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

PlatformIO არის IDE სხვადასხვა ჩამონტაჟებული ჩარჩოების შემუშავებისათვის, მათ შორის Arduino- ს ეკო-სისტემა. მისი გამოყენება უფრო რთულია, ვიდრე Arduino IDE– ს მსგავსი, მაგრამ ის ძალიან მძლავრია და აქვს გარკვეული მახასიათებლები, რომლებიც Arduino IDE– ს ძლიერ ენატრება, მაგალითად ავტომატური დასრულება.

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

  • ჩამოტვირთეთ და დააინსტალირეთ Visual Studio Code (VS Code) PlatformIO.org ვებგვერდზე განთავსებული ბმულიდან
  • გახსენით VS კოდი და გახსენით გაფართოებების მენიუ, ღილაკი მონიშნულია ზემოთ მოცემულ სურათზე
  • ჩაწერეთ "platformio" ძიებაში, შეარჩიეთ იგი და დააწკაპუნეთ ინსტალაციაზე.

ნაბიჯი 5: პროგრამული უზრუნველყოფა: გამოყენებით PlatformIO

პროგრამული უზრუნველყოფა: გამოყენებით PlatformIO
პროგრამული უზრუნველყოფა: გამოყენებით PlatformIO
პროგრამული უზრუნველყოფა: გამოყენებით PlatformIO
პროგრამული უზრუნველყოფა: გამოყენებით PlatformIO
პროგრამული უზრუნველყოფა: გამოყენებით PlatformIO
პროგრამული უზრუნველყოფა: გამოყენებით PlatformIO

PlatformIO– ს გამოყენება ოდნავ განსხვავდება Arudino IDE– ს გამოყენებისაგან, ამიტომ ამ ნაბიჯში ჩვენ მხოლოდ დაფარავს დაფაზე გაშვებული მაგალითის მიღების საფუძვლებს.

მაგალითის გახსნა:

  1. დააწკაპუნეთ Home ღილაკზე PlatformIO ინსტრუმენტთა პანელზე (როგორც ნაჩვენებია სურათზე)
  2. დააჭირეთ ღილაკს "პროექტის მაგალითები"
  3. აირჩიეთ "Arduino-blink" მაგალითი Espressif 32 განყოფილების ქვეშ

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

სად არის კოდი?

თქვენი პროექტის კოდი ინახება "src" საქაღალდეში, მოციმციმე მაგალითისთვის ნახავთ "blink.cpp" ფაილს, ეს ფაილი იგივეა რაც თქვენი ესკიზის ფაილი (.ino) არდუინოს პროექტში.

როგორ დავაყენო ჩემი დაფა?

თქვენი პროექტის კონფიგურაციები ინახება თქვენს პროექტში "platformio.ini" ფაილში. ეს, ფაქტობრივად, ერთ -ერთი ჩემი საყვარელი რამაა PlatformIO– სთან შედარებით Arduino IDE– სთან, ჩემთვის აზრი არ ჰქონდა, რომ დაფის პარამეტრები არ იყო მიბმული ესკიზებთან.

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

სად დავაყენო ჩემი COM პორტი?

PlatformIO რეალურად ავტომატურად შეეცდება იპოვოს სწორი COM პორტი გამოსაყენებლად, ასე რომ თქვენ რეალურად გაექცევით, რომ ამისთვის არაფერი დააყენოთ. მაგრამ თუ თქვენ გაქვთ რამოდენიმე COM პორტი, რომელიც გექნებათ გამართვისას, მე ვფიქრობ, რომ აზრი აქვს განსაზღვროთ ის, რაც გჭირდებათ. თქვენ შეგიძლიათ ნახოთ სხვადასხვა მოწყობილობები, სახლის ჩანართში "მოწყობილობების" განყოფილების დაჭერით და შეგიძლიათ დააყენოთ რომელია თქვენი ESP32 "platformio.ini" - ში "upload_port" კონფიგურაციის დამატებით.

როგორ ავტვირთო ჩემი კოდი?

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

ნაბიჯი 6: გამართვა: ბანანის პოტენციური კანი

გამართვა: ბანანის პოტენციური კანი!
გამართვა: ბანანის პოტენციური კანი!
გამართვა: ბანანის პოტენციური კანი!
გამართვა: ბანანის პოტენციური კანი!
გამართვა: ბანანის პოტენციური კანი!
გამართვა: ბანანის პოტენციური კანი!

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

ამ სახელმძღვანელოს შექმნის დროს, PlatformIO- ს უახლესი ვერსია არის 4.3.0 და მას აქვს ხარვეზი, რომელიც დაკავშირებულია გამართვის შესაძლებლობასთან. საბედნიეროდ, ჩვენ შეგვიძლია მარტივად განვაახლოთ განვითარების უახლესი ვერსია, რომელიც პრობლემას აგვარებს.

მთავარ გვერდზე შეამოწმეთ PlatformIO core ვერსია, თუ ის არის "4.3.0", შეასრულეთ შემდეგი ნაბიჯები.

  1. PlatformIO ინსტრუმენტთა პანელზე დააწკაპუნეთ ტერმინალის ხატულაზე
  2. ტერმინალის ტიპში: პიოს განახლება -დედევი
  3. გადატვირთეთ VS კოდი და PlatfromIO უნდა განახლდეს

ნაბიჯი 7: გამართვა: კონფიგურაცია

გამართვა: კონფიგურაცია
გამართვა: კონფიგურაცია

ჩვენ გვჭირდება "PlatofrmIO.ini" ფაილის შეცვლა გამართვის გასააქტიურებლად, ჩვენ მხოლოდ ორი რამ უნდა დავამატოთ მას.

debug_tool = esp-prog

ეს ადგენს გამართვის ინსტრუმენტს, რომელსაც ჩვენ ვიყენებთ.

debug_init_break = tbreak დაყენება

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

ნაბიჯი 8: გამართვა: გამართვის დაწყება

გამართვა: გამართვის დაწყება
გამართვა: გამართვის დაწყება
გამართვა: გამართვის დაწყება
გამართვა: გამართვის დაწყება
გამართვა: გამართვის დაწყება
გამართვა: გამართვის დაწყება
გამართვა: გამართვის დაწყება
გამართვა: გამართვის დაწყება

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

  1. შექმენით ახალი ცვლადი, "int delayTime = 1000;" ნებისმიერი მეთოდის გარეშე, ეს გახდის მას გლობალურ ცვლადს.
  2. შეცვალეთ მარყუჟში დაგვიანებული ზარების ნომერი ამ ახალი ცვლადით: დაგვიანება (delayTime);

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

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

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

ნაბიჯი 9: გამართვა: ძირითადი გამოყენება

გამართვა: ძირითადი გამოყენება
გამართვა: ძირითადი გამოყენება
გამართვა: ძირითადი გამოყენება
გამართვა: ძირითადი გამოყენება
გამართვა: ძირითადი გამოყენება
გამართვა: ძირითადი გამოყენება
გამართვა: ძირითადი გამოყენება
გამართვა: ძირითადი გამოყენება

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

შესვენების წერტილების შექმნა:

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

შესვენების წერტილის ნავიგაცია:

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

ცვალებადი საათები:

ცვალებადი საათები საშუალებას გაძლევთ აკონტროლოთ ცვლადების მნიშვნელობა, როდესაც დებაგიერი შეწყვეტილია შესვენების წერტილში. ახალი ცვლადი საათის დასამატებლად შეგიძლიათ დააწკაპუნოთ + ხატულაზე, შემდეგ უბრალოდ ჩაწეროთ ცვლადის სახელი. როგორც დემო, ჩაწერეთ ცვლადი, რომელიც დავამატეთ წინა ნაბიჯში "delayTime"

ცვლადი დამთვალიერებელი:

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

ცვლადების მნიშვნელობის რედაქტირება:

თქვენ ასევე შეგიძლიათ შეცვალოთ ცვლადების მნიშვნელობები და ეს დაუყოვნებლივ იმოქმედებს თქვენი კოდების ქცევაზე. ამის სადემონსტრაციოდ დააწკაპუნეთ delayTime ცვლადზე Variable Viewer განყოფილებაში და შეცვალეთ მნიშვნელობა "100" -ზე. ამის საჩვენებლად, გამორთეთ მარყუჟის მარყუჟი შიგნით ხაზის ნომრის მარცხნივ კვლავ დაჭერით. დააჭირეთ ღილაკს გაგრძელება შესვენების ნავიგაციის ზოლზე. თქვენს ESP32- ის LED- ი ახლა უფრო სწრაფად უნდა აციმციმდეს ვიდრე ადრე.

ნაბიჯი 10: პრობლემების მოგვარება

Დიაგნოსტიკა
Დიაგნოსტიკა

ჩემი ტესტირების დროს აღმოვაჩინე, რომ ზოგიერთ შემთხვევაში მე ვერ ავტვირთე ESP32– ზე, სანამ ის დაკავშირებული იყო ESP – prog– თან და ვერ ვიპოვე ნიმუში, თუ რატომ მოხდა ეს, რადგან უმეტეს დროს შემიძლია ატვირთვა გარეშე ნებისმიერი პრობლემა. აღმოვაჩინე, რომ შემიძლია უბრალოდ გავთიშო ESP32 და ESP-Prog, ჩავტვირთო კოდი ESP32- ზე და შემდეგ ისევ დავაკავშირო ისინი და კარგად იმუშავებს.

ნაბიჯი 11: შერყევა

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

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

ასევე მინდა დიდი მადლობა გადავუხადო ჩემს Github სპონსორებს, რომლებიც მეხმარებიან იმის კეთებაში, რასაც მე ვაკეთებ, მე ნამდვილად ვაფასებ ამას. თუ არ იცით, Github აერთიანებს სპონსორობას პირველი წლის განმავლობაში, ასე რომ, თუ სპონსორობას გააკეთებთ, ისინი 100% -ით ემთხვევა მომდევნო რამდენიმე თვის განმავლობაში. Მადლობა წაკითხვისთვის!

გირჩევთ: