שלט רחוק ומעקב אחר תמונות באמצעות MQTT: 8 שלבים
שלט רחוק ומעקב אחר תמונות באמצעות MQTT: 8 שלבים
Anonim
שלט רחוק ומעקב אחר תמונות באמצעות MQTT
שלט רחוק ומעקב אחר תמונות באמצעות MQTT

שלום.

היום ברצוני לדבר על אופן ייצור מערכת שלט וניטור מרחוק שניתן להשתמש בה למשל לשליטה על דלתות מוסך, תאורה, חימום, בקרת לחץ, טמפרטורה ופרמטרים רבים אחרים. אך התכונה העיקרית של מערכת זו היא שניתן לקבל תמונות מרחוק מאובייקט מרוחק. לפני שתתחיל בסיפור, הקדמה קצרה. לאחר שרציתי ליצור מערכת מעקב צילום באמצעות לוח Arduino M0-SD תואם, מצלמת VC0706 ומגן 3G/GPRS/GSM/GPS עבור Arduino. הלוח התואם Arduino M0 -SD נבחר מהתנאים שקל מאוד לתכנת (ממש כמו ה- Arduino UNO), מתח ההפעלה הוא 3.3V - זה מאוד נוח לעבודה עם מצלמת VC0706, כמות גדולה של ROM ו- RAM, מספר יציאות ל- UART, יציאה וירטואלית נפרדת של ה- USB, אך היתרון העיקרי הוא הימצאות מחבר מיקרו SD ישירות על הלוח (מאוד נוח לאחסן כמויות גדולות של נתונים, כגון תמונות).

מגן 3G/GPRS/GSM/GPS עבור Arduino נוח מאוד לשימוש עם לוח Arduino M0-SD תואם. ישנן מספר ספריות באינטרנט, כמו גם דוגמאות רבות לעבודה עם מגן זה. קצב העברת הנתונים (3G) גבוה בהרבה מזה של מגני GPRS רגילים (נוח במיוחד להעברת תמונות). זמינות מודול ה- GPS היא יתרון נוסף.

בחרתי בתעריף בעלות נמוכה ממפעיל סלולרי להעברת נתונים (תמונות) דרך האינטרנט. אך עלתה השאלה: כיצד להעביר נתונים? MMS? FTP? כיצד לקבל הודעה על קבלת נתונים (תמונה)? כתוצאה מכך הגעתי להחלטה לשלוח נתונים (תמונות) לדואר אלקטרוני ולצפות במכתבים דרך האפליקציה המותקנת בטלפון הנייד. התברר שזה מאוד נוח!:-) ניתן לצפות בפרויקט המוגמר בקישור הזה.

יש גם פרויקט דומה ל- Arduino UNO בהפניה.

ואז החלטתי להרחיב את הפונקציונליות של המכשיר שלי. לדוגמה, הוסף את היכולת לשלוט בלדים (אם כי במציאות האפשרויות רחבות בהרבה). דואר אלקטרוני לכך אינו מתאים במיוחד. אפשרות SMS היא יקרה ולא נוחה. ואז למדתי על ה- MQTT. לא אתאר מה הוא. תן לי רק לומר: זה דבר ממש מגניב!:-) בעזרת MQTT, אתה יכול להחליף לא רק הודעות, אלא גם קבצים בינאריים (תמונות). ביישום הטלפון תוכל ליצור ממשק משלך בקלות.

חיפשתי דוגמאות ליישום פרוטוקול MQTT למגן 3G/GPRS/GSM/GPS (SIM5320) ולצערי לא מצאתי את היישום הדרוש לי. אבל זה לא השאיר אותי לבד. החלטתי ליישם באופן עצמאי את הפונקציונליות הדרושה. כתוצאה מכך, הצלחתי ליצור מכשיר הנשלט (מסומן על ידי שלוש נוריות) מעל MQTT מאפליקציה המותקנת בטלפון נייד, וגם שולחת תמונה לטלפון בפקודה מהטלפון. (אגלה לכם סוד שלא ראיתי דוגמאות לשליחת תמונות דרך מתווך MQTT בעבר ועשיתי זאת בפעם הראשונה. וכשהצלחתי להעביר את התמונה הראשונה שמחתי מאוד!:-)) וגם לכן, אני מציע ללכת ישר לשלב הראשון - רשימת הרכיבים הדרושים.

שלב 1: רשימת רכיבים

רשימת רכיבים
רשימת רכיבים
רשימת רכיבים
רשימת רכיבים
רשימת רכיבים
רשימת רכיבים
רשימת רכיבים
רשימת רכיבים

אנו זקוקים לרכיבים הבאים:

1) תואם Arduino M0-SD.

2) מצלמת TTL VC0706.

3) מגן 3G/GPRS/GSM/GPS עבור Arduino.

4) נוריות אדומות, ירוקות, צהובות, 3 נגדים (100-500 אוהם), חוטים, מחבר זווית סיכה עם מרווח 2.54 מ מ.

5) מתאם מתח AC-DC (6V 1A), אנטנת 3G וכו '.

שלב 2: הכנת המצלמה

הכנת מצלמה
הכנת מצלמה
הכנת מצלמה
הכנת מצלמה
הכנת מצלמה
הכנת מצלמה

למצלמה יציאת RS-232 לחיבור ישיר למחשב. יש צורך להסיר את MAX232 (ממיר RS-232) ולסגור את כריות המגע בין הפינים המתאימים 7-10 (TX), 8-9 (RX).

הכבל בעל שישה החוטים המצורף למצלמה צריך לעבור מעט שיפוץ:

  • הסר את שני החוטים מהמחבר.
  • סדר מחדש את החוטים האדומים (+ 5V) והשחורים (GND) כפי שמוצג באיור.

בקצוות החשופים של החוטים חייבים להיות עצות מולחמות כמו "נקבה".

שלב 3: הכנת Arduino M0-SD תואם

הכנת תואם Arduino M0-SD
הכנת תואם Arduino M0-SD
הכנת תואם Arduino M0-SD
הכנת תואם Arduino M0-SD
הכנת תואם Arduino M0-SD
הכנת תואם Arduino M0-SD

כפי שכבר צוין, ה- Arduino M0-SD התואם הוא חומרה ותוכנה התואמים את ה- Arduino M0 המקורי, אך יש לו גם מחבר microSD המשולב לחיבור כרטיס זיכרון.

כדי לחבר את המצלמה ל- Arduino M0-SD התואם על הלוח יש צורך להלחם את המחבר הזוויתי למסופים TXD, RXD (מחבר X6) כפי שמוצג באיור. יציאה זו מתאימה ל"סדרה ".

חוטי לבן (מצלמה RX) וצהובים (מצלמה TX) מהמצלמה חייבים להיות מחוברים בהתאמה למסופי ה- TXD וה- RXD (מחבר X6) כפי שמוצג באיור.

שלב 4: הכנת 3G/GPRS/GSM/GPS Shield SIM5320

הכנת 3G/GPRS/GSM/GPS Shield SIM5320
הכנת 3G/GPRS/GSM/GPS Shield SIM5320
הכנת 3G/GPRS/GSM/GPS Shield SIM5320
הכנת 3G/GPRS/GSM/GPS Shield SIM5320
הכנת מגן 3G/GPRS/GSM/GPS SIM5320
הכנת מגן 3G/GPRS/GSM/GPS SIM5320

לפני התקנת כרטיס SIM בחריץ, עליך להשבית את בקשת קוד ה- PIN. לאחר מכן התקן את כרטיס ה- SIM בחריץ בצד התחתון של הלוח כפי שמוצג באיור. יש להתקין שני מגשרים במיקום RX-1 (D1), TX-0 (D0).

שלב 5: הרכבת חומרה

הרכבת חומרה
הרכבת חומרה
הרכבת חומרה
הרכבת חומרה
הרכבת חומרה
הרכבת חומרה

הרכבת חומרה מורכבת מכמה פעולות פשוטות:

  • כדי לשלוט בנורות הלדים, תחילה עליך להלחם עיצוב קטן של נוריות נגדים ונגדים המגבילים את הזרם (100-500 אוהם) כפי שמוצג באיור. שימו לב לקוטביות הנוריות - האנודה חייבת להיות מולחמת לנגדים (+). כדי להפחית את החשיפה הטפילית של הלדים, הכנתי מסך שחור מקרטון רגיל.
  • חבר את הנורות והמצלמה ללוח Arduino M0-SD תואם כפי שמוצג בתרשים. יש להוציא את אספקת החשמל של המצלמה (חוט אדום "+ 5V" וחוט שחור "GND") ממסופי "+ 5V" ומ- "GND" מהחריץ. אתה יכול גם להשתמש במחבר זווית לשם כך.
  • לאחר מכן, חבר את מגן 3G/GPRS/GSM/GPS ללוח Arduino M0-SD התואם. אל תשכח לחבר אנטנת 3G.

שלב 6: הגדרת מתווך MQTT

הגדרת מתווך MQTT
הגדרת מתווך MQTT
הגדרת מתווך MQTT
הגדרת מתווך MQTT
הגדרת מתווך MQTT
הגדרת מתווך MQTT

בחרתי באתר www.cloudmqtt.com נוח וברור מאוד כמתווך MQTT. הוא מספק בדיקות חינם. כמו כן, ניתן לקבל ולשלוח הודעות ישירות באתר.

הליך ההתקנה הוא כדלקמן:

  1. להירשם באינטרנט.
  2. לחץ על כפתור "צור מופע חדש".
  3. הגדר את השם, למשל "MqttCamera".
  4. הקש על כפתור "בחר אזור". לדוגמה, בחר "US-East-1 (צפון וירג'יניה)".
  5. לחץ על כפתור "סקירה".
  6. לחץ על הלחצן "צור מופע". צפה בהודעה "המופע נוצר בהצלחה".
  7. לחץ על "MqttCamera".
  8. זכור מידע: שרת, משתמש, סיסמה, יציאה, מפתח API (נזדקק לו בשלב השביעי והשביעי).
  9. לאחר מכן תוכל לעבור לחלון "ממשק המשתמש של WEBSOCKET", שם תוכל לבדוק ולאתר באגים, להציג ולשלוח הודעות (נזדקק לחלון זה בשלב הבא).

שלב 7: אפליקציית Dash MQTT

אפליקציית MQTT Dash
אפליקציית MQTT Dash
אפליקציית MQTT Dash
אפליקציית MQTT Dash
אפליקציית MQTT Dash
אפליקציית MQTT Dash

כדי ליצור לוח בקרה בטלפון נייד, בחרתי באפליקציית MQTT Dash מאוד ידידותית למשתמש וברורה.

התקן את האפליקציה MQTT Dash בטלפון שלך ובצע את ההגדרות הבאות:

  1. פתח את היישום.
  2. בחלון המקף MQTT, לחץ על (+) כדי להוסיף לוח בקרה חדש.
  3. בחלון שמופיע, מלא את השדות הדרושים, כגון: שם (לדוגמה, MqttCamera), כתובת, יציאה, שם משתמש, סיסמת משתמש (קח נתונים משלב 6).
  4. לאחר מילוי השדות, לחץ על סמל הדיסק (פעולה "שמור").
  5. בחלון עם רשימת לוחות הבקרה, לחץ על השורה המופיעה "MqttCamera".
  6. בחלון לוח הבקרה שנפתח, לחץ על סמל החץ כדי לטעון את המדדים.
  7. לאחר מכן, בחלון המוקפץ, לחץ על הלחצן "הרשמה והמתן למדד".
  8. במחשב אישי, פתח חשבון בברוקר MQTT (ראה את השלב הקודם), פתח את חלון "ממשק המשתמש של WEBSOCKET", הגדר את הנושא "מדדים/החלפה" בחלון "שלח הודעה", והקלט את הטקסט מתוך מצורף קובץ metrics.txt בחלון "הודעה", לחץ על כפתור "שלח".
  9. המתן 10 שניות, וודא שהמדד מתקבל בטלפון ולוח הבקרה מעודכן.

לאחר מכן תוכל להמשיך לתכנת Arduino M0-SD תואם.

שלב 8: תכנות ועבודה

תכנות ועבודה
תכנות ועבודה
תכנות ועבודה
תכנות ועבודה
תכנות ועבודה
תכנות ועבודה
תכנות ועבודה
תכנות ועבודה

לפני שתכנת Arduino M0-SD תואם, עליך להתקין במחשב את כל הספריות הדרושות (pubsubclient-master, TinyGSM-master), שציינתי להלן. ספריות אלו שונו מעט לעבודה עם לוח Arduino M0-SD תואם, מצלמת VC0706 ומגן 3G/GPRS/GSM/GPS SIM5320.

עליך לחבר את הכבל ואת ספק הכוח (6V 1A להפעלת מגן 3G/GPRS/GSM/GPS) ל- Arduino M0-SD התואם.

הפעל את Arduino IDE. ב- Arduino ה- IDE צריך לבחור: כלים-> לוח: Arduino M0 Pro (יציאת USB מקורית).

פתח את המערכון MqttCamera.ino. מלא את השדות: שם משתמש, סיסמת משתמש, מפתח API, יציאה, שרת (קח נתונים משלב 6).

פתח את חלון צג סידורי.

העלה סקיצה. אני לא מתאר בפירוט את הליך התכנות (יש מספיק הוראות באינטרנט).

לאחר טעינה מוצלחת והרכבה נכונה, המידע הבא אמור להופיע בחלון צג סידורי:

מצלמה VC0706 + Arduino M0 + SIM5320 + MQTT

מצלמת init… גרסה: ----------------- VC0703 1.00 Ctrl infr קיים קיימת חיישן מוגדר על ידי משתמש 525 ----------------- הצלחה ! אתחול המודם … מודם: AT+CGMM SIMCOM_SIM5320E מחכה לרשת … אישור התחברות לאינטרנט אישור התחברות ל- 3.83.68.228 נכשל התחברות ל- 3.83.68.228 אישור פינג: 0

השורה "Ping: XX" היא הודעה תקופתית מה- Arduino M0-SD התואם לשרת. במקום מידע זה, תוכל לשלוח מדידות ADC, מצב קלט ועוד.

באפליקציית MQTT Dash, לחץ על הסמלים של הנורות (LED_YELLOW, LED_GREEN, LED_RED) - הפעל/כבה. תסתכל בחלון של הצג הסידורי - אמור להיות מידע על דבר כזה:

LED_YELLOW מופעל

LED_YELLOW_Off LED_GREEN מופעל LED_GREEN כבוי LED_RED מופעל LED_RED כבוי

לחץ על סמל המצלמה - שלח את הפקודה "SHOOT" והמתן זמן מה. המידע הבא אמור להופיע בחלון צג סידורי:

התחל לירות!

התמונה צולמה! צור IMAGE332-j.webp

ואחרי זמן מה (5-10 שניות) בחלון "צפה בתמונה" אמורה להיות מוצגת תמונה.

לצורך ההדגמה כיוונתי את מצלמת ה- VC0706 לנורות הלדים כך שתוכל לראות את מעמדן לאחר החלפתי באופן שרירותי. אבל בשימוש אמיתי, אתה יכול לכוון את המצלמה לחדר, לדלת, לרחוב, לשער, לרכב וכו '(כמובן שאתה חייב לקחת בחשבון את דרישות החוק).הפגנה אני מציג מספר צילומי מסך של טלפון נייד, שבו מוצגים מצבי המותקנים והאמיתיים של נוריות הלדים.

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