Სარჩევი:
- ნაბიჯი 1: ნაწილების სია
- ნაბიჯი 2: Wifi2BLE წრე
- ნაბიჯი 3: Wifi2BLE კონსტრუქცია
- ნაბიჯი 4: Wifi2BLE პროგრამირება
- ნაბიჯი 5: კავშირი BLE მოწყობილობასთან
- ნაბიჯი 6: დაკავშირება BLE პერიფერიულ მოწყობილობასთან
- ნაბიჯი 7: BLE მოწყობილობასთან დაკავშირება WiFi– ის საშუალებით - ყველაფერი ერთად
- ნაბიჯი 8: დახმარება - ის არ მუშაობს
- ნაბიჯი 9: გაფართოებები და დასკვნა
ვიდეო: მარტივი WiFi BLE (Bluetooth დაბალი ენერგიის) ხიდი: 9 ნაბიჯი (სურათებით)
2024 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2024-01-30 10:20
განახლება 2017 წლის 4 დეკემბერი - შესწორებული ბუმბულის nRF52 ესკიზები და გამართვის რჩევები. დამატებულია ყუთში დამონტაჟებული ხიდის სურათები
ეს მარტივი პროექტი უზრუნველყოფს WiFi წვდომას Bluetooth Low Energy (BLE) ნებისმიერ მოდულზე, რომელიც ახორციელებს Nordic's UART– ს TX Notify– ით. Wifi2BLE ხიდი სრულიად გამჭვირვალეა. ის უბრალოდ გადასცემს WiFi მონაცემებს BLE მოწყობილობაზე და გადასცემს BLE მოწყობილობის მონაცემებს უკან WiFi კავშირზე.
უფასო pfodDesignerV3 ქმნის კოდს Nordic UART სერვისის განსახორციელებლად მრავალ BLE მოდულში, მათ შორის, Adafruit Bluefruit Feather nRF52, Arduino/Genuino 101, RedBearLab BLE Nano V2 და V1-V1.5, RedBearLab BLE Shield, Adafruit Bluefruit LE UART მეგობარი, Adafruit Bluefruit LE SPI (ანუ Bluefruit LE Shield, Bluefruit LE Micro, ბუმბული 32u4 Bluefruit LE, ბუმბული M0 Bluefruit LE ან Bluefruit LE SPI მეგობარი) და ნებისმიერი სხვა დაფა, რომელიც საშუალებას მოგცემთ დაგეგმოთ თქვენი საკუთარი სერვისი.
ეს Wifi2BLE ხიდი შესაფერისია გამოუცდელი კონსტრუქტორისთვის, რომელსაც შეუძლია შედუღება. იგი იყენებს მხოლოდ ორ დაფას, ერთ ლენტ კაბელს და ორ რეზისტორს
ისევე როგორც თითოეული დაფის დეტალური ტესტირება, ეს ინსტრუქცია მოიცავს დახმარებას - ეს არ მუშაობს, უფრო მეტი შეცდომის პოვნის რჩევებით.
ეს ინსტრუქციები ასევე ხელმისაწვდომია ონლაინ რეჟიმში
რატომ ეს პროექტი?
ეს პროექტი აგვარებს უამრავ პრობლემას, რაც BLE (Bluetooth Low Energy) აქვს.
- მხოლოდ ბოლოდროინდელი მობილური ტელეფონები და კომპიუტერები უჭერენ მხარს BLE- ს. Wifi2BLE ხიდი საშუალებას აძლევს ნებისმიერ მობილურს ან კომპიუტერს, რომელსაც აქვს WiFi კავშირი, დაუკავშირდეს და გააკონტროლოს BLE მოწყობილობა.
- BLE– ს აქვს შეზღუდული დიაპაზონი. Wifi2BLE ხიდი გაძლევთ წვდომას BLE მოწყობილობაზე სახლის ნებისმიერი ადგილიდან (სადაც არის WiFi კავშირი) და გარედან ინტერნეტის საშუალებით.
- BLE პროგრამების შესაქმნელად საჭიროა ისწავლოთ Android ან iOS. Wifi2BLE ხიდი უზრუნველყოფს ტელნეტის უნივერსალურ კავშირს ნებისმიერი ტერმინალური პროგრამის საშუალებით. უფრო მეტიც, თქვენ შეგიძლიათ მარტივად დაამატოთ ვებ გვერდი WiFi მოდულს თქვენი საკუთარი ინტერფეისის შესაქმნელად.
- BLE V5 გვპირდება mesh ქსელის დაკავშირებას თქვენი სახლის BLE მოწყობილობებთან, მას შემდეგ რაც პროგრამული უზრუნველყოფა დაიჭერს უახლეს Bluetooth სპეციფიკაციას. Wifi2BLE ხიდი იყენებს BLE V5 მოწყობილობას და ასე უზრუნველყოფს ინტერნეტის ხელმისაწვდომობას ამ სახლის ქსელში, როდესაც ის ჩამოვა.
ამ პროექტისთვის ჩემი უშუალო გამოყენება არის დასასვენებელი ოთახის BLE შუქის კონტროლის დამატება WiFi ქსელში, რათა მისი კონტროლი შესაძლებელი იყოს სახლის ნებისმიერი ადგილიდან. მიუხედავად იმისა, რომ ეს სახელმძღვანელო იყენებს pfodApp– ს, როგორც WiFi– ით BLE დაფების კონტროლის მაგალითს, თქვენ არ გჭირდებათ pfodApp– ის შეძენა ამ პროექტის დასასრულებლად.
ნაბიჯი 1: ნაწილების სია
ღირებულება 60 60 აშშ დოლარი 2017 წლის 30 ნოემბრის ჩათვლით, გადაზიდვის გამოკლებით + პატარა პლასტიკური დანართი
Adafruit Feather nRF52 Bluefruit LE - nRF52832 - ~ 25 აშშ დოლარი
Adafruit HUZZAH ESP8266 Breakout - ~ 10 აშშ დოლარი
ლენტი კაბელი ცალკეული ქალის ბოლოებით-ავტობუსის მეკობრეების კაბელი ~ 5 აშშ დოლარი https://www.sparkfun.com/products/9556 ან 10 პინიანი IDC სოკეტი Rainbow Breakout კაბელი ~ 4 აშშ დოლარი https://www.sparkfun.com/products/ 9556 ან მსგავსი
შესვენება მამაკაცის სათაურები - მარჯვენა კუთხე - ~ 2 აშშ დოლარი
USB to TTL 3V3 სერიული კაბელი - ~ 10 აშშ დოლარი https://www.sparkfun.com/products/12977 (სასურველია, რადგან მას აქვს მინიშნებული ქინძისთავები) ან https://www.sparkfun.com/products/12977 (ქინძისთავები არ არის მარკირებული)
USB A to Micro B კაბელი - ~ 4 აშშ დოლარი https://www.sparkfun.com/products/12977 (3 ფუტი სიგრძის) ან ~ 3 აშშ დოლარი https://www.sparkfun.com/products/12977 (6 ინჩი სიგრძის) ან ~ 2 აშშ დოლარი https://www.sparkfun.com/products/12977 (6 ინჩი სიგრძის) ან ~ 5 აშშ დოლარი https://www.sparkfun.com/products/12977 (6 ფუტი სიგრძის) ან მსგავსი
2 x 100 ohm რეზისტორები - ~ 1 აშშ დოლარი
USB კვების წყარო (500mA ან მეტი) - ~ 6 აშშ დოლარი https://www.sparkfun.com/products/12890 ან ~ 7 აშშ დოლარი https://www.adafruit.com/product/1994 ან მსგავსი
Arduino IDE V1.8.5 და კომპიუტერი მის გასაშვებად.
პლასტიკური ყუთისთვის გამოვიყენე ერთი ჯეიკარ UB5 (ლურჯი) 83 მმ x 54 მმ x 31 მმ ~ 4 $
ნაბიჯი 2: Wifi2BLE წრე
Wifi2BLE წრე ნაჩვენებია ზემოთ. აქ არის pdf ვერსია. როგორც ხედავთ, წრე ძალიან მარტივია. მხოლოდ 4 მავთული და ორი 100 ohm დაცვის რეზისტორი. დამცავი რეზისტორები არის იმ შემთხვევაში, თუ თქვენ გამოტოვებთ TX / RX ხაზების დაკავშირებას HUZZAH ESP8266 ან ბუმბულის nRF52 პროგრამირების შემდეგ.
შენიშვნა: ბუმბულის nRF52 დაფის მარკირება TX და RX ქინძისთავებისთვის არის სწორი. TX pin ფაქტიურად არის DFU პინის გვერდით და RX პინი არის MISO პინის გვერდით
დარწმუნდით, რომ დააკავშირებთ TX/RX ხაზებს, როგორც ნაჩვენებია ზემოთ. საბედნიეროდ, დამცავმა რეზისტენტებმა შეასრულეს თავიანთი საქმე და დაფები არ დაზიანებულა, სანამ მე ვხვდებოდი, რატომ არ იღებდნენ დაფები ერთმანეთს.
ნაბიჯი 3: Wifi2BLE კონსტრუქცია
მარჯვენა კუთხის სათაურის ქინძისთავები მოთავსებულია HUZZAH ESP8266– ზე, რათა მოხდეს პროგრამული უზრუნველყოფის გამორთვა. ლენტის კაბელის ოთხი მავთული გამოიყენება ორი დაფის დასაკავშირებლად. შეინახეთ ქალი pin კონექტორები და გაწყვიტეთ ლენტის კაბელის მეორე ბოლო. ჩემს ლენტ კაბელს ჰქონდა იგივე ფერები, როგორც Sparkfun USB to TTL პროგრამირების კაბელი, ამიტომ მე ავირჩიე მავთული, რომელიც მას ემთხვეოდა. შავი GND, წითელი 5V+, ნარინჯისფერი TX (უკავშირდება ESP8266 RX) და ყავისფერი RX (უკავშირდება ESP8266 TX)
მე გავამაგრე დამცავი რეზისტორები ბუმბულის nRF52 დაფის უკანა მხარეს. (დაკვირვებული კონსტრუქტორები, რომლებმაც იციან მათი რეზისტენტული კოდები დაინახავენ, რომ მე გამოვიყენე ორი 68 ოჰმიანი რეზისტორი, რომელსაც ხელით ვაწვდი 100 ომის ნაცვლად) და შემდეგ იზოლირებული ვარ მცირე ზომის შესაფუთით.
წითელი კაბელი მიმაგრებულია ბუმბულის nRF52 USB პინზე USB 5V– ის ასაღებად HUZZAH ESP8266 მოდულის დასაყენებლად და შავი კაბელი მიმაგრებულია ბუმბულის nRF52 GND პინზე.
ყველაფერი რაც არის, გარდა მოდულის პროგრამირებისა, როგორც ქვემოთ აღწერილია, პლასტმასის ყუთში ჩადება და USB დენის წყაროს ჩართვა ბუმბულში nRF52.
ნაბიჯი 4: Wifi2BLE პროგრამირება
პროგრამირება HUZZAH ESP8266
ფარის დასაპროგრამებლად მიჰყევით ინსტრუქციას https://github.com/esp8266/Arduino, რომელიც არის დაფების მენეჯერის ინსტალაცია. როდესაც გახსნით დაფების მენეჯერს Tools → Board მენიუდან და აირჩიეთ Type Contributed და დააინსტალირეთ esp8266 პლატფორმა. ეს პროექტი შედგენილია ESP8266 ვერსიის 2.3.0 გამოყენებით. სხვა ვერსიებს ექნებათ შეცდომების საკუთარი ნაკრები და შეიძლება არ იმუშაონ ამ კოდთან.
შენიშვნა: არ გამოიყენოთ Adafruit დაფის დაყენება, რადგან ესკიზი აქ გამოყენებული არ იქნება ამ კოდის მიხედვით.
დახურეთ და ხელახლა გახსენით Arduino IDE და ახლა თქვენ შეგიძლიათ აირჩიოთ "Adafruit HUZZAH ESP8266" Tools → Board მენიუდან.
თქვენ ასევე უნდა დააინსტალიროთ pfodESP8266WiFiBufferedClient ბიბლიოთეკის უახლესი ვერსია. ეს ბიბლიოთეკა მუშაობს ESP8266.com IDE დანამატთან V2.3. (თუ ადრე დაინსტალირებული გაქვთ pfodESP2866WiFi ბიბლიოთეკა, მთლიანად წაშალეთ ბიბლიოთეკის დირექტორია.)
- ა) გადმოწერეთ ეს pfodESP8266WiFiBufferedClient.zip ფაილი თქვენს კომპიუტერში, გადაიტანეთ თქვენს სამუშაო მაგიდაზე ან სხვა საქაღალდეში, რომელსაც ადვილად იპოვით
- ბ) შემდეგ გამოიყენეთ Arduino 1.8.5 IDE მენიუს ვარიანტი Sketch Library ბიბლიოთეკის იმპორტი Library ბიბლიოთეკის დამატება მისი ინსტალაციისთვის. (თუ Arduino არ მოგცემთ საშუალებას დააინსტალიროთ, რადგან ბიბლიოთეკა უკვე არსებობს, იპოვეთ და წაშალეთ ძველი pfodESP8266BufferedClient საქაღალდე და შემდეგ შემოიტანეთ ეს)
- გ) შეაჩერე და გადატვირთე Arduino IDE და ფაილი-> მაგალითები ახლა უნდა ნახო pfodESP8266BufferedClient.
ქსელის ssid და პაროლის და IP და პორტის დაყენება
მას შემდეგ რაც დააინსტალირებთ pfodESP8266BufferedClient ბიბლიოთეკას, გახსენით Arduino IDE და დააკოპირეთ ესკიზი, Wifi_Bridge.ino, IDE– ში. სანამ მოდულის პროგრამირებას აპირებთ, თქვენ უნდა დააყენოთ თქვენი ქსელის ssid და პაროლი და აირჩიოთ გამოუყენებელი IP.
შეცვალეთ ეს სამი ხაზი Wifi_Bridge.ino– ს ზედა ნაწილთან ახლოს
char ssid = "**** ***"; char პაროლი = "**** *****"; char staticIP = "10.1.1.180";
მე ვიყენებ Fing (Android ან iOS) აპს ჩემი ადგილობრივი ქსელის სკანირებისთვის და უკვე გამოყენებული IP- ს დასადგენად. ჩვეულებრივ უსაფრთხოა აირჩიოს გამოუყენებელი IP დიაპაზონში.180 დან.254 -მდე
დასაწყებად შეგიძლიათ დატოვოთ პორტი No 23, სტანდარტული პორტი ტელნეტის კავშირისთვის.
ამ ცვლილებების შეტანის შემდეგ შეგიძლიათ დააპროგრამოთ ESP8266.
პროგრამირება HUZZAH ESP8266
HUZZAH ESP8266- ის დასაპროგრამებლად, დაუკავშირეთ USB სერიულ კაბელს, როგორც ეს ნაჩვენებია ფოტოში. შეამოწმეთ ფოტო და თქვენი გაყვანილობა. ასევე იხილეთ ESP8266 პროგრამირების რჩევები (espcomm ვერ მოხერხდა)
მე ვიყენებ Sparkfun USB– ს TTL 3V3 სერიულ კაბელს, რადგან მას აქვს TX და RX მინიშნებები. დარწმუნდით, რომ TX წამყვანი ჩართულია RX პინში და RX ტყვიით არის ჩართული TX პინში, როგორც ეს ნაჩვენებია ზემოთ. თუ თქვენ იყენებთ Adafruit კაბელს, მას არ აქვს ტერმინალები მონიშნული, მაგრამ არის კოდირებული ფერით, წითელი არის ძალა, შავი არის დაფქული, მწვანე არის TX და თეთრი არის RX.
შეაერთეთ USB სერიული კაბელი თქვენს კომპიუტერში და აირჩიეთ COM პორტი Tools → Port მენიუში. დატოვეთ პროცესორის სიხშირე, Flash ზომა და ატვირთვის სიჩქარე ნაგულისხმევ პარამეტრებში.
შემდეგ ჩადეთ Adafruit HUZZAH ESP2866 მოდული პროგრამირების რეჟიმში, GPIO0 ღილაკის დაჭერით და ღილაკის Reset ღილაკზე დაჭერით და შემდეგ GPIO0 ღილაკის გათავისუფლებით. GPIO0 led უნდა დარჩეს სუსტად განათებული. შემდეგ შეარჩიეთ ფაილი → ატვირთვა ან გამოიყენეთ მარჯვენა ისრის ღილაკი პროგრამის შესადგენად და ასატვირთად. თუ თქვენ მიიღებთ შეცდომის შეტყობინებას ატვირთვისას, შეამოწმეთ თქვენი საკაბელო კავშირები ჩართულია სწორ ქინძისთავებში და სცადეთ ხელახლა.
პროგრამირების დასრულების შემდეგ მოდულის წითელი ლედ უნდა აინთოს. ეს იმაზე მეტყველებს, რომ ის წარმატებით დაუკავშირდა თქვენს ადგილობრივ ქსელს და დაიწყო სერვერმა კავშირის მიღება.
ტესტირება HUZZAH ESP2866
HUZZAH ESP2866- ის შესამოწმებლად, დატოვეთ პროგრამირების კაბელი დაკავშირებული და გახსენით Arduino IDE Tools → სერიული მონიტორი და დააყენეთ 9600 baud (ქვედა მარჯვენა კუთხე). შემდეგ გახსენით ტერმინალის პროგრამა თქვენს კომპიუტერში, მე ვიყენებ TeraTerm Windows- ისთვის და CoolTerm Mac- ისთვის და ვუკავშირდები IP- ს და პორტს არა დაყენებული გაქვთ Wifi_Bridge.ino ესკიზში.
როდესაც თქვენ აკავშირებთ Red Led მოდულს უნდა დაიწყოს ციმციმა, რაც მიუთითებს, რომ არსებობს კავშირი. თქვენ ახლა უნდა შეგეძლოთ თქვენი კომპიუტერის ტერმინალის ფანჯარაში ჩაწერა და სიმბოლოები უნდა გამოჩნდეს Arduino IDE მონიტორის ფანჯარაში და პირიქით.
Wifi კავშირის ვადა ამოიწურა
Wifi_Bridge.ino კოდს აქვს კავშირის დრო.
uint32_t connectionTimeout = 60000; // 60 წამი კავშირის დრო ამოიწურა
თუ არ არის WiFi მონაცემები მიღებული HUZZAH ESP8266 მოდულის მიერ 60 წამის განმავლობაში, მაშინ მოდულები ხურავს კავშირს და ელოდება ახალს. ეს უზრუნველყოფს მოდულის აღდგენას "ნახევრად დახურული" კავშირებიდან, რაც მოხდა, როდესაც კლიენტი უბრალოდ ქრება ცუდი WiFi კავშირის, როუტერზე ენერგიის დაკარგვის ან კლიენტის იძულებითი გამორთვის გამო. იხილეთ ნახევრად ღია (ჩამოშლილი) TCP/IP სოკეტების კავშირების გამოვლენა დამატებითი დეტალებისთვის.
ამ კავშირის დრო ამოიწურება 60 წმ. მაგრამ შეიძლება შემცირდეს ან გაიზარდოს საჭიროებისამებრ. 0 -ზე დაყენება ნიშნავს დროის ამოწურვას, რაც არ არის რეკომენდებული.
ბუმბულის დაპროგრამება nRF52
ბუმბულის nRF52 დასაპროგრამებლად მიჰყევით ინსტრუქციას ბუმბულის nRF52 Arduino დაფის მხარდაჭერის ჩამოტვირთვისა და დაყენების შესახებ. შეამოწმეთ შეგიძლიათ დაუკავშიროთ და დაპროგრამოთ დაფა USB კაბელის საშუალებით.
შენიშვნა: გათიშეთ HUZZAH ESP8266 მოდული ბუმბულიდან nRF52 ბუმბულის დაპროგრამებამდე
ბუმბულის nRF52 BLE მოწყობილობასთან დაკავშირება ორი ნაბიჯისგან შედგება. ჯერ მოწყობილობაზე MAC მისამართის (და ტიპის) იდენტიფიცირება და მისი შემოწმება მხარს უჭერს Nordic UART სერვისს TX Notify– ით და შემდეგ ამ მისამართისა და ტიპის გადატანა ხიდის ესკიზზე.
ნაბიჯი 5: კავშირი BLE მოწყობილობასთან
მას შემდეგ რაც HUZZAH ESP8266 დაპროგრამდება, თქვენ უნდა დააკოპიროთ BLE მისამართი და მოწყობილობის ტიპი, რომელთან დაკავშირება გსურთ Feather nRF52 ესკიზში. ეს არის ორეტაპიანი პროცესი. I) გაუშვით სკანირების პროგრამა, რათა იპოვოთ ახლომდებარე BLE მოწყობილობები, რომლებიც ახორციელებენ Nordic UART სერვისს (TX Notify) და შემდეგ დააკოპირეთ სკანერის გამომავალი ბუმბულის ხიდის ესკიზში, რათა ის დაუკავშირდეს ამ მოწყობილობას.
BLE პერიფერიული მოწყობილობების სკანირება
თავსებადი BLE პერიფერიული მოწყობილობების დასადგენად, ჩატვირთეთ central_bleuart_scanner.ino პროგრამა თქვენს ბუმბულში nRF52. ეს პროგრამა მუდმივად იკვლევს ახალ მოწყობილობებს და შემდეგ ამოწმებს, უჭერენ თუ არა მხარს სკანდინავიური UART სერვისს TX Notify– ით.
სკანდინავიური UART სერვისი
Nordic UART სერვისი შედგება სამი ნაწილისაგან, Service UUID და RX და TX მახასიათებლებისგან. აქ არის რამოდენიმე კოდის ნიმუში გენერირებული pfodDesignerV3– ით RedBear NanoV2– ისთვის
BLEService uartService = BLEService ("6E400001B5A3F393E0A9E50E24DCCA9E");
BLECharacteristic rxCharacteristic = BLECharacteristic ("6E400002B5A3F393E0A9E50E24DCCA9E", BLEWrite, BLE_MAX_LENGTH); BLECharacteristic txCharacteristic = BLECharacteristic ("6E400003B5A3F393E0A9E50E24DCCA9E", BLENotify, BLE_MAX_LENGTH);
pfodDesignerV3– ს შეუძლია შექმნას ნიმუშის კოდი რამოდენიმე BLE მოდულისთვის. თუმცა, რადგან არ არსებობს BLE სპეციფიკა "სტანდარტული" UART კავშირისთვის, ყველა მოდული არ იყენებს სკანდინავიურ UART სერვისს. მაგალითად HM-10 მოდულები (Itead BLE ფარი), RFduno და Romeo BLE იყენებენ თავიანთ უნიკალურ uart სერვისებს და ამიტომ არ დაუკავშირდებიან ბუმბულს nRF52.
შემდეგი დაფები დაუკავშირდება:- Adafruit Bluefruit Feather nRF52, Arduino/Genuino 101, RedBearLab BLE Nano V2 და V1-V1.5, RedBearLab BLE Shield, Adafruit Bluefruit LE UART Friend and Flora Boards, Adafruit Bluefruit LE SPI (ანუ Bluefruit LE Shield, Bluefruit LE Micro, ბუმბული 32u4 Bluefruit LE, ბუმბული M0 Bluefruit LE ან Bluefruit LE SPI მეგობარი) ასევე დაფები, რომელთა კოდირება შესაძლებელია პერსონალური სერვისებით ან დაფებით, რომლებსაც შეუძლიათ გამოიყენონ BLEPeripheral ბიბლიოთეკა.
მაგალითი დაფა აქ არის Arduino/Genuino 101 კოდით pfodDesignerV3 გენერირებული. უფასო pfodDesignerV3 გაძლევთ საშუალებას შექმნათ pfodApp მენიუ და შემდეგ შექმნათ Arduino კოდი, რომელიც აუცილებელია თქვენი Android მობილურის ზუსტი მენიუს (ფასიანი) pfodApp გამოყენებით. pfodApp ასევე დაუკავშირდება Wifi– ს, ასევე Bluetooth Classic– ის, BLE– ს და SMS– ს საშუალებით და ამგვარად შეიძლება დაუკავშირდეს ამ Wifi2BLE ხიდს. თუმცა მაშინაც კი, თუ არ გსურთ გამოიყენოთ pfodApp როგორც თქვენი საკონტროლო აპლიკაცია, თქვენ მაინც შეგიძლიათ გამოიყენოთ pfodDesignerV3, რათა შექმნათ Nordic UART სერვისის კოდი თქვენი BLE დაფისთვის.
ეს სამეურვეო ბმული აღწერს Arduino/Genuino 101 BLE– ს დაყენებას და მარტივი LED ჩართვის/გამორთვის კონტროლის შექმნას pfodDesignerV3– ით. PfodDesignerV3- ის მიერ წარმოებული ესკიზი არის Arduino101_led_control.ino
Arduino/Genuino 101– ის დაპროგრამება Arduino101_led_control.ino– ით საშუალებას მოგცემთ დაუკავშირდეთ pfodApp– ს და აჩვენოთ შემდეგი ეკრანი თქვენს Android მობილურზე.
თუმცა ეს მხოლოდ მაგალითია და თქვენ არ გჭირდებათ pfodApp– ის შეძენა ამ პროექტის დასასრულებლად. მნიშვნელოვანი ნაწილი ის არის, რომ უფასო pfodDesignerV3 აპლიკაციას აქვს კოდი Arduino/Genuino 101– ისთვის, რომელიც ახორციელებს სკანდინავიურ UART სერვისს. მოდით, დავამოწმოთ იგი.
თუმცა ეს მხოლოდ მაგალითია და თქვენ არ გჭირდებათ pfodApp- ის შეძენა ამ პროექტის დასასრულებლად. მნიშვნელოვანი ნაწილი ის არის, რომ უფასო pfodDesignerV3 აპლიკაციას აქვს კოდი Arduino/Genuino 101– ისთვის, რომელიც ახორციელებს სკანდინავიურ UART სერვისს. მოდით, დავამოწმოთ იგი.
სკანირება სკანდინავიური UART სერვისისთვის
HUZZAH ESP8266 მოდულით გათიშული ბუმბულიდან nRF52, პროგრამირეთ Feather nRF52 central_bleuart_scanner.ino– ით და შემდეგ გახსენით Arduino IDE Tools → სერიული მონიტორი და დააყენეთ ბაუდის სიჩქარე 9600 – ზე. პირველი ეკრანი გადაღებულია ზემოთ.
როგორც ხედავთ, სკანერმა აღმოაჩინა ორი BLE მოწყობილობა, Arduino/Genuino 101, რომელზეც ნაპოვნია სკანდინავიური UART სერვისი, მაგრამ TX მახასიათებელს არ აქვს Notify– ის მხარდაჭერა. სკანერმა ასევე აღმოაჩინა RFduino BLE მოდული, მაგრამ RFduino არ იყენებს სკანდინავიურ UART სერვისს, არამედ იყენებს საკუთარ. Bluetooth კომიტეტი ადანაშაულებს ამაში იმაში, რომ არ დაუკონკრეტებია UART სერვისი "სტანდარტული", არამედ ტოვებს თითოეულ მწარმოებელს, შეადგინოს თავისი სერვისი.
როგორც ზემოთ აღვნიშნეთ, 101 კოდი შეიქმნა pfodDesignerV3– ის მიერ, ძირითადად, pfodApp– თან გამოსაყენებლად. pfodApp არ არის ისეთი კრეფა TX Notify როგორც Feather nRF52 uart კოდი. pfodApp მუშაობს 101 -ით, როგორც დაპროგრამებულია, მაგრამ ბუმბული nRF52 დაჟინებით მოითხოვს TX Notify- ს, ასე რომ, ბუმბულის დასაკმაყოფილებლად საჭიროა კოდის მცირე ცვლილება.
გახსენით Arduino101_led_control.ino Arduino IDE– ში და ზედა ნაწილთან ახლოს ნახავთ ამ ორ ხაზს. მეორე ხაზი არის მხოლოდ მახასიათებლის აღწერა და არ მოქმედებს ოპერაციაზე.
BLECharacteristic txCharacteristic = BLECharacteristic ("6E400003-B5A3-F393-E0A9-E50E24DCCA9E", BLEIndicate, BLE_MAX_LENGTH); BLEDescriptor txNameDescriptor = BLEDescriptor ("29)" ";
შეცვალეთ ისინი
BLECharacteristic txCharacteristic = BLECharacteristic ("6E400003-B5A3-F393-E0A9-E50E24DCCA9E", BLENotify, BLE_MAX_LENGTH); BLEDescriptor txNameDescriptor = BLEDescriptor ("2901", "TX - (შეატყობინე)");
შემდეგ ხელახლა დააპროგრამეთ 101 ამ რედაქტირებული ვერსიით, Arduino101_Notify_led_control.ino. შემდეგ, როდესაც ხელახლა გაუშვებთ Feather nRF52 სკანერს (central_bleuart_scanner.ino), სერიული მონიტორი აჩვენებს მეორე ეკრანს ზემოთ.
Genuino 101– სთვის ახლა შეცდომები არ არის და სკანერი ბეჭდავს Feather nRF52 ხიდის ესკიზისათვის საჭირო კოდს ისე, რომ იგი დაუკავშირდება 101 – ს. წითელი LED ანათებს ერთხელ Nordic UART სერვისით ნაპოვნი თითოეული მოწყობილობისათვის (TX Notify).
ნაბიჯი 6: დაკავშირება BLE პერიფერიულ მოწყობილობასთან
LED ჩვენებები
ბუმბულს nRF52 აქვს ორი led, ლურჯი და წითელი. როდესაც დაფა უკავშირდება BLE მოწყობილობას, Blue Led არის მუდმივი, წინააღმდეგ შემთხვევაში ის ციმციმებს. სკანერი არ რჩება მოწყობილობასთან დაკავშირებული, ამიტომ მისი ცისფერი LED ჩვეულებრივ ციმციმებს. წითელი LED ანათებს ერთხელ Nordic UART სერვისის (TX Notify) მოწყობილობისთვის. სკანერის სახით მუშაობისას Red Led ითვლის ნაპოვნი Nordic UART Service (TX Notify) მოწყობილობების რაოდენობას. როდესაც მუშაობს როგორც ხიდი, წითელი Led ციმციმებს ერთხელ, როდესაც დაკავშირებულია კოდი BLE მისამართთან.
დაკავშირება BLE პერიფერიულ მოწყობილობასთან
ახლა, როდესაც სკანერის ესკიზმა მოგვაწოდა დეტალები BLE მოწყობილობისთვის, რომელთანაც გსურთ დაკავშირება, შეგიძლიათ დააკოპიროთ გამომავალი central_bleuart_bridge.ino ესკიზში. ამ ესკიზის ზედა ნაწილში ნახავთ შემდეგ კოდს.
// კოდის ეს მომდევნო სამი ხაზი მოდის central_bleuart_scanner.ino გამომავალიდან
const char *BLE_NAME = "GENUINO 101-FC8F"; const char *BLE_ADDRESS = "98: 4F: EE: 0C: FC: 8F"; const uint8_t BLE_ADDRESS_TYPE = 0;
შეცვალეთ კოდის სამი ხაზი სკანერიდან გამომავალი BLE მოწყობილობით, რომელზეც გსურთ ხიდი. შემდეგ დაპროგრამეთ Feather nRF52 რედაქტირებული central_bleuart_bridge.ino ესკიზით.
ცენტრალური_ბლეუარტის_ხიდის ესკიზის ტესტირება
სანამ HUZZAH ESP8266 დააბრუნებთ ბუმბულს nRF52, შეამოწმეთ კავშირი თქვენს BLE მოწყობილობასთან. დატოვეთ ბუმბულის nRF52 დაკავშირებული თქვენთან Arduino IDE, გახსენით ინსტრუმენტები → სერიული მონიტორი 9600 baud და შემდეგ შეამოწმეთ თქვენი სამიზნე BLE მოწყობილობა გააქტიურებულია.
როდესაც კავშირი დამყარდება თქვენს BLE მოწყობილობასთან, როგორც ზემოთ აღწერილია, ცისფერი led მუდმივად ანათებს და წითელი led აანთებს ყოველ 10 წამში ერთხელ.ეს საშუალებას გაძლევთ არ დაამყაროთ და შეინარჩუნოთ კავშირი.
შემდეგ სერიულ მონიტორში შეგიძლიათ შეიყვანოთ ბრძანებები, რომელთა გაგზავნასაც ელოდებით თქვენს BLE მოწყობილობაზე და უყუროთ მის მუშაობას და მონიტორინგს გაუგზავნოთ ნებისმიერი პასუხი. თუ ყველაფერი კარგად არის, შეგიძლიათ გამორთოთ და ჩართოთ HUZZAH ESP8266 მოდული.
ნაბიჯი 7: BLE მოწყობილობასთან დაკავშირება WiFi– ის საშუალებით - ყველაფერი ერთად
მას შემდეგ რაც პროგრამირებთ და შეამოწმებთ HUZZAH ESP8266 მოდულს მისი ხიდის კოდით (Wifi_Bridge.ino) თქვენი ქსელის ssid და პაროლისთვის და IP– სთვის და პროგრამირებული და შესამოწმებელი ბუმბული nRF52 მისი ხიდის კოდით (central_bleuart_bridge.ino) კონფიგურირებული BLE მოწყობილობის მისამართით და აკრიფეთ, შემდეგ შეგიძლიათ შეაერთოთ ისინი ერთმანეთთან და შეაერთეთ USB წყარო ბუმბულის მოდულში, რათა ორივე გაააქტიუროთ.
HUZZAH მოდული Red led უნდა აანთოს მყარად, როდესაც ის უკავშირდება თქვენს ადგილობრივ ქსელის როუტერს და ბუმბულის ლურჯი led უნდა აანთოს მყარად, რადგან ის თქვენს BLE მოწყობილობას უკავშირდება და ბუმბულის წითელი led უნდა აანთოს ერთხელ ყოველ 10 წამში ერთხელ ან ასე რომ მიუთითოს მხოლოდ BLE მოწყობილობა დაკავშირებულია.
გახსენით თქვენი ტელნეტის პროგრამა და დაუკავშირდით HUZZAH– ის IP და პორტს. HUZZAH Red led უნდა ციმციმებ ნელა იმის მითითებით, რომ თქვენი პროგრამა დაკავშირებულია და თქვენ უნდა გაგზავნოთ ბრძანებები თქვენს BLE მოწყობილობაზე WiFi- ით და უყუროთ BLE მოწყობილობის მუშაობას და დაინახოთ ნებისმიერი პასუხი თქვენს ტელნეტის ფანჯარაში. დაიმახსოვრეთ, თუ თქვენი BLE მოწყობილობა არ გაგზავნის მონაცემებს 60 წამის განმავლობაში, HUZZAH კოდი ამოწურავს კავშირს და გათიშავს და HUZZAH Red led კვლავ მყარი გახდება.
ნაბიჯი 8: დახმარება - ის არ მუშაობს
ჯერ გააკეთეთ ზემოთ აღწერილი ტესტირების ნაბიჯები, ტესტირება HUZZAH ESP2866 და ტესტირება central_bleuart_bridge ესკიზის.
სკანირების პრობლემები
თუ სკანერი ვერ პოულობს თქვენ BLE მოწყობილობას, ის ძალიან შორს არის, ან არ არის რეკლამა, ან უკვე დაკავშირებულია რაღაცასთან. სცადეთ სკანერი უფრო ახლოს მიიტანოთ და გააცილეთ მოწყობილობა და გამორთეთ ყველა სხვა მობილური მოწყობილობა, რომელსაც შეიძლება ჰქონდეს კავშირი BLE მოწყობილობასთან.
თუ თქვენ მიიღებთ სკანერის ამგვარ გამომუშავებას.
დაკავშირებულია 98: 4F: EE: 0C: FC: 8F ვეძებთ სკანდინავიურ UART სერვისს… არ მოიძებნა ან არ არის აღმოჩენილი !!!!! ვერ ხერხდება სკანდინავიური UART სერვისის იდენტიფიცირება !!!!!!!! თუ თქვენ ელოდებდით სკანდინავიურ UART სერვისს, გადაიტანეთ სკანერი უფრო ახლოს BLE მოწყობილობასთან !!!!
შესაძლოა, თქვენ საკმარისად ახლოს ხართ BLE მოწყობილობასთან, რომ აღმოაჩინოთ იგი, მაგრამ არც ისე ახლოს, რომ წარმატებით გააკეთოთ სერვისის აღმოჩენა სკანდინავიური UART სერვისის საპოვნელად. სცადეთ მიუახლოვდეთ BLE მოწყობილობას.
როგორც უკიდურესი საშუალება, შეგიძლიათ გამოიყენოთ უფასო Nordic nRF Connect აპლიკაცია Android ან iOS– ისთვის. ამ აპს აქვს უკეთესი დიაპაზონი და მგრძნობელობა. ის გეტყვით აქვს თუ არა BLE მოწყობილობას Nordic UART სერვისი. თუმცა თქვენ მაინც დაგჭირდებათ სკანერის გაშვება და დაკავშირება და იდენტიფიცირება Nordic UART სერვისის გამოყენებამდე, სანამ შეეცდებით გამოიყენოთ Wifi2BLE ხიდი, რადგან ის იყენებს სკანერის მსგავს კოდს.
თუ გსურთ გაღრმავება, შეგიძლიათ გამოიყენოთ Adafruit Bluefruit LE Sniffer მოდული, რომ ნახოთ რა არის ჰაერში.
BLE კავშირის პრობლემები
თუ თქვენ მოახერხეთ BLE მოწყობილობის სკანირება მაშინ კავშირის პრობლემების ყველაზე სავარაუდო მიზეზებია I) BLE მოწყობილობა ძალიან შორს არის II) სხვა რამ უკვე დაკავშირებულია BLE მოწყობილობასთან
WiFi კავშირის პრობლემები
თუ HUZZAH ESP8266 Red led არ ანათებს მყარად, მაშინ მას არ აქვს კავშირი თქვენს ქსელთან თქვენი როუტერის საშუალებით. შეამოწმეთ ssid და პაროლი, რომელიც გაქვთ Wifi_Bridge.ino– ში და გამოიყენეთ Fing აპლიკაცია Android ან iOS იმის შესამოწმებლად, რომ თქვენ მიერ გამოყოფილი IP უკვე არ გამოიყენება. სცადეთ გამორთოთ ყველა თქვენი კომპიუტერი და მოწყობილობა და ჩართეთ როუტერი (დატოვეთ 20 წამი) და შემდეგ კვლავ დაასკანირეთ Fing– ით. ბოლოს და ბოლოს, თუ კავშირი კვლავ იშლება, დაიმახსოვრეთ კავშირის ვადის გასვლის პარამეტრი Wifi_Bridge.ino კოდში.
ნაბიჯი 9: გაფართოებები და დასკვნა
აქ წარმოდგენილი პროექტი უმარტივესი ვერსიაა. არსებობს მრავალი შესაძლო გაფართოება, როგორიცაა:-
- ბუმბულს nRF52 შეუძლია დაუკავშიროს ერთდროულად 4 - მდე BLE მოწყობილობა, ასე რომ თქვენ შეგიძლიათ შეცვალოთ კოდი, რომ დაამატოთ უფრო სწორი მისამართები და გააკონტროლოთ 4 - მდე მოწყობილობა ერთი WiFi კავშირიდან. იხილეთ მაგალითი კოდი, რომელსაც მოყვება Feather nRF52 დაფის დაყენება.
- თქვენ შეგიძლიათ გაანადგუროთ თქვენი როუტერი, რათა უზრუნველყოთ წვდომა BLE მოწყობილობაზე ინტერნეტიდან ნებისმიერი ადგილიდან. იხილეთ DIY IoT მოწყობილობების ინტერნეტთან დაკავშირება pfodApp– ით.
- თქვენ შეგიძლიათ გამოიყენოთ კოდი იაფი/მარტივი Wifi Shield– დან, რომელიც საშუალებას მოგცემთ დააკონფიგურიროთ WiFi ქსელის პარამეტრები HUZZAH– ისთვის ვებ - გვერდის საშუალებით, გადაპროგრამების გარეშე. თქვენ უნდა დაამატოთ კონფიგურაციის ღილაკი წრედში.
- თქვენ შეგიძლიათ დაამატოთ კონფიგურაციის ღილაკი (იგივე ღილაკის გამოყენებით ზემოთ), რაც ბუმბულის nRF52 სკანირებას უკეთებს BLE მოწყობილობებს სკანდინავიური UART– ით (TX Notify) და შემდეგ შეინახეთ კავშირის დეტალები ყველაზე ძლიერი სიგნალისთვის. შედეგის შესანახად, თქვენ უნდა გამოიყენოთ nffs ბიბლიოთეკა, რომელსაც გააჩნია Adafruit nRF52 დაფის დაყენება.
- თქვენ შეგიძლიათ დაამატოთ ვებ გვერდი HUZZAH ESP8266 კოდს, რათა უზრუნველყოთ პერსონალური ინტერფეისი თქვენი BLE მოწყობილობისთვის. თქვენ ასევე შეგიძლიათ გამოიყენოთ pfodDesignerV3 და pfodApp დაამატოთ პერსონალური ინტერფეისი ამ პროექტში ცვლილებების გარეშე.
დასკვნა
ეს მარტივი პროექტი უზრუნველყოფს WiFi წვდომას Bluetooth Low Energy (BLE) ნებისმიერ მოდულზე, რომელიც ახორციელებს Nordic's UART– ს TX Notify– ით. Wifi2BLE ხიდი სრულიად გამჭვირვალეა. ის უბრალოდ გადასცემს WiFi მონაცემებს BLE მოწყობილობაზე და გადასცემს BLE მოწყობილობის მონაცემებს უკან WiFi კავშირზე.
მარტივი კონსტრუქცია და დეტალური ტესტირების ინსტრუქცია აქცევს შესაფერის პროექტს დამწყებთათვის, რომელთაც სურთ თავიანთი BLE მოწყობილობის წვდომა კომპიუტერიდან ან BLE– ს ნორმალური დიაპაზონის გარეთ.
ეს პროექტი უფრო მნიშვნელოვანი გახდება მას შემდეგ, რაც BLE მოწყობილობის პროგრამული უზრუნველყოფა დაეუფლება ახალ Bluetooth V5 Mesh სპეციფიკაციას. შემდეგ Wifi2BLE მოგაწვდით ინტერნეტს თქვენი სახლის ავტომატიზაციისთვის.
გირჩევთ:
მარტივი ძალიან დაბალი სიმძლავრის BLE არდუინოში ნაწილი 2 - ტემპერატურის/ტენიანობის მონიტორი - რევ. 3: 7 ნაბიჯი
მარტივი ძალიან დაბალი სიმძლავრის BLE Arduino– ში ნაწილი 2 - ტემპერატურის/ტენიანობის მონიტორი - Rev 3: განახლება: 23 ნოემბერი 2020 - 2 x AAA ბატარეის პირველი შეცვლა 2019 წლის 15 იანვრიდან, ანუ 22 თვე 2xAAA Alkaline– ის განახლება: 2019 წლის 7 აპრილი - Rev 3 of lp_BLE_TempHumidity, ამატებს თარიღის/დროის დიაგრამებს, pfodApp V3.0.362+ - ის გამოყენებით და ავტომატური ჩახშობისას თუ
დაბალი დაბალი წინააღმდეგობის მარტივი ტესტერი (მილიომეტრი): 5 ნაბიჯი
მარტივი დაბალი წინააღმდეგობის გამომცდელი (მილიომეტრი): თუ გსურთ იცოდეთ დაბალი წინააღმდეგობის ისეთი კომპონენტების წინააღმდეგობა, როგორიცაა მავთულები, კონცენტრატორები და კოჭები, შეგიძლიათ გამოიყენოთ ეს მილიოჰმ მეტრი. მისი დამზადება მარტივია და იაფი. ის ჯიბეშიც კი ჯდება. ოჰმეტრების უმეტესობა ზუსტია 1 ომამდე
როგორ სწორად გავზომოთ უკაბელო საკომუნიკაციო მოდულების ენერგიის მოხმარება დაბალი ენერგიის მოხმარების ხანაში?: 6 ნაბიჯი
როგორ სწორად გავზომოთ უკაბელო საკომუნიკაციო მოდულების ენერგიის მოხმარება დაბალი ენერგიის მოხმარების ხანაში?: დაბალი ენერგიის მოხმარება ძალზედ მნიშვნელოვანი კონცეფციაა ნივთების ინტერნეტში. IoT კვანძების უმეტესობა უნდა იკვებებოდეს ბატარეებით. მხოლოდ უკაბელო მოდულის ენერგიის მოხმარების სწორად გაზომვით ჩვენ შეგვიძლია ზუსტად შევაფასოთ რამდენი ბატარეა მაქვს
LEIDS - დაბალი ენერგიის IOT კარის სენსორი: 8 ნაბიჯი (სურათებით)
LEIDS - დაბალი ენერგიის IOT კარის სენსორი: რა არის LEIDS? LEIDS არის IOT სენსორი, რომელიც დაფუძნებულია ESP8266– ის გარშემო. ეს სენსორი იყენებს ამ დაფას, რბილი ჩამკეტის წრეს, ლერწმის გადამრთველს და რამოდენიმე მაგნიტს კარის სენსორის შესაქმნელად, რომელიც გამოგიგზავნით სიგნალს კარების გახსნისას და დახურვისას
მარტივი ძალიან დაბალი სიმძლავრის BLE Arduino ნაწილში 3 - Nano V2 შეცვლა - Rev 3: 7 ნაბიჯი (სურათებით)
მარტივი ძალიან დაბალი სიმძლავრის BLE Arduino ნაწილში 3 - Nano V2 შეცვლა - Rev 3: განახლება: 7 აპრილი 2019 - Rev 3 of lp_BLE_TempHumidity, დასძენს თარიღი/დრო ნაკვეთებს, pfodApp V3.0.362+ - ის გამოყენებით და მონაცემთა გაგზავნის ავტომატურ ჩამორთმევას განახლება: 24 მარტი 2019 - lp_BLE_TempHumidity Rev 2, ამატებს ნაკვეთის მეტ ვარიანტს და i2c_ClearBus, ამატებს GT832E