ENGINNERS ESP8266 NodeMCU განვითარების საბჭო
ნივთების ინტერნეტი (IoT) იყო ტენდენციური სფერო ტექნოლოგიების სამყაროში. მან შეცვალა ჩვენი მუშაობის გზა. ფიზიკური ობიექტები და ციფრული სამყარო ახლა უფრო მეტად არის დაკავშირებული, ვიდრე ოდესმე. ამის გათვალისწინებით, Espressif Systems-მა (შანხაიში დაფუძნებული ნახევარგამტარული კომპანია) გამოუშვა საყვარელი, ნაკბენის ზომის WiFi-ზე ჩართული მიკროკონტროლერი - ESP8266, დაუჯერებელ ფასად! 3 დოლარზე ნაკლებ ფასად, მას შეუძლია აკონტროლოს და გააკონტროლოს ნივთები მსოფლიოს ნებისმიერი ადგილიდან – იდეალურია თითქმის ნებისმიერი IoT პროექტისთვის.
განვითარების დაფა აღჭურვილია ESP-12E მოდულით, რომელიც შეიცავს ESP8266 ჩიპს, რომელსაც აქვს Tensilica Xtensa® 32-ბიტიანი LX106 RISC მიკროპროცესორი, რომელიც მუშაობს 80-დან 160 MHz-მდე რეგულირებადი საათის სიხშირეზე და მხარს უჭერს RTOS-ს.
ESP-12E ჩიპი
- Tensilica Xtensa® 32-bit LX106
- 80-დან 160 მჰც-მდე საათის სიხშირე.
- 128 კბ შიდა ოპერატიული მეხსიერება
- 4MB გარე ფლეშ
- 802.11b/g/n Wi-Fi გადამცემი
ასევე არის 128 კბაიტი ოპერატიული მეხსიერება და 4 მბ ფლეშ მეხსიერება (პროგრამისა და მონაცემთა შესანახად) საკმარისი იმისათვის, რომ გაუმკლავდეს დიდ სტრიქონებს, რომლებიც ქმნიან web გვერდები, JSON/XML მონაცემები და ყველაფერი, რასაც დღესდღეობით ვყრით IoT მოწყობილობებს. ESP8266 აერთიანებს 802.11b/g/n HT40 Wi-Fi გადამცემს, ასე რომ, მას შეუძლია არა მხოლოდ დაუკავშირდეს Wi-Fi ქსელს და დაუკავშირდეს ინტერნეტს, არამედ შეუძლია შექმნას საკუთარი ქსელი, რაც საშუალებას აძლევს სხვა მოწყობილობებს პირდაპირ დაუკავშირდნენ ის. ეს ხდის ESP8266 NodeMCU-ს კიდევ უფრო მრავალმხრივს.
დენის მოთხოვნილება
როგორც საოპერაციო ტtagESP8266-ის დიაპაზონი არის 3V-დან 3.6V-მდე, დაფას მოყვება LDO vol.tage მარეგულირებელი შენარჩუნება voltagსტაბილურია 3.3 ვ. მას შეუძლია საიმედოდ მიაწოდოს 600 mA-მდე, რაც საკმარისზე მეტი უნდა იყოს, როდესაც ESP8266 იზიდავს 80 mA-ს RF გადაცემის დროს. რეგულატორის გამომავალი ასევე გატეხილია დაფის ერთ-ერთ მხარეს და დასახელებულია როგორც 3V3. ეს პინი შეიძლება გამოყენებულ იქნას გარე კომპონენტების ენერგიის მიწოდებისთვის.
დენის მოთხოვნილება
- საოპერაციო ტომიtage: 2.5V-დან 3.6V-მდე
- ბორტ 3.3V 600mA რეგულატორი
- 80 mA ოპერაციული დენი
- 20 μA ძილის რეჟიმის დროს
ESP8266 NodeMCU-ს ელექტროენერგია მიეწოდება ბორტ MicroB USB კონექტორის მეშვეობით. ალტერნატიულად, თუ თქვენ გაქვთ რეგულირებადი 5 ვ მოცtagწყაროდან, VIN პინი შეიძლება გამოყენებულ იქნას ESP8266-ის და მისი პერიფერიული მოწყობილობების პირდაპირ მიწოდებისთვის.
გაფრთხილება: ESP8266 საჭიროებს 3.3 ვ დენის წყაროს და 3.3 ვ ლოგიკურ დონეებს კომუნიკაციისთვის. GPIO პინები არ არის 5 ვ ტოლერანტული! თუ გსურთ დააკავშიროთ დაფა 5 ვ (ან უფრო მაღალი) კომპონენტებით, თქვენ უნდა გააკეთოთ გარკვეული დონის შეცვლა.
პერიფერიული მოწყობილობები და I/O
ESP8266 NodeMCU-ს აქვს სულ 17 GPIO ქინძისთავები, რომლებიც გატეხილია პინის სათაურებზე განვითარების დაფის ორივე მხარეს. ეს ქინძისთავები შეიძლება დაეკისროს ყველა სახის პერიფერიულ მოვალეობებს, მათ შორის:
- ADC არხი - 10-ბიტიანი ADC არხი.
- UART ინტერფეისი – UART ინტერფეისი გამოიყენება კოდის სერიულად ჩასატვირთად.
- PWM გამომავალი - PWM ქინძისთავები LED-ების ჩამქრალი ან საკონტროლო ძრავებისთვის.
- SPI, I2C & I2S ინტერფეისი – SPI და I2C ინტერფეისი ყველა სახის სენსორებისა და პერიფერიული მოწყობილობების დასაკავშირებლად.
- I2S ინტერფეისი – I2S ინტერფეისი თუ გსურთ დაამატოთ ხმა თქვენს პროექტში.
მულტიპლექსირებული I/Os
- 1 ADC არხი
- 2 UART ინტერფეისი
- 4 PWM გამომავალი
- SPI, I2C და I2S ინტერფეისი
ESP8266-ის პინის მულტიპლექსირების ფუნქციის წყალობით (მრავალჯერადი პერიფერიული მულტიპლექსირებული ერთ GPIO პინზე). ეს ნიშნავს, რომ ერთი GPIO პინი შეიძლება იმოქმედოს როგორც PWM/UART/SPI.
ბორტ გადამრთველები და LED ინდიკატორი
ESP8266 NodeMCU აღჭურვილია ორი ღილაკით. ერთი მონიშნული, როგორც RST, რომელიც მდებარეობს ზედა მარცხენა კუთხეში, არის გადატვირთვის ღილაკი, რომელიც, რა თქმა უნდა, გამოიყენება ESP8266 ჩიპის გადატვირთვისთვის. სხვა FLASH ღილაკი ქვედა მარცხენა კუთხეში არის ჩამოტვირთვის ღილაკი, რომელიც გამოიყენება პროგრამული უზრუნველყოფის განახლებისას.
კონცენტრატორები და ინდიკატორები
- RST - გადატვირთეთ ESP8266 ჩიპი
- FLASH - ჩამოტვირთეთ ახალი პროგრამები
- ლურჯი LED - მომხმარებლის პროგრამირებადი
დაფას ასევე აქვს LED ინდიკატორი, რომელიც პროგრამირებადია მომხმარებლისთვის და დაკავშირებულია დაფის D0 პინთან.
სერიული კომუნიკაცია
დაფა შეიცავს CP2102 USB-to-UART ხიდის კონტროლერს Silicon Labs-ისგან, რომელიც გარდაქმნის USB სიგნალს სერიულად და საშუალებას აძლევს თქვენს კომპიუტერს დაპროგრამდეს და დაუკავშირდეს ESP8266 ჩიპს.
სერიული კომუნიკაცია
- CP2102 USB-to-UART გადამყვანი
- 4.5 Mbps კომუნიკაციის სიჩქარე
- ნაკადის კონტროლის მხარდაჭერა
თუ თქვენს კომპიუტერზე დაინსტალირებული გაქვთ CP2102 დრაივერის ძველი ვერსია, გირჩევთ განაახლოთ ახლავე.
ბმული CP2102 დრაივერის განახლებისთვის – https://www.silabs.com/developers/usb-to-uart-bridge-vcp-drivers
ESP8266 NodeMCU Pinout
ESP8266 NodeMCU-ს აქვს სულ 30 პინი, რომელიც მას გარე სამყაროსთან აკავშირებს. კავშირები შემდეგია:
სიმარტივის მიზნით, ჩვენ გავაკეთებთ ქინძისთავების ჯგუფებს მსგავსი ფუნქციონალურობით.
დენის ქინძისთავები არსებობს ოთხი დენის პინი, ანუ. ერთი VIN პინი და სამი 3.3V პინი. VIN პინი შეიძლება გამოყენებულ იქნას ESP8266-ის და მისი პერიფერიული მოწყობილობების პირდაპირ მიწოდებისთვის, თუ თქვენ გაქვთ რეგულირებადი 5 ვ მოცულობისtagე წყარო. 3.3V ქინძისთავები არის ბორტზე მომუშავე ტომის გამომავალიtagელ რეგულატორი. ეს ქინძისთავები შეიძლება გამოყენებულ იქნას გარე კომპონენტების ენერგიის მიწოდებისთვის.
GND არის ESP8266 NodeMCU განვითარების დაფის დასაბუთებული პინი. I2C ქინძისთავები გამოიყენება ყველა სახის I2C სენსორებისა და პერიფერიული მოწყობილობების დასაკავშირებლად თქვენს პროექტში. ორივე I2C Master და I2C Slave მხარდაჭერილია. I2C ინტერფეისის ფუნქციონალობა შეიძლება განხორციელდეს პროგრამულად, ხოლო საათის სიხშირე მაქსიმუმ 100 kHz-ია. უნდა აღინიშნოს, რომ I2C საათის სიხშირე უნდა იყოს უფრო მაღალი ვიდრე Slave მოწყობილობის ყველაზე ნელი საათის სიხშირე.
GPIO ქინძისთავები ESP8266 NodeMCU-ს აქვს 17 GPIO პინი, რომელიც შეიძლება მიენიჭოს სხვადასხვა ფუნქციებს, როგორიცაა I2C, I2S, UART, PWM, IR დისტანციური მართვა, LED განათება და ღილაკი პროგრამულად. თითოეული ციფრული ჩართული GPIO შეიძლება კონფიგურირებული იყოს შიდა ამოსაღებად ან ჩამოსაწევად, ან დაყენდეს მაღალ წინაღობაზე. როდესაც კონფიგურირებულია, როგორც შემავალი, ის ასევე შეიძლება დაყენდეს edge-trigger-ზე ან level-trigger-ზე CPU-ის შეფერხებების წარმოქმნის მიზნით.
ADC არხი NodeMCU ჩართულია 10-ბიტიანი ზუსტი SAR ADC-ით. ორი ფუნქციის განხორციელება შესაძლებელია ADC-ის გამოყენებით. ელექტრომომარაგების ტესტირება ტtage VDD3P3 pin და ტესტირების შეყვანის ტომიtagTOUT ქინძის e. თუმცა, მათი ერთდროულად განხორციელება შეუძლებელია.
UART ქინძისთავები ESP8266 NodeMCU-ს აქვს 2 UART ინტერფეისი, ანუ UART0 და UART1, რომლებიც უზრუნველყოფენ ასინქრონულ კომუნიკაციას (RS232 და RS485) და შეუძლიათ 4.5 Mbps სიჩქარით კომუნიკაცია. UART0 (TXD0, RXD0, RST0 & CTS0 ქინძისთავები) შეიძლება გამოყენებულ იქნას კომუნიკაციისთვის. იგი მხარს უჭერს სითხის კონტროლს. თუმცა, UART1 (TXD1 პინი) შეიცავს მხოლოდ მონაცემთა გადაცემის სიგნალს, ასე რომ, ის ჩვეულებრივ გამოიყენება ჟურნალის დასაბეჭდად.
SPI ქინძისთავები ESP8266 აღჭურვილია ორი SPI (SPI და HSPI) slave და master რეჟიმში. ეს SPI ასევე მხარს უჭერს შემდეგ ზოგადი დანიშნულების SPI ფუნქციებს:
- SPI ფორმატის გადაცემის 4 დროის რეჟიმი
- 80 MHz-მდე და გაყოფილი საათები 80 MHz
- 64-ბაიტამდე FIFO
SDIO ქინძისთავები ESP8266 აღჭურვილია უსაფრთხო ციფრული შეყვანის/გამოსვლის ინტერფეისით (SDIO), რომელიც გამოიყენება SD ბარათების უშუალო ინტერფეისისთვის. მხარდაჭერილია 4-ბიტიანი 25 MHz SDIO v1.1 და 4-bit 50 MHz SDIO v2.0.
PWM ქინძისთავები დაფას აქვს პულსის სიგანის მოდულაციის (PWM) 4 არხი. PWM გამომავალი შეიძლება განხორციელდეს პროგრამულად და გამოყენებული იქნას ციფრული ძრავებისა და LED-ების მართვისთვის. PWM სიხშირის დიაპაზონი რეგულირდება 1000 μs-დან 10000 μs-მდე, ანუ 100 Hz-დან 1 kHz-მდე.
საკონტროლო ქინძისთავები გამოიყენება ESP8266-ის გასაკონტროლებლად. ეს ქინძისთავები მოიცავს Chip Enable pin (EN), Reset pin (RST) და WAKE pin.
- EN პინი – ESP8266 ჩიპი ჩართულია, როდესაც EN პინი არის მაღალი. როდესაც გაიყვანეთ LOW, ჩიპი მუშაობს მინიმალური სიმძლავრით.
- RST პინი – RST პინი გამოიყენება ESP8266 ჩიპის გადატვირთვისთვის.
- WAKE pin - Wake pin გამოიყენება ჩიპის გასაღვიძებლად ღრმა ძილისგან.
ESP8266 განვითარების პლატფორმები
ახლა მოდით გადავიდეთ საინტერესო საკითხებზე! არსებობს მრავალი განვითარების პლატფორმა, რომელიც შეიძლება აღჭურვილი იყოს ESP8266-ის დასაპროგრამებლად. შეგიძლიათ გამოიყენოთ Espruino – JavaScript SDK და firmware, რომელიც მჭიდროდ ამსგავსებს Node.js-ს, ან გამოიყენოთ Mongoose OS – ოპერაციული სისტემა IoT მოწყობილობებისთვის (რეკომენდებული პლატფორმა Espressif Systems და Google Cloud IoT) ან გამოიყენოთ Espressif-ის მიერ მოწოდებული პროგრამული უზრუნველყოფის განვითარების ნაკრები (SDK). ან ვიკიპედიაზე ჩამოთვლილი ერთ-ერთი პლატფორმა. საბედნიეროდ, გასაოცარმა ESP8266 საზოგადოებამ IDE-ს შერჩევა კიდევ უფრო წინ წაიწია, Arduino დანამატის შექმნით. თუ ახლახან იწყებთ ESP8266-ის პროგრამირებას, ეს არის ის გარემო, რომლითაც ჩვენ გირჩევთ დაწყებულით და ის გარემო, რომელსაც ჩვენ დავადასტურებთ ამ სახელმძღვანელოში.
ეს ESP8266 დანამატი Arduino-სთვის დაფუძნებულია ივან გროხოტკოვისა და დანარჩენი ESP8266 საზოგადოების გასაოცარ ნამუშევრებზე. დამატებითი ინფორმაციისთვის შეამოწმეთ ESP8266 Arduino GitHub საცავი.
ESP8266 Core-ის ინსტალაცია Windows OS-ზე
მოდით გავაგრძელოთ ESP8266 Arduino ბირთვის დაყენება. პირველი, რაც არის უახლესი Arduino IDE (Arduino 1.6.4 ან უფრო მაღალი) დაინსტალირებული თქვენს კომპიუტერში. თუ არ გაქვთ, გირჩევთ ახლავე განაახლოთ.
ბმული Arduino IDE-სთვის – https://www.arduino.cc/en/software
დასაწყისისთვის, ჩვენ დაგვჭირდება გამგეობის მენეჯერის განახლება ჩვეულებით URL. გახსენით Arduino IDE და გადადით File > პრეფერენციები. შემდეგ დააკოპირეთ ქვემოთ URL შევიდა დამატებითი საბჭოს მენეჯერი URLტექსტური ყუთი, რომელიც მდებარეობს ფანჯრის ბოლოში: http://arduino.esp8266.com/stable/package_esp8266com_index.json
დააჭირეთ OK. შემდეგ გადადით საბჭოს მენეჯერთან ინსტრუმენტები > დაფები > დაფების მენეჯერი. სტანდარტული Arduino დაფების გარდა, უნდა იყოს რამდენიმე ახალი ჩანაწერი. გაფილტრეთ თქვენი ძიება esp8266 აკრეფით. დააწკაპუნეთ ამ ჩანაწერზე და აირჩიეთ ინსტალაცია.
დაფის განმარტებები და ხელსაწყოები ESP8266-ისთვის მოიცავს gcc, g++ და სხვა საკმაოდ დიდ, კომპილირებული ბინარების სრულიად ახალ კომპლექტს, ასე რომ შეიძლება რამდენიმე წუთი დასჭირდეს ჩამოტვირთვას და ინსტალაციას (არქივირებული file არის ~ 110 მბ). ინსტალაციის დასრულების შემდეგ, ჩანაწერის გვერდით გამოჩნდება პატარა INSTALLED ტექსტი. ახლა შეგიძლიათ დახუროთ საბჭოს მენეჯერი
Arduino Exampლე: დახამხამება
იმისათვის, რომ დარწმუნდეთ, რომ ESP8266 Arduino ბირთვი და NodeMCU სწორად არის დაყენებული, ჩვენ ავტვირთავთ უმარტივეს ესკიზს – The Blink! ჩვენ გამოვიყენებთ ბორტ LED-ს ამ ტესტისთვის. როგორც ზემოთ აღინიშნა ამ სახელმძღვანელოში, დაფის D0 პინი დაკავშირებულია ბორტზე ცისფერ LED-თან და არის პროგრამირებადი მომხმარებლისთვის. სრულყოფილი! სანამ ესკიზის ატვირთვასა და LED-ით თამაშს მივიღებთ, უნდა დავრწმუნდეთ, რომ დაფა სწორად არის შერჩეული Arduino IDE-ში. გახსენით Arduino IDE და აირჩიეთ NodeMCU 0.9 (ESP-12 Module) ვარიანტი თქვენი Arduino IDE > Tools > Board მენიუში.
ახლა შეაერთეთ თქვენი ESP8266 NodeMCU თქვენს კომპიუტერში micro-B USB კაბელის საშუალებით. როდესაც დაფა ჩაერთვება, მას უნდა მიენიჭოს უნიკალური COM პორტი. ვინდოუსის აპარატებზე ეს იქნება COM#-ის მსგავსი, ხოლო Mac/Linux კომპიუტერებზე გამოვა /dev/tty.usbserial-XXXXXX. აირჩიეთ ეს სერიული პორტი Arduino IDE > Tools > Port მენიუში. ასევე აირჩიეთ ატვირთვის სიჩქარე: 115200
გაფრთხილება: მეტი ყურადღება უნდა მიექცეს დაფის არჩევას, COM პორტის არჩევას და ატვირთვის სიჩქარის არჩევას. თქვენ შეიძლება მიიღოთ espcomm_upload_mem შეცდომა ახალი ჩანახატების ატვირთვისას, თუ ეს ვერ მოხერხდა.
როგორც კი დაასრულებთ, სცადეთ ყოფილიampესკიზი ქვემოთ.
void setup()
{pinMode(D0, OUTPUT);}void loop()
{digitalWrite(D0, HIGH);
დაგვიანებით (500);
digitalWrite (D0, LOW);
დაგვიანებით (500);
კოდის ატვირთვის შემდეგ, LED დაიწყებს ციმციმს. შეიძლება დაგჭირდეთ RST ღილაკზე დაჭერა, რომ მიიღოთ თქვენი ESP8266 ესკიზის გაშვების დასაწყებად.
დოკუმენტები / რესურსები
![]() |
ENGINNERS ESP8266 NodeMCU განვითარების საბჭო [pdf] ინსტრუქციები ESP8266 NodeMCU განვითარების დაფა, ESP8266, NodeMCU განვითარების საბჭო |