NodeMCU-ზე დატვირთვის მართვა მობილური აპლიკაციის გამოყენებით. მუშაობა ESP8266-თან: საწყისი დაყენება, პროგრამული უზრუნველყოფის განახლება, Wi-Fi კომუნიკაცია, მონაცემთა გაგზავნა/მიღება კომპიუტერზე მრავალ მომხმარებლის MIMO და OFDMA

ESP8266 WiFi ბიბლიოთეკის ფუნქციები ძალიან ჰგავს ბიბლიოთეკის ფუნქციებს ჩვეულებრივი WiFi ფარისთვის.

განსხვავებების სია:

  • ვაი - ფაი. რეჟიმი (მ): აირჩიეთ რეჟიმი WIFI_AP(წვდომის წერტილი), WIFI_STA(კლიენტი), ან WIFI_AP_STA(ორივე რეჟიმი ერთდროულად).
  • ვაი - ფაი. softAP (ssid)ქმნის ღია ცხელ წერტილს
  • ვაი - ფაი. softAP (ssid, პაროლი)ქმნის წვდომის წერტილს WPA2-PSK დაშიფვრით, პაროლი უნდა იყოს მინიმუმ 8 სიმბოლო
  • ვაი - ფაი. macAddress (mac)საშუალებას გაძლევთ მიიღოთ MAC მისამართი კლიენტის რეჟიმში
  • ვაი - ფაი. softAPmacAddress (mac)საშუალებას გაძლევთ მიიღოთ MAC მისამართი წვდომის წერტილის რეჟიმში
  • ვაი - ფაი. localIP()საშუალებას გაძლევთ მიიღოთ IP მისამართი კლიენტის რეჟიმში
  • ვაი - ფაი. softAPIP()საშუალებას გაძლევთ მიიღოთ IP მისამართი წვდომის წერტილის რეჟიმში
  • ვაი - ფაი. RSSI()ჯერ არ განხორციელებულა
  • ვაი - ფაი. printDiag (სერიული) ;აჩვენებს დიაგნოსტიკურ ინფორმაციას
  • Კლასი WiFiUDPმხარს უჭერს Multicast პაკეტების მიღებას და გადაცემას კლიენტის რეჟიმში. Multicast პაკეტის გასაგზავნად, გამოიყენეთ ამის ნაცვლად უდპ . startPacket (addr, port)ფუნქცია უდპ . BeginPacketMulticast(addr, პორტი, WiFi.localIP()). როცა მოელით მულტიკასტის პაკეტების გამოყენებას უდპ . დასაწყისი (პორტი)ფუნქცია უდპ . startMulticast(WiFi. localIP () , multicast_ip_addr , პორტი ). შეგიძლია გამოიყენო უდპ . დანიშნულების IP()იმის დასადგენად, პაკეტი გაიგზავნა მულტიკასტის მისამართზე თუ თქვენთვის იყო განკუთვნილი. Multicast ფუნქციები არ არის მხარდაჭერილი AP რეჟიმში.

WiFiServer, WiFiClient, და WiFiUDPმე ვმუშაობ ისევე, როგორც ჩვეულებრივი WiFi ფარის ბიბლიოთეკაში. ოთხი მაგალითი მოყვება ამ ბიბლიოთეკას.

ტიკერი

Ticker ბიბლიოთეკა შეიძლება გამოყენებულ იქნას განმეორებადი მოვლენების შესასრულებლად გარკვეული დროის შემდეგ. მიწოდებაში მოცემულია ორი მაგალითი.

ამჟამად არ არის რეკომენდირებული I/O ოპერაციების (ქსელი, სერიული პორტი, ფაილური ოპერაციები) დაბლოკვა ticker-ის გამოძახების ფუნქციებში. დაბლოკვის ნაცვლად, დააყენეთ დროშა გამოძახების ფუნქციებში და შეამოწმეთ ეს დროშა მთავარ ციკლში.

EEPROM

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

ფუნქცია EEPROM. დაწერედაუყოვნებლივ არ წერს მონაცემებს ფლეშ მეხსიერებაში, თქვენ უნდა გამოიყენოთ ფუნქცია EEPROM. commit ()ყოველ ჯერზე, როდესაც გსურთ შეინახოთ მონაცემები მეხსიერებაში. ფუნქცია EEPROM. დასასრული()ასევე წერს მონაცემებს და ასევე ავრცელებს ოპერატიული მეხსიერებადაფიქსირებული მონაცემებიდან. EEPROM ბიბლიოთეკა იყენებს ერთ სექტორს ფლეშ მეხსიერებაში, რომელიც იწყება მისამართიდან 0x7b000, მონაცემთა შესანახად. მიწოდება მოიცავს EEPROM-თან მუშაობის სამ მაგალითს.

I2C (სადენების ბიბლიოთეკა)

დანერგილია მხოლოდ ძირითადი რეჟიმი, სიხშირე დაახლოებით 450 kHz-მდეა. I2C ავტობუსის გამოყენებამდე თქვენ უნდა აირჩიოთ SDA და SCL პინები ფუნქციის გამოძახებით მავთული. ქინძისთავები (int sda, int scl), მაგალითად მავთული. ქინძისთავები (0, 2) ESP-01 მოდულისთვის. სხვა მოდულებისთვის ნაგულისხმევი პინებია 4(SDA) და 5(SCL).

SPI

SPI ბიბლიოთეკა მხარს უჭერს მთელ Arduino SPI API-ს, ტრანზაქციების ჩათვლით, საათის ფაზის ჩათვლით (CPHA). საათის პოლარობა (CPOL) ჯერ არ არის მხარდაჭერილი (SPI_MODE2 და SPI_MODE3 არ მუშაობს).

ESP8266 API

ESP8266-ის სპეციფიკური ფუნქციების მხარდაჭერა (ღრმა ძილის რეჟიმი და მცველი ტაიმერი) დანერგილია ობიექტში ESP. ფუნქცია ESP. ღრმა ძილი (მიკროწამები, რეჟიმი)აყენებს მოდულს ღრმა ძილის რეჟიმში. Პარამეტრი რეჟიმიშეუძლია მიიღოს მნიშვნელობები: WAKE_DEFAULT, WAKE_RFCAL, WAKE_NO_RFCAL, WAKE_RF_DISABLED. ღრმა ძილის რეჟიმიდან გამოსასვლელად GPIO16 უნდა იყოს დაკავშირებული RESET-თან.

ფუნქციები ESP. wdtEnable(), ESP. wdt გამორთვა (), და ESP. wdtfeed ()აკონტროლეთ მცველი ტაიმერი.

ESP. გადატვირთვა ()იტვირთება მოდული

ESP. getFreeHeap()

ESP. getFreeHeap()აბრუნებს თავისუფალი მეხსიერების რაოდენობას

ESP. getChipId()აბრუნებს ESP8266 ჩიპს IDE, int 32bit

ESP. getFlashChipId()აბრუნებს ფლეშ ჩიპის ID, int 32bit

ESP. getFlashChipSize()აბრუნებს ფლეშ მეხსიერების ზომას ბაიტებში, როგორც ეს განსაზღვრულია SDK-ით (შეიძლება იყოს რეალურ ზომაზე ნაკლები).

ESP. getFlashChipSpeed ​​(ბათილი)აბრუნებს ფლეშ მეხსიერების სიხშირეს, ჰც-ში.

ESP. getCycleCount()აბრუნებს CPU ციკლების რაოდენობას დაწყებიდან, ხელმოუწერელი 32 ბიტიანი. შეიძლება სასარგებლო იყოს ძალიან მოკლე ოპერაციების ზუსტი დროისთვის.

OneWire ბიბლიოთეკა

OneWire ბიბლიოთეკა ადაპტირებულია ESP8266-ისთვის (ცვლილებები განხორციელდა OneWire.h-ში) თუ თქვენ გაქვთ OneWire ბიბლიოთეკა დაინსტალირებული Arduino/libraries საქაღალდეში, მაშინ ის გამოყენებული იქნება და არა მიწოდების ნაკრებიდან.

mDNS ბიბლიოთეკა ESP8266mDNS

ბიბლიოთეკა საშუალებას გაძლევთ განახორციელოთ თქვენს პროგრამაში პასუხი მრავალჯერადი DNS შეკითხვებზე ლოკალური ზონისთვის, მაგალითად, "esp8266.local". ამჟამად მხარდაჭერილია მხოლოდ ერთი ზონა. საშუალებას გაძლევთ შეხვიდეთ ESP8266 WEB სერვერზე სახელით და არა მხოლოდ IP მისამართით. მეტი ინფორმაციის ნახვა შეგიძლიათ მიმაგრებულ მაგალითში და ამ ბიბლიოთეკის readme ფაილში.

სერვო ბიბლიოთეკა

ბიბლიოთეკა გაძლევთ საშუალებას აკონტროლოთ სერვოძრავები. მხარს უჭერს 24-მდე სერვოს ნებისმიერ GPIO-ზე. ნაგულისხმევად, პირველი 12 სერვო გამოიყენებს Timer0-ს და იქნება დამოუკიდებელი ნებისმიერი სხვა პროცესისგან. შემდეგი 12 სერვო გამოიყენებს Timer1-ს და გაუზიარებს რესურსებს სხვა ფუნქციებს Timer1-ის გამოყენებით. სერვოების უმეტესობა იმუშავებს ESP8266 3.3 ვ საკონტროლო სიგნალით, მაგრამ არ იმუშავებს 3.3 ვოლტთან და დასჭირდება ცალკე კვების წყარო. არ დაგავიწყდეთ ამ წყაროს GND-ის დაკავშირება ESP8266-ის GND-თან

  • DHT11 - გამოიყენეთ შემდეგი პარამეტრები ინიციალიზაციისთვის DHT dht (DHTPIN, DHTTYPE, 15)
  • NeoPixelBus - Arduino NeoPixel ბიბლიოთეკა esp8266-ისთვის
  • PubSubClient MQTT ბიბლიოთეკა @Imroy-ის მიერ. სტატია ჩვენს ვებგვერდზეამ ბიბლიოთეკის შესახებ
  • Comfast CF-WU715N არის ყველაზე იაფი უკაბელო WiFi ქსელის ადაპტერი, რომელიც მე ვიპოვე ონლაინ მაღაზიების ღია სივრცეებში. ასე რომ, დღევანდელ მიმოხილვაში იქნება საინტერესო პროდუქტი, რომელიც ძალიან პოპულარული იქნება მათთვის, ვისაც ფულის დაზოგვა სურს. მოდით შევხედოთ მის მახასიათებლებს, ვისწავლოთ დრაივერების დაყენება და Comfast WU715N WiFi მიმღების კონფიგურაცია.

    მას ასევე ჰყავს უფრო ძლიერი „ძმა“ - Comfast CF-WU720N. მას აქვს თითქმის იგივე პარამეტრები, მაგრამ უფრო პროდუქტიული ტექნიკის გამო, კორპუსი გაცილებით დიდია.

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


    ქსელის ადაპტერი Comfast CF-WU715N

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

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


    თუ მას ბრენდირებულ ყუთში იღებთ, ასე გამოიყურება:

    ადაპტერის დრაივერები შესაფერისია Windows 7 და 8-ისთვის, ამიტომ ნებისმიერი თანამედროვე კომპიუტერი შეძლებს მასთან მუშაობას.

    სპეციფიკაციები

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

    • ჩიპსეტი - Ralink RT5370
    • ანტენა - 2 დეციბელი
    • ინტერფეისი - USB 2.0
    • WiFi სტანდარტი - B, G, N
    • სიჩქარე - 150 Mbps-მდე
    • დაშიფვრა - WEP, WPA, WPA2

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

    ანუ, სამი ერთდროულად - ცუდი არ არის ბიუჯეტის მოდელისთვის!

    დრაივერის ინსტალაცია და კონფიგურაცია Comfast CF-WU715N

    ახლა ვნახოთ, როგორ არის მოწყობილი ეს პატარა. უკაბელო ადაპტერი.
    ჩვენ ჩავსვამთ მას USB პორტში და მიწოდებულ დისკს ადაპტერის დრაივერებით და კონფიგურაციის პროგრამის CD-Rom-ში. უმჯობესია არ დაკარგოთ დისკი, რადგან მაშინ პრობლემური იქნება დრაივერის ჩამოტვირთვა ქსელის ადაპტერისთვის - რუსული ვერსია, ისევე როგორც ნებისმიერი სხვა, გარდა ჩინურისა და ინგლისურისა, არ არის მწარმოებლის ოფიციალურ ვებსაიტზე. „სამეცნიერო პოკის“ მეთოდით ხანგრძლივი ძიების შედეგად მაინც მოვახერხე Comfast CF-WU715N მოდელის გვერდის პოვნა, მაგრამ ჩამოტვირთვის განყოფილებაში ვერ ვიპოვე რაიმე პროგრამული უზრუნველყოფა.


    ასე რომ, თუ გეშინიათ ინსტალაციის CD-ის დაკარგვის, გირჩევთ დააკოპიროთ ყველა ფაილი მისგან HDDკომპიუტერი ან ფლეშ დრაივი.

    მისი შინაარსის გახსნის შემდეგ, ჩვენ ვნახავთ საქაღალდეებს, რომელთა სახელწოდებაც მიუთითებს, რომ არსებობს ყველა საჭირო პროგრამა, როგორც Windows 7/8-ში, ასევე Linux-სა და MacOS-ში მუშაობისთვის.

    ჩვენ უნდა გავუშვათ 3070setup.exe ფაილი. პირველ რიგში, ჩვენ ვეთანხმებით სალიცენზიო ხელშეკრულებას, რის შემდეგაც ვირჩევთ ინსტალაციის ტიპს - მხოლოდ Comfast დრაივერები ან საკუთრების აპლიკაციასთან ერთად - ჩინური თარგმანი ცოტა კოჭლია, მაგრამ შინაარსის არსი გასაგებია.

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


    ინსტალაციის შემდეგ, Windows-ის ქვედა ხატულაზე გამოჩნდება დამახასიათებელი უკაბელო ხატულა. შეგიძლიათ დააჭიროთ მასზე და აირჩიოთ თქვენი WiFi ხელმისაწვდომი ქსელების სიიდან.

    მაგრამ ჩვენ სხვა გზით წავალთ და ვნახავთ რას გვთავაზობს დაინსტალირებული Ralink Wireless Utility, რომელიც დისკზე იყო.

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

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

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

    ჩასართავად, ორჯერ დააწკაპუნეთ ამ ფანჯრის ზონაზე და დააყენეთ ჩვენი კომპიუტერის სახელი, რომ აღმოაჩინოს

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

    Comfast ადაპტერი, როგორც წვდომის წერტილი

    ახლა მოდით შევხედოთ Comfast ქსელის ადაპტერის მესამე შესაძლებლობას - იმუშაოს წვდომის წერტილად (Access Point), ანუ ინტერნეტის გავრცელება WiFi-ით სხვა მოწყობილობებზე.

    ამ რეჟიმის გასააქტიურებლად, ჩვენ ვპოულობთ "ისარს" ქვედა მარჯვენა კუთხეში ხატის პანელზე და ფანჯარაში, რომელიც იხსნება, Ralink Utility პროგრამის ხატულას ასო "R" სახით.

    ჩვენ მასზე მაუსის მარჯვენა ღილაკით ვაჭერთ და ვხედავთ რამდენიმე ელემენტს. ჩვენ ამჟამად გვაინტერესებს მეორე და მესამე - "გადართვა STA + AP რეჟიმში" და "გადასვლა წვდომის წერტილის რეჟიმში".

    • STA + AP არის რეჟიმი, რომელშიც ადაპტერი ერთდროულად მიიღებს ინტერნეტს wifi-ით როუტერიდან და დაუყოვნებლივ გაავრცელებს მას სხვებს.
    • AP არის მარტივი წვდომის წერტილის რეჟიმი, რომელშიც თქვენი კომპიუტერი უნდა იყოს დაკავშირებული ინტერნეტთან საკაბელო ან სხვა უკაბელო საშუალებით ქსელის შეერთება- პირდაპირ თუ როუტერის საშუალებით, არ აქვს მნიშვნელობა - და Comfast მხოლოდ ავრცელებს სიგნალს, მაგრამ არ მიიღებს მას.

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

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

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

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

    ამის შემდეგ, ახალი ქსელი გამოჩნდება სიაში დასაკავშირებლად.

    სიჩქარის ტესტი

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

    ამის შემდეგ - Comfast ადაპტერის საშუალებით

    შედეგად, ჩვენ გვაქვს 27 მბ/წმ უკაბელო ადაპტერის საშუალებით ჩამოტვირთვისთვის 39 მბ/წმ კაბელთან შედარებით და ოდნავ დაბალი ჩამოტვირთვის სიჩქარე - 24 41-ის წინააღმდეგ. ძალიან კარგი შესრულება ასეთი მოწყობილობისთვის, რაც საკმარის გარანტიას გვაძლევს. მაღალი სიჩქარეინტერნეტის დათვალიერებისას WiFi კავშირის საშუალებით.

    და ადაპტერის თითქმის იგივე შედეგები წვდომის წერტილად მუშაობისას - ჩვენ დავუკავშირეთ მას iPad Air და გავზომეთ შესრულება იმავე SpeedTest-ის აპლიკაციის საშუალებით.

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

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

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

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

    თუ სტატია დაეხმარა, მაშინ მადლიერების ნიშნად გთხოვ, გააკეთო 3 მარტივი რამ:
    1. გამოიწერეთ ჩვენი YouTube არხი
    2. გამოაგზავნეთ ბმული პუბლიკაციაზე თქვენს კედელზე სოციალურ ქსელში ზემოთ ღილაკის გამოყენებით

    რაც ასახავს ყველაზე მნიშვნელოვან ცვლილებებს სტანდარტის ახალ გამოცემაში მიმდინარე 802.11ac-თან შედარებით.

    გთხოვთ, გაითვალისწინოთ, რომ 802.11ax იმუშავებს 2.4 და 5 გჰც სიხშირის დიაპაზონში (ადრე 802.11ac ცდილობდა დაეტოვებინა 2.4 გჰც დიაპაზონი). ასევე, ახალი სპეციფიკაცია გააოთხმაგებს FFT OFDM ქვემატარებლების რაოდენობას. მაგრამ ყველაზე მნიშვნელოვანი ცვლილება არის ის, რომ 802.11ax-ის გამოშვებით, ქვემატარებლების მანძილი ასევე შემცირდება ოთხჯერ, ხოლო არსებული არხის გამტარუნარიანობა უცვლელი რჩება:

    ნახაზი 1 - დაშორება ქვემატარებლებს შორის 802.11ax-ში

    ამრიგად, ზემოთ მოცემულ ფიგურაში ჩვენ ვხედავთ უფრო ვიწრო ინტერვალებს ქვემატარებლებს შორის. OFDM-ში ცვლილებების გარდა, დამატებულია 1024-QAM მოდულაციაც, რაც გაზრდის მონაცემთა გადაცემის მაქსიმალურ (თეორიულ მაქსიმალურ შესაძლო) სიჩქარეს თითქმის 10 გბიტ/წმ-მდე.

    მოდით გადავიდეთ 802.11ax ტექნოლოგიების განხილვაზე ფიზიკურ დონეზე

    802.11ax-ში სხივის ფორმირების მექანიზმი (ავტომატური სხივის ფორმირება აბონენტის მიმართ) დასრულებული იქნება 802.11ac-ის ადრინდელ ვერსიასთან შედარებით. ამ მექანიზმის მიხედვით, beamformer იწყებს არხის გახმოვანების პროცედურას Null Data Packet-ით. ამით ის ზომავს არხში აქტივობის დონეს და იყენებს ამ ინფორმაციას არხის მატრიცის გამოსათვლელად. არხის მატრიცა შემდეგ გამოიყენება RF ენერგიის ფოკუსირებისთვის თითოეული ინდივიდუალური მომხმარებლის მიმართ. სხივის ფორმირებასთან ერთად, 802.11ax სტანდარტი მხარს დაუჭერს ორ ახალ მრავალ მომხმარებლის ტექნოლოგიას Wi-Fi-სთვის: Multi-User MIMO და Multi-User OFDMA.

    მრავალმომხმარებლის MIMO და OFDMA

    802.11ax სტანდარტი განსაზღვრავს მუშაობის ორ რეჟიმს:

    ერთი მომხმარებელი (ერთი მომხმარებელი).ამ რეჟიმში, უსადენო STA-ები აგზავნიან და იღებენ მონაცემებს AP-ებზე სათითაოდ, როგორც კი ისინი წვდებიან მედიას. დაშვების მექანიზმი აღწერილია ში.

    მრავალ მომხმარებლის (მრავალ მომხმარებლის რეჟიმი).ეს რეჟიმი საშუალებას აძლევს წვდომის წერტილს იმუშაოს რამდენიმე STA-სთან ერთდროულად. სტანდარტი ამ რეჟიმს კიდევ უფრო ყოფს მრავალ მომხმარებლის Downlink და Uplink.

    ჩაშვებაულტი-სერსაშუალებას აძლევს AP წვდომის წერტილს ერთდროულადმონაცემთა გადაცემა მრავალ უკაბელო STA-ზე, რომლებიც ემსახურება AP-ის რადიო დაფარვის ზონაში. არსებული 802.11ac სტანდარტი უკვე განსაზღვრავს ამ ფუნქციას. მაგრამ Multiplayer Uplink არის ინოვაცია.

    აბლინკიულტი-სერსაშუალებას აძლევს AP წვდომის წერტილს ერთდროულადმიიღეთ მონაცემები მრავალი უკაბელო STA-დან. ეს არის 802.11ax სტანდარტის ახალი ფუნქცია, რომელიც არ არსებობდა Wi-Fi სტანდარტის არცერთ წინა ვერსიაში.

    მუშაობის მრავალ მომხმარებლის რეჟიმში, სტანდარტი ასევე განსაზღვრავს ორს სხვადასხვა გზებიმეტი მომხმარებლის მულტიპლექსირება გარკვეულ ზონაში: Multi-User MIMO და OFDMA. ორივე ამ მეთოდისთვის AP მოქმედებს როგორც ცენტრალური კონტროლერი, ისევე, როგორც LTE ფიჭური საბაზო სადგური მართავს მომხმარებლის მულტიპლექსირებას მომსახურების ზონაში. მოდით შევხედოთ MU-MIMO და OFDMA უფრო დეტალურად.

    მრავალ მომხმარებლის MIMO

    802.11ax მოწყობილობები გამოიყენებენ სხივის ფორმირების ტექნიკას (ნასესხები 802.11ac-დან) პაკეტების გადასატანად რამდენიმე, სივრცით განცალკევებულ მომხმარებლამდე ერთდროულად. ანუ, AP გამოთვლის თითო მომხმარებლის არხის მატრიცას და მართავს პარალელურ სხივებს სხვადასხვა მომხმარებლისთვის, თითოეული სხივი შეიცავს პაკეტებს მისი კონკრეტული მომხმარებლისთვის.

    802.11ax მხარს უჭერს რვამდე მრავალმომხმარებლის MIMO ნაკადის გაგზავნას ერთდროულად. გარდა ამისა, თითოეულ MU-MIMO ნაკადს შეიძლება ჰქონდეს საკუთარი MCS (ბიტის სიჩქარე და მოდულაციის ხარისხი). ნაკადების თვითნებური რაოდენობის ორგანიზება შესაძლებელია სხვადასხვა მომხმარებლისთვის. MU-MIMO სივრცითი მულტიპლექსირებით, წვდომის წერტილები შეიძლება შევადაროთ Ethernet გადამრთველს მრავალი პორტით. თითოეული ინდივიდუალური პორტი არის ცალკე MU-MIMO ნაკადი. ამავდროულად, რამდენიმე ნაკადი შეიძლება "გადაგზავნა" თითოეულ ცალკეულ აბონენტზე:


    სურათი 2 - MU-MIMO Beamforming მრავალი, დისპერსიული მომხმარებლის მომსახურებისთვის

    802.11ax-ის ახალი ფუნქციაა MU-MIMO Uplink. როგორც ზემოთ აღინიშნა, AP-ს შეუძლია დაიწყოს პაკეტების ერთდროული მიღება თითოეული STA-დან ტრიგერის ჩარჩოს მეშვეობით. როდესაც მრავალი STA გადასცემს საკუთარ პაკეტებს ტრიგერის ჩარჩოს საპასუხოდ, AP მიმართავს არხის მატრიცას მიღებულ სხივებზე და გამოყოფს თითოეულ სხივში არსებულ ინფორმაციას. ასე რომ, AP-ს შეუძლია ასევე დაიწყოს მრავალ მომხმარებლის მიღება ერთდროულად ქსელში არსებული ყველა აბონენტის STA-დან:


    სურათი 3 -

    მრავალ მომხმარებლის OFDMA

    802.11ax სტანდარტი დანერგავს ახალ ტექნოლოგიას Wi-Fi-სთვის, ნასესხები 4G ქსელებიდან, აბონენტების დიდი რაოდენობის მულტიპლექსირებისთვის საერთო გამტარუნარიანობაში: Orthogonal Frequency Division Multiple Access (OFDMA). ეს ტექნოლოგია დაფუძნებულია OFDM-ზე, რომელიც უკვე გამოიყენება 802.11ac-ში. მისი არსი იმაში მდგომარეობს, რომ OFDMA 802.11ax-ში საშუალებას გაძლევთ დამატებით „გაჭრათ“ სტანდარტული არხები 20, 40, 80 და 160 MHz სიგანით უფრო პატარაებად. ამრიგად, არხები იყოფა უფრო მცირე ქვეარხებად, წინასწარ განსაზღვრული რაოდენობის ქვემატარებლებით. როგორც LTE-ში, 802.11ax-ში უმცირეს ქვეარხს ეწოდება რესურსების ერთეული (RU), რომელსაც აქვს მინიმალური ზომა 26 ქვემატარებლის. სიცხადისთვის, ქვემოთ მოყვანილი ფიგურა გვიჩვენებს სიხშირის რესურსების დაყოფას ერთი მომხმარებლისთვის OFDM-ის გამოყენებით (მარცხნივ) და ოთხი მომხმარებლის მულტიპლექსირებას ერთ არხზე OFDMA-ს გამოყენებით (მარჯვნივ):


    სურათი 4 -

    გადატვირთულ გარემოში, სადაც ბევრი მომხმარებელი, როგორც წესი, არაეფექტურ კონკურენციას უწევს არხის გამოყენებას, ახალი Wi-Fi OFDMA მექანიზმი ემსახურება მათ ერთდროულად უფრო მცირე, მაგრამ მომხმარებლისთვის გამოყოფილი ქვეარხით, რაც აუმჯობესებს საშუალო გამტარუნარიანობას თითოეული ინდივიდუალური მომხმარებლისთვის.

    ქვემოთ მოყვანილი სურათი გვიჩვენებს, თუ როგორ შეუძლია 802.11ax სისტემას არხის მულტიპლექსირება სხვადასხვა RU ზომის გამოყენებით. გაითვალისწინეთ, რომ არხის ყველაზე პატარა გაყოფა იტევს 9-მდე მომხმარებელს გამტარუნარიანობის ყოველ 20 MHz-ზე:


    სურათი 5

    Wi-Fi არხის გამოყოფა 40 MHz არხების გამოყენებით:


    სურათი 6

    Wi-Fi არხის გამოყოფა 80 MHz არხების გამოყენებით:


    სურათი 7

    შემდეგი ცხრილი გვიჩვენებს მომხმარებელთა რაოდენობას (სხვადასხვა არხის სიგანეზე), რომლებსაც ახლა შეუძლიათ მიიღონ OFDMA სიხშირეზე მრავალმხრივი წვდომა:

    ქვეარხების რაოდენობა RU არხის სიგანე 20 MHz არხის სიგანე 40 MHz არხის სიგანე 80 MHz არხის სიგანე 160 MHz
    26 9 18 37 74
    52 4 8 16 32
    106 2 4 8 16
    242 1-SU/MU-MIMO 2 4 8
    484 N/A 1-SU/MU-MIMO 2 4
    966 N/A N/A 1-SU/MU-MIMO 4
    2x966 N/A N/A N/A 1-SU/MU-MIMO

    მრავალმომხმარებლის Uplink ოპერაცია

    როგორც ზემოთ აღინიშნა, 802.11ax-ში შესაძლებელი იქნება პაკეტების ერთდროულად გადაცემა რამდენიმე აბონენტიდან წვდომის წერტილამდე. MU-MIMO ან Uplink OFDMA კოორდინაციისთვის, AP უგზავნის ტრიგერის ჩარჩოს ყველა მომხმარებელს. ეს ჩარჩო მიუთითებს თითოეული მომხმარებლის სივრცითი ნაკადების და/ან OFDMA პარამეტრების (სიხშირე და RU ზომები) რაოდენობაზე. ტრიგერის ჩარჩო ასევე შეიცავს დენის კონტროლის ინფორმაციას, რათა ცალკეულმა მომხმარებლებმა შეძლონ გაზარდონ ან შეამცირონ გადაცემის სიმძლავრე, რათა გაათანაბრონ AP-ის მიერ მიღებული სიმძლავრე ყველა მომხმარებლისგან და ამით გააუმჯობესონ ჩარჩოს მიღების ხარისხი. AP ასევე ავალებს ყველა მომხმარებელს, როდის დაიწყონ და შეაჩერონ გადაცემა. AP აგზავნის მრავალ მომხმარებლის ტრიგერის ჩარჩოს, რომელიც ეუბნება ყველა მომხმარებელს ზუსტ დროს, როდესაც ყველამ უნდა დაიწყოს მონაცემთა გადაცემა და მათი ჩარჩოების ზუსტი ხანგრძლივობა, რათა უზრუნველყოს, რომ ყველამ დაასრულოს გადაცემა ერთდროულად. როგორც კი AP მიიღებს ფრეიმებს ყველა მომხმარებლისგან, ის უკან აგზავნის ACK ბლოკს, რომელიც მიუთითებს გადაცემის დასრულებაზე:


    სურათი 8 - მოწყობილობების მრავალ მომხმარებლის მუშაობის კოორდინაცია Wi-Fi ქსელში

    დასკვნა

    802.11ax სტანდარტის ერთ-ერთი მთავარი მიზანია მომხმარებელზე უფრო მაღალი საშუალო გამტარუნარიანობის უზრუნველყოფა (საშუალოდ 4-ჯერ) მკვრივ უკაბელო ქსელებში. ამ მიზნით, 802.11ax მოწყობილობები მხარს უჭერენ მრავალ მომხმარებლის MIMO და OFDMA ტექნოლოგიებს. ასევე დაემატა რამდენიმე მოწყობილობიდან AP-ზე ერთდროულად გადაცემის შესაძლებლობა, რითაც შემცირდა ლოდინის დრო და აღჭურვილობის შეფერხების დრო გადაცემის საშუალების დაჭერის წარუმატებელი მცდელობის გამო. თეორიულად, ყველაფერი, როგორც ყოველთვის, ნათლად და ლამაზად გამოიყურება, თუმცა რა ეფექტი ექნება პრაქტიკაში - დრო გვიჩვენებს. იმავდროულად, მხოლოდ დარწმუნებით შეგვიძლია ვთქვათ, რომ 802.11ax-ის ეფექტი იქნება მხოლოდ იმ შემთხვევაში, თუ ქსელში არსებული ყველა მოწყობილობა მხარს უჭერს ახალ სტანდარტს. წინააღმდეგ შემთხვევაში, კიდევ რამდენიმე წელი დასჭირდება, სანამ ძველი კარგი Wi-Fi-დან (მისი დიდ ქსელებში დაკიდებული) გადავიდეთ ეფექტურ 802.11ax-ზე.

    ამ სტატიაში ნაჩვენებია NodeMCU დაფის გამოყენების მაგალითი. კერძოდ, დატვირთვის კონტროლი 4 რელესგან შემდგარი სარელეო მოდულის გამოყენებით და ჩართულია მობილური ტელეფონიანდროიდი.

    ჩვენ ვუკავშირდებით ყველა კონტაქტს სქემის მიხედვით

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

    #შეიცავს // თქვენი WiFi ქსელის სახელი და პაროლი const char* ssid = "test"; const char*პაროლი = "ტესტი"; // სერვერის შექმნა და მოსმენის პორტი 80 WiFiServer server(80); void setup() ( Serial.begin(115200); delay(10); // მოამზადეთ GPIO pinMode(5, OUTPUT); digitalWrite(5, 1); pinMode(4, OUTPUT); digitalWrite(4, 1); pinMode (0, OUTPUT); digitalWrite (0, 1); pinMode (2, OUTPUT); digitalWrite (2, 1); // მივანიჭოთ სტატიკური IP მისამართი WiFi.mode (WIFI_STA); // კლიენტის რეჟიმი WiFi.config (IPAddress ( 192,168,1,131),IPAddress(192,168,1,111),IPAddress(255,255,255,0),IPAddress(192,168,1,1)); WiFi.begin(ssid, პაროლი); // დაელოდეთ დაკავშირებას (WiFistatus. ) ! = WL_CONNECTED) ( delay(500); Serial.print("."); ) Serial.println(""); Serial.println("WiFi დაკავშირებული"); // სერვერის დაწყება.begin(); Serial .println ("სერვერი დაიწყო"); // მიღებული IP მისამართის ამობეჭდვა Serial.println(WiFi.localIP()); ) void loop() ( // შეამოწმეთ WiFiClient-ის კავშირი კლიენტი = server.available(); თუ (!კლიენტი) ( return ; ) // მონაცემების მოლოდინში Serial.println("ახალი კლიენტი"); while (!client.available()) ( delay(1); ) // მოთხოვნის პირველი სტრიქონის კითხვა String req = client.readStringUntil("\r"); სერიული println(req); კლიენტი.flush(); // მუშაობა GPIO-სთან if (req.indexOf("/1/0") != -1) digitalWrite(5, 0); else if (req.indexOf("/1/1") != -1) digitalWrite(5, 1); else if (req.indexOf("/2/0") != -1) digitalWrite(4, 0); else if (req.indexOf("/2/1") != -1) digitalWrite(4, 1); else if (req.indexOf("/3/0") != -1) digitalWrite(0, 0); else if (req.indexOf("/3/1") != -1) digitalWrite(0, 1); else if (req.indexOf("/4/0") != -1) digitalWrite(2, 0); else if (req.indexOf("/4/1") != -1) digitalWrite(2, 1); else if (req.indexOf("/5") != -1) ( Serial.println("TEST OK"); String s = "HTTP/1.1 200 OK\r\nშინაარსის ტიპი: text/html\r\ n\r\n\r\n \r\nტესტი კარგია. მუშაობის დრო: "; // გამოთვალეთ UpTime int Sec = (millis() / 1000UL) % 60; int Min = ((millis() / 1000UL) / 60UL) % 60; int Hours = ((millis() / 1000UL) / 3600UL) % 24; int დღე = ((millis() / 1000UL) / 3600UL / 24UL); s += დღე; s += "d "; s += საათი; s += ":"; s += მინ ; s += ":"; s += წმ; s += "\n"; client.print(s); client.stop(); return; ) else // თუ მოთხოვნა არასწორია ჩაწერეთ შეცდომა ( Serial.println("invalid მოთხოვნა"); String s = "HTTP/1.1 200 OK\ r\nშინაარსის ტიპი: ტექსტი/html\r\n\r\n\r\n \r\nარასწორი მოთხოვნა"; s += "\n"; client.print(s); client.stop(); return; ) client.flush(); // პასუხის ფორმირება String s = "HTTP/1.1 200 OK\r\nშინაარსის ტიპი: text/html \ r\n\r\n\r\n \r\nGPIO დაყენებულია OK"; s += "\n"; // პასუხის გაგზავნა კლიენტს client.print(s); delay(1); Serial.println("კლიენტი გათიშულია"); )

    წყაროები შეგიძლიათ ნახოთ ამ ბმულზე: https://yadi.sk/d/ehabE3C_3M36Yo ეს ბმული ჩამოტვირთავს ფაილს .aia გაფართოებით და შეგიძლიათ დაამატოთ ის MIT აპლიკაციის ინვერტორში და ნახოთ რისგან შედგება პროგრამა.

    მე შევუკვეთე უმარტივესი დაფა ESP8266-ით - ESP-01, ასე გამოიყურება:

    დაფის ძველ ვერსიაში კონექტორზე მხოლოდ VCC, GND, URXD და UTXD გამოდიოდა.
    უახლესმა ვერსიამ დაამატა RST, GPIO0, GPIO2 და CH_PD.

    საერთო ჯამში, დაფების 11 მოდიფიკაციაა, რომლებიც განსხვავდება ქინძისთავების რაოდენობით და ვერსიით:
    ESP-01: PCB ანტენა, 400 მეტრის მანძილის შესატყვისი, მარტივი გამოსაყენებელი.
    ESP-02: SMD პაკეტი წარდგენის ლიმიტისთვის, ანტენის დახატვა შესაძლებელია IPX სათაურის გარსაცმით.
    ESP-03: SMD პაკეტი, ჩაშენებული კერამიკული ანტენის ტექნოლოგია, ყველა ხელმისაწვდომი IO მიწოდება.
    ESP-04: SMD პაკეტი, მომხმარებელს შეუძლია ანტენის ტიპების მორგება, მოქნილი დიზაინი, ყველა IO მიწოდება.
    ESP-05: SMD პაკეტი, მიდის მხოლოდ სერიულ და RST პინთან, პატარა გარე ანტენასთან.
    ESP-06: ქვედა სამონტაჟო ტექნოლოგია, მიჰყავს ყველა IO პორტს, ლითონის დამცავი გარსით, შეიძლება ჰქონდეს FCC CE სერთიფიკატი, რეკომენდებულია.
    ESP-07: ნახევრად ხვრელი ჩიპის ტექნოლოგია, ყველა IO მილსადენი, ლითონის დამცავი გარსით, შეიძლება ჰქონდეს FCC CE სერთიფიცირებული IPX გარე ანტენა, ასევე შეიძლება იყოს ჩაშენებული კერამიკული ანტენა.
    ESP-08: ESP-07-ით, გარდა იმისა, რომ ანტენა არის ფორმაში, მომხმარებელს შეუძლია განსაზღვროს საკუთარი.
    ESP-09: ულტრა მცირე ზომის პაკეტი, მხოლოდ 10 * 10 მმ, ოთხფენიანი დაფის ტექნოლოგია 1 მ ბაიტი!..
    ESP-10: SMD ინტერფეისი, ვიწრო კორპუსის დიზაინი, 10 მმ სიგანე, შესაფერისია შუქისთვის კონტროლერთან ერთად.
    ESP-11: SMD ინტერფეისი, კერამიკული ანტენა, მცირე მოცულობა.

    ESP-01 კონექტორის პინი:

    ESP-01 დაფის პინის მინიჭება შემდეგია:
    VCC, GND - დაფის სიმძლავრე (+3.3V);
    URXD,UTXD - RS232 ქინძისთავები 3.3V ტოლერანტულია
    RST - მყარი გადატვირთვა (გადატვირთვა)
    GPIO0, GPIO2 - GPIO ქინძისთავები
    CH_PD - ჩიპის ჩართვა, მუშაობისთვის უნდა იყოს დაკავშირებული +3.3V-ზე.

    პროგრამული უზრუნველყოფის განახლების რეჟიმზე გადასასვლელად, თქვენ უნდა იმოძრაოთ დაბალი GPIO0-ზე და მაღალი CH_PD.

    ESP-01 დაფის კომპიუტერთან დასაკავშირებლად, მე გამოვიყენე USB-to-RS232 გადამყვანი FT232R-ზე TTL 3.3V გამოსვლებით, მაგალითად, შეგიძლიათ გამოიყენოთ ეს.
    ESP-01 სჭირდება მკაცრად 3.3V სიმძლავრე, ამიტომ მომიწია DC-DC გადამყვანის გამოყენება, შეგიძლიათ გამოიყენოთ ეს.

    საბაზისო პროგრამული უზრუნველყოფის საშუალებით, ESP-01 დაფა კონტროლდება AT ბრძანებებით, ამიტომ გვჭირდება ტერმინალის პროგრამა, მე გამოვიყენე CoolTerm.

    მოდულის გამოყენების 2 ვარიანტია:
    1. ESP-01 დაფის გამოყენება დამატებით მიკროკონტროლერთან ერთად, რომელიც გააკონტროლებს მოდულს UART-ის საშუალებით.
    2. ESP8266 ჩიპისთვის საკუთარი პროგრამული უზრუნველყოფის დაწერა და მისი თვითკმარი მოწყობილობად გამოყენება.

    ბუნებრივია, მე-2 ვარიანტი უფრო მომგებიანია, მით უმეტეს, რომ ESP8266 ჩიპის პოტენციალი საკმაოდ დიდია.

    დასაწყისისთვის, ჩვენ შევეცდებით ვარიანტი ნომერი 1, ანუ გავაკონტროლოთ ESP-01 დაფა RS232-ის საშუალებით.

    კავშირის დიაგრამა ძალიან მარტივია:
    VCC pin - დაფის სიმძლავრე (+3.3V);
    GND პინი საერთოა;
    URXD, UTXD ქინძისთავები - დაკავშირება USB-to-RS232 გადამყვანთან (3.3V რეჟიმში)
    გამომავალი CH_PD - დაკავშირება დაფის კვების წყაროსთან (+ 3.3V);

    ტერმინალში (CoolTerm) დავაყენეთ COM პორტის სიჩქარე 57600-ზე. თუ ESP8266 ჩიპს აქვს ძველი firmware (და სავარაუდოდ აქვს), მაშინ ის იმუშავებს მხოლოდ ამ პორტის სიჩქარით.

    დააჭირეთ Connect, შეიყვანეთ AT ბრძანება, პასუხი უნდა იყოს OK. თუ ასეა, მაშინ დაფა მუშაობს, შეგიძლიათ გადახვიდეთ.

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

    შეიყვანეთ ბრძანება AT + GMR - შეამოწმეთ AT და SDK ვერსია, საპასუხოდ ის იძლევა 0016000902, სადაც 0016 არის SDK ვერსია, 0901 არის AT ვერსია.

    ამ დროისთვის (11/06/2014) უკვე ხელმისაწვდომია firmware 0018000902 (SDK ვერსია - 0018, AT ვერსიაში - 0902)

    ახლა თქვენ შეგიძლიათ და უნდა განაახლოთ firmware:
    1. ჩამოტვირთეთ XTCOM პროგრამა აქედან.
    2. ჩამოტვირთეთ firmware ESP_8266_v0.9.2.2 AT Firmware.bin აქედან
    3. გამორთეთ დაფა, შეაერთეთ GPIO0 პინი საერთო სადენზე, ჩართეთ დენი.
    4. გაუშვით XTCOM_UTIL.exe, გადადით Tools -> Config Device, აირჩიეთ COM პორტი, რომელზედაც დაკავშირებულია დაფა, დააყენეთ პორტის სიჩქარე 57600-ზე, დააწკაპუნეთ Open, შემდეგ Connect, პროგრამამ უნდა თქვას "Connect with target OK!" დახურეთ პარამეტრების ფანჯარა. გადადით API TEST მენიუში, აირჩიეთ (4) Flash Image Download, მიუთითეთ ფაილის გზა "ESP_8266_v0.9.2.2 AT Firmware.bin", დატოვეთ მისამართი 0x00000, დააჭირეთ DownLoad. პროგრამული უზრუნველყოფის ჩამოტვირთვა უნდა დაიწყოს და შეტყობინება გამოჩნდება დასრულების შემდეგ.
    5. გამორთეთ დაფის დენი, გამორთეთ GPIO0 პინი საერთო სადენიდან, ჩართეთ დენი, ჩართეთ ტერმინალი (ყურადღება, შეცვალეთ პორტის სიჩქარე 9600-ზე), შეამოწმეთ დაფის მზადყოფნა AT ბრძანებით და firmware ვერსია AT + GMR ბრძანებით.

    0018000902 ვერსიაზე განახლების შემდეგ, COM პორტის ნაგულისხმევი სიჩქარე შეიცვლება 57600-დან 9600-მდე, მაგრამ ეს სიჩქარე ახლა შეიძლება დაყენდეს ახალ firmware-ში AT+CIOBAUD ბრძანებით. უყურეთ AT+CIOBAUD=-ს? ხელმისაწვდომი სიჩქარეები და დააყენეთ ბრძანება AT+CIOBAUD=115200 სიჩქარე 115200, პასუხი უნდა იყოს OK. ჩვენ ვაძლევთ გადატვირთვის ბრძანებას: AT + RST. შეცვალეთ პორტის სიჩქარე ტერმინალის პროგრამაში 115200-ზე.

    მაგალითი:
    კარგად AT+CIOBAUD=? +CIOBAUD:(9600-921600) OK AT+CIOBAUD=115200 BAUD->115200 OK

    Wi-Fi კავშირის დაყენება

    ახლა შევეცადოთ დავაკავშიროთ ჩვენი ESP-01 დაფა Wi-Fi წვდომის წერტილთან.
    ჩვენ ვასრულებთ შემდეგ ბრძანებებს:
    1. დააყენეთ Wi-Fi რეჟიმი ბრძანებით: AT+CWMODE= ხელმისაწვდომია შემდეგი რეჟიმები: 1 - STA, 2 - AP, 3 - ორივე
    მაგალითი:
    AT+CWMODE=1 OK 2. იხილეთ წვდომის წერტილების სია ბრძანებით: AT+CWLAP
    მაგალითი
    AT+CWLAP +CWLAP:(3"WiFi-DOM.ru-0474",-85,"c8:d3:a3:30:17:40",8) +CWLAP:(4"Intersvyaz_516C",-89 ,"2c:ab:25:ff:51:6c",10) +CWLAP:(4,"pletneva",-96,"f8:1a:67:67:2b:96",11) +CWLAP:( 4"Test",-69,"64:70:02:4e:01:4e",13) OK მიუთითებს ფრჩხილებში: SECURITY, SSID, RSSI, BSSID, CHANNEL
    SECURITY-ს შეუძლია მიიღოს მნიშვნელობები:
    0 - ღია, 1 - WEP, 2 - WPA-PSK, 3 - WPA2-PSK, 4 - შერეული (WPA-WPA2-PSK)
    3. დაუკავშირდით ჩვენს AP-ს ბრძანებით: AT+CWJAP="SSID","PASSWORD" მაგალითი:
    AT+CWJAP="Test","habrahabr" OK კავშირი გრძელდება 2-5 წამი, რის შემდეგაც OK გამოჩნდება წარმატების შემთხვევაში.
    3. ვნახოთ რა IP მისამართი მიიღო ჩვენმა დაფამ ბრძანებით: AT+CIFSR
    AT+CIFSR 192.168.1.104 OK წვდომის წერტილიდან გათიშვა ხდება AT+CWQAP ბრძანებით.
    მისამართი მიღებულია, შეგიძლიათ გადახვიდეთ.

    ESP-01 დაფას შეუძლია იმოქმედოს როგორც Soft-AP, ამ რეჟიმის გასააქტიურებლად, შეასრულეთ შემდეგი ბრძანებები:
    1. გათიშეთ წვდომის წერტილიდან: AT + CWQAP.
    2. შეცვალეთ Wi-Fi რეჟიმი ბრძანებით: AT+CWMODE=2
    3. შექმენით ჩვენი AP ბრძანებით: AT+CWSAP="SSID","PASSWORD",CHANNEL,SECURITY მაგალითი:
    AT+CWSAP="Test2","habrahabr",10,4 OK 4. ჩვენ ვცდილობთ დავუკავშირდეთ ჩვენს AP-ს კომპიუტერიდან. ვნახოთ შედეგი:


    როგორც სურათზე ხედავთ სიჩქარე მხოლოდ 54 მბ/წმ-ია და DNS სერვერების მისამართები დამაბნევია, მგონი აშკარად ჩინურია, AT ბრძანებების საშუალებით საკუთარს ვერ დააყენებ.
    AP მისამართი შეგიძლიათ იხილოთ ბრძანებით: AT+CIFSR
    მაგალითი:
    AT+CIFSR 192.168.4.1 OK ჩვენი AP-ის კლიენტების სია შეგიძლიათ ნახოთ ბრძანებით: AT+CWLIF
    მაგალითი:
    AT+CWLIF 192.168.4.101,f4:ec:38:8d:05:62 OK

    მიმდინარეობს TCP სერვერის რეჟიმის კონფიგურაცია

    ESP-01 დაფას შეუძლია აწარმოოს TCP სერვერი მონაცემების გასაგზავნად და მისაღებად, ან მას შეუძლია იმოქმედოს როგორც TCP კლიენტი სერვერზე მონაცემების გასაგზავნად და მისაღებად.
    TCP სერვერის დასაწყებად, შეასრულეთ შემდეგი ბრძანებები:
    1. დააყენეთ გადაცემის რეჟიმი ბრძანებით AT+CIPMODE= რეჟიმი = 0 - არა მონაცემთა რეჟიმი (სერვერს შეუძლია მონაცემთა გაგზავნა კლიენტისთვის და შეუძლია მიიღოს მონაცემები კლიენტისგან)
    რეჟიმი = 1 - მონაცემთა რეჟიმი (სერვერს არ შეუძლია მონაცემთა გაგზავნა კლიენტისთვის, მაგრამ შეუძლია მიიღოს მონაცემები კლიენტისგან)
    მაგალითი:
    AT+CIPMODE=0 OK 2. დააყენეთ მრავალჯერადი კავშირის შესაძლებლობა: AT+CIPMUX= რეჟიმი 0 - ერთჯერადი კავშირი
    რეჟიმი 1 - მრავალჯერადი კავშირი
    შეგიძლიათ შეამოწმოთ კავშირის რეჟიმი AT + CIPMUX-ით?
    მაგალითი:
    AT+CIPMUX=1 კარგი AT+CIPMUX? +CIPMUX:1 OK 3. გაუშვით სერვერი 8888 პორტზე: AT+CIPSERVER= [,]რეჟიმი 0 - სერვერის დახურვა
    რეჟიმი 1 - სერვერის გასახსნელად
    მაგალითი:
    AT+CIPSERVER=1.8888 OK
    ახლა შეგიძლიათ დაუკავშირდეთ ESP-01-ს და გაგზავნოთ/მიიღოთ გარკვეული მონაცემები. დასაკავშირებლად, ჩვენ გამოვიყენებთ კომუნალურ პროგრამას
    ჩვენ გავუშვით java -jar SocketTest.jar, კლიენტის ჩანართზე, შეიყვანეთ ESP-01-ის მისამართი და პორტი, დააჭირეთ დაკავშირებას. თუ კავშირი წარმატებულია, ტერმინალში გამოჩნდება ბმული შეტყობინება, ხოლო SocketTest-ში გააქტიურდება შეტყობინების ხაზი და Send ღილაკი.
    თქვენ შეგიძლიათ ნახოთ ESP-01-თან აქტიური კავშირების სია AT + CIPSTATUS ბრძანებით
    მაგალითი:
    AT+CIPSTATUS STATUS:3 +CIPSTATUS:0,"TCP","192.168.1.100",44667,1 OK შეგიძლიათ დახუროთ აქტიური კავშირი ბრძანებით AT+CIPCLOSE= ან ყველა კავშირი AT+CIPCLOSE პარამეტრების გარეშე.
    მაგალითი:
    AT+CIPCLOSE=0 OK გაუქმება 4. გაგზავნეთ მონაცემები ESP-01-დან კომპიუტერზე
    ,
    მაგალითი:
    AT+CIPSEND=0,16 > Ping Habrahabr SEND OK 5. გაგზავნეთ სატესტო შეტყობინება კომპიუტერიდან:


    ხაზი გამოჩნდება ტერმინალში +IPD,0,16:Ping Habrahabr შეტყობინება მიღებულია.
    მიღებული მონაცემების ფორმატია:
    ერთჯერადი კავშირის რეჟიმისთვის (CIPMUX=0): +IPD, :მრავალჯერადი კავშირის რეჟიმისთვის (CIPMUX=1): +IPD, ,:

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

    ახლა შევცვალოთ როლები, PC - სერვერი, ESP-01 - კლიენტი, სცადეთ:
    1. გადატვირთეთ AT+RST დაფა
    2. დააყენეთ გადაცემის რეჟიმი ბრძანებით AT+CIPMODE= რეჟიმი = 0 - არა მონაცემთა რეჟიმი (კლიენტს შეუძლია მონაცემთა გაგზავნა სერვერზე და შეუძლია მიიღოს მონაცემები სერვერიდან)
    რეჟიმი = 1 - მონაცემთა რეჟიმი (კლიენტს არ შეუძლია მონაცემთა გაგზავნა სერვერზე, მაგრამ შეუძლია მიიღოს მონაცემები სერვერიდან)
    მაგალითი:
    AT+CIPMODE=0 OK 3. დააყენეთ კავშირის რეჟიმი მრავალჯერადი კავშირით: AT+CIPMUX=1
    4. კომპიუტერზე SocketTest-ში, გაუშვით სერვერი 8888 პორტზე
    5. გაუშვით კლიენტი ESP-01-ზე
    ერთჯერადი კავშირის რეჟიმში (+CIPMUX=0) ფორმატია AT+CIPSTART= ,,მრავალჯერადი კავშირის რეჟიმისთვის (+CIPMUX=1) ფორმატია AT+CIPMART= ,,პარამეტრების შესაძლო მნიშვნელობები:
    id = 0-4
    ტიპი=TCP/UDP
    addr = IP მისამართი
    პორტი = პორტი
    მაგალითი:
    AT+CIPMUX=1 OK AT+CIPMUX=0,"TCP","192.168.1.100",8888 OK დაკავშირებულია 6. გაგზავნეთ მონაცემები ESP-01-დან კომპიუტერზე
    ერთჯერადი კავშირის რეჟიმში (+CIPMUX=0) გაგზავნა ხდება ასე: AT+CIPSEND= მრავალჯერადი კავშირის რეჟიმში (+CIPMUX=1) გაგზავნა ხდება ასე: AT+CIPSEND= ,AT + CIPSEND შესრულების შემდეგ, თქვენ უნდა შეიყვანოთ ტექსტი, შეყვანის დასრულება და გაგზავნა ხორციელდება Enter-ით.
    მაგალითი:
    AT+CIPSEND=0.16 > Ping Habrahabr SEND OK
    მონაცემების გაგზავნისა და მიღების მაგალითი:

    სასარგებლო დოკუმენტაცია:
    AT ბრძანებების აღწერა (ჩინურად)
    ESP8266 ჩიპის სპეციფიკაცია (ჩინური)
    სპეციფიკაცია ESP8266 ჩიპისთვის (ინგლისურად)

    დასკვნა:

    როგორც ვხედავთ, დაფა წარმატებით უმკლავდება დავალებულ ამოცანებს, კერძოდ, Wi-Fi-სთან დაკავშირებას, როგორც კლიენტს, შეუძლია იმოქმედოს როგორც Soft-AP, შეგიძლიათ აწიოთ TCP სერვერი დაფაზე მონაცემების მისაღებად და გაგზავნისთვის, ან თქვენ შეიძლება იყოს TCP კლიენტი.
    ამ სტატიაში ჩვენ გადავხედეთ ESP-01 დაფაზე მუშაობას RS232-ის საშუალებით, კომპიუტერი მოქმედებდა როგორც საკონტროლო კონტროლერი, შეგიძლიათ მარტივად დააკავშიროთ Arduino დაფა ან ნებისმიერი მიკროკონტროლერი UART-ით და გაგზავნოთ და მიიღოთ მონაცემები Wi-Fi ქსელის მეშვეობით კონტროლერებს შორის. ან კომპიუტერი.

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

    სიამოვნებით ვუპასუხებ კითხვებს, თუმცა ჯერ კიდევ არ მაქვს ბოლომდე შესწავლილი ESP-01 დაფა.