Სარჩევი:

სერიული UDP/IP კარიბჭე Arduino– სთვის ESP8266 Shield– ის საფუძველზე: 8 ნაბიჯი
სერიული UDP/IP კარიბჭე Arduino– სთვის ESP8266 Shield– ის საფუძველზე: 8 ნაბიჯი

ვიდეო: სერიული UDP/IP კარიბჭე Arduino– სთვის ESP8266 Shield– ის საფუძველზე: 8 ნაბიჯი

ვიდეო: სერიული UDP/IP კარიბჭე Arduino– სთვის ESP8266 Shield– ის საფუძველზე: 8 ნაბიჯი
ვიდეო: CCNA ქართულად! (N8 გაკვეთილი) - TCP და UDP სათაურები 2024, ნოემბერი
Anonim
სერიული UDP/IP კარიბჭე Arduino– სთვის ESP8266 Shield– ის საფუძველზე
სერიული UDP/IP კარიბჭე Arduino– სთვის ESP8266 Shield– ის საფუძველზე

მე უკვე გამოვაქვეყნე 2016 წელს ეს სასწავლო ინსტრუქცია "როგორ გააკეთოთ თქვენი საკუთარი Wifi კარიბჭე თქვენი Arduino- ს IP ქსელთან დასაკავშირებლად". მას შემდეგ, რაც მე გავაკეთე კოდის გაუმჯობესება და მე კვლავ ვიყენებ ამ გადაწყვეტილებას.

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

ეს ინსტრუქცია განმარტავს, თუ როგორ გამოიყენოთ ეს ESP82 ფარები, როგორც სერიული UDP/IP კარიბჭე.

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

დამატებითი ინფორმაცია ფარის შესახებ ამ ინსტრუქციებით

მარაგები

1 არდუინო მეგა (საუკეთესოა მინიმუმ 1 მეგა განვითარებისათვის და 1 უნო გაშვების ფაზისთვის)

1 Rokoo ESP8266 ESP-12E UART WIFI გადამყვანი

1 FTDI 3.3v

2 პურის დაფის მავთული

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

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

კარიბჭე ემყარება ESP8266 მოდულს

ეს მოდული დაკავშირებულია ერთი მხრიდან სერიული ბმულით მეორე მხრიდან IP ქსელთან Wifi.

ის მოქმედებს როგორც შავი ყუთი. სერიული ბმულიდან მიღებული მონაცემთა პაკეტები იგზავნება IP/Udp პორტში და პირიქით.

თქვენ უბრალოდ უნდა დააყენოთ თქვენი საკუთარი კონფიგურაცია (IP, WIFI…) ერთხელ პირველად, როდესაც ჩართავთ კარიბჭეს.

მას შეუძლია გადასცეს ან ნედლი ASCII და ორობითი მონაცემები (არა HTTP, JSON …)

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

ნაბიჯი 2: რა არის ძირითადი ფუნქციები?

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

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

Arduino– ს შეუძლია გაგზავნოს და მიიღოს შეტყობინებები ინტერნეტით დაკავშირებულ სერვერზე / სერიული ბმულის დაბეჭდვით / წაკითხვით. არ არის საჭირო, რომ Arduino დეველოპერმა შეაწუხოს IP პროტოკოლი.

გარდა ამისა, ის უზრუნველყოფს GPIO- ს, რომელიც შეიძლება გამოყენებულ იქნას Arduino– ს მიერ იმის შესამოწმებლად, რომ Gateway სწორად არის დაკავშირებული WIFI– სთან და Gateway– ს შეუძლია ავტომატურად შეიცვალოს ჭარხალი 2 სხვადასხვა SSID– ით წარუმატებლობის შემთხვევაში

Gateway– ს აქვს 2 განსხვავებული მუშაობის რეჟიმი, რომლებიც შეირჩევა GPIO– ს დაყენებით

GPIO- ს დაყენება ადგილზე და Gateway შედის კონფიგურაციის რეჟიმში.

GPIO- ს დაყენება უფასო და Gateway შედის კარიბჭის გაშვების რეჟიმში.

გარდა ამისა, Gateway UDP/IP კონფიგურაცია შეიძლება შეიცვალოს დისტანციურად

ნაბიჯი 3: მასალის აგება

მასალის აგება
მასალის აგება

ძალიან ცოტა რამ არის საჭირო

1 ESP8266 Shield - ვიპოვე ეს UNO R3 ESP8266 სერიული WiFi Shield გაფართოების დაფის მოდული 9 ევროზე ნაკლებ ფასად

1 გაერო, რომელიც არის Arduino– ს სამიზნე

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

1 FTDI 3.3/5v განვითარებისათვის

ზოგიერთი მავთული

ნაბიჯი 4: ჩამოტვირთეთ Gateway Code

ჩამოტვირთეთ Gateway Code
ჩამოტვირთეთ Gateway Code

ამ ნაბიჯის განმავლობაში Arduino გამოიყენება მხოლოდ ESP8266 ფარის (USB ან სხვა ენერგიის წყაროსთან) ჩართვისთვის.

შეაერთეთ ESP8266 GPIO4 მიწასთან (კონფიგურაციის რეჟიმში შესასვლელად)

გაუფრთხილდით FTDI- ს დაყენება 3.3v- ზე, როგორც ამას მოითხოვს ფარი

შეაერთეთ FTDI ფარი (RX to TX)

დააყენეთ ფარის გადამრთველი 1: გამორთვა 2: გამორთვა 3: ჩართვა 4: ჩართვა

შეაერთეთ FTDI USB მხარე თქვენს კომპიუტერს

გადააყენეთ ფარი ESP-RST ღილაკით

ჩამოტვირთეთ Gateway კოდი იქ GitHub– ზე

გახსენით Arduino IDE

  • შეარჩიეთ FTDI მონიტორის პორტი
  • გახსენით IDE სერიული მონიტორი - დააყენეთ სიჩქარე 38400
  • აირჩიეთ Generic ES8266 მოდულის დაფა
  • განაახლეთ ფარის firmware კარიბჭის კოდით

დააყენეთ გადამრთველი 3: გამორთულია 4: გამორთულია

გახსენით IDE სერიული მონიტორი

გადააყენეთ ფარი ESP-RST ღილაკით

თქვენ უნდა ნახოთ შეტყობინებები მონიტორზე დაწყებული "EEPROM ინიციალიზაციით" "ინიციალიზაცია დასრულებულია"….

დროა გავაკეთოთ კონფიგურაცია

ნაბიჯი 5: მოდით გავაკეთოთ კარიბჭის კონფიგურაცია

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

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

გამოიყენეთ მონიტორის სერიული პორტი ბრძანების გასაგზავნად (მითითებულია NL და CR).

ვინაიდან SSID ამჟამად განსაზღვრული არ არის, დაელოდეთ "ვერ დავუკავშირდი თქვენს მეორე მეორე მცდელობას: 5"

შემდეგ ავტომატურად დაიწყება WIFI– ის სკანირება

დროა დააყენოთ თქვენი SSID– ები შემდეგი ბრძანებებით:

  • SSID1 = თქვენი არჩევანი 1
  • PSW1 = yourpsw1
  • SSID2 = თქვენი არჩევანი 2
  • PSW2 = yourpsw2
  • SSID = 1 (აირჩიოს რომელი SSID– ით დაიწყოს)
  • გადატვირთეთ WiFi

რამდენიმე წამის შემდეგ შეგიძლიათ შეამოწმოთ კავშირი ბრძანებით "ShowWifi". თქვენ უნდა ნახოთ IP მისამართი, რომელიც კარიბჭემ მიიღო თქვენი DNS სერვერიდან. თუ ეს ასეა, დროა წავიდეთ უფრო შორს

დროა განსაზღვროთ თქვენი IP სერვერის მისამართი 4 ქვე -მისამართის (სერვერი, რომელიც გაუშვებს Java ტესტის კოდს) შეყვანით. Მაგალითად:

  • "IP1 = 192"
  • "IP2 = 168"
  • "IP3 = 1"
  • "IP4 = 10"

ცარიელი ბრძანების გაგზავნით თქვენ იხილავთ ყველა მხარდაჭერილ ბრძანებას, რომელიც შეგიძლიათ მოგვიანებით გამოიყენოთ თქვენი მოთხოვნების შესაბამისად. ყველა პარამეტრის მნიშვნელობა ინახება Eeprom– ში და მხედველობაშია საჭირო გადატვირთვა.

ამოიღეთ კონფიგურაციის მავთული

ფარი ახლა მუშაობს როგორც კარიბჭე

ნაბიჯი 6: ჩამოტვირთეთ Arduino კოდის მაგალითი

ჩამოტვირთეთ Arduino კოდის მაგალითი
ჩამოტვირთეთ Arduino კოდის მაგალითი

ჯერ გადმოწერეთ მთავარი Arduino კოდი იქ GitHub– ზე

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

შემდეგ გახსენით მთავარი კოდი ახალი Arduino IDE– ით

გამორთეთ ფარის გადამრთველი 1 და 2, რომ გაათავისუფლოთ Arduino სერიული ბმული 0 USB კავშირისთვის

გადააყენეთ ფარი

შეაერთეთ FTDI მავთულები მეგა სერიალ 2 -ზე (TX FTDI RX მეგაზე და ასე შემდეგ)

დაიწყეთ ახალი Arduino IDE (ან TTY ინსტრუმენტი), დააკავშირეთ FTDI USB და დაიწყეთ სერიული ბმულის მონიტორინგი

ატვირთეთ Arduino კოდი მეგას შიგნით

ჩართეთ ფარის გადამრთველი 1 და 2 Arduino სერიული ბმულის 0 დასაკავშირებლად

გადააყენეთ ფარი

თქვენ უნდა ნახოთ ეს შეტყობინება "დაიწყე USB ბეჭდვა" მონიტორზე

ნაბიჯი 7: მოდით გავაკეთოთ სერვერის მხარე

სერვერის მაგალითია Java პროგრამა, რომლის გადმოწერაც აქ შეგიძლიათ GitHub– ზე

უბრალოდ გაუშვით და შეხედეთ ჯავის კონსოლს და შეხედეთ FTDI მონიტორს

თქვენ ნახავთ მონაცემთა გაცვლას სერვერსა და არდუინოს შორის

ნაბიჯი 8: წასვლა შემდგომი

შემდგომი წასასვლელად
შემდგომი წასასვლელად
შემდგომი წასასვლელად
შემდგომი წასასვლელად

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

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

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

მას შემდეგ რაც შექმენით და შეამოწმეთ თქვენი კოდი Arduino Mega– ზე, შეგიძლიათ მარტივად შეცვალოთ იგი Uno– ით!

გარდა ამისა, თქვენ შეგიძლიათ დააკავშიროთ მავთული Arduino GPIO 7 -სა და ESP8266 GPIO 5 -ს შორის, თუ გსურთ, რომ თქვენს Arduino- მ შეამოწმოს Wifi კავშირი

გირჩევთ: