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

מערכת גינה אלחוטית: 7 שלבים
מערכת גינה אלחוטית: 7 שלבים

וִידֵאוֹ: מערכת גינה אלחוטית: 7 שלבים

וִידֵאוֹ: מערכת גינה אלחוטית: 7 שלבים
וִידֵאוֹ: מכאסחים את ה - אנבוקסינג מס 7# : מערכת לרכב 7060B , חיישן לעציצים Xiaomi ,אוזניות אלחוטיות QCY 2024, נוֹבֶמבֶּר
Anonim
מערכת גינה אלחוטית
מערכת גינה אלחוטית

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

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

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

חיישני הקרקע הקוראים את הלחות והטמפ 'של הקרקע, (פועל על סוללה) בודק כל שעה ומעבירים את הנתונים למכשיר הבסיס שיש להם חיבור wifi. הנתונים מועלים לשרת בביתי ונכנסים לדף אינטרנט.

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

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

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

מקווה שהבנת קצת. עכשיו נתחיל לייצר חיישני som.

דף GitHub שלי שבו אתה מוריד הכל:

שלב 1: חיישני קרקע

חיישני קרקע
חיישני קרקע
חיישני קרקע
חיישני קרקע
חיישני קרקע
חיישני קרקע
חיישני קרקע
חיישני קרקע

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

לבנייה זו אתה צריך:

  • שבב Atmega328P-PU
  • מודול 1x nRF24L01
  • 1x 100 uf קבלים
  • 1x טרנזיסטור NPN BC547
  • 2 קבלים pF 22
  • 1x 16.000 MHz קריסטל
  • 1x חיישן קרם לחות
  • 1x חיישן טמפ 'DS18B20
  • 1x RGB LED (האנודה הנפוצה משמשת אותי)
  • נגדים 3x 270 אוהם
  • נגד 4, 7 K אוהם
  • סוללה (אני משתמש בסוללת Li-Po 3.7v)
  • ואם משתמשים ב- li-po, מודול מטען לסוללה.

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

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

בעת העלאת הקוד, אל תשכח להגדיר חיישן כדי לתת לו מספר מזהה ייחודי, הקוד זמין בדף GitHub שלי.

כדי לשמור על חיישני האדמה חיים לאורך זמן, אני משתמש בטרנזיסטור NPN כדי להפעיל אותם, רק כאשר הקריאה מתחילה. אז הם לא מופעלים כל הזמן, לכל חיישן יש מספר מזהה מ- 45XX עד 5000 (ניתן לשנות זאת) כך שלכל חיישן חייבים להיות מספרים ייחודיים, כל שעליך לעשות הוא להגדיר בקוד.

החיישנים ילכו לישון כדי לחסוך בסוללה.

שלב 2: חיישן בעלי חיים

חיישן בעלי חיים
חיישן בעלי חיים
חיישן בעלי חיים
חיישן בעלי חיים
חיישן בעלי חיים
חיישן בעלי חיים
חיישן בעלי חיים
חיישן בעלי חיים

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

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

אם הבסיס יקבל אות תנועה מחיישן החיות, הוא יעביר אותו לחיישן הסירנה והוא (אני מקווה) יבריח את החיה. הצפירה שלי עומדת על 119 db.

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

עבור חיישן זה אתה צריך:

  • שבב ATMEGA328P-PU
  • 1 x 16 000 MHz קריסטל
  • קבלים 2 x 22 pF
  • 1 x מודול חיישן Pir
  • קבל 1 x 100 uF
  • 1 x מודול NRF24L01
  • 1 x לד (אני לא משתמש בשום LED RGB כאן)
  • נגד 1 x 220 אוהם
  • אם תפעיל סוללה אתה צריך את זה (אני משתמש ב- Li-Po)
  • מודול מטען סוללות אם יש לך סוללה נטענת.
  • סוג של מתג הפעלה.

חבר את הכל כפי שאתה רואה ב גיליון החשמלי. בדוק כדי שתוכל להפעיל את חיישן הפיר שלך מהסוללה (חלקם דורשים 5V להפעלה).

קבל את הקוד מ- GitHub שלי והגדר חיישן מכשפות שאתה עומד להשתמש בו (לדוגמה: SENS1, SENS2 וכו ') כך שהם יקבלו מספרים ייחודיים.

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

זה לחיישן החיות, אנחנו ממשיכים הלאה.

שלב 3: בקר משאבת מים

בקר משאבת מים
בקר משאבת מים
בקר משאבת מים
בקר משאבת מים
בקר משאבת מים
בקר משאבת מים
בקר משאבת מים
בקר משאבת מים

בקר משאבת המים הוא להפעיל משאבה או שסתום מים להשקיית השדות שלך. עבור מערכת זו אינך צריך חטא סוללה אתה צריך כוח להפעלת המשאבה שלך. אני משתמש במודול AC 230 עד DC 5 v להפעלת Arduino ננו. כמו כן, אני צריך סוגים של משאבה, אחד שמשתמש בשסתום מים שפועל על 12 וולט, לשם כך יש לי מודול AC 230 עד DC 12V ללוח הממסר.

השני הוא 230 AC לממסר, כך שאני יכול להפעיל משאבת 230 V AC.

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

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

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

מקווה שאתה מבין:)

לפרויקט זה אתה צריך:

  • 1 x ארדואינו ננו
  • 1 x מודול NRF24L01
  • קבל 1 x 100 uF
  • LED RGB 1 (אניודה משותפת משמשת אותי)
  • נגדים 3 x 270 אוהם
  • 1 x לוח ממסר

חבר הכל כגיליון החשמלי (ראה קובץ pdf או תמונה) הורד את הקוד מ- GitHub ואל תשכח להגדיר את מספר החיישן.

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

שלב 4: חיישן גשם

חיישן גשם
חיישן גשם
חיישן גשם
חיישן גשם
חיישן גשם
חיישן גשם
חיישן גשם
חיישן גשם

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

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

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

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

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

עבור חיישן זה אתה צריך:

  • שבב ATMEGA328P-PU
  • 1x 16 000 MHz קריסטל
  • קבלים 2x 22 pF
  • 1x מודול חיישן גשם
  • קבל 100 uF
  • מודול 1x NRF24L01
  • 1x RGB LED (השתמשתי באנודה משותפת, זה VCC במקום GND)
  • נגדי 3x 270 אוהם
  • טרנזיסטור NPN BC547 1x
  • 1x סוללה (אני משתמש ב- Li-Po)
  • 1x מודול מטען Li-Po (אם משתמשים בסוללת Li-Po)

חבר את הכל כפי שאתה רואה בגיליון החשמלי (ב- pdf או בתמונה לאחר מכן העלה את הקוד לשבב ATMEGA כפי שאתה יכול למצוא בדף GitHub שלי תחת חיישן גשם אל תשכח להגדיר את החיישן כדי לקבל את מספר הזיהוי הנכון.

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

בפונקציה counterHandler () אתה יכול להגדיר את זמן ההשכמה של השבב. אתה מחשב כך: השבבים מתעוררים כל 8 שניות וכל פעם הוא יעלה ערך. כך שבמשך 30 דקות תקבל 225 פעמים לפני שהוא אמור לבצע פעולות. אז יש 1800 שניות על חצי שעה. אז תחלק אותו ב- 8 (1800 /8) תקבל 225. זה אומר שהוא לא יבדוק את החיישן עד שהוא יפעל 225 פעמים וזה יהיה בערך 30 דקות. אתה עושה את אותו הדבר גם על חיישן הקרקע.

שלב 5: צפירת בעלי חיים

צפירת בעלי חיים
צפירת בעלי חיים
צפירת בעלי חיים
צפירת בעלי חיים
צפירת בעלי חיים
צפירת בעלי חיים
צפירת בעלי חיים
צפירת בעלי חיים

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

אני משתמש בננו Arduino בפרויקט זה ומפעיל אותו עם 12V. הצפירה היא גם 12 וולט אז במקום ממסר אשתמש בטרנזיסטור 2N2222A כדי לאפשר את הצפירה. אם אתה משתמש בממסר כאשר יש לך אותו קרקע אתה יכול לפגוע בארדואינו שלך. אז בגלל זה אני משתמש בטרנזיסטור במקום להפעיל את הצפירה.

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

לבנייה זו אתה צריך:

  • 1x ננו ארדואינו
  • 1x 2.2K הנגד (דלג אם אתה משתמש בלוח ממסר)
  • 1x טרנזיסטור 2N2222
  • 1x סירנה
  • התנגדות 3x 270 אוהם
  • 1x RGB LED (אני משתמש באנודה משותפת, VCC במקום GND)
  • מודול 1X NRF24L01
  • קבל 100 uF

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

ועכשיו יש לך צפירה עובדת.

שלב 6: מערכת ראשית

מערכת ראשית
מערכת ראשית
מערכת ראשית
מערכת ראשית
מערכת ראשית
מערכת ראשית

המערכת הראשית היא החשובה מכל המודולים. בלעדיה לא תוכל להשתמש במערכת זו.המערכת הראשית מחוברת לאינטרנט באמצעות מודול ESP-01 ואנו משתמשים בסיכות Arduino Megas Serial1 לחיבורו. ה- RX במגה ל- TX ב- ESP אבל עלינו לעבור דרך שני נגדים כדי להוריד את הוולט ל -3.3. וה TX על מגה ל- RX ב- ESP.

הגדר את מודול ה- ESP

כדי להשתמש ב- ESP תחילה עליך להגדיר את קצב השידור עליו ל- 9600, זה מה שהשתמשתי בו בפרויקט זה ומצאתי ש- ESP עובד בצורה הטובה ביותר כך. מחוץ לקופסה הוא קבע את קצב השידור של 115200, אתה יכול לנסות את זה אבל שלי לא היה כל כך יציב. כדי לעשות זאת אתה צריך Arduino (מגה עובד טוב) ואתה צריך לחבר את TX של ESP (דרך הנגדים כפי שאתה רואה בגיליון) ל- TX Serial (לא Serial1 אם אתה משתמש במגה) ו- RX ב- ESP ל- Arduino Serial RX.

העלה סקיצה מהבהבת (או כל סקיצה שאינה משתמשת בסידורי) ופתח צג סדרתי והגדר את קצב השידור ל- 115200 ו- NR & CR בקווים

בשורת הפקודה כתוב AT ולחץ על enter. אתה צריך לקבל תגובה שאומרת בסדר, אז עכשיו אנחנו יודעים ש- ESP עובד. (אם לא, יש בעיה בחיבור או מודול ESP-01 גרוע)

כעת בשורת הפקודה כתוב AT+UART_DEF = 9600, 8, 1, 0, 0 והקש enter.

הוא יגיב עם אישור וזה אומר שהגדרנו את קצב השידור ל- 9600. הפעל מחדש את ה- ESP בפקודה הבאה: AT+RST והקש enter. שנה את קצב השידור במסך הטורי ל- 9600 והזן AT והקש enter. אם אתה מקבל אישור בחזרה, ה- ESP מוגדר עבור 9600 ותוכל להשתמש בו לפרויקט.

מודול כרטיס ה- SD

אני רוצה שיהיה קל לשנות את הגדרות ה- WIFI של המערכת, אם הסיסמה החדשה תשתנה או שם ה- wifi. לכן אנחנו צריכים את מודול כרטיס ה- SD. בתוך כרטיס ה- SD צור קובץ טקסט עם השם config.txt ואנו משתמשים ב- JSON כדי לקרוא, לכן אנו זקוקים לפורמט JSON. לכן קובץ הטקסט צריך להכיל את הטקסט הבא:

}

שנה את הטקסט באותיות הגדולות לתיקון עבור רשת ה- WiFi שלך.

חטאים בהם אנו משתמשים ב- NRF24L01 המשתמש ב- SPI וקורא כרטיסי ה- SD משתמש גם ב- SPI שאנו צריכים להשתמש בספריית SDFat כדי שנוכל להשתמש ב- SoftwareSPI (נוכל להוסיף את קורא כרטיסי ה- SD בכל סיכה)

חיישן DHT

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

לבנייה זו אתה צריך:

  • 1x Arduino מגה
  • מודול 1x NRF24L01
  • מודול 1 x ESP-01
  • מודול כרטיס מיקרו SD SPI 1x
  • חיישן 1x DHT-22
  • 1x RGB LED (השתמשתי באנודה משותפת, VCC במקום GND)
  • נגדי 3x 270 אוהם
  • נגד 22 קאוהם אוהם
  • נגד 10 קאוהם אוהם

שים לב שאם אתה לא מקבל את ESP-01 מודול יציב נסה להפעיל אותו ממקור מתח חיצוני 3.3v.

חבר הכל כפי שאתה רואה בגיליון החשמלי בקובץ ה- PDF או בתמונה.

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

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

שלב 7: מערכת האינטרנט

מערכת האינטרנט
מערכת האינטרנט
מערכת האינטרנט
מערכת האינטרנט
מערכת האינטרנט
מערכת האינטרנט
מערכת האינטרנט
מערכת האינטרנט

כדי להשתמש במערכת אתה צריך גם שרת אינטרנט. אני משתמש בפטל פטל עם Apache, PHP, Mysql, Gettext. מערכת האינטרנט הינה מרובת שפות כך שתוכל לבצע אותה בקלות בשפה שלך. הוא מגיע עם שוודית ואנגלית (באנגלית יכולה להיות אנגלית לא נכונה, התרגום שלי אינו 100 %.) לכן עליך להתקין את Gettext עבור השרת שלך, וגם את המקומות.

אני מראה לך כמה צילומי מסך למעלה מהמערכת.

הוא מגיע עם מערכת התחברות פשוטה והכניסה הראשית היא: מנהל כמשתמש ומים כסיסמה.

כדי להשתמש בו עליך להתקין שלוש עבודות cron (אתה מוצא אותן תחת תיקיית cronjob)

עליך להריץ כל שניות את קובץ timer.php. זה מחזיק את כל האוטומציה של מערכת החורים. שם הקובץ temperatur.php משמש כדי להגיד למערכת לקרוא את טמפרטורת האוויר ולרשום אותה. אז אתה צריך להגדיר עבודת cron באיזו תדירות אתה עומד להריץ אותו. יש לי אותו כל 5 דקות. אז הקובץ שנקרא dagstatistik.php צריך לפעול פעם אחת בלבד לפני חצות (כמו 23:30, 23:30). הוא לוקח ערכים שדווחו מחיישנים במהלך היום ושומר אותו לסטטיסטיקה של שבוע וחודש.

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

בקובץ db.php אתה מגדיר את חיבור מסד הנתונים mysql עבור המערכת.

ראשית, הוסף את החיישנים למערכת. ואז צור אזורים, והוסף חיישנים לאזורים.

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

אם יש לך בעיות עם המקומות עבור gettext, זכור שאם אתה משתמש בפטל כשרת הם נקראים לעתים קרובות כמו en_US. UTF-8, לכן עליך לבצע שינויים אלה בקובץ i18n_setup.php ומתחת לתיקיית locale. אחרת תתקע בשפה השוודית.

אתה מוריד אותו בדף GitHub.

מוּמלָץ: