Სარჩევი:
ვიდეო: როგორ გამოვიყენოთ Bluetooth (BLE) ESP32– ით: 3 ნაბიჯი
2024 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2024-01-30 10:18
#####ᲨᲔᲜᲘᲨᲕᲜᲐ#####
ამ ინსტრუქციებში ნაჩვენები მეთოდი ძველი და მოძველებულია. უყურეთ ამ ვიდეოს უახლესი მეთოდისთვის.
###############
მიუხედავად იმისა, რომ ESP32 გამოირჩევა ფუნქციების ფართო ჩამონათვალით (ვიკიპედია), ყველაზე დიდი თვისება, რომელიც თვალს იპყრობს არის ჩაშენებული bluetooth v4.2, BLE მხარდაჭერით. მაგრამ ეს განცხადება შეიძლება შეცდომაში შეიყვანოს, სანამ ტექნიკა არსებობს, Bluetooth– ის გამოყენების პროგრამული უზრუნველყოფა აკლია. (დამუშავების პროცესშია)
მათთვის, ვინც არ იცის რა არის BLE, ის ნიშნავს Bluetooth Low Energy- ს. ეს არის bluetooth პროტოკოლი, რომელიც მნიშვნელოვნად ამცირებს ენერგიის მოხმარებას "კლასიკურ" Bluetooth- თან შედარებით.
ამ ინსტრუქციებში მე გაჩვენებთ, თუ როგორ შეგიძლიათ გამოიყენოთ თქვენს ხელთ არსებული შეზღუდული (პროგრამული უზრუნველყოფის) რესურსები, რომ გაგზავნოთ მონაცემები ESP32 დაფიდან თქვენს ტელეფონზე BLE საშუალებით.
რამდენიმე უარის თქმა…
რამდენიმე საყურადღებო რამ უნდა აღვნიშნო სანამ ამ სახელმძღვანელოს შემდგომ გააგრძელებ..
შენიშვნა 1: როდესაც მე ვამბობ, რომ Bluetooth მხარდაჭერა ჯერ კიდევ არ არის, ვგულისხმობ arduino განვითარების გარემოში.
მხარდაჭერა შეიძლება იყოს როგორც ოფიციალურ SDK– ში, ასევე IDF– ში, მაგრამ მე ვერ ვიპოვე მათთვის კომპეტენტური ინსტრუქცია.
შენიშვნა 2: მეთოდი, რომელსაც მე ვიყენებ, ძალიან გამოსავალია და არა ის, თუ როგორ იდეალურად უნდა მუშაობდეს BLE. ბიბლიოთეკა მხარს უჭერს სერვისების შექმნას BLE– ში არ არის არდუინოს გარემოსთვის.
ერთადერთი რისი გაკეთებაც საიმედოდ შეგიძლიათ შექმნათ შუქურა, რომელიც აქვეყნებს მის სახელს. YouTube- ის კომენტარმა ძალიან ელეგანტურად თქვა: "LOL, სასტიკი გარჩევა. მაგრამ რისი გაკეთება შეგიძლია?"
შენიშვნა 3: ერთადერთი სახის მონაცემები, რომელთა გაგზავნა შეგიძლიათ არის სტრიქონი.
თქვენ შეიძლება ძალიან კარგად გადაწყვიტოთ სხვა სახის მონაცემების კოდირება და გაშიფვრა სტრიქონზე და მისგან, მაგრამ ეს სცილდება ამ სახელმძღვანელოს ფარგლებს.
ნაბიჯი 1: აგების მაგალითი
თუ თქვენ უბრალოდ აქ ხართ ახსნა -განმარტებისათვის, შეგიძლიათ გამოტოვოთ ეს ნაბიჯი, მაგრამ მისი გავლა შეიძლება მოგცეს ცოტა მეტი სიცხადე..
ჯერ ვაპირებ ავაშენო მაგალითი პროექტი და შემდეგ შევეცდები აგიხსნათ როგორ მუშაობს და როგორ შეგიძლიათ გაიმეოროთ Bluetooth კომუნიკაცია. ჩვენ ავაშენებთ პორტატული ტემპერატურის სენსორს, რომელიც პირდაპირ სმარტფონს უგზავნის საკვებს. მშენებლობა შეიძლება გაგრძელდეს დღეების განმავლობაში ერთ ლი-პოზე და ადვილად აჩვენებს BLE- ის სარგებელს.
თქვენ შეგიძლიათ გამოიყენოთ მოდული, როგორც გამაგრილებელი თქვენი სასმელების იზოლირებისთვის და მიიღოთ შეტყობინება, როგორც კი თქვენი სასმელი მიაღწევს ოპტიმალურ ტემპერატურას. იმის გამო, რომ ეს იქნება ტრაგედია, თუ მოგიწევთ ჩაის დალევა, რომელიც 40 გრადუსს აღემატება.
ერთადერთი აპარატურა, რაც გჭირდებათ არის ESP32 დაფა და ციფრული ტემპერატურის სენსორი. ჩემი დაფა მხარს უჭერს გარე ბატარეას, ასე რომ, მე ვიყენებ 3.7 ვ Li-po- ს, რომელიც ამოვიღე ძველი მოწყობილობიდან, რათა ეს პროექტი პორტატული იყოს.
ტექნიკა
ტემპერატურის სენსორის კავშირი მარტივია. წითელი მავთული უკავშირდება 3.3 ვ -ს, შავი უკავშირდება მიწას (gnd), ყვითელი უკავშირდება GPIO 2 -ს, რომელიც ჩემს დაფაზე აღინიშნება როგორც D9. შეაერთეთ 4.7k ohm რეზისტორი წითელ და ყვითელ მავთულს შორის. მე არ ვიყენებ რეზისტორს, სამაგიეროდ მე ვიყენებ 3 პინიანი დანამატის ტერმინალს, რომელსაც მოყვა ჩემი სენსორი. მას აქვს ჩამონტაჟებული გამწევი რეზისტორი.
Li-po ნამდვილად უნდა იყოს დაკავშირებული JST კონექტორის გამოყენებით, მაგრამ მე არ შემიძლია შევიწუხო მისი ყიდვა, ასე რომ, მე შევიჭერი რამდენიმე (მდედრობითი და მდედრობითი) ჯუმბერის კაბელი კონექტორში და მეორე წყვილი შევაერთე ბატარეის ტერმინალებს. ეს ქმნის საიმედო კავშირს და დროებით დენის გადამრთველს.
ახლა, როგორც პროექტის დანართი, ვიყენებ სტიროფომის დისკს, რომელიც ამოჭრილია უფრო დიდი ფურცლიდან. ეს ქმნის დიდ იზოლატორს. კიდევ ერთი ბევრად უფრო პატარა დისკი არის ჩარჩენილი თავზე, მაგრამ ოდნავ გვერდით. ეს განკუთვნილია მავთულის დამატებითი სიგრძის შესაფუთად, რათა ისინი არ დაკიდონ ყველგან. თქვენი წებოს გულუხვი გამოყენების და სენსორული ზონდის მცირე ხვრელის შემდეგ, თქვენ მზად ხართ გააგრძელოთ პროგრამული უზრუნველყოფა.
პროგრამული უზრუნველყოფა
თუ თქვენ ჯერ არ გაქვთ arduino IDE დაინსტალირებული, გადადით ამ ბმულზე, რომ გადმოწეროთ. სტანდარტულად arduino პროგრამული უზრუნველყოფა არ შეიცავს დაფის განმარტებებს სხვადასხვა ESP32 დაფებისთვის. რათა მათ გადავიდნენ ამ ბმულზე და ჩამოტვირთონ ფაილები zip- ში. თქვენ უნდა მოხსნათ ისინი ამ ადგილას:
C:/მომხმარებლები // დოკუმენტები/Arduino/ტექნიკა/espserrif/ESP32
სად არის თქვენი მომხმარებლის სახელი თქვენს კომპიუტერში. დარწმუნდით, რომ სხვადასხვა ფაილი ხელმისაწვდომია ESP32 საქაღალდის ქვეშ და არ არის სხვა საქაღალდის ქვეშ.
ახლა თუ დაიწყებთ arduino პროგრამულ უზრუნველყოფას და გადადით ინსტრუმენტები-> დაფებზე, ქვემოთ გადახვევისას უნდა ნახოთ სხვადასხვა ESP32 დაფები.
ციფრული ტემპერატურის სენსორების უმეტესობა იყენებს OneWire პროტოკოლს მიკრო კონტროლერებთან კომუნიკაციისთვის, ამიტომ ჩვენ გვჭირდება ბიბლიოთეკის მოპოვება. გადადით ჩანახატზე-> ბიბლიოთეკის ჩართვა-> ბიბლიოთეკების მართვა და მოძებნეთ ერთი და სხვა და დააინსტალირეთ ბიბლიოთეკა, რომელიც ძალიან ბევრი ავტორია. თქვენ არ გჭირდებათ ერთიანი კერა. Დააიგნორე.
ახლა თქვენ შეგიძლიათ გადმოწეროთ და გახსნათ ამ საფეხურზე თანდართული კოდი (temperature-example.ino).
თუ თქვენ იყენებთ ჩემგან განსხვავებულ სენსორს, შესაბამისად მოგიწევთ კოდის შეცვლა. შეცვალეთ კოდი getTemp () - ის ქვეშ. უბრალოდ დააბრუნეთ საბოლოო ტემპერატურა სახით
Დაბრუნების;
სად არის ტემპერატურა, რომელიც შეიცავს ტემპერატურას.
შეაერთეთ დაფა, შეარჩიეთ სწორი დაფა და პორტი ინსტრუმენტების ქვეშ და დააჭირეთ ატვირთვას.
თუ კოდი უარს ამბობს ატვირთვაზე, გათიშეთ სენსორი და დააკავშირეთ GPIO 0 მიწასთან. ატვირთვის შემდეგ კავშირების აღდგენა.
თქვენი ESP უნდა ყვიროდეს თქვენი ყავის ტემპერატურაზე მსოფლიოში, მაგრამ თქვენ გჭირდებათ ვინმე, ვინც შეძლებს მისი გაგებას.
Android აპლიკაცია
ბოდიში iPhone მომხმარებლებისთვის (… ნამდვილად არა).
ჩამოტვირთეთ apk აქედან და დააინსტალირეთ. როდესაც დაიწყებთ პროგრამას, თქვენ დაგხვდებათ ძალიან მარტივი ინტერფეისი.
თუ თქვენ მიიღებთ შეცდომის შეტყობინებას "რეკლამა არ არის მხარდაჭერილი", დააწკაპუნეთ OK და იგნორირება გაუკეთეთ მას, მაგრამ თუ მიიღებთ შეტყობინებას, რომ "BLE არ არის მხარდაჭერილი", მაშინ თქვენს ტელეფონს არ აქვს Bluetooth 4.0 ან უფრო მაღალი და ვერ შეძლებს გაშვებას აპლიკაცია
დარწმუნდით, რომ თქვენს ტელეფონში Bluetooth ჩართულია და დააწკაპუნეთ „სკანირების დაწყებაზე“, სანამ esp დიაპაზონშია და ჩართულია თქვენ უნდა მიიღოთ ტემპერატურის გარკვეული მნიშვნელობა.
შესაძლო შეცდომები:
- -1000:: ეს ნიშნავს, რომ თქვენმა მოწყობილობამ ვერ იპოვა ESP. დარწმუნდით, რომ Bluetooth ჩართულია და სცადეთ გადატვირთოთ ESP.
- SNA:: ეს ნიშნავს, რომ თქვენი ტელეფონი იღებს მონაცემებს ESP– დან, მაგრამ ESP– მა თავად ვერ იპოვა ტემპერატურის სენსორი GPIO 2. დარწმუნდით, რომ კავშირები დაცულია, ნახეთ იყენებთ თუ არა სწორი მნიშვნელობის რეზისტორს. ორმაგად შეამოწმეთ დაფის სქემა, რომ თქვენ ხართ დაკავშირებული GPIO 2 -თან და არა D2- ით მონიშნული პინი.
ნაბიჯი 2: ახსნა
ჩვეულებრივ BLE მუშაობს ის, რომ მოწყობილობა აცხადებს მის სახელს შუქურის მსგავსად, ეს სახელი ყველას შეუძლია დაინახოს და გამოიყენება მოწყობილობის იდენტიფიკაციისთვის. შემდეგ მოწყობილობას შეუძლია შექმნას სხვადასხვა სერვისები, რომლებსაც სხვები ხედავენ მასთან დაკავშირებისას. ამ სერვისებს შეიძლება ჰქონდეთ მონაცემთა სხვადასხვა ნაკადი.
მაგ. მოწყობილობას სახელწოდებით "ამინდის სადგური" შეიძლება ემსახურებოდეს მის ქვეშ, როგორიცაა "ტემპერატურა", "ტენიანობა" და "ქარი". როდესაც თქვენი სმარტფონის მსგავსი BLE მოწყობილობა იკვლევს მოწყობილობებს, ის დაინახავს ამინდის სადგურს და როდესაც მას დაუკავშირდება, ის შეძლებს მიიღოს მონაცემთა ნაკადები შესაბამისი სერვისების შესაბამისად.
ბიბლიოთეკები (ESP32– ისთვის), რომლებიც ამჟამად ჩვენთვის ხელმისაწვდომია, გვაძლევს საშუალებას შევქმნათ შუქურა, რომელსაც სხვები აღმოაჩენენ, მაგრამ ეს არის მისი მოცულობა. ჩვენ არ შეგვიძლია შევქმნათ სერვისები და არც რაიმე მოწყობილობა შეიძლება დაუკავშირდეს მას.
ასე რომ, როგორ ვაგზავნი მონაცემებს სერვისების შექმნის გარეშე არის WiFi ტექნოლოგიის მსგავსი ტექნიკის გამოყენებით Beacon Stuffing. ეს ნიშნავს, რომ მე შევიტან მონაცემებს, რომლებიც უნდა გადაეგზავნოს თავად შუქურის სახელს. ეს მაძლევს შესაძლებლობას რეკლამირდეს მონაცემები შუქურასთან სხვა მოწყობილობების მოთხოვნის გარეშე.
ble.begin (beaconMsg); // beaconMsg არის რეკლამირებული სახელი
ჩვენ ვიყენებთ SimpleBLE ბიბლიოთეკას, რომ შევქმნათ შუქურა მისი სახელწოდებით ESP ფორმატში. სადაც ‘ESP’ ყოველთვის უცვლელი რჩება სახელის დასაწყისში და შეიცვლება getValue () ფუნქციით დაბრუნებული უახლესი მონაცემებით ყოველ 100 მილიწამში.
float getValue () {დაბრუნების sensorValue;}
ანდროიდის აპლიკაცია ეძებს BLE მოწყობილობის სახელებს, დაწყებული "ESP" - ით, ერთხელ ნაპოვნი, ის ყოფს სახელს და მხოლოდ მონაცემებს აჩვენებს ბოლოდან.
კომუნიკაცია მხოლოდ ერთი გზაა, აპლიკაცია არაფერს არ აბრუნებს უკან.
ნაბიჯი 3: დასკვნა
დღის ბოლოს, ეს მეთოდი არ ცვლის სათანადოდ განხორციელებულ BLE ბიბლიოთეკას, მაგრამ ეს შეიძლება იყოს საკმარისი იმისათვის, რომ ზოგიერთი პროექტი დასრულდეს, სანამ BLE– ს სრული მხარდაჭერა არ მოვა Arduino– ში. ვიმედოვნებთ, რომ ეს ინსტრუქცია დაგეხმარათ.
დიდი მადლობა DFRobot.com– ს, რომ გამომიგზავნა ეს პროდუქტები:
- ESP32 FireBeetle დაფა
- FireBeetle Expantion Shield
- DS18B20 ტემპერატურის სენსორი
ახლახანს ვიპოვე ეს ბიბლიოთეკა. ReadME აცხადებს, რომ თქვენ შეგიძლიათ დაუკავშირდეთ სხვა BLE მოწყობილობებს მონაცემების მისაღებად (საკუთარი თავის რეკლამირება შეუძლებელია). არ მიცდია, მაგრამ თუ დაგაინტერესებს შეგიძლია გადაამოწმო.
თქვენ შეგიძლიათ ნახოთ პროექტის ვიდეო: YouTube
გირჩევთ:
როგორ შევქმნათ Linux Boot Drive (და როგორ გამოვიყენოთ იგი): 10 ნაბიჯი
როგორ შევქმნათ Linux ჩატვირთვის დრაივი (და როგორ გამოვიყენოთ იგი): ეს არის მარტივი შესავალი იმის შესახებ, თუ როგორ უნდა დაიწყოთ Linux, კერძოდ Ubuntu
როგორ გამოვიყენოთ გამწმენდი პროგრამა ESP32– ზე: 11 ნაბიჯი (სურათებით)
როგორ გამოვიყენოთ Debugger ESP32– ზე: გსურდათ ოდესმე თქვენი კოდის თვალიერება იმის გასაგებად, თუ რატომ იქცევა ის ასე? ტრადიციულად ESP32 პროექტებში, თქვენ მოგიწევდათ გაუთავებელი ბეჭდური განცხადების დამატება, რათა გაერკვია, რა ხდებოდა, მაგრამ არსებობს უკეთესი გზა! დებაგერი
Rotary Encoder: როგორ მუშაობს და როგორ გამოვიყენოთ Arduino– სთან ერთად: 7 ნაბიჯი
Rotary Encoder: როგორ მუშაობს და როგორ გამოვიყენოთ Arduino– სთან ერთად: შეგიძლიათ წაიკითხოთ ეს და სხვა საოცარი გაკვეთილები ElectroPeak– ის ოფიციალურ ვებ – გვერდზე. მიმოხილვა პირველ რიგში, თქვენ იხილავთ ინფორმაციას ბრუნვის კოდირების შესახებ და შემდეგ ისწავლით თუ როგორ
ESP32 Bluetooth გაკვეთილი - როგორ გამოვიყენოთ ჩაშენებული Bluetooth ESP32: 5 ნაბიჯი
ESP32 Bluetooth გაკვეთილი | როგორ გამოვიყენოთ ESP32- ის ჩაშენებული Bluetooth: გამარჯობა ბიჭებო მას შემდეგ, რაც ESP32 დაფას გააჩნია WiFi & Bluetooth ორივე, მაგრამ ძირითადად ჩვენი პროექტებისთვის ჩვენ ჩვეულებრივ ვიყენებთ მხოლოდ Wifi- ს, ჩვენ არ ვიყენებთ Bluetooth- ს. ასე რომ, ამ ინსტრუქციებში მე ვაჩვენებ, რამდენად ადვილია ESP32- ის Bluetooth- ის გამოყენება & თქვენი ძირითადი პროექტებისთვის
როგორ გამოვიყენოთ Mac ტერმინალი და როგორ გამოვიყენოთ ძირითადი ფუნქციები: 4 ნაბიჯი
როგორ გამოვიყენოთ Mac ტერმინალი და როგორ გამოვიყენოთ ძირითადი ფუნქციები: ჩვენ გაჩვენებთ თუ როგორ გახსნათ MAC ტერმინალი. ჩვენ ასევე გაჩვენებთ ტერმინალის რამდენიმე მახასიათებელს, როგორიცაა ifconfig, დირექტორიების შეცვლა, ფაილების წვდომა და arp. Ifconfig საშუალებას მოგცემთ შეამოწმოთ თქვენი IP მისამართი და თქვენი MAC რეკლამა