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

IOT123 - מוקד חיישנים מקיף: WEBSEVER התאמה אישית של ICOS10: 11 שלבים
IOT123 - מוקד חיישנים מקיף: WEBSEVER התאמה אישית של ICOS10: 11 שלבים

וִידֵאוֹ: IOT123 - מוקד חיישנים מקיף: WEBSEVER התאמה אישית של ICOS10: 11 שלבים

וִידֵאוֹ: IOT123 - מוקד חיישנים מקיף: WEBSEVER התאמה אישית של ICOS10: 11 שלבים
וִידֵאוֹ: מוקד טכני בזק 2024, נוֹבֶמבֶּר
Anonim
IOT123 - מוקד חיישנים מוטמע: אתר התאמה אישית של ICOS10
IOT123 - מוקד חיישנים מוטמע: אתר התאמה אישית של ICOS10
IOT123 - מוקד חיישנים מזורג: אתר התאמה אישית של ICOS10
IOT123 - מוקד חיישנים מזורג: אתר התאמה אישית של ICOS10
IOT123 - מוקד חיישנים מוטמע: אתר התאמה אישית של ICOS10
IOT123 - מוקד חיישנים מוטמע: אתר התאמה אישית של ICOS10

ה- ASSIMILATE SENSOR/ACTOR עבדים מטמיעים מטא נתונים המשמשים להדמיה חזותית בקרוטון. מבנה זה מוסיף שרת אינטרנט ל- ESP8266 Master, משרת כמה קבצי תצורה שניתן לשנות על ידי המשתמש ולאחר מכן משתמש בקבצים אלה כדי להגדיר מחדש את ההדמיות. כך שניתן לשנות את שמות כרטיסי לוח המחוונים ואת רוב המאפיינים הניתנים להגדרה. זה היה נחוץ למשל ה- DHT11 מפרסם מאפייני טמפרטורה ולחות: אם לאתר יש מספר צמתים עם חיישני DHT11 נפרדים לא ניתן לקרוא לכולם טמפרטורה (טמפ 'מוסך, טמפ' חצר …). הגבלת אורך המטא נתונים שהוגדר על ידי אוטובוס I2C (16 תווים) אינה קיימת וניתן להחיל ערכים עשירים יותר (עד 64 תווים).

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

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

הערה טכנית, לפני תחילת בנייה זו טביעת הרגל של הזיכרון הייתה 70% בגלל גרף אובייקט מטא -נתונים גלובלי. בספריית AssimilateBus האחרונה היו שינויים שבירים המפרקים את המשתנה הגלובלי לקבצי JSON קטנים יותר שנשמרו ב- SPIFFS. זה החזיר את טביעת הרגל ל ~ 50%, וזה בטוח יותר עבור כל הניתוח/בניין JSON. הספרייה AssimilateBusSlave נשארת זהה (ASSIM_VERSION 2) לאורך השינויים הללו.

תכונות וחזון

כיום העבדים (חיישנים ושחקנים) הם עצמאיים ומסתמכים על הודעות I2C המבוססות על מוסכמה כדי לקרוא נכסים או לפעול על פי פקודות. המאסטר אוסף את המטא נתונים והמאפיינים מעבדים ושולח אותם לברוקר MQTT. הוא גם מפעיל שרת אינטרנט ומשרת קבצי JSON הניתנים לעריכה כדי להגדיר את המאסטר ולהתאים אישית את המטא נתונים/מאפיינים שנצרכים בסופו של דבר על ידי קרוטון. החיישנים/השחקנים האישיים נקראים/מצווים באמצעות קרוטון מבלי שלמאסטר יהיה ידע מוקדם על מה שהעבדים עושים.

אחת המטרות של ASSIMILATE IOT NETWORK היא התאמה אישית של Crouton כך שעורכי mashup שהוגשו משרתי האינטרנט IOT NODE (כמו build זה), יתווספו כרכיבי אינטרנט שיעניקו שליטה מלאה על מה שהדבר עושה כלומר המאסטר אינו מתוכנת, לעבדים יש ערכות תכונות בסיסיות אבל לוח המחוונים של קרוטון מכלול את כל הכללים העסקיים הדרושים להפעלת הדבר!

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

שלב 1: קרוטון

קרוּטוֹן
קרוּטוֹן
קרוּטוֹן
קרוּטוֹן

קרוּטוֹן. https://crouton.mybluemix.net/ Crouton הוא לוח מחוונים המאפשר לך לדמיין ולשלוט במכשירי IOT שלך עם הגדרה מינימלית. בעיקרו של דבר, זהו לוח המחוונים הקל ביותר להתקנה עבור כל חובב חומרת IOT המשתמש רק ב- MQTT ו- JSON.

ל- ASSIMILATE SLAVES (חיישנים ושחקנים) מוטבעות מטא נתונים ומאפיינים בהם המאסטר משתמש כדי לבנות את מנות ה- json deviceInfo שבהן משתמש קרוטון לבניית לוח המחוונים. המתווך בין ASSIMILATE NODES לקרואטון הוא מתווך MQTT שהוא ידידותי לשקעים: יתוש משמש להדגמה.

מכיוון שה- ASSIMILATE MASTER (build הזה) מבקש מאפיינים, הוא מעצב את ערכי התגובה בפורמט הנדרש לעדכוני Crouton.

שלב 2: שרת האינטרנט / עורך

שרת האינטרנט / עורך
שרת האינטרנט / עורך
שרת האינטרנט / עורך
שרת האינטרנט / עורך

כשהמגפיים של Master (מבנה זה) מופעלים שרת אינטרנט מוטבע. כתובת ה- IP מופקת למסוף הסידורי; בסופו של דבר זה יתפרסם בלוח המחוונים של קרוטון.

כאשר אתה עובר אל כתובת האתר שצוינה, ACE EDITOR ייטען:

אייס הוא עורך קוד להטמעה שנכתב ב- JavaScript. הוא תואם את התכונות והביצועים של עורכים מקומיים כגון Sublime, Vim ו- TextMate.

אייס פופולרי בקרב שרתים מובנים ונותן ממשק טוב לעריכה ושמירה של קבצי JSON.

לחיצה על שם קובץ משמאל תקרא את הקובץ מ- SPIFFS ב- ESP8266 ותטען את התוכן לעריכה מימין. ניתן לשמור את הקובץ מסרגל הכלים העליון.

להעלאת קובץ:

  1. בחר קובץ ממערכת הקבצים המקומית שלך.
  2. הכנס נתיב תיקיה (במידת הצורך) בתיבת הטקסט.
  3. לחץ על העלה.
  4. רענן את הדף.

שלב 3: התאמה אישית של המכשיר

התאמה אישית של המכשיר
התאמה אישית של המכשיר

תצורת המכשיר (ESP8266) מתבצעת באמצעות קובץ device.json.

חלק מהערכים הללו (wifi_ssid, wifi_key) יצטרכו לשנות לפני שתעלה את הנתונים ל- SPIFFS (העלאת נתוני סקיצה ESP8266).

דפדף אל השורש של שרת האינטרנט (מוצג בפלט הקונסולה כמו

עֲרִיכָה

ב- ACE EDITOR בחר config/device.json.

הערכים הם:

  • www_auth_username: שם משתמש להרשאה לקבצי שרת אינטרנט (ריק לאי הרשאה).
  • www_auth_password: סיסמת הרשאה לקבצי שרת אינטרנט (אם שם משתמש מוגדר).
  • www_auth_exclude_files: רשימת נתיבי קבצים מופרדת בחצי נקודתיים להחרגה מבדיקות הרשאה (אם שם משתמש מוגדר).
  • sensor_interval: האלפיות השנייה בין פרסום הנתונים למתווך MQTT.
  • ntp_server_name: שם שרת הזמן לשימוש.
  • time_zone: הקיזוז בשעות עבור הזמן המקומי שלך.
  • wifi_ssid: ה- SSID של נקודת הגישה המקומית שלך.
  • wifi_key: המפתח לשימוש עבור SSID.
  • mqtt_broker: כתובת המתווך MQTT.
  • mqtt_username: שם המשתמש לשימוש עבור מתווך MQTT (ריק ללא צורך בחשבון).
  • mqtt_password: הסיסמה לשימוש מתוך שם המשתמש MQTT.
  • mqtt_port: יציאת הברוקר MQTT.
  • mqtt_device_name: השם לשימוש עבור נושאי MQTT וזיהוי Crouton.
  • mqtt_device_description: תיאור ה- de3 של המכשיר המוצג ב- Crouton.
  • viz_color: הצבע לזיהוי כרטיסי המכשיר בקרוטון (בגרסה המזלגת)

שלב 4: התאמה אישית של נכס

התאמה אישית של נכס
התאמה אישית של נכס
התאמה אישית של נכס
התאמה אישית של נכס
התאמה אישית של נכס
התאמה אישית של נכס

לכל אחד מהעבדים יש מערך struct של nvc המוגדר בקובץ definitions.h:

// --------------------------------------- נכסים שפורסמו

אביזרים nvc [2] = {{"לחות", "", נכון}, {"טמפרטורה", "", שקר}}; // --------------------------------------- סוף נכסים שפורסמו

לכל אחת מהערכים יש אינדקס כשהראשון הוא 0 (אפס).

ההתאמה האישית של שם הנכס נעשית באמצעות הקובץ user_props.json.

דפדף לשורש שרת האינטרנט (מוצג בפלט הקונסולה כמו

עֲרִיכָה

ב- ACE EDITOR בחר config/user_props.json (או העלה אחת).

המבנה הוא:

המפתח הראשון הוא כתובת העבד בקובץ definitions.h כפי שזוהה על ידי:

#הגדר ADDRESS_SLAVE XX

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

שלב 5: התאמה אישית של מטא נתונים

התאמה אישית של מטא נתונים
התאמה אישית של מטא נתונים
התאמה אישית של מטא נתונים
התאמה אישית של מטא נתונים
התאמה אישית של מטא נתונים
התאמה אישית של מטא נתונים
התאמה אישית של מטא נתונים
התאמה אישית של מטא נתונים

בשל כמות ההתאמות האישיות האפשריות, לכל עבד יש קובץ שינוי מטא נתונים משלו. הקבצים יהיו בפורמט user_metas_.json.

כתובת העבד נמצאת בקובץ definitions.h במערכונים של ATTINY85:

#הגדר ADDRESS_SLAVE XX

המטא נתונים מוגדרים באותו קובץ כך:

const static char viz1 PROGMEM = "VIZ_CARD_TYPE";

const static char viz2 PROGMEM = "2: תרשים-סופגנייה"; const static char viz3 PROGMEM = "1";

השורה הראשונה היא שמו של פריט המטא -נתונים.

השורה השנייה היא הערך. בדרך כלל יש לו סיומת של מדד רכוש.

השורה השלישית היא דגל ההמשך. 1 - המשך, 0 - סוף המטא נתונים (VCC_MV).

דפדף לשורש שרת האינטרנט (מוצג בפלט הקונסולה כמו

עֲרִיכָה

ב- ACE EDITOR בחר config/user_metas_SLAVE_ADDRESS.json (או העלה אחד). המבנה הוא:

  • מערך של זוגות שם/ערך.
  • שם הוא שם פריט המטא נתונים שיש לשנות.
  • ערך הוא השינוי. סיומת האינדקס נבדקת על ההחלפה.

שלב 6: חומרים וכלים

חומרים וכלים
חומרים וכלים
חומרים וכלים
חומרים וכלים
חומרים וכלים
חומרים וכלים

שטר החומרים של מעטפת ICOS10 (IDC)

  1. D1M BLOCK Pin Jig (1)
  2. בסיס ודיור D1M BLOCK (1)
  3. Wemos D1 מיני (1)
  4. Wemos D1 Mini Protoboard Shield (1)
  5. כותרות נקבה 40P (8P, 8P, 9P, 9P)
  6. כותרת זכר 90º (3P, 3P, 3P, 2P, 1P, 2P)
  7. 1 "פרוטבורד דו צדדי (2)
  8. 2N7000 NFET (1)
  9. כותרת זכר IDC עטוף 6 פינים (1)
  10. חיבור חיבור (~ 10)
  11. 0.5 מ"מ חוט משומר (~ 4)
  12. ברגים לחיצה עצמית 4G x 15 מ"מ (2)
  13. ברגים 4 x 6 מ"מ הקשה עצמית (~ 20)
  14. הלחמה וברזל (1)

שלב 7: הכנת MCU

Image
Image
הכנת MCU
הכנת MCU

במבנה זה אנו משתמשים ב- Wemos D1 Mini. אם בנית בעבר D1M WIFI BLOCK, תוכל להשתמש בזה עבור רכיב החומרה המודולרית. אם לא, כמינימום בצע את הסעיף הבא.

מכירת סיכות הכותרת על ה- MCU (באמצעות ה- PIN JIG) אם אינך יכול להדפיס PIN JIG פשוט בצע את ההוראות ואלתר: הגובה (הקיזוז) של ה- PIN JIG הוא 6.5 מ מ.

  1. הדפס/השג PIN JIG מדף זה.
  2. הזן את סיכות הכותרת דרך החלק התחתון של הלוח (TX ימין-שמאל) ואל תוך ג'ק הלחמה.
  3. לחץ על הסיכות כלפי מטה על משטח שטוח וקשיח.
  4. לחץ את הלוח כלפי מטה בחוזקה על הג'יג.
  5. הלחם את 4 סיכות הפינה.
  6. לחמם ולמקם מחדש את הלוח/סיכות במידת הצורך (הלוח או הסיכות לא מיושרות או אינסטלציה).
  7. הלחמה שאר הסיכות.

העלאת תוכנת התוכנה

ניתן למצוא את מאגר הקוד כאן (תמונת מצב).

ניתן למצוא כאן ZIP של הספרייה (תמונת מצב).

הוראות "ייבוא ספריית ZIP" כאן.

לאחר התקנת הספרייה תוכל לפתוח את הדוגמה "mqtt_crouton_esp8266_customization_webserver".

הוראות להגדרת Arduino ל- Wemos D1 Mini כאן.

תלות: ArduinoJson, TimeLib, PubSubClient, NeoTimer (ראה קבצים מצורפים אם שוברים שינויים במאגרים).

העלה ל- SPIFFS

לאחר שהקוד נטען ב- Arduino IDE, פתח את device.json בתיקיית הנתונים/config:

  1. שנה את הערך של wifi_ssid בעזרת ה- SSID של ה- WiFi שלך.
  2. שנה את הערך של wifi_key בעזרת מפתח ה- WiFi שלך.
  3. שנה את הערך של mqtt_device_name בעזרת זיהוי המכשיר המועדף עליך (אין צורך בהצטרפות).
  4. שנה את הערך של mqtt_device_description בעזרת תיאור ההתקן המועדף עליך (ב- Crouton).
  5. שמור device.json.
  6. העלה את קבצי הנתונים ל- SPIFFS.

שלב 8: הכנת דיור MCU

Image
Image
הכנת דיור MCU
הכנת דיור MCU
הכנת דיור MCU
הכנת דיור MCU

דיור MCU חושף כותרות ל- D1 Mini לחיבור לכותרות ללוחות בת המתקשרות עם מעגל ה- Socket (חיישנים ושחקנים).

ראשי דיור זה מבוסס על פרוטבורד מיני D1, ושובר את הסיכות הבאות:

  1. סיכות לחיבור ל- D1M WIFI BLOCK/D1 Mini.
  2. פריצות ישירות של 2 שורות אנשי הקשר מ- D1M WIFI BLOCK/D1 Mini. אלה זמינים רק מטעמי נוחות תוך אבות טיפוס. צפוי לוחות הבת יחסמו את כל הגישה לכותרות אלה.
  3. 4 פריצות של הסיכות הספציפיות המשמשות את לוחות הבת.

כדי להוסיף את אנשי הקשר D1M ל- HOUSING HEADER:

  1. צפה בסרטון SOLDER Using the SOCKET JIG.
  2. הזן את סיכות הכותרת דרך תחתית הלוח (TX למעלה משמאל למעלה בצד העליון).
  3. הזן ג'יג מעל כותרת פלסטיק ורמה את שני המשטחים.
  4. הפוך את הג'יג וההרכבה ולחץ חזק על הכותרת על משטח שטוח וקשיח.
  5. לחץ את הלוח כלפי מטה בחוזקה על הג'יג.
  6. הלחם את 4 סיכות הפינה באמצעות הלחמה מינימלית (יישור זמני של סיכות בלבד).
  7. לחמם ולמקם מחדש את הלוח/סיכות במידת הצורך (הלוח או הסיכות לא מיושרות או אינסטלציה).
  8. הלחמה שאר הסיכות.
  9. הסר את הג'יג '.
  10. חותכים סיכות מעל הלחמים.

להוספת פריצות לוח הבנות:

  1. חתכו 4 כותרות 9P נקבות.
  2. בחלק העליון, הכנס את כותרות 9P כפי שמוצג, והלחם בתחתית.

כדי להוסיף את הפריצות הישירות:

  1. חותכים 2 כותרות 8P נקבות.
  2. בחלק העליון, הכנס את כותרות 8P כפי שמוצג, והלחם בתחתית.

לחיבור הכותרות, בחלק התחתון עם סיכת ה- TX כלפי מעלה:

  1. עקוב והלחמה מסיכת ה- RST על פני 4 סיכות.
  2. עקוב והלחמה מהסיכה A0 על פני 4 סיכות.
  3. עקוב והלחמה מהסיכה D1 על פני 4 סיכות.
  4. עקוב והלחמה מהסיכה D2 על פני 4 סיכות.
  5. עקוב והלחמה מהסיכה D0 למטה 2 שורות ולרוחב 4 סיכות.
  6. עקוב והלחמה מהסיכה D7 על פני 4 סיכות.
  7. עקוב והלחמה מסיכת ה- GND על פני 4 סיכות.
  8. עקוב והלחמה מהסיכה 5V על פני 4 סיכות.
  9. עקוב והלחמה מהפין 3V3 כלפי מטה 45 ° על פני 4 סיכות.

הרכבת התקן

ראשי הדיור מודבקים על בית MCU וזה מודבק על לוח הבסיס.

  1. כשהצד הארוך של ראשי הדיור מצביע על החור, הכנס את מגעי D1M לתוך הפתחים בבית ה- MCU ודחוף כלפי מטה.
  2. הכנס את ה- MCU למגעי ה- MCU במהלך ההדבקה כדי להבטיח את היישור הנכון.
  3. הנח את מסגרת HEADER מעל החלק העליון של אביזרי ההרכבה והדבק עם 2 ברגים של 4 x 16 מ"מ.
  4. הנח את המתקנים המורכבים כשהחור מכוון כלפי הצד הקצר והדבק בעזרת ברגי 4G x 6mm.

שלב 9: בניית מתג הצדדים הנמוך/עבדים לוח הבת

בניית מתג הצדדים הנמוך/עבדים לוח הבת
בניית מתג הצדדים הנמוך/עבדים לוח הבת
בניית מתג הצדדים הנמוך/עבדים לוח הבת
בניית מתג הצדדים הנמוך/עבדים לוח הבת
בניית מתג הצדדים הנמוך/עבדים לוח הבת
בניית מתג הצדדים הנמוך/עבדים לוח הבת

זהו שיפור של לוח הבת REST שפותח בבנייה האחרונה. זה מוסיף מתג בצד נמוך שמחבר את העבדים ל- GROUND. אם המאסטר מתאפס, גם העבדים יתבצעו, והאתחול המפיץ את המטא נתונים יתחיל מחדש.

הַרכָּבָה

  1. מבפנים הכנס את כותרות הזכר 9P 90 ° (1), הכותרת הזכרית 1P 90 ° (2), 2N7000 (3) והלחמה מבחוץ.
  2. מבפנים, עקוב אחר חוט צהוב מ- YELLOW1 ל- YELLOW2 והלחמה.
  3. מבפנים, עקוב אחר חוט חשוף מ- SILVER1 ל- SILVER2 והלחמה.
  4. מבפנים, עקוב אחר חוט חשוף מ- SILVER3 ל- SILVER4 והלחמה.

שלב 10: הרכבת המרכיבים העיקריים

הרכבת המרכיבים העיקריים
הרכבת המרכיבים העיקריים
הרכבת המרכיבים העיקריים
הרכבת המרכיבים העיקריים
הרכבת המרכיבים העיקריים
הרכבת המרכיבים העיקריים
הרכבת המרכיבים העיקריים
הרכבת המרכיבים העיקריים
  1. וודא שה- SHELL נבנה והמעגל נבדק (כבל ושקעים).
  2. החלף את כותרת הזכר 2P על לוח הבתים 3V3 I2C עם כותרת זכר 2P 90º 1P.
  3. הכנס את לוח הבקרה 3V3 I2C, עם סיכת 3V3 בקצה המרופט של הכותרות (ראה תמונה).
  4. הכנס את לוח המתגים התחתון/איפוס הבת, עם החוט כלפי פנים (ראה תמונה).
  5. עקוב אחר הובלה של דופונט בין הכותרת הזכרית 1º 1P על לוח ה- RESET DAUGHTER ל- 3V3 I2C DAUGHTER-BOARD.
  6. הכנס את שקע ה- IDC מכבל ה- SHELL לכותרת ה- IDC בכרטיס הבוגד 3V3 I2C.
  7. הכנס בזהירות את לוחות/הבתים בין הכבלים במעטפת ויישר את חורי הבסיס.
  8. הדקו את הרכבה הבסיסית לפגז בעזרת הברגים 4G x 6mm.
  9. צרף כל חיישנים ASSIMILATE שביצעת.

שלב 11: השלבים הבאים

Image
Image
הצעדים הבאים
הצעדים הבאים
הצעדים הבאים
הצעדים הבאים
  1. כוון את הדפדפן שלך אל
  2. ודא שהמתווך הוא test.mosquitto.org.
  3. לחץ על התחבר.
  4. הזן את קלט שם ההתקן בשם mqtt_device_name בקובץ /config/device.json.
  5. לחץ על הוסף מכשיר.
  6. לחץ על התחבר אוטומטי.
  7. הפעל את ICOS10 שלך (5V MicroUSB).
  8. אמת באמצעות לוח המחוונים של Crouton.

מוּמלָץ: