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

זיהוי פורץ HiFive1 Arduino עם התראות MQTT באמצעות ESP32 או ESP8266: 6 שלבים
זיהוי פורץ HiFive1 Arduino עם התראות MQTT באמצעות ESP32 או ESP8266: 6 שלבים

וִידֵאוֹ: זיהוי פורץ HiFive1 Arduino עם התראות MQTT באמצעות ESP32 או ESP8266: 6 שלבים

וִידֵאוֹ: זיהוי פורץ HiFive1 Arduino עם התראות MQTT באמצעות ESP32 או ESP8266: 6 שלבים
וִידֵאוֹ: שימוש בחיישן משקל עם ארדואינו 2024, נוֹבֶמבֶּר
Anonim
זיהוי פורץ HiFive1 Arduino עם התראות MQTT באמצעות ESP32 או ESP8266
זיהוי פורץ HiFive1 Arduino עם התראות MQTT באמצעות ESP32 או ESP8266

ה- HiFive1 הוא הלוח הראשון מבוסס RISC-V התואם Arduino שנבנה עם מעבד FE310 מבית SiFive. הלוח מהיר פי 20 מ- Arduino UNO אך בדומה ללוח UNO, הוא חסר כל קישוריות אלחוטית.

למרבה המזל, ישנם מספר מודולים זולים בשוק כדי להקל על מגבלה זו. במדריך זה השתמשתי ב- ESP32 או ב- ESP8266 על מנת להשיג קישוריות אלחוטית. למרות כמה ESP-01 זול, בשל הצורך לתכנת אותו עם סקיצה של Arduino, ה- ESP-01 היה פתרון פחות פרקטי. על מנת לתכנת את ESP-01, הוא זקוק למתאם USB חיצוני ל- ESP-01 שלא היה לי בזמן הכנת הדרכה זו. (אם אתה מעוניין להשתמש ב- HiFive1 עם ESP-01 עקוב אחר הקישור הזה) שקלתי גם להשתמש במגן Arduino אך בסופו של דבר דבק ב- ESP8266/32 בגלל תג המחיר היקר יחסית של רוב המגנים.

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

החומרים הדרושים לפרויקט זה:

  • לוח HiFive1 (ניתן לרכוש כאן)
  • מודול ESP32 Dev או ESP8266 NodeMCU 1.0
  • נגד 10k x 2
  • נגד 1k
  • לוח לחם
  • כבל מגשר x 6
  • מודול אולטרסאונד SRF05
  • מכשיר נייד

שלב 1: הגדרת הסביבה

הגדרת הסביבה
הגדרת הסביבה

התקן את Arduino IDE

1. עקוב אחר ההוראות להתקנת חבילת Arduino לוח HiFive1 ולנהג USB.

2. התקן את חבילת הלוח ESP32 או ESP8266 על ידי הוספת כתובת URL מתאימה ל"קובץ-> העדפות-> מנהל לוחות נוספים ":

  • ESP8266 -
  • ESP32 -

שלב 2: חיווט ה- ESP32

חיווט ה- ESP32
חיווט ה- ESP32
חיווט ה- ESP32
חיווט ה- ESP32

אם אתה משתמש ב- ESP8266 דלג לשלב 3.

חשוב: SRF05 מגיע ב -2 גרסאות pinout שהן גרסאות שיקוף זו לזו, וודא שיש לך את אותו מודול כמו שלי באמצעות הקישור למטה.

לפרטים טכניים נוספים על SRF05 היכנסו לקישור זה.

GND (HiFive1) -> GND (SRF05) 5v (HiFive1) -> VCC (SRF05) DI/O 11 (HiFive1) -> Pin Trigger (SRF05) DI/O 12 (HiFive1) -> Pin Pin (SRF05) DI/ O 5 (HiFive1) -> Tx (ESP32) DI/O 6 (HiFive1) -> Rx (ESP32)

הערה: ודא כי מגשר IOREF מוגדר על 3.3v.

שלב 3: חיווט ה- ESP8266

חיווט ה- ESP8266
חיווט ה- ESP8266
חיווט ה- ESP8266
חיווט ה- ESP8266

חשוב: SRF05 מגיע ב -2 גרסאות pinout שהן גרסאות שיקוף זו לזו, וודא שיש לך את אותו מודול כמו שלי באמצעות הקישור למטה.

לפרטים טכניים נוספים על SRF05 היכנסו לקישור זה

GND (HiFive1) -> GND (SRF05) 5v (HiFive1) -> VCC (SRF05) DI/O 11 (HiFive1) -> Pin Trigger (SRF05) DI/O 12 (HiFive1) -> Pin Pin (SRF05) DI/ O 5 (HiFive1) -> Tx (ESP8266) DI/O 6 (HiFive1) -> Rx (ESP8266)

הערה: ודא כי מגשר IOREF מוגדר ל- 3.3v.

שלב 4: תכנות

קוד HiFive1:

לפני התכנות הגדר את הלוח "כלים-> לוח" ללוח HiFive1, נבחר "כלים-> תדר שעון מעבד" ל- "256MHz PLL", "כלים-> מתכנת" ל- "SiFive OpenOCD" והיציאה הסידרית הנכונה.

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

קוד ESP32/8266:

במהלך התכנות, לוח ה- ESP צריך לנתק את סיכות החומרה Rx ו- Tx. לאחר העלאת הקוד בהצלחה חברו מחדש את סיכות Rx ו- Tx ב- ESP כדי להבטיח תקשורת בין HiFive1 ו- ESP.

עבור ESP32-הגדר את "כלים-> לוח" ל- "ESP32 Dev Module", "כלים-> מתכנת" ל- "AVRISP mkll" ובחר את היציאה הטורית הנכונה.

עבור ESP8266-הגדר את "כלים-> לוח" ל- "NodeMCU 1.0 (מודול ESP-12E)", "כלים-> מתכנת" ל- "AVRISP mkll" ובחר את הנמל הסידורי הנכון.

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

שלב 5: הגדרת הלקוח

הגדרת הלקוח
הגדרת הלקוח
הגדרת הלקוח
הגדרת הלקוח
הגדרת הלקוח
הגדרת הלקוח
הגדרת הלקוח
הגדרת הלקוח

השתמשתי בברוקר MQTT מבוסס ענן (זה) ובטלפון אנדרואיד עם האפליקציה הזו.

כדי להגדיר הכל, יהיה עליך לפתוח חשבון.

השתמש בצילומי המסך המצורפים כדי לעבור את הגדרת CloudMQTT והאפליקציה.

שלב 6: תוצאה סופית

תוצאה סופית
תוצאה סופית
תוצאה סופית
תוצאה סופית
תוצאה סופית
תוצאה סופית
תוצאה סופית
תוצאה סופית

הערה: עליך להגדיר את קצב השידור של הצג הסידורי שלך ל- 115200 מכיוון שזהו קצב השידור בו אנו משתמשים במערכון שלנו.

התוצאה הסופית שלך אמורה להיראות דומה לצילומי המסך הסופיים

מוּמלָץ: