- מהו Microsoft Azure IoT Hub?
- יצירת מרכז IoT תכלת הרקיע
- רכיבים נדרשים לבניית מעגל הבדיקה שלנו ל- Azure IoT עם Raspberry Pi
- Azure IoT עם Raspberry Pi - סכמת חומרה
- תכנות Raspberry Pi לפרסום נתונים ב- Azure IoT Hub
- פרסם נתונים ב- Azure IoT Hub - בדיקות
Azure IoT Hub, שירות מחשוב הענן של מיקרוסופט מאפשר למפתחים להתחבר, לפקח ולנהל מיליארדי מכשירי IoT בפלטפורמה אחת. זה כבר משמש ביישומי IoT שונים כמו מערכות אוטומציה ביתית, אבטחה, מעקב ומערכות ניטור. כדי להדגים את היכולות של מרכז ה- IoT של Azure, אנו הולכים לבנות מעגל קטן עם ה- Raspberry Pi, חיישן טמפרטורה DHT11 ולחות, על מנת לעבד את נתוני החיישן באמצעותו. לבסוף נפרסם נתוני חיישנים לשרת Azure IoT באמצעות פרוטוקול MQTT. במדריך זה נלמד כיצד להגדיר ולהגדיר תצורה של שרת Azure ושליחת נתונים באמצעות Raspberry Pi.
מהו Microsoft Azure IoT Hub?
Azure IoT Hub הוא אוסף של שירותים מנוהלים שיכולים לחבר, לפקח ולשלוט במכשירי IoT. הוא כולל גם תקשורת מאובטחת למכשירים, עם הדמיה וניתוח נתונים המסייעים ליצרני המכשירים לבנות, לפרוס ולנהל יישומי IoT בעזרת ענן Azure . נתוני הטלמטריה של מכשיר ל- CD של Azure IoT Hub מאפשרים לנו לדעת על מצב התקני ה- IoT המחוברים, והודעות הענן להתקן מאפשרות לנו לשלוח פקודות והתראות למכשירים המחוברים. דוגמה יכולה להיות כמו, באמצעות מערכת אוטומציה ביתית חכמה, אנו יכולים לאסוף נתוני חיישנים שונים ולשלוח אותם ל- Azure IoT Hub כדי לדמיין, לאחסן ולנהל אותם. אנו יכולים לשלוט גם בהתקני הפלט מממשק Azure IoT Hub.
רכזת מרכזית לתקשורת דו-כיוונית עבור יישומי IoT והתקנים תומכת בתקשורת-ענן והתקשורת בענן, כמו כן, היא תומכת במספר דפוסי העברת הודעות כגון מכשיר לטלמטריה בענן, העלאת קבצים ממכשירים ושיטות תשובת בקשה ולבסוף, אנו יכולים להשתמש בשיטת האימות לכל התקן המאפשרת לכל מכשיר להתחבר בצורה מאובטחת לרכזת IoT. כעת, כפי שהבנתם את היסודות של Azure IoT Hub, בואו נעבור להגדרת המערכת.
יצירת מרכז IoT תכלת הרקיע
אנו מוכנים לבצע את כל ההגדרות הדרושות הנדרשות להקמת שירותי התכלת של מיקרוסופט, אך לפני כן, ודא שיש לך חשבון מיקרוסופט. אם אין לך את זה, אתה יכול פשוט להירשם. לאחר מכן עבור לפורטל התכלת באמצעות portal.azure.com והיכנס.
לאחר הכניסה, עבור אל דף הבית של Azure, בחר בלחצן צור משאב ואז חפש את IoT Hub בשדה חפש בשוק. בחר IoT Hub מתוצאות החיפוש, ואז בחר צור. התמונות שלהלן יעניקו לך מושג טוב יותר על התהליך.
מלא פרטים נדרשים ליצירת רכזת IoT.
בסעיף מנוי, עליך לבחור את המנוי כדי להשתמש בו עבור הרכזת שלך. במקרה שלנו, אנו בוחרים בחשבון ניסיון ובחרנו ב"ניסיון חינם " .
לאחר מכן, בקטע קבוצת משאבים, בחר את קבוצת המשאבים שלך . אם אין לך אחד, עליך ליצור חדש על ידי לחיצה על צור חדש והזן את שם המשאב.
באזור הסעיף, אתה יכול להשתמש בתפריט הנפתח כדי לבחור באזור המועדף עליכם.
במקטע שם Hub IOT, אתה צריך דואר nter שם הרכזת שלך. זה חייב להיות ייחודי. כל התקשורת הדרושה תתרחש בשם זה.
תחת הכרטיסייה "גודל וקנה מידה", בחר " שכבה חופשית " ולחץ על הבא. לאחר מכן לחץ על "סקירה + יצירה". זה ייקח כמה דקות ליצור את IoT Hub. לחץ על שם ה- IoT Hub שיצרת. רשום את שם המארח מהחלון, כפי שמוצג בתמונה למטה. לאחר מכן לחץ על מדיניות הגישה המשותפת בהגדרות. מדיניות הגישה המשותפת מודגשת בתמונה למטה. לחץ על אפשרות iothubowner תחת מדיניות. רשום את המפתח הראשי ועל מפתח מחרוזת-יסודי חיבור התייחסות עתידית. כעת, כדי לרשום התקן חדש תחת IoT Hub, לחץ על התקני IoT. בחלונית סייר ההתקנים, לחץ על הוסף כדי להוסיף התקן לרכזת.
מלא את המידע הבא בכרטיסייה מכשירים חדשים.
- מזהה מכשיר: הזן מזהה עבור המכשיר. מזהי המכשיר צריכים להיות ייחודיים.
- סוג אימות: בחר מפתח סימטרי.
- צור מפתחות אוטומטית: בחר בתיבת סימון זו.
- חבר מכשיר ל- IoT Hub: לחץ על הפעל.
לאחר יצירת המכשיר, תוכל למצוא את המכשיר החדש שלך במקטע סייר ההתקנים. לחץ על שם המכשיר. זה יציג את פרטי המכשיר. רשום את המפתח הראשי ואת מפתח המחרוזת-יסודי חיבור של ההתקן. זה חשוב מכיוון שאנחנו צריכים את זה לצורך תקשורת.
כעת, כאשר זה נעשה, נוכל לעבור לצד החומרה של הדברים.
רכיבים נדרשים לבניית מעגל הבדיקה שלנו ל- Azure IoT עם Raspberry Pi
מכיוון שחלק החומרה במעגל זה פשוט מאוד, גם דרישת הרכיב פשוטה מאוד. רשימה של רכיבים נדרשים מוצגת להלן.
- פטל Pi 3B (אנחנו יכולים גם להשתמש בכל דגמים אחרים של Pi)
- כרטיס מיקרו SD -16 GB
- חיישן DHT11
- מיקרו USB 5V, ספק כוח 2.4A
Azure IoT עם Raspberry Pi - סכמת חומרה
תרשים המעגל השלם עבור פרוייקט ה- Azure IoT עם Raspberry Pi מוצג להלן, והוא נבנה באמצעות פריץ. עקוב אחר דיאגרמת המעגל והחיבורים כדי ליצור את המעגל בעצמך.
המעגל הנ"ל שולח נתוני טמפרטורה ולחות ל- Microsoft IoT Hub. במעגל זה השתמשנו בחיישן DHT11 לאיסוף נתוני הטמפרטורה והלחות ואנו משתמשים ב- Raspberry Pi 3B כמכשיר לעיבוד נתונים. לחיישן DHT11 יש שלושה פינים. סיכות VCC ו- GND משמשות למתן אספקת DC 5V לחיישן וסיכת פלט הנתונים של DHT11 מחוברת ל- GPIO4 של Raspberry Pi. אם אתה רוצה ללמוד כיצד לממשק את חיישן הטמפרטורה והלחות של DHT11 עם פטל פי, אתה יכול לבדוק את המאמר הקודם שלנו בנושא. השתמשנו גם בחיישן זה לבניית תחנת מזג האוויר של IoT Raspberry Pi.
תכנות Raspberry Pi לפרסום נתונים ב- Azure IoT Hub
לפני שמתחילים בקידוד לפרויקט זה, עלינו ליצור מעטפת ענן תכלת (CLI) בפורטל התכלת. זה יועיל במובנים רבים. לשם כך לחץ על כפתור מעטפת הענן של Azure בפורטל כמוצג להלן. לאחר מכן לחץ על אפשרות האחסון המסומנת באדום.
פעם עשיתי, אתה יכול לפתוח את CLI, ולהפעיל את הפקודות הבאות כדי להתקין את ההרחבה Azure" s אשר ישמשו כדי להראות את נתוני חיישנים.
הרחבת az להוסיף - שם azure-cli-iot-ext
לאחר סיום זה, עלינו להתקין תלות ב- Raspberry Pi כדי לתקשר עם חיישן DHT11 ולהקל על תהליך התקשורת עבור שירותי IoT של Azure. לשם כך פתח מסוף Raspberry Pi להתקנת החבילות התלויות המשמשות בפרויקט.
ראשית, עלינו להוריד את ספריית DHT עבור Raspberry Pi, ואז לחלץ אותה מתיקיית הבסיס ולהפעיל את הפקודה הבאה להתקנתה.
sudo python setup.py להתקין
לאחר ההתקנה המוצלחת, הפעל את הפקודות הבאות כדי להתקין את כל החבילות התלויות ב- Azure IoT Hub.
sudo pip3 להתקין azure-iot-device sudo pip3 להתקין azure-iot-hub sudo pip3 להתקין azure-iothub-client-client sudo pip3 להתקין azure-iothub-client-device
לאחר שסיימנו את התקנת כל התנאים המוקדמים, הגיע הזמן לכתוב את הקוד בפייתון. לשם כך, תחילה ייבא את כל הספריות:
יבוא ייבוא אקראי Adafruit_DHT זמן ייבוא מ- azure.iot.device ייבוא IoTHubDeviceClient, Message
בפרויקט זה אנו משתמשים בסיכה 4 של ה- Raspberry Pi לעיבוד הנתונים מנתוני DHT11, ולכן יש להכריז עליהם כפי שמוצג.
חיישן = Adafruit_DHT.DHT11 סיכה = 4
לאחר מכן, אנו מגדירים את מחרוזת החיבור של הקוד. החלף אותו במחרוזת החיבור העיקרית שלך ששמרנו קודם.
CONNECTION_STRING = "HostName = sensordata.azure-devices.net; DeviceId = ZZZZZ; SharedAccessKey = ZZZZZZZZZZZZZZZZZ"
לאחר מכן, אנו יוצרים מערך שישמש לשליחת הנתונים ל- Azure IoT Hub. ניתן לעשות זאת כפי שמוצג להלן.
MSG_SND = '{{"temperature": {temperature}, "לחות": {לחות}}}'
לאחר מכן, הגדרנו לולאת זמן, בלולאת זמן, נתוני הלחות והטמפרטורה מעובדים באמצעות הפונקציה Adafruit_DHT.read_retry . יתר על כן, אנו מגדירים שני משתנים מיוחדים ומקצים את נתוני הפלט למשתנים אלה.
בעוד נכון: לחות, טמפרטורה = Adafruit_DHT.read_retry (חיישן, סיכה)
בשלב הבא נכתבת פונקציה לחיבור ה- IoT Hub באמצעות פרמטרי החיבור שהגדרנו בעבר.
def iothub_client_init (): לקוח = IoTHubDeviceClient.create_from_connection_string (CONNECTION_STRING) להחזיר לקוח
לבסוף, בשלב הבא, הן נתוני הטמפרטורה והן הלחות נשלחים ל- Azure Hub, באמצעות הפורמט כפי שמוצג בקוד להלן. כמו כן, השתמשנו בשיטת נסיון לתפוס כדי לזהות אם יש שגיאה בקוד.
def iothub_client_telemetry_sample_run (): נסה: client = iothub_client_init () הדפס ("שולח נתונים ל- IoT Hub, לחץ על Ctrl-C כדי לצאת") בזמן ש- True: msg_txt_formatted = MSG_SND.format (טמפרטורה = טמפרטורה, לחות = לחות) הודעה = הודעה (msg_txt_formatted) הדפס ("שליחת הודעה: {}". פורמט (הודעה)) client.send_message (הודעה) הדפסה ("ההודעה נשלחה בהצלחה") time.sleep (3)
פרסם נתונים ב- Azure IoT Hub - בדיקות
לאחר כתיבת הקוד בהצלחה, הידור אותו ובדוק אם קיימות שגיאות. אם בלוק הקוד נערך בהצלחה, הפעל את הקוד. בחלון הטרמינל, אתה אמור לראות את ההודעה האומרת "ההודעה נשלחה בהצלחה". צילום המסך של החלון מוצג למטה:
כעת, כדי לראות את הנתונים ב- Azure IoT Hub, עבור לפורטל ולחץ על מסוף CLI והפעל את הפקודות הבאות להחליף את האישורים שלך בו.
אזורי צג של רכזת az iot - שם hub XYZ - מזהה התקן XYZ
הערה:
החלף את XYZ בשם הרכזת שלך ומזהה המכשיר שלך.
לאחר הפעלת הפקודה הנ"ל, עליך לקבל את הנתונים כפי שמוצג להלן על המסך. אלה אותם נתונים שנשלחו מ- Raspberry Pi.
זה מסיים את סוף המדריך הזה, אני מקווה שאהבתם את המאמר ולמדתם משהו חדש. אם יש לך שאלות בנוגע למאמר, תוכל להשאיר אותן בקטע התגובה למטה. לחלופין, תוכלו להשתמש בפורום האלקטרוניקה שלנו כדי לקבל תגובה מהירה וטובה יותר.