שלום לכולם, בזה תוצרת בית אני אראה כיצד ניתן ליצור מנתח נתונים זול, פשוט אך יחד עם זאת יעיל מבוסס פלטפורמה מהאינטרנט ארדואינו עם מודול Wifi. בעזרתו תוכלו לגלות בקלות כמעט כל מידע מהרשת תוך שניות. זה יכול להיות מספר המנויים ביוטיוב, מספר ההודעות הנכנסות, בין אם פרסמו מוצר ביתי וכו '.
להלן תרשים פשוט להרכבה.
לפני שמתחילים לקרוא את המאמר, הייתי ממליץ לצפות בסרטון המציג את האפשרויות של עבודה ביתית ואת היישום הפרקטי שלה.
אנו זקוקים:
הפלטפורמה מבוססת על משפחת ESP, במקרים שלי היא WeMos D1 R2
תצוגת LCD לפלט מידע, יש לי LCD 1602 פופולרי עם מודול I2C
-חוט וכפתור (למרות שאולי אינך זקוק לו)
גם כן
כבל -USB (להורדת קושחה)
נקודת גישה WiFI
- לא חובה
- אתר ותחום משלו (לטיפול בשאילתות מורכבות באתרים פופולריים)
לפני שתתחיל בצעדים הבאים, וודא כי הסביבה שדרכה תוריד את השרטוט נתמכת על ידי משפחת מיקרו-בקר ESP.. כדי להגדיר את התצורה של ה- Arduino IDE, עבור אל habr ופעל לפי הוראות ההתקנה. קישור:
https://habr.com/en/post/371853/
תיאור ייצור מפורט:
כמקובל, ניתן לחלק את השלבים לשני חלקים.
1 הרכבה של החלק "הברזל"
2 הורדת התוכנית והגדרתה
הרכבת השלב הראשון מסתיימת מהר מאוד. אנו אוספים אותו מהתמונה למעלה וזהו.
מודול תצוגה
VCC - 5V
GND - GND
SCL - D15
SDA - D14
Buttun - GND עד D7
ניתן לשנות את כל ההגדרות הללו בסקיצה עצמה, אם יש לכם פלטפורמה או גרסה אחרת של המיקרו-בקר.
השלב השני הוא קצת יותר מסובך, פתחו את ה- Arduino IDE, בחרו את הלוח המתאים וסמנו את הנמל עליו הוא ממוקם. במקרים שלי, הלוח: WeMos D1 R1 ויציאה 3
ניתן להשאיר את כל ההגדרות האחרות כברירת מחדל.
הסקיצה עצמה:
שימו לב כי עליכם להתקין 2 ספריות נוספות, אלה ArduinoJson.h ו- LiquidCrystal_I2C.h !
לאחר מכן אנו משנים את המשתנים החשובים בהגדרות השרטוט, אלה SSID (שם נקודת ה- Wifi) וסיסמא (סיסמא של נקודת ה- Wifi)
לאחר מכן תוכלו להוריד את הקושחה.
אם התצוגה מחוברת כהלכה, המידע הבא יופיע עליו.
אם זה לא קורה, בדוק את ההגדרה הבאה.
אנא הכנס כתובת I2C תקפה ג. בכל מקרה עדיף בפעם הראשונה לאחר הורדת הסקיצה לפתיחת יציאת הסידרה, ולוודא שהחיבור נוצר בהצלחה.
אם זה לא קורה, בדוק שוב את הנתונים של נקודת ה- WiFi.
אם הכל התחיל והתחבר בהצלחה, אז בתצוגה אתה אמור לראות את הדברים הבאים:
ניתן גם ללחוץ על הכפתור ולבדוק אם הנתונים מתעדכנים (אם חיברתם אותם).
הכל, בשלב זה 95% מהעבודה נעשית, נותר רק לציין בתצורה את הנתונים שצריך לנתח. כולם נמצאים ב- "A" מתמיד
const String A = "http://jsonplaceholder.typicode.com/users/1,name,User 1:; http: //jsonplaceholder.typicode.com/users/2,name,User 2:;";
אז התחביר לכתיבה פשוט. כל המקורות מחולקים לקבוצות המופרדות באמצעות פסיק (;).
כל קבוצה מורכבת משלושה פרמטרים עיקריים, זה
- כתובת אתר שאליה תגיע הבקשה
- הערך שיש לאחזר.
- מוצג טקסט נוסף.
בדרך זו
http://jsonplaceholder.typicode.com/users/1,name, משתמש 1:
==URL = http://jsonplaceholder.typicode.com/users/1
KEY = שם
text = "משתמש 1:"
אם תעקוב אחר הקישור עכשיו
http://jsonplaceholder.typicode.com/users/1
אז אתה יכול לראות את המידע הבאאיפה, למעשה, אתה יכול לראות מאיפה הגיע הערך "שם".
כך, תוכלו כבר לחלץ מידע מאתרים פשוטים. אולם שיטה זו אינה מתאימה לעבודה עם אתרים "רציניים" העובדים עם אישורי SSL, הבודקים בקשות ומציגים כל captcha אם הם לא אוהבים משהו, וחוץ מזה, פלט הנתונים מסובך מכדי לעבד אותו על ידי כוחות ארדואינו. " מכיוון שלא ניסיתי "לעקוף" את כל זה, אך ישנם דברים שפועלים בצורה מאוד לא יציבה או שאינם עובדים כלל. עדכוני אישורים מתמידים לא עוזרים הרבה. לכן, כמדומני, הפיתרון הסביר ביותר הוא ליצור אתר משלך, "בפנים", שכל הבקשות הללו יבוצעו, יעובדו ויוצגו על ידי הארדואינו עצמו בצורה "מפושטת". כיצד ליצור אתר ישנם מאמרים / קטעי וידאו / פורומים רבים וכו ', נכון לעכשיו זו אינה בעיה. נניח שיש לך קובץ, ואז העלה אליו את הקובץ הבא. קרא לזה מה שאתה אוהב, ובכן, נגיד "pars.php".
php
/ *
קוד לניתוח מידע מאתרים ולהצגה נוספת
גרסה v0.1, אם יש שגיאות, אנא כתוב תגובה מתחת לסרטון