תוכן עניינים:
- שלב 1: הכנת ה- Raspberry Pi
- שלב 2: הגדרת NoCAN
- שלב 3: חיבור חומרת ה- UFire יחד
- שלב 4: חומרת NoCAN
- שלב 5: תכנת את צומת CANZERO
- שלב 6: איך כל זה מתחבר?
- שלב 7: הגדרת Chronograf או Grafana
- שלב 8: כמה שיפורים
וִידֵאוֹ: אחסן וגרף נתוני EC/pH/ORP עם ערימת TICK ופלטפורמת NoCAN: 8 שלבים
2024 מְחַבֵּר: John Day | [email protected]. שונה לאחרונה: 2024-01-30 09:14
זה יסקור את אופן השימוש בפלטפורמת NoCAN על ידי Omzlo וחיישני uFire למדידת EC, pH ו- ORP. כפי שאומר האתר שלהם, לפעמים קל יותר פשוט להעביר כבל לצמת החיישנים שלך. ל- CAN יש את היתרון של תקשורת וכוח בכבל אחד כך שאות וסוללה אינם מהווים בעיות. הקושחה של הצמתים יכולה להיות פשוטה יותר; לא להתעסק במצבי שינה או בהתקנת WiFi, למשל. לפלטפורמת NoCAN יש גם כמה תכונות נהדרות כמו תכנות הצמתים מעל אוטובוס CAN.
פלטפורמת NoCAN משתמשת ב- Raspberry Pi, כך שכל מה שאפשר יהיה יהיה זמין. אנו הולכים לנצל זאת על ידי התקנת מחסנית TICK. זה יאפשר לנו להשתמש ב- InfluxDB לאחסון מדידות. זהו מסד נתונים מבוסס סדרת זמן שנועד למטרות מסוג זה. זה מגיע גם עם Chronograf כדי ליצור לוחות מחוונים ולהציג את כל הנתונים האלה שאנחנו הולכים לקחת. T ו- K מייצגים Telegraf ו- Kapacitor. טלגרף יושב בין הנתונים שאתה שולח לבין מסד הנתונים של Influx. Kapacitor הוא מנוע האירוע. כאשר משהו קורה, הוא יכול לשלוח לך הודעה באמצעות מגוון שיטות. ורק בגלל שאני אוהב את זה יותר מכרונוגרף, אני אתקין את הגרפנה ללוחות מחוונים.
שלב 1: הכנת ה- Raspberry Pi
עבור לדף ההורדות של רסביה והורד את התמונה באמצעות שולחן העבודה והתוכנה המומלצת, והבהב אותה על כרטיס SD.
לאחר שהתמונה נמצאת בכרטיס ה- SD שלך, אמורות להיות לך שני כרכים, root ו- boot. פתח מסוף באתחול והקלד:
לגעת ssh
זה יאפשר SSH.
לאחר מכן הקלד:
ננו wpa_supplicant.conf
והעתק/הדבק את הדברים הבאים לאחר ששינית אותו עבור הגדרות המחוז וה- WiFi שלך:
מדינה = ארה ב
ctrl_interface = DIR =/var/run/wpa_supplicant GROUP = netdev update_config = 1 רשת = {ssid = "NETWORK-NAME" psk = "NETWORK-PASSWORD"}
קודי המדינה מגיעים מכאן.
אפשר SPI:
הד "dtparam = spi = on" >> config.txt
הכנס את כרטיס ה- SD ל- Raspberry Pi שלך, המתן מעט והקלד:
אתה אמור להיות בשורת ההתחברות. הסיסמה היא פטל.
שלב 2: הגדרת NoCAN
Omzlo מספק מדריך התקנה יסודי. אבל החלטתי להקל על עצמי וללמוד קצת על סקריפטים של באש. אז תתחיל את ה- Raspberry Pi שלך ותכניס אליו SSH או מסוף סדרתי.
למדתי שזמן פיתוח לא פחות יכול להיכנס ליצירת סקריפט Bash טוב כמו כל מה שאתה מנסה להתקין בפועל. ישנן 1000 דרכים לבצע משהו, חלקן פשוטות יותר לתפיסה או לביצוע מאחרות. בסופו של דבר, לא ממש עשיתי הרבה. אם אתה מבצע:
wget https://ufire.co/nocan.sh && chmod +x nocan.sh && sudo./nocan.sh
במסוף ה- Raspberry Pi שלך, הוא יוריד ויבצע את הסקריפט.
ואז זה:
- מוריד את שד ה- Omzlo NoCAN ומתקין אותו ב-/usr/bin לגישה נוחה, יוצר תיקיית ~/.nocand וכותב קובץ תצורה בסיסי מאוד עם הסיסמה המוגדרת כ'סיסמה '. אתה כנראה צריך לשנות את זה למשהו אחר, זה ב ~/.nocand/config.
- מוריד את לקוח Omzlo NoCAN ומעתיק אותו /usr /bin ויוצר קובץ תצורה בסיסי עם אותה סיסמה. זה ב ~/.nocanc.conf.
- מגדיר שירות Systemd שמשאיר את הדמון NoCAN פועל.
- כותב קובץ פייתון ל- ~/.nocand, nocan_ufire.py. הוא ידבר עם הקושחה של הצומת NoCAN ויבצע מדידות EC, pH ו- ORP, מנתח את התוצאות ומוסיף אותן למסד הנתונים של InfluxDB.
- מוסיף את המאגר של InfluxData ל- apt ומתקין את ערימת TICK. ומכיוון שאני מעדיף אותו על פני כרונוגרף, הוא מתקין גם את גרפנה.
- יוצר מאגר אינפלוק ריק
כמה גטצ'ים שאתה עלול להיתקל בהם:
- ייתכן שהאזור שלך אינו מוגדר, לכן הפעל אתרים של dpkg-reconigure
- ההתקנה של גרפנה עשויה להיתקע, אז נסה שוב.
-
ייתכן שלא תתחיל את הדמון הזרם בזמן כדי שהסקריפט יוסיף את מסד הנתונים, הקלד
curl -i -XPOST https:// localhost: 8086/query --data -urlencode "q = CREATE DATABASE nocan"
- סקריפט זה פועל רק כמשתמש pi ברירת המחדל. יהיה עליך לשנות את ה- pi לשם המשתמש שלך במידת הצורך אם אתה נמצא תחת משתמש אחר.
הדבר האחרון הוא להוסיף עבודת cron. לא הצלחתי למצוא דרך טובה מאוד לתקן את זה, אז הקלד 'crontab -e' כדי לערוך ידנית ולהוסיף ' * * * * * python /home/pi/.nocand/nocan_ufire.py'.
לאחר שהכל נעשה, תוכל לוודא שהכל מוגדר ופועל כפי שהוא אמור להיות. גרפנה גר בכתובת https:// [כתובת Raspberry Pi]: 3000/. אתה אמור לראות דף התחברות, admin/admin הוא ברירת המחדל.
ניתן למצוא את Chronograf בכתובת https:// [כתובת פטל פטל]: 8888/
שלב 3: חיבור חומרת ה- UFire יחד
לפני שנוכל להרכיב את החומרה, יש לדבר על דבר אחד. ניתן להשתמש בלוח uFire ISE למדידת pH ו- ORP כאחד. החומרה זהה אך התוכנה שונה. מכיוון שהחומרה זהה, פירוש הדבר שכתובת I2C היא, כברירת מחדל, זהה גם כן. והחיישנים מתקשרים באמצעות I2C כך שיהיה צורך לשנות אחד. לפרויקט זה, אנו הולכים לבחור אחד מלוחות ISE ולהשתמש בו למדידת ORP. בצע את השלבים כאן, שנה את הכתובת ל- 0x3e.
כעת, לאחר שהכתובת משתנה, קל להרכיב את החומרה. התקנה זו מבוססת על עבודה קודמת שעושה בעצם אותו דבר אך משתמשת ב- BLE ולא ב- CAN להעברת נתונים. אתה יכול לקרוא על זה ב- Arduino Project Hub. כל מכשירי החיישנים משתמשים במערכת החיבור Qwiic אז פשוט חבר הכל יחד בשרשרת, יש רק דרך אחת להכניס את החוטים Qwiic ל- Qwiic. תזדקק לחוט אחד Qwiic to Male כדי לחבר את אחד החיישנים לצומת CANZERO. החוטים עקביים ומקודדים בצבעים. חבר שחור ל- GND של הצומת, אדום לסיכה +3.3V או +5V, כחול לסיכת SDA שהיא D11, וצהוב לסיכת SCL ב- D12.
עבור פרויקט זה, הוא יצפה שמידע הטמפרטורה יגיע מחיישן EC, לכן הקפד לחבר חיישן טמפרטורה ללוח ה- EC. בכל הלוחות יש את היכולת למדוד טמפרטורה. אל תשכח לצרף את חיישני EC, pH ו- ORP לחיישנים המתאימים. הם ניתנים לחיבור בקלות עם מחברי BNC. אם יש לך מארז, זה יהיה רעיון טוב לשים את כל זה בפנים, במיוחד בהתחשב במים שיהיו מעורבים.
שלב 4: חומרת NoCAN
גם הרכבת החומרה NoCAN קלה. חבר את ה- PiMaster ל- Raspberry Pi ומצא עבורו ספק כוח מתאים.
עקוב אחר ההנחיות של אומזלו בנושא הכנת כבלים לפרויקט שלך.
לפרוס את הצומת שלך ולמצוא מקום עבור PiMaster.
שלב 5: תכנת את צומת CANZERO
אחד הדברים הגדולים בהתקנה זו הוא שאתה יכול לגשת לצמתים גם לאחר פריסתם. הם מתוכנתים על גבי חוט ה- CAN, כך שתוכל לתכנת אותם מחדש בכל עת שתרצה.
לשם כך תצטרך את Arduino IDE מותקן, את ה- PiMaster ברשת שלך ואת הצומת שלך המחובר לאוטובוס CAN. תזדקק גם לתוכנית בשם nocanc המותקנת במחשב הפיתוח שלך. כל זה מתואר בדף ההתקנה של אומזלו.
בקר ב- GitHub והעתק את הקוד למערכון חדש של Arduino IDE. שנה את הלוח ל- Omzlo CANZERO ובחר את הצומת בתפריט 'יציאה'. לאחר מכן פשוט לחץ על העלה כרגיל. אם הכל הלך לפי התוכנית, יהיה לך צומת מתוכנת מוכן לבצע כמה מדידות.
שלב 6: איך כל זה מתחבר?
כעת, כאשר כל התוכנה והחומרה הוגדרו, בואו ניקח רגע לדבר על איך הכל באמת יעבוד. והראו את כישורי ה- GIMP שלי …
לסיכום:
- צומת CANZERO מחובר ל- PiMaster ופרוס במקום כלשהו
- בכל דקה מתבצעת עבודת Cron ב- PiMaster. הוא יבצע סקריפט פייתון.
- סקריפט הפיתון ישלח פקודה לצומת שיורה לו לבצע מדידה או פעולה אחרת.
- הצומת יבצע מה הייתה הפקודה ויחזיר תוצאה בפורמט JSON.
- סקריפט הפיתון יקבל את התוצאה הזו, מנתח אותה ויעדכן איתה InfluxDB.
השלב האחרון הוא לצפות בנתונים שנאספים בכמה תרשימים נחמדים.
שלב 7: הגדרת Chronograf או Grafana
הדבר האחרון שצריך לעשות הוא להקים כמה תרשימים ב- Chronograf או Grafana.
יהיה עליך להגדיר את מקור הנתונים. ברירות המחדל של InfluxDB בסדר. הכתובת עבורו היא 'https:// localhost: 8086' ואין שם משתמש או סיסמה.
שניהם דומים בכך שהם מאורגנים בלוחות מחוונים הכוללים מספר תרשימים בתוכם. לשניהם יש אזור Explore המאפשר לך לראות את המדידות וליצור תרשימים אינטראקטיביים. זכור כי שם מסד הנתונים הוא 'נוקאן' ומאורגן למספר מדידות בעלות ערך אחד.
כפי שציינתי, אני מעדיף את גרפנה מכיוון שהיא ניתנת להגדרה יותר מכרונוגרף. הוא גם ידידותי לניידים, כשכרונוגרף לא נמצא בו. התרשימים מוטבעים ומשותפים בקלות
שלב 8: כמה שיפורים
- אתה יכול להגדיר את שם המארח של ה- Raspberry Pi שלך כדי לגשת אליו בקלות רבה יותר ברשת שלך. אתה יכול לעשות זאת ב- raspi-config. שיניתי את שלי ל- nocan, כך שהצלחתי ללכת ל- nocan.local כדי לגשת אליו (לא עובד באנדרואיד).
- אתה יכול להתקין תוכנית כמו ngrok כדי לגשת ל- Raspberry Pi שלך מחוץ לרשת שלך.
- השתמש באחת מהשיטות שמספק Kapacitor למתן התראות.
- הוסף חיישנים נוספים, כמובן.
מוּמלָץ:
ניטור טמפרטורה ולחות DHT באמצעות ESP8266 ופלטפורמת IoT של AskSensors: 8 שלבים
ניטור טמפרטורה ולחות DHT באמצעות ESP8266 ופלטפורמת IoT של AskSensors: בהנחיה קודמת הצגתי מדריך צעד אחר צעד להתחלת ה- nodeMCU ESP8266 ופלטפורמת IoT AskSensors. במדריך זה אני מחבר חיישן DHT11. לצומת MCU של הצומת. DHT11 הוא טמפרטורה נפוצה ולחות
שימוש יותר מ -4 מנועים - ערימת מספר רב של מנועיות: 3 שלבים
שימוש ביותר מ -4 מנועים - ערימת מספר רב של מנועיות: מכשיר החלפה וחושך חושי מסוג Vibrotactile להנחיה (https: //www.instructables.com/id/Vibrotactile-Sens …) מציג דרך לבנות מכשיר המתרגם חושים קלט לגירויים רוטטים. אותם גירויים רוטטים הם p
מדידת טמפרטורה באמצעות Esp32 ופלטפורמת Thingsio.ai: 6 שלבים
מדידת טמפרטורה באמצעות Esp32 ופלטפורמת Thingsio.ai: במדריך זה אני הולך להסביר על מדידת הטמפרטורה בסביבה באמצעות חיישן טמפרטורה מובנה הקיים בלוח הפיתוח של esp32. ל- esp32 יש חיישנים מובנים רבים כמו חיישן האולם המשמש כחיישן הקרבה, מגע
ערימת M5Cam X M5: 5 שלבים
M5Cam X M5Stack: מדריכים אלה מראים כיצד להשתמש ב- M5Cam ו- M5Stack ליצירת מצלמה וצג אלחוטי
מד PZEM-004 + ESP8266 ופלטפורמת IoT Node-RED & Modbus TCP/IP: 7 שלבים
Meter PZEM-004 + ESP8266 & Platform IoT Node-RED & Modbus TCP/IP: בהזדמנות זו נשלב את מד הכוח הפעיל או את צריכת החשמל שלנו, Pzem-004-Peacefair עם פלטפורמת האינטגרציה של IoT Node-RED המשמשת במדריכים קודמים, נשתמש במודול ESP8266 המוגדר כעבד Modbus TCP / IP, מאוחר יותר