Სარჩევი:

როგორ გააკეთოთ თქვენი საკუთარი WIFI კარიბჭე თქვენი Arduino– ს IP ქსელთან დასაკავშირებლად?: 11 ნაბიჯი (სურათებით)
როგორ გააკეთოთ თქვენი საკუთარი WIFI კარიბჭე თქვენი Arduino– ს IP ქსელთან დასაკავშირებლად?: 11 ნაბიჯი (სურათებით)

ვიდეო: როგორ გააკეთოთ თქვენი საკუთარი WIFI კარიბჭე თქვენი Arduino– ს IP ქსელთან დასაკავშირებლად?: 11 ნაბიჯი (სურათებით)

ვიდეო: როგორ გააკეთოთ თქვენი საკუთარი WIFI კარიბჭე თქვენი Arduino– ს IP ქსელთან დასაკავშირებლად?: 11 ნაბიჯი (სურათებით)
ვიდეო: Start Using Wemos D1 Mini NodeMCU WiFi ESP8266 module with Arduino 2024, ნოემბერი
Anonim
როგორ გააკეთოთ თქვენი საკუთარი WIFI კარიბჭე თქვენი Arduino– ს IP ქსელთან დასაკავშირებლად?
როგორ გააკეთოთ თქვენი საკუთარი WIFI კარიბჭე თქვენი Arduino– ს IP ქსელთან დასაკავშირებლად?

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

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

მე ვმუშაობ რობოტზე, რომელიც მუდმივად უნდა იყოს დაკავშირებული სერვერთან, რომელიც მუშაობს ხელოვნური ინტელექტის კოდზე. მე შევეცადე გამომეყენებინა RF ქსელი, როგორც ამას ვაკეთებდი დომოსისთვის, მაგრამ ეს არ არის საკმარისად ეფექტური. რობოტის მოძრაობისას მე ვერ გამოვიყენებ Ethernet Arduino Shield- ს. Arduino Wifi Shield ძვირია და მეჩვენება, რომ ძველი დიზაინია.

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

სწორედ ამიტომ გადავწყვიტე გეითვეის დიზაინი ძალიან იაფი და ენერგოეფექტური ESP8266 მიკროკონტროლის საფუძველზე

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

მე გამოვიყენე ეს კარიბჭე სახლის ავტომატიზაციისთვის და Robotic– ისთვის.

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

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

მარაგები

მე დავწერე სხვა ინსტრუქცია ამ თემაზე

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

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

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

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

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

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

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

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

ყველაზე ადვილია გამოიყენოთ Arduino Mega– სთან, რომელსაც აქვს ერთზე მეტი UART (მაგალითად Arduino Mega), მაგრამ ასევე შეუძლია გაეროს გაეროსთან მუშაობა.

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

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

მას აქვს 3 LED, რომელიც მიუთითებს კარიბჭის სტატუსსა და მოძრაობაზე.

ის უზრუნველყოფს GPIO- ს, რომლის გამოყენებაც შესაძლებელია Arduino– ს მიერ, რათა დაელოდოს Gateway– ს WIFI და IP დაკავშირებას.

ის მუშაობს 3 სხვადასხვა რეჟიმში, რომლებიც დაყენებულია გადამრთველებით:

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

პარამეტრების უმეტესობა შეიძლება შეიცვალოს თქვენი საჭიროებების შესაბამისად.

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

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

თქვენი არდუინოს თავზე დაგჭირდებათ

  • 1 x ESP8266 მოდული-მე ვირჩევ MOD-WIFI-ESP8266-DEV– ს Olimex– დან, რომელიც ღირს დაახლოებით 5 ევრო, რაც საკმაოდ ადვილი გამოსაყენებელია.
  • 1 x 5 ვ დენის წყარო
  • 1 x 3.3v დენის რეგულატორი - მე ვიყენებ LM1086
  • 1 x 100 მიკროფარდის კონდენსატორი
  • 1 x ULN2803 APG მოდული (შეიძლება შეიცვალოს 3 x ტრანზისტორით)
  • 8 x რეზისტორები (3 x 1K, 1 x 2K, 1 x 2.7k, 1x 3.3K, 1x 27K, 1x 33k)
  • 3 x LED (წითელი, მწვანე, ლურჯი)
  • 1 x Breadboard PCB
  • რამდენიმე მავთული და კონექტორი

მხოლოდ შენობის საფეხურების დროს დაგჭირდებათ

  • 1 x FTDI 3.3v კონფიგურაციისთვის
  • შედუღების რკინა და კალის

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

ნაბიჯი 4: დავიწყოთ ელექტრონული პურის დაფაზე

დავიწყოთ ელექტრონული პურის დაფაზე!
დავიწყოთ ელექტრონული პურის დაფაზე!

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

აქ შეგიძლიათ გადმოწეროთ ნაბიჯი 1:

github.com/cuillerj/Esp8266IPSerialGateway/blob/master/GatewayElectronicStep1.fzz

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

გახსოვდეთ, რომ ESP8266 არ უჭერს მხარს 3.3 ვ -ზე მაღალ ძაბვას. FTDI უნდა იყოს მითითებული 3.3 ვ.

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

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

დავიწყოთ კარიბჭის მხრიდან

კოდი დავწერე Arduino IDE– ით. ასე რომ თქვენ გჭირდებათ ESP8266, რომ იყოთ IDE– ს მიერ დაფის სახელით. აირჩიეთ შესაბამისი დაფა Tools / დაფების მენიუდან.

თუ თქვენ ვერ ხედავთ რაიმე ESP266 სიას, რაც იმას ნიშნავს, რომ თქვენ შეიძლება დაგჭირდეთ ESP8266 Arduino Addon- ის დაყენება (აქ ნახავთ პროცედურას).

თქვენთვის საჭირო ყველა კოდი ხელმისაწვდომია GitHub– ზე. დროა გადმოწეროთ!

კარიბჭის მთავარი კოდი არის:

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

ManageParamEeprom, რომელიც გამოიყენება Eeprom ans– ში პარამეტრების წასაკითხად და შესანახად არის:

მას შემდეგ რაც მიიღებთ ყველა კოდს დროა ატვირთოთ იგი ESP8266- ში. ჯერ დააკავშირეთ FTDI თქვენი კომპიუტერის USB პორტთან.

გირჩევთ შეამოწმოთ კავშირი ატვირთვის მცდელობამდე.

  • დააყენეთ Arduino სერიული მონიტორი ახალ USB პორტზე.
  • დააყენეთ სიჩქარე 115200 ორივე cr nl (defime სიჩქარე Olimex– ისთვის)
  • ჩართეთ პურის დაფაზე (ESP8266 გააჩნია პროგრამულ უზრუნველყოფას, რომელიც ეხება AT ბრძანებებს)
  • გააგზავნეთ "AT" სერიული ინსტრუმენტებით.
  • თქვენ უნდა მიიღოთ "OK" სანაცვლოდ.

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

თუ თქვენ გაქვთ "OK", თქვენ მზად ხართ ატვირთოთ კოდი

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

თქვენ ნახავთ რაღაცას, როგორც სურათზე.

გილოცავთ, თქვენ წარმატებით ატვირთეთ კოდი!

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

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

კონფიგურაციის რეჟიმში შესასვლელად configGPIO უნდა იყოს მითითებული 1 -ზე

თავდაპირველად WIFI სკანირება გააკეთეთ ბრძანებით: ScanWifi. თქვენ ნახავთ გამოვლენილი ქსელის ჩამონათვალს.

  • შემდეგ დააყენეთ თქვენი SSID, შეიყვანეთ "SSID1 = თქვენი ქსელი"
  • შემდეგ დააყენეთ თქვენი პაროლი შეიყვანეთ "PSW1 = თქვენი პაროლი"
  • შემდეგ შეიყვანეთ "SSID = 1" მიმდინარე ქსელის დასადგენად
  • შეიყვანეთ "გადატვირთვა", რათა დააკავშიროთ კარიბჭე თქვენს WIFI- ს.
  • თქვენ შეგიძლიათ დაადასტუროთ, რომ IP გაქვთ "ShowWifi" - ში შესვლით.
  • ლურჯი LED იქნება ჩართული და წითელი LED მოციმციმე.

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

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

ბოლო აუცილებელი ნაბიჯი არის UDP სერვერის მოსმენის პორტის დაყენება "listenPort = xxxx" - ით შესვლით.

შეიყვანეთ "ShowEeprom", რომ შეამოწმოთ რა შეინახეთ Eeprom– ში

ახლა შეაერთეთ GPIO2 მიწასთან, რომ დატოვოთ კონფიგურაციის რეჟიმი

თქვენი კარიბჭე მზად არის სამუშაოდ

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

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

მოდით გავაკეთოთ არდუინოს მხარე!
მოდით გავაკეთოთ არდუინოს მხარე!
მოდით გავაკეთოთ არდუინოს მხარე!
მოდით გავაკეთოთ არდუინოს მხარე!

პირველ რიგში დააკავშირეთ Arduino

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

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

შეგიძლიათ გადმოწეროთ იქ:

იგი მოიცავს SerialNetwork კოდს, რომელიც აქ არის:

უბრალოდ ატვირთეთ კოდი თქვენს არდუინოში.

მწვანე LED ანათებს ყოველ ჯერზე, როდესაც Arduino აგზავნის მონაცემებს.

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

მოდით გავაკეთოთ სერვერის მხარე!
მოდით გავაკეთოთ სერვერის მხარე!
მოდით გავაკეთოთ სერვერის მხარე!
მოდით გავაკეთოთ სერვერის მხარე!

სერვერის მაგალითია Java პროგრამა, რომლის გადმოწერა შეგიძლიათ აქ:

უბრალოდ გაუშვით

შეხედეთ ჯავის კონსოლს.

შეხედე არდუინოს მონიტორს.

Arduino აგზავნის 2 სხვადასხვა პაკეტს.

  • პირველი შეიცავს ციფრული ქინძისთავების სტატუსს 2 -დან 6 -მდე.
  • მეორე შეიცავს 2 შემთხვევით მნიშვნელობას, A0 ძაბვის დონეს mV- ში და დამატებით რიცხვს.

Java პროგრამა

  • დაბეჭდეთ მიღებული მონაცემები თექვსმეტობით ფორმატში
  • უპასუხეთ მონაცემთა პირველ ტიპს შემთხვევითი ჩართვა/გამორთვის მნიშვნელობით, რათა ჩართოთ/გამორთოთ Arduino LED
  • უპასუხეთ მეორე სახის მონაცემებს მიღებული რიცხვით და შემთხვევითი მნიშვნელობით.

ნაბიჯი 9: დროა გავაკეთოთ შედუღება

დროა გავაკეთოთ შედუღება!
დროა გავაკეთოთ შედუღება!
დროა გავაკეთოთ შედუღება!
დროა გავაკეთოთ შედუღება!
დროა გავაკეთოთ შედუღება!
დროა გავაკეთოთ შედუღება!

ის მუშაობს პურის დაფაზე!

დროა გახადოთ ის უფრო მტკიცე PCB– ზე ნაწილების შედუღებით

გარდა იმისა, რაც თქვენ გააკეთეთ პურის დაფაზე, თქვენ უნდა დაამატოთ 3 კონექტორი.

  • C1 1 x pin ერთი, რომელიც გამოყენებული იქნება ქსელის კვალის რეჟიმში შესასვლელად.
  • C2 3 x ქინძისთავები, რომლებიც გამოყენებული იქნება გაშვებისა და კონფიგურაციის რეჟიმს შორის გადასართავად.
  • C3 6 x ქინძისთავები, რომელიც გამოყენებული იქნება Gateway– ის დასაკავშირებლად Arduino– სთან ან FTDI– სთან.

თუ გსურთ ქსელის კვალის გააქტიურება, GPIO2– თან დაკავშირებული C1 ხელით უნდა იყოს დასაბუთებული.

C2, რომელიც დაკავშირებულია GPIO 4 -თან, შეიძლება დაყენდეს 2 სხვადასხვა პოზიციაში. ერთი, რომელიც ნორმალურ რეჟიმში მუშაობდა და ერთი 3.3 ვ კონფიგურაციის რეჟიმში შესასვლელად.

დააყენეთ PCB– ის ყველა კომპონენტი დიაგრამის მიხედვით და შემდეგ დაიწყეთ შედუღება საბოლოო პროდუქტის მისაღებად!

ნაბიჯი 10: მოდით გავაკეთოთ საბოლოო ტესტი

Image
Image

დაიწყეთ Java ტესტის პროგრამა.

შეაერთეთ Arduino.

ენერგია კარიბჭეზე.

შეხედეთ ჯავის კონსოლს, Arduino მონიტორს, Arduino LED- ს და Gateway LED- ებს.

ნაბიჯი 11: თქვენ შეგიძლიათ მოარგოთ ეს დიზაინი თქვენს მოთხოვნებს

რაც შეეხება ტექნიკას

  • თუ აირჩევთ სხვა ESP8266– ს, მოგიწევთ მოერგოთ სპეციფიკაციებს.
  • თუ აირჩევთ სხვა 3.3 ვ რეგულატორს, მას უნდა მიეწოდოს 500 mA და თქვენ მოგიწევთ კონდენსატორის ადაპტირება.
  • თქვენ შეგიძლიათ შეცვალოთ LED რეზისტორები სიკაშკაშის შესაცვლელად.
  • თქვენ შეგიძლიათ ჩახშოთ ყველა LED, მაგრამ მე გირჩევთ, რომ წითელი მაინც შეინარჩუნოთ.
  • თქვენ შეგიძლიათ შეცვალოთ ULN2803 3 ტრანზისტორით (ან მე ნაკლები თქვენ ირჩევთ არ შეინარჩუნოთ 3 LED).
  • მე გავაკეთე ტესტი, მაგრამ იქ უნდა იმუშაოს 3.3 ვ Arduino დაფებით. უბრალოდ დააკავშირეთ Tx Rx 3.3v კონექტორთან.

რაც შეეხება კონფიგურაციას

  • თქვენ შეგიძლიათ შეინახოთ 2 განსხვავებული SSID და გადართოთ
  • თქვენ შეგიძლიათ შეცვალოთ გამოყენებული GPIO

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

გირჩევთ: