תוכן עניינים:

גשר פשוט ל- BLE (Bluetooth Low Energy): 9 שלבים (עם תמונות)
גשר פשוט ל- BLE (Bluetooth Low Energy): 9 שלבים (עם תמונות)

וִידֵאוֹ: גשר פשוט ל- BLE (Bluetooth Low Energy): 9 שלבים (עם תמונות)

וִידֵאוֹ: גשר פשוט ל- BLE (Bluetooth Low Energy): 9 שלבים (עם תמונות)
וִידֵאוֹ: 10 самых АТМОСФЕРНЫХ мест Дагестана. БОЛЬШОЙ ВЫПУСК #Дагестан #ПутешествиеПоДагестану 2024, יולי
Anonim
WiFi פשוט לגשר BLE (Bluetooth Low Energy)
WiFi פשוט לגשר BLE (Bluetooth Low Energy)
WiFi פשוט לגשר BLE (Bluetooth Low Energy)
WiFi פשוט לגשר BLE (Bluetooth Low Energy)
WiFi פשוט לגשר BLE (Bluetooth Low Energy)
WiFi פשוט לגשר BLE (Bluetooth Low Energy)

עדכון 4 בדצמבר 2017 - סקיצות מתוקנות של Feather nRF52 וטיפים לאיתור באגים. נוספו תמונות של גשר רכוב בקופסה

פרויקט פשוט זה מספק גישה WiFi לכל מודול Bluetooth נמוך אנרגיה (BLE) המיישם את UART של Nordic עם TX Notify. גשר Wifi2BLE שקוף לחלוטין. הוא פשוט מעביר את נתוני ה- WiFi למכשיר ה- BLE ומעביר את נתוני מכשיר ה- BLE בחזרה לחיבור ה- WiFi.

PfodDesignerV3 החינמי יוצר קוד ליישום שירות UART נורדי במודולי BLE רבים, כולל Adafruit Bluefruit Feather nRF52, Arduino/Genuino 101, RedBearLab BLE Nano V2 ו- V1-V1.5, RedBearLab BLE Shield, Adafruit Bluefruit LE UART Friend ו- Flora Boards, Adafruit Bluefruit LE SPI (כלומר Bluefruit LE Shield, Bluefruit LE Micro, Feather 32u4 Bluefruit LE, Feather M0 Bluefruit LE או Bluefruit LE SPI Friend) וכל לוחות אחרים המאפשרים לך לתכנת שירות משלך.

גשר Wifi2BLE זה מתאים לבנאי חסר ניסיון שיכול להלחם. הוא משתמש בשני לוחות בלבד, כבל סרט אחד ושני נגדים

בנוסף לבדיקות מפורטות עבור כל לוח, הוראה זו כוללת שלב עזרה - זה לא עובד עם עצות נוספות לאיתור תקלות.

הוראות אלה זמינות גם באינטרנט

למה הפרויקט הזה?

פרויקט זה פותר מספר בעיות שיש ל- BLE (Bluetooth Low Energy).

  • רק מוביילים ומחשבים אחרונים תומכים ב- BLE. גשר Wifi2BLE מאפשר לכל נייד או מחשב עם חיבור WiFi להתחבר למכשיר ה- BLE ולשלוט בו.
  • ל- BLE טווח מוגבל. גשר Wifi2BLE מאפשר לך לגשת למכשיר ה- BLE מכל מקום בבית (שם יש חיבור WiFi) ומבחוץ דרך האינטרנט.
  • יצירת אפליקציות BLE דורשת ללמוד Android או iOS. גשר Wifi2BLE מספק חיבור טלנט אוניברסלי באמצעות כל תוכנית מסוף. עוד יותר אתה יכול בקלות להוסיף דף אינטרנט למודול ה- WiFi כדי ליצור ממשק מותאם אישית משלך.
  • BLE V5 מבטיח רשתות רשת לחיבור כל מכשירי ה- BLE הביתית שלך, ברגע שהתוכנה תדביק את המפרט העדכני ביותר של Bluetooth. גשר Wifi2BLE משתמש במכשיר BLE V5 ולכן יספק גישה לאינטרנט לרשת הביתית הזו עם הגעתו.

השימוש המיידי שלי בפרויקט זה הוא להוסיף את בקרת האור BLE בחדר הטרקלין לרשת ה- WiFi כדי לאפשר שליטה עליו מכל מקום בבית. למרות שהדרכה זו משתמשת ב- pfodApp כדוגמה לשליטה בלוחות BLE באמצעות WiFi, אינך צריך לרכוש pfodApp כדי להשלים פרויקט זה.

שלב 1: רשימת חלקים

עלות ~ 60 דולר ארה ב ליום 30 בנובמבר 2017, לא כולל משלוח + מארז פלסטיק קטן

Adafruit Feather nRF52 Bluefruit LE - nRF52832 - ~ 25 $

Adafruit HUZZAH ESP8266 פריצה - ~ $ 10

כבל סרט עם קצוות נקבה נפרדים-כבל פיראט אוטובוס ~ 5 $ https://www.sparkfun.com/products/9556 או 10 פינים כבל IDC Socket Rainbow Breakout ~ US $ 4 https://www.sparkfun.com/products/ 9556 או דומה

כותרות גברי מנותקות - זווית ישרה - 2 $ -

כבל סידורי מסוג USB ל- TTL 3V3 - ~ 10 $ https://www.sparkfun.com/products/12977 (עדיף כיוון שהסיכות מסומנות עליו) או https://www.sparkfun.com/products/12977 (סיכות אינן מתויג)

כבל USB A למיקרו B - ~ 4 $ https://www.sparkfun.com/products/12977 (אורך 3 רגל) או ~ 3 $ https://www.sparkfun.com/products/12977 (אורך 6 אינץ ') OR ~ 2 $ https://www.sparkfun.com/products/12977 (אורך 6 אינץ ') OR ~ US $ 5 https://www.sparkfun.com/products/12977 (6 רגל אורך) או דומה

נגדים של 2 x 100 אוהם - 1 דולר ארה ב

ספק כוח USB (500mA או יותר) - 6 $ ל https://www.sparkfun.com/products/12890 או ~ 7 $ https://www.adafruit.com/product/1994 או דומה

Arduino IDE V1.8.5 ומחשב להריץ אותו.

עבור קופסת פלסטיק השתמשתי באחת מ- Jaycar UB5 (כחול) 83 מ"מ x 54 מ"מ x 31 מ"מ ~ 4 $

שלב 2: מעגל Wifi2BLE

מעגל Wifi2BLE
מעגל Wifi2BLE

מעגל Wifi2BLE מוצג למעלה. גרסת pdf נמצאת כאן. כפי שאתה יכול לראות המעגל פשוט מאוד. רק 4 חוטים ושני נגדי הגנה של 100 אוהם. נגדי ההגנה הם במקרה שאתה מחמיץ את קווי TX / RX לאחר שתכנת את HUZZAH ESP8266 או את Feather nRF52.

הערה: סימון לוח ה- nRF52 של Feather לסיכות TX ו- RX אינו תקין. סיכת TX היא למעשה זו שלצד סיכת ה- DFU וסיכת ה- RX היא זו שליד סיכת ה- MISO

הקפד לחבר את קווי TX/RX כפי שמוצג למעלה. למרבה המזל נגדי ההגנה עשו את עבודתם והלוחות לא נפגעו בזמן שגיליתי מדוע הלוחות לא מתייחסים זה לזה.

שלב 3: בניית Wifi2BLE

בנייה Wifi2BLE
בנייה Wifi2BLE
בנייה Wifi2BLE
בנייה Wifi2BLE
בנייה Wifi2BLE
בנייה Wifi2BLE

סיכות כותרת זווית ימין מולחמות על HUZZAH ESP8266 כדי לאפשר לנתק אותה מהחשמל לתכנות. ארבעה חוטים של כבל הסרט משמשים לחיבור שני הלוחות. שמור על מחברי הסיכה הנשית וחתך את הקצה השני של כבל הסרט. לכבל הסרט שלי היו אותם צבעים כמו כבל התכנות Sparkfun USB to TTL אז בחרתי בחוט שיתאים לו. שחור עבור GND, אדום עבור 5V+, כתום עבור TX (מתחבר ל- ESP8266 RX) וחום עבור RX (מתחבר ל- ESP8266 TX)

חיברתי את נגדי ההגנה בחלק האחורי של לוח ה- nRF52 של Feather. (בונים שומרי מצוות שיודעים את קודי הנגדים שלהם יראו שהשתמשתי בשני נגדים של 68 אוהם שאני מחזיק ביד במקום 100 אוהם) ואז בידדתי אותם עם מעט כיווץ.

הכבל האדום מולחם לסיכת ה- USB של Feather nRF52 כדי להרים את ה- 5V USB להנעת מודול HUZZAH ESP8266 והכבל השחור מולחם לפין nRF52 GND Feather.

כל מה שיש מלבד תכנות המודולים, כמתואר להלן, הכנסתו לקופסת פלסטיק וחיבור ספק כוח USB ל- neather FR52 של Feather.

שלב 4: תכנות Wifi2BLE

תכנות Wifi2BLE
תכנות Wifi2BLE
תכנות Wifi2BLE
תכנות Wifi2BLE
תכנות Wifi2BLE
תכנות Wifi2BLE

תכנות ה- HUZZAH ESP8266

כדי לתכנת את המגן בצע את ההוראות המפורטות בכתובת https://github.com/esp8266/Arduino תחת התקנה עם מנהל לוחות. בעת פתיחת מנהל הלוחות מהתפריט כלים → לוח ובחר סוג תורם והתקן את פלטפורמת esp8266. פרויקט זה נאסף באמצעות גרסת ESP8266 2.3.0. לגרסאות אחרות תהיה מערכת באגים משלהן וייתכן שהן לא יפעלו עם קוד זה.

הערה: אין להשתמש בהתקנת לוח Adafruit מכיוון שהסקיצה המשמשת כאן לא תתאסף תחת קוד זה.

סגור ופתח מחדש את ה- Arduino IDE ועכשיו תוכל לבחור "Adafruit HUZZAH ESP8266" מהתפריט כלים → לוח.

עליך גם להתקין את הגירסה העדכנית ביותר של ספריית pfodESP8266WiFiBufferedClient. ספרייה זו פועלת עם תוסף ESP8266.com IDE V2.3. (אם התקנת בעבר את ספריית pfodESP2866WiFi, מחק את ספריית הספרייה הזו לחלוטין.)

  • א) הורד את הקובץ pfodESP8266WiFiBufferedClient.zip למחשב שלך, העבר אותו לשולחן העבודה או לתיקיה אחרת שתוכל למצוא בקלות
  • ב) לאחר מכן השתמש באפשרות התפריט Arduino 1.8.5 IDE סקיצה → ייבוא ספרייה → הוסף ספרייה כדי להתקין אותה. (אם ארדואינו לא מאפשר לך להתקין אותה מכיוון שהספרייה כבר קיימת, מצא ומחק את התיקיה הישנה יותר pfodESP8266BufferedClient ולאחר מכן ייבא זאת)
  • ג) עצור והפעל מחדש את Arduino IDE ותחת קובץ-> דוגמאות כעת אתה אמור לראות pfodESP8266BufferedClient.

הגדרת ה- SSID והסיסמה של הרשת ו- IP והיציאה

לאחר שהתקנת את ספריית pfodESP8266BufferedClient, פתח את IDE Arduino והעתק את הסקיצה הזו, Wifi_Bridge.ino, לתוך IDE. לפני שתתכנת את המודול, עליך להגדיר את ה- SSID והסיסמה של הרשת שלך ולבחור IP שאינו בשימוש.

ערוך את שלושת השורות האלה ליד החלק העליון של Wifi_Bridge.ino

char ssid = "**** ***"; char password = "**** *****"; 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 ל- Serial למחשב ובחר אותו ביציאת COM בתפריט כלים → יציאה. השאר את תדר המעבד, גודל הבזק ומהירות ההעלאה בהגדרות ברירת המחדל שלהם.

לאחר מכן הכנס את מודול Adafruit HUZZAH ESP2866 למצב תכנות על ידי לחיצה ממושכת על לחצן הלחיצה GPIO0 ולחיצה על לחצן איפוס ולאחר מכן שחרור כפתור הלחיצה GPIO0. נורית ה- GPIO0 צריכה להישאר מוארת. לאחר מכן בחר קובץ → העלה או השתמש בלחצן החץ הימני כדי לאסוף ולהעלות את התוכנית. אם אתה מקבל הודעת שגיאה בהעלאה בדוק שחיבורי הכבלים שלך מחוברים לסיכות הנכונות ונסה שוב.

לאחר השלמת התכנות הנורית האדומה במודול אמורה להידלק. זה מצביע על כך שהוא התחבר בהצלחה לרשת המקומית שלך והתחיל את השרת לקבל חיבור.

בדיקת HUZZAH ESP2866

כדי לבדוק את HUZZAH ESP2866, השאר את כבל התכנות מחובר ופתח את Arduino IDE Tools → צג טורי והגדר 9600 באוד (בפינה הימנית התחתונה). לאחר מכן פתח תוכנית מסוף במחשב שלך, אני משתמש ב- TeraTerm עבור Windows ו- CoolTerm עבור Mac, ומתחבר ל- IP ולנמל לא הגדרת במערכון Wifi_Bridge.ino.

כאשר אתה מחבר את הלד האדום על המודול אמור להתחיל להבהב, מה שמעיד על חיבור. כעת אתה אמור להיות מסוגל להקליד בחלון מסוף המחשבים שלך והתווים צריכים להופיע בחלון הצג של Arduino IDE ולהיפך.

הזמן הקצוב לחיבור Wifi

לקוד Wifi_Bridge.ino יש זמן חיבור.

uint32_t connectionTimeout = 60000; // פסק זמן חיבור של 60 שניות

אם אין נתוני WiFi המתקבלים על ידי מודול HUZZAH ESP8266 למשך 60 שניות, המודולים סוגרים את החיבור ומחכים לחיבור חדש. זה מבטיח שהמודול מתאושש מחיבורים 'חצי סגורים' שקורים והלקוח פשוט נעלם בגלל חיבור WiFi רע, אובדן חשמל בנתב או כיבוי של הלקוח. עיין בזיהוי חיבורי שקע TCP/IP פתוחים למחצה (נשמט) לפרטים נוספים.

פסק הזמן לחיבור זה מוגדר ל- 60 שניות. אך יכול לרדת או להגדיל לפי הצורך. הגדרה ל- 0 פירושה שלעולם אין פסק זמן וזה לא מומלץ.

תכנות ה- Feather nRF52

כדי לתכנת את Feather nRF52, בצע את ההוראות להורדה והתקנה של תמיכת לוח Arduino ל- Feather nRF52. בדוק שאתה יכול להתחבר ולתכנת את הלוח באמצעות כבל ה- USB.

הערה: נתק את מודול HUZZAH ESP8266 מה- nRF52 Feather לפני שתנסה לתכנת את הנוצה

חיבור ה- Feather nRF52 למכשיר BLE מורכב משני שלבים. תחילה מזהים את כתובת ה- MAC (והסוג) במכשיר ובודקים שהוא תומך בשירות UART הנורדי עם TX Notify ולאחר מכן מעביר את הכתובת והסוג הזה לשרטוט הגשר.

שלב 5: חיבור למכשיר BLE

חיבור למכשיר BLE
חיבור למכשיר BLE
חיבור למכשיר BLE
חיבור למכשיר BLE
חיבור למכשיר BLE
חיבור למכשיר BLE

לאחר שתוכנת את HUZZAH ESP8266, עליך לקודד את כתובת BLE וסוג המכשיר שאליו ברצונך להתחבר לסקיצה של Feather nRF52. זהו תהליך דו -שלבי. I) הפעל את תכנית הסריקה כדי למצוא התקני BLE בקרבת מקום המיישמים את שירות UART הנורדי (TX Notify) ולאחר מכן העתק את פלט הסורק לסקיצה של גשר נוצה כדי לגרום לו להתחבר למכשיר זה.

סריקת ציוד היקפי BLE

כדי לזהות ציוד היקפי תואם BLE, טען את התוכנית central_bleuart_scanner.ino לתוך ה- nRF52 Feather שלך. תוכנית זו כל הזמן סורקת מכשירים חדשים ולאחר מכן בודקת אם הם תומכים בשירות UART הנורדי באמצעות TX Notify.

שירות UART נורדי

שירות UART הנורדי מורכב משלושה חלקים, שירות 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 ורומיאו BLE משתמשים בשירותי uart ייחודיים משלהם ולכן לא יתחברו ל- Feather nRF52.

הלוחות הבאים יתחברו:- Adafruit Bluefruit Feather nRF52, Arduino/Genuino 101, RedBearLab BLE Nano V2 ו- V1-V1.5, RedBearLab BLE Shield, Adafruit Bluefruit LE UART Friend ו- Flora Boards, Adafruit Bluefruit LE SPI (כלומר Bluefruit LE Shield), Bluefruit LE Micro, Feather 32u4 Bluefruit LE, Feather M0 Bluefruit LE או Bluefruit LE SPI Friend) וכן לוחות הניתנים לקידוד עם שירותים מותאמים אישית או לוחות שיכולים להשתמש בספריית BLEPeripheral.

לוח הדוגמאות המשמש כאן הוא ה- Arduino/Genuino 101 עם קוד שנוצר על ידי pfodDesignerV3. PfodDesignerV3 החינמי מאפשר לך ליצור תפריטים של pfodApp ולאחר מכן יוצר את קוד ה- Arduino הדרוש להצגת התפריט המדויק הזה בנייד אנדרואיד שלך באמצעות pfodApp (בתשלום). pfodApp יתחבר גם באמצעות Wifi, כמו גם Bluetooth Classic, BLE ו- SMS, וכך יכול להתחבר באמצעות גשר Wifi2BLE זה. אולם גם אם אינך רוצה להשתמש ב- pfodApp כאפליקציית השליטה שלך, עדיין תוכל להשתמש ב- pfodDesignerV3 כדי ליצור קוד שירות UART נורדי ללוח BLE שלך.

קישור הדרכה זה מתאר את הגדרת ה- BLE של Arduino/Genuino 101 ויצירת בקרת הפעלה/כיבוי פשוטה של LED עם pfodDesignerV3. המערכון שהפיק pfodDesignerV3 הוא Arduino101_led_control.ino

תכנות ה- Arduino/Genuino 101 באמצעות Arduino101_led_control.ino יאפשר לך להתחבר עם pfodApp ולהציג את המסך הבא בנייד אנדרואיד שלך.

אולם זוהי רק דוגמה ואינך צריך לרכוש pfodApp כדי להשלים פרויקט זה. החלק החשוב הוא שאפליקציית pfodDesignerV3 החינמית יוצרת קוד עבור ה- Arduino/Genuino 101 שמיישם שירות UART נורדי. אז בואו לסרוק את זה.

אולם זוהי רק דוגמה ואינך צריך לרכוש pfodApp כדי להשלים פרויקט זה. החלק החשוב הוא שאפליקציית pfodDesignerV3 החינמית יוצרת קוד עבור ה- Arduino/Genuino 101 שמיישם שירות UART נורדי. אז בואו לסרוק את זה.

סריקה לשירות UART נורדי

כאשר מודול HUZZAH ESP8266 מנותק מה- neather FR52 של Feather, תכנת את ה- Feather nRF52 עם central_bleuart_scanner.ino ולאחר מכן פתח את Arduino IDE Tools → צג טורי והגדר את קצב השידור ל- 9600. הפעלת ה- Arduino/Genuino 101 נותנת את הפלט המוצג ב- צילום המסך הראשון למעלה.

כפי שאתה יכול לראות הסורק מצא שני התקני BLE, Arduino/Genuino 101 עם שירות UART נורדי עליו, אך מאפיין TX לא תמך ב- Notify. הסורק מצא גם מודול BLE של RFduino אך RFduino אינו משתמש בשירות UART הנורדי אלא משתמש במודול משלו. ועדת Bluetooth אינה נושאת באשמה בכך שאינה מציינת שירות UART 'סטנדרטי', אלא משאירה לכל יצרן להמציא את אחד מהם.

כפי שמכוסה למעלה הקוד 101 נוצר על ידי pfodDesignerV3 בעיקר לשימוש עם pfodApp. pfodApp לא בוחר באפשרות TX Notify כפי שקוד ה- uART של Feather nRF52 הוא. pfodApp עובד עם 101 כפי שהוא מתוכנת אך ה- Feather nRF52 מתעקש על TX Notify ולכן יש צורך בשינוי קטן בקוד כדי לספק את הנוצה.

פתח את Arduino101_led_control.ino ב- Arduino IDE וקרוב לראש תמצא את שתי השורות הללו. השורה השנייה היא רק תיאור של המאפיין ואינו משפיע על הפעולה.

BLECharacteristic txCharacteristic = BLECharacteristic ("6E400003-B5A3-F393-E0A9-E50E24DCCA9E", BLEIndicate, BLE_MAX_LENGTH); BLEDescriptor txNameDescriptor = BLEDescriptor ("2901", "TX-(ציין))

שנה אותם ל

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. הסורק יבדוק כל מכשיר שהוא מוצא בטווח. הנורית האדומה מהבהבת פעם אחת עבור כל מכשיר שנמצא בשירות UART Nordic (TX Notify).

שלב 6: התחברות למכשיר היקפי BLE

אינדיקציות LED

ל- Feather nRF52 יש שתי מנורות, כחול ואדום. כאשר הלוח מחובר למכשיר BLE, הלד הכחול קבוע, אחרת הוא מהבהב. הסורק אינו נשאר מחובר למכשיר ולכן הנורית הכחולה שלו מהבהבת בדרך כלל. הנורית האדומה מהבהבת פעם אחת עבור כל מכשיר שירות UART נורדי (TX Notify). כשהוא פועל כסורק, האדום האדום סופר את מספר המכשירים הנורדיים של UART Service (TX Notify) שנמצאו. כאשר הוא פועל כגשר, הנורית האדומה מהבהבת פעם אחת כאשר היא מחוברת לכתובת הקוד 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 בחזרה ל- Feather nRF52, בדוק את החיבור למכשיר ה- BLE שלך. השארת ה- Feather nRF52 מחובר אליך Arduino IDE, פתח את הכלים → צג סידורי ב- 9600 baud ולאחר מכן בדוק שמכשיר BLE היעד שלך מופעל.

כאשר מתבצע החיבור למכשיר ה- BLE שלך, כמתואר לעיל, הנורית הכחולה תדלק כל הזמן והנורית האדומה תהבהב אחת ל -10 שניות בערך.זה לא מאפשר לך שהקשר נוצר ומתוחזק.

לאחר מכן במסך הטריאלי תוכל להזין את הפקודות שאתה מצפה לשלוח למכשיר ה- BLE שלך ולצפות בו פועל ולפקח על כל תגובה שהוא שולח בחזרה. אם הכל בסדר אתה יכול לכבות ולחבר את מודול HUZZAH ESP8266.

שלב 7: התחברות למכשיר BLE באמצעות WiFi - חיבור הכל ביחד

לאחר שתכנת ובדק את מודול HUZZAH ESP8266 עם קוד הגשר שלו (Wifi_Bridge.ino) המוגדר עבור רשת ה- SSID והסיסמה שלך ו- IP ותכנת ובדק את ה- Feather nRF52 עם קוד הגשר שלו (central_bleuart_bridge.ino) המוגדר עם כתובת מכשיר ה- BLE והקלד, לאחר מכן תוכל לחבר אותם יחד ולחבר ספק USB למודול Feather כדי להפעיל את שניהם.

מודול HUZZAH אדום אדום צריך להדליק קבוע כשהוא מתחבר לנתב הרשת המקומי שלך והנווט כחול נוצה צריך להאיר קבוע כשהוא מתחבר למכשיר ה- BLE שלך והנורה האדומה של נוצות אמורה להבהב אחת ל -10 שניות בערך כדי לציין רק מכשיר BLE מחובר.

פתח את תוכנית הטלנט שלך והתחבר אל ה- IP והיציאה של HUZZAH. הנורית האדומה של HUZZAH אמורה להבהב לאט כדי להצביע על כך שהתוכנית שלך מתחברת, ואתה צריך לשלוח פקודות למכשיר ה- BLE שלך דרך WiFi ולצפות במכשיר BLE הפועל ולראות כל תגובה בחלון הטלנט שלך. זכור שאם מכשיר ה- BLE שלך לא ישלח נתונים בחזרה למשך 60 שניות, קוד HUZZAH יפסיק את החיבור וניתק וה- HUZZAH Red LED ישוב שוב.

שלב 8: עזרה - זה לא עובד

ראשית בצע את שלבי הבדיקה המפורטים למעלה, בדיקת ה- HUZZAH ESP2866 ובדיקת הסקיצה המרכזית_בלווארט_ברידג '.

בעיות סריקה

אם הסורק לא יכול למצוא לך את מכשיר BLE הוא רחוק מדי או לא מפרסם או כבר מחובר למשהו. נסה לקרב את הסורק ולהפעיל את המכשיר באמצעות רכיבה על אופניים ולכבות את כל המכשירים הניידים הקרובים למכשיר BLE.

אם אתה מקבל פלט סורק כזה.

מחובר ל 98: 4F: EE: 0C: FC: 8F מחפש שירות UART נורדי … אף אחד לא נמצא או לא ניתן לגלות !!!!! לא הצלחתי לזהות שירות UART נורדי !!!!!!!! אם ציפיתם לשירות UART נורדי, קירבו את הסורק למכשיר ה- BLE !!!!

יכול להיות שאתה קרוב מספיק למכשיר BLE כדי לזהות אותו אך לא קרוב מספיק כדי לבצע גילוי שירות מוצלח כדי למצוא את שירות UART הנורדי. נסה להתקרב למכשיר BLE.

כמוצא אחרון אתה יכול להשתמש באפליקציית Nordic nRF Connect בחינם עבור Android או iOS. לאפליקציה הזו יש טווח ורגישות טובים יותר. הוא יגיד לך אם למכשיר BLE יש שירות UART נורדי. עם זאת, עדיין תצטרך לגרום לסורק לפעול ולהתחבר ולזהות את שירות UART הנורדי לפני שתנסה להשתמש בגשר Wifi2BLE מכיוון שהוא משתמש בקוד הדומה לסורק.

אם אתה רוצה לחפור לעומק אתה יכול להשתמש במודול Adafruit Bluefruit LE Sniffer כדי לראות מה יש באוויר.

בעיות בחיבור BLE

אם הצלחת לסרוק את מכשיר ה- BLE אז הגורמים הסבירים ביותר לבעיות חיבור הם I) מכשיר ה- BLE רחוק מדי, II) משהו אחר כבר התחבר למכשיר ה- BLE

בעיות בחיבור WiFi

אם הנורית האדומה HUZZAH ESP8266 לא נדלקת אז אין לה חיבור לרשת שלך דרך הנתב שלך. בדוק את ה- ssid והסיסמה שיש לך קוד ב- Wifi_Bridge.ino והשתמש באפליקציית Fing Android או iOS כדי לבדוק כי ה- IP שהקצאת אינו בשימוש. נסה לכבות את כל המחשבים וההתקנים שלך ולהפעיל את הנתב על אופניים (השאר אותו כבוי למשך 20 שניות) ולאחר מכן סרוק עם Fing שוב. לבסוף אם החיבור ממשיך לנשור, זכור את הגדרת פסק הזמן של החיבור בקוד Wifi_Bridge.ino.

שלב 9: הרחבות ומסקנות

הפרויקט המוצג כאן הוא הגרסה הפשוטה ביותר. ישנם מספר הרחבות אפשריות כגון:-

  • ה- Feather nRF52 מסוגל להתחבר לעד 4 התקני BLE בבת אחת, כך שתוכל לשנות את הקוד כדי להוסיף כתובות תקפות יותר ולשלוט בעד 4 מכשירים מחיבור ה- WiFi היחיד. עיין בקוד הדוגמא המצורף להתקנת לוח ה- Feather nRF52.
  • אתה יכול לנקב חור בנתב שלך כדי לספק גישה למכשיר BLE מכל מקום באינטרנט. ראה חיבור התקני IoT DIY לאינטרנט באמצעות pfodApp.
  • תוכל להשתמש בקוד מ- Wifi Shield זול/פשוט כדי לאפשר לך להגדיר את פרמטרי רשת ה- WiFi עבור HUZZAH באמצעות דף אינטרנט, ללא תכנות מחדש. יהיה עליך להוסיף לחצן לחיצה על תצורה למעגל.
  • תוכל להוסיף לחצן לחיצה על התצורה (באמצעות אותו כפתור שלמעלה) שמבצע את סריקת Feather nRF52 אחר מכשירי BLE עם UART נורדי (TX Notify) ולאחר מכן שמור את פרטי החיבור לאחד בעל האות החזק ביותר. כדי לשמור את התוצאה, יהיה עליך להשתמש בספריית ה- nffs המצורפת להתקנת לוח nRF52 Adafruit.
  • תוכל להוסיף דף אינטרנט לקוד HUZZAH ESP8266 כדי לספק ממשק מותאם אישית למכשיר BLE שלך. תוכל גם להשתמש ב- pfodDesignerV3 ו- pfodApp כדי להוסיף ממשק מותאם אישית ללא שינויים בפרויקט זה כלל.

סיכום

פרויקט פשוט זה מספק גישה WiFi לכל מודול Bluetooth נמוך אנרגיה (BLE) המיישם את UART של Nordic עם TX Notify. גשר Wifi2BLE שקוף לחלוטין. הוא פשוט מעביר את נתוני ה- WiFi למכשיר ה- BLE ומעביר את נתוני מכשיר ה- BLE בחזרה לחיבור ה- WiFi.

הבנייה הפשוטה והוראות הבדיקה המפורטות הופכות את זה לפרויקט מתאים למתחילים שרוצים לגשת למכשיר ה- BLE שלהם מהמחשב או מחוץ לטווח הנורמלי של ה- BLE.

פרויקט זה יהפוך להיות חשוב יותר לאחר שתוכנת מכשירי BLE תדביק את המפרט החדש של Bluetooth V5 Mesh. אז Wifi2BLE תספק גישה לאינטרנט לאוטומציה של כל הבית שלך.

מוּמלָץ: