התראה ביתית: Arduino + הודעות ענן במסך גדול: 14 שלבים (עם תמונות)
התראה ביתית: Arduino + הודעות ענן במסך גדול: 14 שלבים (עם תמונות)

וִידֵאוֹ: התראה ביתית: Arduino + הודעות ענן במסך גדול: 14 שלבים (עם תמונות)

וִידֵאוֹ: התראה ביתית: Arduino + הודעות ענן במסך גדול: 14 שלבים (עם תמונות)
וִידֵאוֹ: ELF/EMBARC Bronchiectasis conference 2023 with subtitles 2025, יָנוּאָר
Anonim
התראה ביתית: הודעות Arduino + ענן במסך גדול
התראה ביתית: הודעות Arduino + ענן במסך גדול
התראה ביתית: הודעות Arduino + ענן במסך גדול
התראה ביתית: הודעות Arduino + ענן במסך גדול
התראה ביתית: הודעות Arduino + ענן במסך גדול
התראה ביתית: הודעות Arduino + ענן במסך גדול

בעידן הטלפונים הניידים, היית מצפה שאנשים יגיבו לשיחתך 24/7.

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

יש לי בעיה זו לעתים קרובות מספיק כדי להצדיק פתרון. קצת התעסקות עם Arduino ו- Freetronics Dot Matrix Display (DMD) גרמה לגאדג'ט מאוד מעצבן (לאשתי), אבל למכשיר תקשורת ומרכז מידע מדהים עבורי. אני אוהב את זה, וזו רק גרסה 1!

התראת הבית מורכבת מהחלקים הבאים:

  • תצוגת Dot Matrix של Freetronics, שהיא מערך של 16x32 נוריות LED. הם מגיעים בצבעים שונים, אבל אני משתמש באדום כדי להדגיש שהגאדג'ט הזה מיועד להתראות "קריטיות".
  • Uno Arduino עם מגן אתרנט.
  • פריצת שעון בזמן אמת, כזה או זה.
  • זמזם פיצו
  • חיישן טמפרטורה ולחות DHT22.

Home Alert נשלט באמצעות דף אינטרנט המתארח ב- Heroku, מארח יישומים מבוסס ענן. דף האינטרנט מקודד ברובי, באמצעות מסגרת יישומי האינטרנט של Sinatra, וחנות ערכי המפתח Redis.

עיין בדף הבית (הצג בתמונה הראשונה המצורפת בשלב זה), שבו הטופס ממתין להודעה חדשה מהמשתמש.

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

ההודעה שברצונך להציג עוברת לשדה השני. כל טקסט שתקליד שם יוצג ב- DMD.

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

במאמר זה, אראה לך כיצד לבנות מערכת Home Alert משלך, הן חומרה והן תוכנה של Arduino, כמו גם יישום האינטרנט Sinatra mini.

בואו נתחיל!

שלב 1: החומרה

החומרה
החומרה
החומרה
החומרה
החומרה
החומרה

ה- DMD הוא מוקד הגאדג'ט. יכולתי ללכת עם מסך LCD קטן, אבל הרעיון המרכזי בפרויקט הזה היה לייצר משהו שאפשר לראות ולשמוע אותו מרחוק. מבחינת החלק הויזואלי, הייתי צריך משהו גדול ומואר, ותצוגת Freetronics זו בדיוק מה שהייתי צריך. כל לוח מכיל מערך של 16x32 נוריות LED, ואתה יכול לחבר כמה מהן יחד כדי ליצור תצוגות גדולות בהרבה. זה משהו שהייתי רוצה לעשות בעתיד הקרוב.

ה- DMD מגיע עם ספריית Arduino נוחה לשימוש. הוא מתקשר עם ה- Arduino באמצעות SPI במהירות גבוהה. הצלחתי להשיג את הספרייה מדף Freetronics Github, ואז להצית את סקיצת ההדגמה ולגרום לה לעבוד תוך דקות מרגע פתיחת הקופסה. הופתעתי לראות תצוגה בהירה כל כך שמשתמשת רק בחשמל מהארדואינו. אם ברצונך לעוור את הצופים שלך באופן זמני, תוכל לחבר ספק כוח ייעודי ל- DMD זה. אם זה לא ימשוך את תשומת ליבם, שום דבר לא יקבל!

מבחינה פיזית, תצוגה זו מודדת 320 מ"מ (W), 160 מ"מ (H) ו- 14 מ"מ (D).

הלוח האחורי מכיל את מחברי ההספק החיצוני, 5V עם קיבולת של 4 אמפר לפחות, מחבר ה- Arduino המסומן HUB1, והמחבר לשרשרת חינניות נוספות בצד השני. על פי התיעוד, אתה יכול לשרשר דייזי עד ארבעה DMDs.

ה- DMD נשלט על ידי Uno Arduino. Freetronics מספקת מחבר "DMDCON" נוח מאוד שפשוט מחליק ישירות על ה- SPI והסיכות הנתונים הנכונות.

פרט ל- DMD, השתמשתי ב- Arduino Uno, מגן אתרנט, הפסקת שעון בזמן אמת, זמזם ו- DHT22. עבור כל המרכיבים הללו, יצרתי הרצאות המתארות את פעולתן בקורס Udemy שלי. (קידום עצמי ללא בושה: הירשם לרשימת הדוא ל שלי באתר arduinosbs.com וקבל קופון המעניק לך גישה מוזלת לכל 55 ההרצאות).

השעון בזמן אמת, פריצה המבוססת על השעון DS18072 IC, הוא מכשיר I2C ולכן הוא מחובר לסיכות האנלוגיות 1 ו -2 של ה- Uno, המיישמות את אוטובוס I2C.

הבאזר מחובר לפין דיגיטלי 3, משם אני שולט בו באמצעות הפונקציה tone ().

חיישן DHT22 מחובר לפין דיגיטלי 2. היזהר בחיבור נגד הנגיעה 10KΩ בין קו 5V לקו הנתונים.

שלב 2: סקיצת הארדואינו

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

להלן המערכון, עם הערות מוטמעות (ראה קובץ מצורף PDF).

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

אנא הורד וקרא את קובץ ה- PDF המצורף, הוא מכיל הערות מוטמעות המתארות את פעולתו.

שלב 3: סינטרה עולה על הבמה

סינטרה עולה על הבמה!
סינטרה עולה על הבמה!

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

השתמשתי ושיחקתי במספר לא מבוטל של טכנולוגיות יישומי אינטרנט, ומצאתי שסינטרה אידיאלית לבניית שירותי אינטרנט ואתרי אינטרנט קטנים. בפרט, כשאני בונה שירות אינטרנט לתמיכה בגאדג'ט של Arduino, סינטרה היא בחירה טובה באמת.

מהי סינטרה, ומדוע היא בחירה כה טובה? אני שמח ששאלת!

סינטרה היא שפה לפיתוח מהיר של יישומי אינטרנט. הוא בנוי על גבי רובי, שפת סקריפטים פופולרית מאוד ואקספרסיבית. אתה עשוי לשמוע שסינטרה מכונה "DSL", שפה ספציפית לתחום. הדומיין כאן הוא האינטרנט. מילות המפתח (מילים) והתחביר שנוצר עבור Sinatra הן כאלה שמקלות על אנשים ליצור יישומי אינטרנט.

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

סינטרה היא הרבה יותר פשוטה מבחינה רעיונית מהמסילה והג'אנגוס של העולם. אתה יכול להתחיל לפעול עם יישום אינטרנט שיכול לתקשר עם ה- Arduino שלך בתוך דקות.

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

בקובץ אחד, נקרא לזה my_app.rb, הוסף טקסט זה:

לדרוש 'sinatra'get'/'לעשות "שלום, עולם!" סוף

בשורת הפקודה, הפעל את האפליקציה כך:

אודם my_app.rb

האפליקציה שלך תתחיל ותראה את הטקסט הזה במסוף:

peter@ubuntu-dev: ~/arduino/sinatra_demo $ ruby my_app.rbPuma 2.8.1 מתחיל…* שרשראות דקות: 0, מקסימום שרשורים: 16* סביבה: פיתוח* האזנה ב- tcp: // localhost: 4567 == Sinatra/1.4.4 עלתה על הבמה ב- 4567 לפיתוח עם גיבוי מפומה

האפליקציה מוכנה כעת לקבל בקשות של לקוח. פתח דפדפן, הצבע אותו אל https:// localhost: 4567, וזה מה שתראה (ראה צילום מסך מצורף).

זה ארבע שורות קוד פשוטות בקובץ אחד. לעומת זאת, Rails היו דורשים יותר ממאה קבצים, שנוצרים פשוט כדי לספק את דרישות המסגרת. שלא תבינו לא נכון, אני אוהב מסילות, אבל באמת?…

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

שלב 4: הגדר את מכונת הפיתוח שלך

סינטרה מבוססת על שפת התכנות רובי. לכן, עליך להתקין את רובי לפני שתתקין את סינטרה.

יהיה עליך גם להתקין שרת חנות בעל ערך מפתח בשם Redis. תחשוב על Redis כמסד נתונים המאחסן נתונים כנגד מפתח. אתה משתמש במפתח כדי לאחזר את הנתונים, והוא מותאם למהירות ולא לגמישות של מבני הנתונים שאליהם מיועד מסד נתונים יחסי מסורתי. Home Alert מאחסן את המסרים שלה ב- Redis.

שלב 5: רובי ב- Mac או Linux

אם אתה משתמש במחשב Mac או Linux, אני ממליץ לך להשתמש ב- RVM כדי להתקין ולנהל את התקנת Ruby שלך (RVM: מנהל גרסאות Ruby). ההוראות להתקנת Ruby with RVM נמצאות בדף זה, או פשוט העתק והדבק פקודה זו במעטפת שלך:

curl -sSL https://get.rvm.io | bash -s יציב -רובי

שבו, אחור, הירגע וחכה להשלמת ההורדה, האוסף והתקנת RVM והרובי.

שלב 6: רובי ב- Windows

אם אתה משתמש ב- Windows, אני ממליץ לעקוב אחר מדריך זה באתר האינטרנט של Ruby Installer for Windows ולהשתמש ביישום ההתקנה.

שלב 7: בדוק והגדר את האודם שלך

בזמן הכתיבה, הגרסה היציבה האחרונה של רובי היא 2.1.1.p76. תוכל לבדוק את הגירסה שהותקנה עם RVM על ידי הקלדה:

מידע rvm

מידע רב על RVM ורובי יופיע. במקרה שלי, זהו הקטע של רובי:

רובי: מתורגמן: גרסת "אודם": "2.1.1p76" תאריך: "2014-02-24" פלטפורמה: "x86_64-linux" patchlevel: "2014-02-24 revision 45161" full_version: "ruby 2.1.1p76 (2014 -02-24 עדכון 45161) [x86_64-linux]"

אני ממליץ לך להשתמש גם ברובי 2.1.1, כך שאם אתה רואה משהו ישן מזה, שדרג כך:

rvm להתקין 2.1.1

זה יתקין את רובי 2.1.1. אתר הפרויקטים RVM מכיל מידע רב אודות RVM וכיצד לנהל את התקנת רובי שלך.

שלב 8: התקן את Sinatra (כל הפלטפורמות)

ברובי, הקוד משותף כחבילות הנקראות "אבני חן". ניתן להתקין את הקוד המרכיב את סינטרה במחשב שלך כאבני חן כמו זה:

פנינת התקנת סינטרה

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

שלב 9: לבצע מחדש ב- Mac או Linux

ההגדרה של Redis ב- Mac או Linux היא קלה. התהליך מוסבר באתר Redis. פתח את מסוף המעטפת והקלד את הפקודות הבאות:

$ wget https://download.redis.io/releases/redis-2.8.7.tar…$ tar xzf redis-2.8.7.tar.gz $ cd redis-2.8.7 $ make

הפעל את Redis על ידי הקלדה:

$ src/redis-server

… וסיימת!

שלב 10: הפעלה מחדש ב- Windows

Redis ב- Windows מומלץ לפיתוח בלבד, ויהיה עליך לאסוף אותו באמצעות סביבת הפיתוח החינמית של Visual Studio Express. זה אמנם דורש קצת זמן כדי להפעיל אותו, אבל זה עובד היטב ושווה את המאמץ. עקוב אחר ההוראות בדף Github של הפרויקט. שם תמצא גם קישור לדף Visual Studio Express.

שלב 11: צור את יישום שירות האינטרנט

צור את יישום שירות האינטרנט
צור את יישום שירות האינטרנט

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

להלן קוד האודם, הכל בקובץ יחיד בשם "web.rb" (קוד זה זמין ב- Github).

חשוב: הורד וקרא את קובץ ה- PDF המצורף, הוא מכיל הערות מוטבעות מפורטות (אנא עשה זאת לפני שתמשיך!).

כעת תוכל לנסות את מערכת התראת הבית שלך. במערכון שלך, שנה את קבועי WEBSITE ו- WEBPAGE כדי להצביע על מכונת הפיתוח שלך ועל מספר היציאה עבור שרת הסינטרה לפיתוח שלך. במקרה שלי, יש לי מכונת פיתוח ב- IP 172.16.115.136, ושרת הפיתוח של Sinatra מקשיב ליציאה 5000, כך שהגדרות הסקיצה שלי הן:

#הגדר HW_ID "123"#הגדר אתר "172.16.115.136:5000”# הגדר WEBPAGE"/get_message/"

כתובת IP זו נגישה רק למכשירים ברשת הביתית שלי.

הגדרת HW_ID מייצגת את "מזהה החומרה", כלומר את המזהה שאליו הארדואינו השולט ב- DMD יזהה את עצמו ליישום Sinatra. זהו סוג אימות בסיסי ביותר. יישום האינטרנט יעביר הודעה לאדואינו שיבקש זאת על סמך ה- HW_ID שסופק. אתה יכול לקבל מספר מכשירים עם אותו HW_ID, ובמקרה זה כל המכשירים יציגו את אותה ההודעה. אם אתה רוצה "פרטיות", בחר מזהה עם הרבה תווים אקראיים שאנשים אחרים לא יוכלו לנחש. כמו כן היזהר, שום תקשורת אינה מוצפנת.

עכשיו קדימה והפעל את אפליקציית Sinatra שלך, הקלד זאת (בהנחה שאתה נמצא בתיקיית הפרויקט של Sinatra):

אודם web.rb

… ותראה משהו כזה (פרטים מסוימים עשויים להשתנות, כל עוד זה לא קורס, אתה בסדר):

10:42:18 web.1 | התחיל עם pid 4911910: 42: 18 web.1 | פומה 2.8.1 מתחילה … 10: 42: 18 web.1 | * מינימום אשכולות: 0, מקסימום שרשורים: 1610: 42: 18 web.1 | * סביבה: פיתוח 10: 42: 18 web.1 | * האזנה ב- tcp: //0.0.0.0: 5000

כוון את דפדפן האינטרנט שלך למיקום שהשרת מאזין לו ותראה זאת (ראה קובץ מצורף שני).

העלה את הסקיצה שלך ל- Arduino, וודא שהיא מחוברת לרשת המקומית שלך. אם הכל ילך כשורה, ה- Arduino יסקור את שירות האינטרנט שלך אחת לדקה. תן לו הודעה להראות: בשדה קוד HW, הקלד את אותו מזהה שהגדרת עבור קבוע HW_ID בסקיצה. הקלד משהו בשדה "ההודעה שלך" ובדוק את "באז?" תיבת הסימון.

שלח, המתן דקה וראה את הודעתך מופיעה ב- DMD!

שלב 12: פריסה לענן באמצעות הרוקו

כעת, כאשר Home Alert פועל בפיתוח, בואו נפעיל אותו על הענן. ישנן אינספור אפשרויות זמינות לפריסת יישומי אינטרנט. בהתבסס על היקפו ומורכבותו של Home Alert, החלטתי כי הקמת שרת פרטי וירטואלי משלי אינה שווה את המאמץ. במקום זאת, עדיף ללכת על שירות כמו Heroku, מארח אפליקציות. בקנה המידה שלי, הרמה החופשית של Heroku היא יותר ממספיק. אפילו עבור רכיב Redis, הצלחתי לבחור תוכנית חינמית מאחד מספקי Redis רבים שעובדים עם Heroku.

ובכל זאת, יש קצת מאמץ הכרוך בשינוי מעט של האפליקציה שלי, כך שתוכל לעמוד במפרט של הרוקו. הפרטים נמצאים כאן, אך בעיקרון יהיה עליך להוסיף קבצים אלה לפרויקט Sinatra שלך (ניתן להוריד את כל הקבצים הבאים לאחר מכן מחשבון Github שלי):

* config.ru: הוא מספר ל- Heroku איזה קובץ מכיל את היישום. להלן התוכן:

לדרוש './web'run Sinatra:: יישום

השורה הראשונה מצביעה על web.rb, והשורה השנייה למעשה מפעילה את היישום שלך.

* Gemfile: הוא מכיל את אבני החן (חבילות קוד אודם) הדרושות על ידי האפליקציה. Heroku יסתכל בתוך הקובץ הזה כדי להבין איזה קוד אחר הוא צריך להתקין כדי שהיישום שלך יפעל. דרך נוספת להסתכל על Gemfile היא שמכילה רשימה של תלות בפרויקט שלך. אם אחת מהתלות האלה אינה זמינה, היישום שלך לא יפעל. הנה מה שיש בתוך Gemfile לאפליקציה זו:

מקור "https://rubygems.org" אודם "2.1.1" gem 'sinatra'gem' puma'gem 'redis'

ראשית, הוא מגדיר את מאגר המקורות של כל קוד ה- Gem להיות rubygems.org. לאחר מכן, הוא דורש את גרסת האודם 2.1.1 המשמשת להפעלת היישום. לאחר מכן הוא מפרט את אבני החן הנדרשות: סינטרה, פומה (שרת יישומי אינטרנט נהדר של רובי) ורדיס.

* Procfile: הוא מספר להרוקו כיצד להפעיל את השרת שלך. יש כאן רק שורה אחת:

אינטרנט: ערימות -s puma -p $ PORT

בשורה זו כתוב ש"אינטרנט "הוא סוג השירות היחיד הנדרש (יכול להיות שיש לך אחרים, כמו" עובד ", לעיבוד רקע), וכי כדי להתחיל את השירות, על הירוקו להשתמש בפקודה שמגיעה לאחר": ".

אתה יכול לדמות מה Heroku הולך לעשות על ידי ביצוע רצף זה במכונת הפיתוח שלך (הקלד רק את הבדיקה לפני החץ; מה שאחרי החץ הוא רק תיאור של הפקודה):

$> bund installer bundler -> מתקין Bundler, שיודע להתמודד עם Gemfile. $> bundle install -> Bundler מעבד Gemfile ומתקין תלות. $> rackup config.ru -> Rackup הוא כלי שיכול לעבד את קובץ config.ru. בדרך כלל היא מגיעה עם הגרסה המאוחרת יותר של רובי, אם היא לא מתקינה אותה כך: מתקן התקנת פנינים.

השלב האחרון גורם למעשה להפעלת היישום שלך. אתה אמור לראות את אותו פלט בדיוק כמו כשהתחלת אותו עם רובי web.rb קודם לכן. זה אותו יישום שרץ, רק בהבדל שהשיטה השנייה היא איך הרוקו מתחיל אותה.

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

חגורת הכלים של Heroku מתקינה את לקוח שורת הפקודה Heroku, Git (מערכת ניהול קוד הקוד הפתוח) ו- Foreman (כלי רובי המסייע בניהול יישומים מבוססי Procfile).

לאחר שתסיים את ההתקנה של חגורת הכלים של Heroku בהתאם להוראות באתר Heroku, בצע את השלבים הבאים כדי לפרוס את היישום שלך (הכל מוקלד בשורת הפקודה, בתוך ספריית האפליקציה):

$> התחברות להרוקו -> התחבר להרוקו באמצעות שורת הפקודה $> git init -> אתחל מאגר Git עבור היישום שלך $> git add. -> (שים לב לנקודה!) הוסף את כל הקבצים בספרייה הנוכחית למאגר Git $> git commit -m "init" -> העבר קבצים אלה למאגר, עם הודעה חדשה $> heroku create -> צור חדש אפליקציה בהרוקו. הרוקו תיתן לאפליקציה שלך שם אקראי, בערך כמו "blazing-galaxy-997". רשום את השם ואת כתובת האתר כך שתוכל לגשת אליו באמצעות דפדפן האינטרנט שלך מאוחר יותר.כתובת אתר זו תיראה כך: "https://blazing-galaxy-997.herokuapp.com/". יהיה עליך גם להעתיק את שם המארח (החלק "blazing-galaxy-997.herokuapp.com") של היישום החדש שלך לקבוע WEBSITE של הסקיצה שלך בארדואינו. עשו זאת עכשיו כדי שלא תשכחו אחר כך. $> addons heroku: add rediscloud -> מוסיף את הרובד החינמי של שירות Rediscloud Redis ליישום שלך. הגדרות תצורה נוצרות באופן אוטומטי וזמינות ליישום שלך. $> git push heroku master -> לפרוס את הקוד שלך להרוקו. פעולה זו תעביר את הקוד אוטומטית, תגדיר את התלות בהרוקו ותפעיל את היישום. בסוף התהליך, תראה משהו כזה: "https://blazing-galaxy-997.herokuapp.com פרוסה להרוקו", מה שאומר שהיישום שלך חי כעת בענן הציבורי! מזל טוב!

קדימה, תן לזה סיבוב!

שלב 13: חיבור הכל ביחד

כאשר יישום האינטרנט שלך נפרס, העלה את הסקיצה המעודכנת ל- Arduino (זכור שעדכנת את קבוע WEBSITE כדי להצביע על מופע הייצור שלך של יישום האינטרנט).

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

ההודעה שלך תופיע ב- DMD כעבור דקה אם הכל ילך כשורה!

שלב 14: פוטנציאל

יש הרבה יותר מה שאתה יכול לעשות עם מערכת ההתראה הביתית שלך …

בעל סוף אחורי של Heroku פירושו שאתה יכול להוסיף הרבה היגיון שיכול להוסיף פונקציונליות מדהימה. לדוגמה, תוכל להוסיף את האפשרות ליישום לנהל הודעות חוזרות, אישורים, או לשלוט בחומרת התראות נוספת כמו אורות פנסים וכו '. תוכל להרחיב אותו לשטח אוטומציה ביתית ולשלוט בנורות ובדלתות. תוכל להוסיף מספר DMDs להצגת הודעות שונות בכל אחת מהן או הודעה אחת בתצוגה משולבת גדולה יותר. אני רק מגרד את פני השטח של מה שאפשר כאן!

תהנה!