השתמש במודול רדיו סלולרי כלל-עולמי כדי לחבר במהירות ובאופן מאובטח התקני IoT לענן
באדיבות ‎העורכים האירופיים של DigiKey
2023-12-12
כדי לחבר התקני קצה נישאים או של רשת מרוחקת אל האינטרנט של דברים (IoT), או כדי לשלוט מרחוק במכונות על ידי שימוש בתקשורת מכונה-אל-מכונה (M2M), חיבור רדיו נייד עבור חילופי נתונים דרך הענן הוא אופציה טובה. עם זאת, אופציה זו מציבה משוכות למפתח, כגון קביעת אילו רשתות אלחוטיות יכולות לתמוך בתפוקת הנתונים הנדרשת ברחבי העולם ובאילו פרוטוקולים המודם האלחוטי חייב להיות מסוגל לטפל. כמו כן יש לשקול מדרגיות (Scalability) מערכת, אבטחת נתונים, עלות, זמן יציאה לשוק, ועלויות הרכישה וההפעלה שנגרמים למשתמש.
מאמר זה מסביר בקצרה מה LTE Cat 1 מציע למפתחים של יישומי IoT ו-M2M. אחר כך הוא מציג מודולי רדיו מסדרת LARA-R6 של u-blox המספקים קישוריות אוניברסלית וביצועים אמינים. המאמר מסיים בהצגה כיצד מפתחים יכולים להשתמש בלוח הערכה (EVB) כדי להגדיר תצורה ולשלוט בקלות במודולים באמצעות פקודות AT ולהפיק מחרוזות של פקודות AT באמצעות פונקציות ספריה.
LTE Cat 1 בהשוואה ל-LTE Cat 1bis, LTE Cat M ו-LTE Cat NB
בעוד רדיו סלולרי LTE משיג עכשיו קצבי שידור של Gigabit, פרוטוקולים של אזור-רחב (LPWA) בהספק נמוך כמו LTE Cat 1, LTE Cat 1bis, LTE Cat M ו-LTE Cat NB מתוכננים להיות יעילים במיוחד מבחינת צריכת אנרגיה, משאבי רשת ועלות. זה חשוב באופן קריטי עבור התקני IoT.
עם הספקת רוחב-פס ערוץ של עד 20 מגה-הרץ (MHz) בדופלקס מלא, LTE Cat 1 משיג קצבי הורדת נתונים של עד 10 מגה-ביט לשנייה (Mbps) וקצבי העלאת נתונים של עד Mbps 5. שתי אנטנות מאפשרות receiver (Rx) diversity עבור ביצועים טובים יותר (טבלה 1). ה-LTE Cat 1bis משתמש באנטנה יחידה.
|
טבלה 1: השוואת ביצועים של פרוטוקולים LPWA. LTE Cat 1 משתמש בשתי אנטנות עבור Rx Diversity; LTE Cat 1bis משתמש באנטנה אחת. (מקור תמונה: Wikipedia, Jens Wallmann)
רדיו נייד LTE Cat 1 עבור זמינות כלל-עולמית
סדרת LARA-R6 של u-blox מורכבת ממודולי רדיו סלולרי איתנים המתוכננים עבור תקני טכנולוגיית גישת רדיו (RAT) LTE Cat 1 דופלקס חלוקת תדר (FDD) ודופלקס חלוקת זמן (TDD). הם תומכים ב-3G UMTS/HSPA ו-2G GSM/GPRS/EGPRS כפתרון עתודה. מודולים אלה הם פתרון מצוין עבור כיסוי כלל-עולמי/רב-אזורי ובאים בגורם צורה LGA קטן, במידות 26 x 24 מ"מ (mm).
מצוידים בממשקים רב-תכליתיים, מגוון רחב של מאפיינים ויכולות מרובות-פסים ומרובות-מצבים, מודולי LARA-R6 מתאימים עבור יישומים הדורשים מהירות נתונים בינונית, קישוריות חלקה, כיסוי מעולה ושיהוי נמוך. יישומים כאלה כוללים מעקב נכסים, טלמטיקה, ניטור מרחוק, מרכזי אזעקה, טלוויזיה במעגל סגור, בריאות מחוברת ומסופי נקודת מכירה.
כל המודולים תומכים ב-Rx Diversity עבור ביצועים אמינים בתנאי כיסוי קשים או כשדרוש קול דרך LTE (VoLTE). מתכנתים יכולים לנצל את הפרוטוקולים המשובצים IoT (LwM2M, MQTT) ומאפייני אבטחה (TLS/DTLS, עדכון מאובטח ואתחול (Boot) מאובטח) כדי לממש פונקציות שונות, כולל ניהול התקן, בקרת התקן מרחוק ועדכון מאובטח של קושחה דרך-האוויר (FOTA).
סדרת ה-LARA-R6 תומכת ב-LTE Cat 1 בהתאם ל-3GPP Release 10 ומשיגה כיסוי כלל-עולמי עם שלוש גרסאות אזוריות:
- מודולי ה-LARA-R6001-00B (נתונים וקול) וה-LARA-R6001D-00B (נתונים בלבד) תומכים בפסי תדר 18 LTE FDD/TDD ועוד 3G/2G פתרון עתודה עבור קישוריות גלובלית.
- מודולי ה-LARA-R6401-00B (נתונים וקול)) וה-LARA-R6401D-00B (נתונים בלבד) מספקים פתרון LTE Cat 1 אידיאלי עבור צפון אמריקה, תומכים בפסי-תדרים LTE של AT&T, FirstNet, Verizon ו-T-Mobile.
- מודולי ה-LARA-R6801-00B (נתונים וקול) וה-LARA-R6801D-01B (נתונים בלבד) מתוכננים עבור פריסה באזורים הבאים: אירופה והמזרח התיכון (EMEA), אסיה פסיפיק (APAC), יפן (JP) ואמריקה לטינית (LATAM) (איור 1).
איור 1: שלוש גרסאות אזוריות של מודולי ה-LARA-R6 מכסות את כדור הארץ. (מקור תמונה: DigiKey, הותאמה על ידי הכותב)
תכונות מיוחדות של Lara-R6 במבט מהיר
מודולי LARA-R6 משלבים מעבד פס-בסיס סלולרי עם ממשקים חיצוניים, מקמ"ש RF עם מגברים ומסננים, זיכרון ויחידת ניהול הספק (איור 2).
איור 2: מבנה פנימי של מודול LARA-R6. (מקור תמונה: u-blox)
מקמ"ש ה-RF עובד בפסי התדרים 700 MHz, MHz 800, 850 MHz, MHz 900, GHz 1.7, GHz 1.8, 1.9 GHz, 2.1 GHz ו-GHz 2.6. כל הפרוטוקולים להעברת נתונים של מעבד הפס-בסיס הסלולרי ניתנים לבקרה ולהגדרת תצורה באמצעות פקודות AT תוך שימוש ב-UART חיצוני וממשקי USB.
פרוטוקולים
- IPv4 ו-IPv6 מחסנית כפולה
- TCP/IP, UDP/I, FTP ו-HTTP משובצים
- MQTT ו-MQTT-SN משובצים
- LwM2M משובץ
- eSIM ו-Bearer Independent Protocol (BIP)
מודולי LARA-R6 דורשים מתח אספקה של 3.1 עד 4.5 וולט והם בעלי צריכת זרם סרק של בערך 1.1 מיליאמפר (mA). בעבודת 2G, משבצות שידור TDMA אינדיבידואליות יכולות להגיע להספקי שידור שיא של מעל 33 דציבלים בהתיחס ל-1 מיליוואט (mW) (dBm) (> 2.0 ואט), וכל RAT אחר מגיע לרמות של מעל 24 dBm (> 0.25 ואט)
רגישות אנטנה מצוינת של פחות מ-100 dBm-, המתאימה להספקי אות של פחות מ-0.1 פיקו-ואט (pW), מאפשרת חיבורי רדיו יציבים בקצה הרשת הסלולרית.
הערכה ותכנות
הדרך המהירה ביותר להתחיל בהערכה ותכנות של מודול LARA-R6 היא להשתמש ב-R6 EVB (EVK-R6) ובלוח מתאם LARA-R6 נתקע (ADP-R6) עבור האזור המתאים. לדוגמה, ה-EVK-R6001-00B עבור יישומים כלל-עולמיים כולל את לוח המתאם הנתקע ADP-R6001-00B (קול + נתונים) ולוח מתאם GNSS (איור 3).
איור 3: LARA-R6 EVB (EVK-R6) עם לוח מתאם LARA-R6 מוצמד (למטה) ולוח GNSS (שמאל למעלה). (מקור תמונה: u-blox)
גרסת ה-EVK-R6401-00B עבור צפון אמריקה כוללת את מתאם ה-ADP-R6401-00B, בעוד ה-EVK-R6801-00B עבור EMEA/APAC/JP/LATAM כוללת את מתאם ה-ADP-R6801-00B. שלושת לוחות המתאם שהוזכרו לעיל עבור שידור קול ונתונים זמינים גם בנפרד, כפי שגם גרסאות עבור שידור נתונים בלבד, כולל ה-ADP-R6401D-00B (צפון אמריקה) ו-ADP-R6001D-00B (כלל-עולמי).
לוח המתאם R6 מרחיב את מודול ה-LARA-R6 עם שתי אנטנות ושני מחברי MiniUSB. ה-R6 EVB מוסיף מודול GNSS, חריץ כרטיס SIM, חיבורים נתקעים נוספים, מגשרים, מתגים, וספק-כוח לרכיבים ההיקפיים של המודול (איור 4).
איור 4: דיאגרמת מלבנים פונקציונלית של ה-R6 EVB עם מתאמים GNSS ו-LARA-R6 תקועים (מקור תמונה: u-blox)
כל ערכה מכילה EVB אחד עם לוח מתאם LTE Cat 1 LARA-R6 מוצמד ומודול GNSS מבית u-blox, כבל USB אחד, שתי אנטנות רדיו סלולרי LTE, אנטנת GPS/GLONASS ויחידת ספק-כוח.
הכנסה לשירות של ה-EVK
ערכת ה-EVK-R6 החזקה, הקלה לשימוש, מבית u-blox מפשטת את ההערכה של מודולים סלולריים מרובי-אופנים LTE Cat 1 / 3G / 2G. מחשב אישי (PC) Windows עם מנהל ההתקן USB LARA-R6 מותקן מבצע בקרה של מודם ה-LARA-R6 דרך מחבר ה-USB ומפשט את כינון החיבור באמצעות הגדרות המערכת. כדי להתחיל, על המפתח לבצע את הפעולות הבאות:
- להכניס את כרטיס ה-SIM ולחבר את שתי אנטנות הסלולר ואת אנטנת ה-GNSS.
- להגדיר תצורה תוך שימת לב של המגשרים והמתגים של ה-EVK.
- לחבר את מתח האספקה ולהפעיל את המתג הראשי SW400 על ה-EVB.
-
- עבור עבודה כמודם בקצב נתונים נמוך דרך ממשק ה-"UART הראשי", לחבר את ה-PC לשקע המיני-USB J501 או שקע ה-RS232 J500 על ה-EVK.
- עבור עבודה כמודם בקצב נתונים נמוך דרך "שני UART", לחבר את ה-PC לממשק שקע USB סלולרי J201 על ה-ADP.
- עבור עבודה כמודם קצב נתונים גבוה דרך "USB סלולרי מקורי (Native)", לחבר את ה-PC לשקע מיני-USB J105 על ה-ADP.
- ללחוץ על כפתור ההפעלה הסלולרי SW302 על ה-EVB.
- להריץ תוכנת יישום מסוף (כגון m-center), לגשת אל תפריט ההגדרות של יציאת ה-COM, לבחור את יציאת ה-AT המתאימה ל-4a, 4b או 4c ולהכניס ערכים אלה: Data rate: 115,200 bps; Data bits: 8; Parity: N; Stop bits: 1.
עבור פרטים נוספים, עיין ב-EVK-R6_UserGuide_UBX-21035387. כלי ה-m-center מסייע להעריך, להגדיר תצורה ולבדוק מוצרים סלולריים u-blox, והוא כולל מסוף פקודות AT.
חיבור אינטרנט פשוט תוך שימוש במחשב אישי (PC) Windows
על ידי חיבור מחשב אישי (PC) Windows אל ה-EVK, המשתמש יכול לקיים חיבור אינטרנט אלחוטי בשתי דרכים:
1: חיבור מנת נתונים מהירות-נמוכה: זה משתמש במחסנית ה-TCP/IP של ה-Windows PC דרך ממשק ה-UART של מודול ה-LARA-R6. ה-PC וה-EVK מחוברים בהתאם לשיטת 4a. המפתח חייב לבחור Phone and Modem > Modems > Add תוך שימוש ב-Windows Control Panel. הצעד הבא הוא לבחור בתיבת סימון “Don’t detect my modem”, לבחור ב-“Standard 33.6 kbps Modem”, ולהקצות נקודת-חיבור COM. במידת הצורך, המפתח יכול להוסיף Properties > Advanced > Extra initialization commands.
2: חיבור מנת נתונים מהירות-גבוהה: זה ניגש לאינטרנט תוך שימוש במחסנית ה-TCP/IP של ה-Windows PC דרך ממשק ה-USB המקורי (Native) הסלולרי של מודול ה-LARA-R6. ה-PC וה-EVK מחוברים בהתאם לשיטת 4c. המפתח חייב לבחור ב-Network and Sharing Center > לכונן רשת או חיבור חדש באמצעות ה-Windows Control Panel ולהקליק “Connect to the Internet”. הצעד הבא הוא לבחור ב-“Dial-up” ובאחד מיציאות ה-AT USB. הצעד האחרון הוא להזין פרמטרים של חיוג (מספר חיוג, שם ספק, ID משתמש וסיסמה).
רישום כרטיס ה-SIM אצל המפעיל הסלולרי
לאחר שכרטיס ה-SIM ופרמטר ה-MNO הוגדרו, המודול הסלולרי רושם את עצמו על הרשת הסלולרית לאחר הפעלה. אם קיימת בעיה, ההרשמה ניתנת לבדיקה ידנית על ידי שימוש בפקודות ה-AT המוצגות בטבלה 2.
|
טבלה 2: פקודות רישום AT. (מקור טבלה: u-blox, הותאמה על ידי המחבר)
תקשורת אל השרת המרוחק HTTP באמצעות פקודות AT
אחסון ה-GitHub “Firechip_u-blox_LARA-R6_Arduino_Library” מכיל ספרייה נרחבת של פקודות AT עבור מודולי ה-LARA-R6, כתובה ב-++C עבור בקרי Arduino. שש-עשרה דוגמאות יישום, כולל בדיקות Ping, הרשמה, מיתוג מנות, SMS, GNSS ו-IoT ענן מספקות הצעות עבור מבני קוד מותאמים במיוחד.
פקודות AT יכולות גם לשלוח בקשות אל שרת HTTP מרוחק במהלך חיבור פעיל, לקבל את תגובת השרת, ולשמור תגובה זו באופן שקוף במערכת הקובץ המקומית. השיטות הנתמכות הן HEAD, GET, DELETE, PUT, קובץ POST, ונתוני POST.
ה-Lara_R6_Example9 שולחת טמפרטורות אקראיות אל שרת ה-RemoteHTTP ThingSpeak.com תוך שימוש ב-HTTP POST או GET. ה-ThingSpeak הוא שירות פלטפורמת ניתוח IoT של MathWorks המסייע לצבור, להציג באופן חזותי ולנתח זרמי נתונים חיים בענן. טבלה 3 מראה את הסינטקס של פקודת ה-HTTP “נתוני POST”.
|
טבלה 3: “נתוני POST” היא פקודת HTTP מספר 5 והיא מעוצבת כפי שמוצגת. (מקור טבלה: u-blox, הותאמה על ידי המחבר)
הדוגמה ניתנת לתכנות על בקר מארח Arduino המבצע בקרה על מודול ה-LARA-R6 בלוח EVK באמצעות פקודות AT. נוסף לכך, דרוש כרטיס SIM מוגדר-תצורה.
המתכנת חייב ליצור חשבון משתמש ThingSpeak ולהגדיר שדה 1 עבור ערך המדידה של הטמפרטורה האקראית דרך פריט התפריט Channels > My Channels > New Channel. ה-"Write API Key" המתאים מוזן בתוכנית הראשית, "LARA-R6_Example9_ThingSpeak.ino" במשתנה myWriteAPIKey.
התוכנית העיקרית ++C מפיקה ערך טמפרטורה אקראי, יוצרת את מחרוזת הנתונים הספציפית לענן, וקוראת לפונקציית הספרייה sendHTTPPOSTdata כל 20 שניות (רשימה 1).
Copy
...
1 String myWriteAPIKey = "PFIOEXW1VF21T7O6"; // Change this to your API key
2 String serverName = "api.thingspeak.com"; // Domain Name for HTTP POST/GET
3 [...]
4 void loop()
5 {
6 // Create a random temperature between 20 and 30
7 float temperature = ((float)random(2000,3000)) / 100.0;
8
9
10 // Send data using HTTP POST
11 String httpRequestData = "api_key=" + myWriteAPIKey + "&field1=" +
String(temperature);
12
13 Serial.print(F("POSTing a temperature of "));
14 Serial.print(String(temperature));
15 Serial.println(F(" to ThingSpeak"));
16
17 // Send HTTP POST request to /update. The reponse will be written to
post_response.txt in the LARA's file system
18 myLARA.sendHTTPPOSTdata(0, "/update", "post_response.txt", httpRequestData,
LARA_R6_HTTP_CONTENT_APPLICATION_X_WWW);
19
20
21 // Send data using HTTP GET
22 ==> see original code on Github
23
24 for (int i = 0; i < 20000; i++) // Wait for 20 seconds
25 {
26 myLARA.poll(); // Keep processing data from the LARA so we can catch
the HTTP command result
27 delay(1);
28 }
29 }
...
רשימה 1: תוכנית עיקרית זו מפיקה ערך טמפרטורה אקראי וקוראת לפונקציית הספריה sendHTTPPOSTdata כל 20 שניות. (מקור קוד: Firechip on Github)
יצר את מחרוזת פקודות ה-AT הקוראת לפונקציות ספרייה
כותרת הספרייה “Firechip_u-blox_LARA-R6_Arduino_Library.h” מקדמת את קריאת הפונקציה sendHTTPPOSTdata אל נוהל הספרייה “Firechip_u-blox_LARA-R6_Arduino_Library.cpp”, היכן שמחרוזת פקודת ה-AT המעוצבת במלואה מיוצרת ונשלחת (רשימה 2).
Copy
...
1 LARA_R6_error_t LARA_R6::sendHTTPPOSTdata(int profile, String path,
String responseFilename, String data,
LARA_R6_http_content_types_t httpContentType)
2 {
3 LARA_R6_error_t err;
4 char *command;
5
6 if (profile >= LARA_R6_NUM_HTTP_PROFILES)
7 return LARA_R6_ERROR_ERROR;
8
9 command = lara_r6_calloc_char(strlen(LARA_R6_HTTP_COMMAND) + 24 +
path.length() + responseFilename.length()
+ data.length());
10 if (command == nullptr)
11 return LARA_R6_ERROR_OUT_OF_MEMORY;
12 sprintf(command, "%s=%d,%d,\"%s\",\"%s\",\"%s\",%d",
LARA_R6_HTTP_COMMAND, profile, LARA_R6_HTTP_COMMAND_POST_DATA,
path.c_str(), responseFilename.c_str(), data.c_str(),
httpContentType);
13
14 err = sendCommandWithResponse(command, LARA_R6_RESPONSE_OK_OR_ERROR,
nullptr, LARA_R6_STANDARD_RESPONSE_TIMEOUT);
15
16 free(command);
17 return err;
18 }
...
רשימה 2: נוהל ספרייה ++C זה מייצר ושולח את מחרוזת פקודות ה-AT המעוצבת במלואה (שורה 12). (מקור קוד: Firechip on Github)
נוהל הספרייה LARA_R6::sendHTTPPOSTdata (רשימה 2) משתמש בפרמטרים המועברים של קריאת הפונקציה myLARA.sendHTTPPOSTdata() (רשימה 1) ובנוסף משתנים מוכרזים מכותרת הספרייה כדי ליצר את מחרוזת פקודות ה-HTTP השלמה בהתאם לטבלה 3. לבסוף, מודם ה-LARA-R6 שולח את מחרוזת פקודות ה-AT המתקבלת אל שרת ה-ThingSpeak RemoteHTTP:
AT+UHTTPC=0,5,"/update","post_response.txt","api_key=PFIOEXW1VF21T7O6&field1=21.54",0
סיכום
עבור הרשת הכלל עולמית של יישומי IoT הספק-נמוך ו-M2M, מודולי רדיו מרובי-אופנים LTE Cat 1 מסדרת ה-LARA-R6 הם יעילים ומשתלמים. כמתואר, למפתחים יש גישה מוכנה לכל הממשקים המשתמשים ב-EVK ויכולים בקלות להגדיר תצורה ולבקר את הפרוטוקולים והפונקציות של המודול באמצעות פקודות AT. זה מספק אפשרויות פשוטות לעבודה כמודם PC, לשלוח נתונים לענן ולהפיק מחרוזות של פקודות AT באמצעות פונקציות ספריה.
מיאון אחריות: דעות, אמונות ונקודות מבט המובעות על ידי מחברים שונים ו/או משתתפי פורום באתר אינטרנט זה לא בהכרח משקפות את הדעות, האמונות ונקודות המבט של חברת DigiKey או את המדיניות הרשמית של חברת DigiKey.


