תוכן עניינים:
- שלב 1: החלקים
- שלב 2: ההרכבה
- שלב 3: תכנות ה- Yu Arduino
- שלב 4: התקנת MySQL
- שלב 5: התקנת PHP5
- שלב 6: התקנת Conector MySQL עבור PHP5 ו- Python
- שלב 7: קודים
- שלב 8: קבצי פייתון
- שלב 9: קבצי PHP
- שלב 10: לבסוף, התוכנית של ה- Arduino YÚN
- שלב 11: שנה טובה
וִידֵאוֹ: שליטה בגישה ל- Arduino YÚN באמצעות MySQL, PHP5 ו- Python: 11 שלבים (עם תמונות)
2024 מְחַבֵּר: John Day | [email protected]. שונה לאחרונה: 2024-01-30 09:15
שלום חברים!
ובכן, כידוע, בספטמבר מגן הבכורה החדש של ארדואינו, Arduino YUN. לחבר הקטן הזה יש מערכת מוטבעת לינוקס שבעזרתה נוכל להריץ כל דבר שעולה על דעתכם (לפחות עד כה). אמנם יש מעט מאוד מידע על הלוח החדש הזה, אך עזיבה במדריך המספק את דף ה- Arduino (שיתחבר בהמשך), ועוד מעט ידע על לינוקס רבים, יכולה לבצע פרויקט מרכזי אבטחת גישה. הפעם אסביר כיצד לבצע את הפרויקט הזה, אך באופן מספיק מספק לאורך כל הארדואינו שלנו. זה עובד, תודה לשרת מסד הנתונים MySQL אשר יתיישב ב- YUN שלנו, מאגר נתונים זה יאחסן שתי טבלאות, אחת למשתמשים המשויכים ל- RFID מסוים וטבלה נוספת לשמירת רשומות של כל הכרטיסים שעברו דרך הקורא שלנו. בעוד אנו משתמשים בשפות תכנות סקריפטים PHP ו- Python כדי לבצע כמה בסיסים ולעבוד עם הנתונים שלנו. יתר על כן, חומרת התקורה, אנו משתמשים במזהה קורא 20 ליד LCD סידורי של 16 תווים, בתוספת נורית RGB אשר תהיה מצבי המידע שלנו. אנו עשויים להשתמש בבקרת גישה זו על כל מה שאנו יכולים לחשוב עליו, לשנות ולהוסיף ממסר או רעיון אחר. ניתן להשתמש בו בכל דבר שיש לך כרטיסים ורוצה שיא. זכור כי מסמך זה הינו פרסום בחינם, שימוש מסחרי ושינויים פטורים אינם מותרים. אני מקווה שזה נתיב נרחב יותר של אלקטרוניקה של קוד פתוח. אז אנחנו עוברים לשלב הבא, הצדדים צריכים!
שלב 1: החלקים
לצורך ביצוע הפרויקט הזה, עלינו לקבל: * Arduino YUN https://www.sparkfun.com/products/12053 $ 71.95 * קורא RFID ID-20 (125 קילוהרץ) https://www.sparkfun.com/products/11828 34.95 $ * פריצת קורא RFID https://www.sparkfun.com/products/8423 $ 0.95 * בסיסי 16x2 תווים LCD 5V https://www.sparkfun.com/products/790 $ 16.95 * תרמיל LCD סידורי מופעל https:// www. sparkfun.com/products/258 $ 16.95 * LED RGB 5mm https://www.sparkfun.com/products/105 $ 1.95 * זמזם https://www.sparkfun.com/products/7950 $ 1.95 * Somes Header Pin and wire $ 5.00 aprox. בסך הכל, אם אתה קונה בחנות Sparkfun, הכל יהיה ליד 150 $. אם אתה גר באמריקה הלטינית, הייתי ממליץ לקנות את החלקים ב- www.olimex.cl, היא חנות אלקטרוניקה צ'ילה טובה מאוד.
שלב 2: ההרכבה
מעט קשרים לעשות, הנמק בקצרה. עבור LED RGB, סיכת LED אדומה חייבת להיות על סיכה 9 של הארדואינו, הצמד הנורית הירוקה צריכה לעבור על סיכה 8 של Arduino והנעץ הנורית הכחולה צריכה להיות על סיכה 7 של הארדואינו. עבור מזהה -20 עליך לחבר את הסיכות הבאות כפי שמצוין בטבלה בסדר המתאים, קורא סיכות לסיכה של ארדואינו: פין מזהה -20 להצמד ארדואינו מזהה -20 / ארדואינו PIN 1-מספר GND 2-5V PIN 7 - GND PIN 9- PIN 10 PIN 10- BUZZER PIN 11- 5V ולבסוף, עבור מחבר ה- LCD הסידורי יהיה צורך רק בסיכות 5v ו- GND של ה- Arduino, בעוד סיכת ה- RX הסידורי של ה- LCD עוברת לסיכה 11 של הארדואינו.
שלב 3: תכנות ה- Yu Arduino
לצורך ביצוע הפרויקט שלנו, עלינו להתחיל בחלק התוכנה, להתקין כמה קבצים ב- Arduino opkg Yun שלנו:
- שרת MySQL
- PHP5
- MySQLdb עבור Python 2.7
- מוד של PHP5 ל- MySQL
זכור כי כברירת מחדל ב- Bridge מגיע מותקן Python 2.7, כך שלעולם לא תצטרך להתקין עדכון כלשהו לשם כך. התחל לרשום SSH העז להיכנס ל- Arduino Yun שלנו, לאחר שהתחלת אותם, הקלד את הפקודה הבאה כדי לעדכן את רשימת היישומים opkg:
עדכון opkg
שלב 4: התקנת MySQL
כעת נקים את ההתקנה והתצורה של שרת MySQL, הקלד את הפקודות הבאות במסוף:
- opkg התקן libpthread libncurses libreadline mysql-server
- sed -i 's, ^datadir.*, datadir =/srv/mysql/, g' /etc/my.cnf
- sed -i 's, ^tmpdir.*, tmpdir = /tmp /, g' /etc/my.cnf
- mkdir -p /srv /mysql
- mysql_install_db –-force
- /etc/init.d/mysqld להתחיל
- /etc/init.d/mysqld אפשר
- mysqladmin -u סיסמת שורש 'tu-nueva-clave'
לאחר שתסיים להזין את הקודים שלנו והפעלת את שרת MySQL, עליך להגדיר את מסד הנתונים שיפעל. אך לפני שמתחילים להקליד את הקודים, עלינו להבין את השדות הנושאים את הטבלה שלנו. הלוח יכלול 5 קורסים, 'מזהה', 'שם', 'שם', 'דוא ל', 'רפיד' לשיווק חלקם אני אתן הסבר קצר על השימוש בהם.
- 'id': האם השדה או התכונה int int תגיד לנו את המספר שהוקצה למזהה המשתמש, מספר זה מוקצה על ידי אותו מסד נתונים ויהווה את הדרך לאינדקס הרשומות שלנו.
- 'nombre': עמודת התכונה תהיה 'varchar' עשויה להיות מסומנת בשם שאיתו מזוהה משתמש הכרטיס שלנו.
- 'apellido': עמודת התכונה תהיה 'varchar' עשויה להיות מסומנת בשם המשפחה שאליו משויך המשתמש שלנו.
- 'correo': היא עמודת התכונה 'varchar' שתכיל את הדואר האלקטרוני שהמשתמש המשויך אליו.
- 'rfid': הוא עמודת התכונה 'varchar' שתכיל את הקוד של כרטיס ה- RFID בו אתה משתמש.
(אני אשתמש במשתנים בספרדית, כי היא שפת האם שלי ואני אוהב c:) עכשיו נוכל להגדיר את מסד הנתונים שלנו ללא בעיה, ולכן אנו יוצרים קריאת 'arduino' MySQL. עליך להקליד את הקוד הבא:
mysqladmin -u root -p ליצור arduino
אנו מבקשים את הסיסמה שהזנו קודם לכן בהתקנה, נגיש אותה להשלמת יצירת הבסיס. סיימנו את כל זה, אנו מזינים את השאילתה ל- MySQL, עליך להקליד את הקוד הבא במסוף:
mysql -root -p
שוב אנו מבקשים את הסיסמה, עליך לשלוח אותה שוב. לאחר הפקודה של מסוף MySQL, הצבע ('mysql>') אמור להופיע מוכן להקלדה. הדבר הראשון שנעשה הוא להעביר את הבסיס לנתוני 'ארדואינו' לעבוד עליהם. זה נעשה על ידי הקלדת הפקודה הבאה במסוף MySQL:
השתמש בארדואינו
אנו מאמינים שטבלת השמות 'usuariosrfid' במסד הנתונים תשתמש בפרויקט זה, הקלד קוד זה במסוף MySQL:
- צור טבלה `usuariosrfid` (
- `id` int (255) NOT NULL AUTO_INCREMENT,
- `nombre` varchar (300) NOT NULL,
- `apellido` varchar (300) NOT NULL,
- `correo` varchar (300) NOT NULL,
- `rfid` varchar (300) NOT NULL,
- מפתח ראשוני ('id')
- ) ENGINE = MyISAM DEFAULT CHARSET = latin1 AUTO_INCREMENT = 0;
* זכור כי בעת לחיצה על מקש ENTER בסוף שורת הפקודה במסוף MySQL, הוא לא יפעל עד שתמצא את ';' לכן, בסוף הקוד הוא ';' להשלמת ההתקנה והתצורה של MySQL, אנו ממלאים כמה שדות בדיקה בתוך הבסיס שלנו. הקלד את השורות הבאות:
- הכנס לתוך 'usuariosrfid` (`id`,` nombre`, `apellido`,` correo`, `rfid`) ערכים
- (1, 'Pedro', 'Suarez', '[email protected]', '1234a-12345-b-123c'),
- (4, 'Matias', 'Lopez', '[email protected]', '987a-9876b-987c');
כעת המשך ביצירת הטבלה 'ControlUsuarios', שתכלול את כל קודי ה- RFID העוברים על ידי הקורא, טבלה זו מורכבת מ -3 שדות, 'id', 'rfid', 'date'.
- 'id' הוא השדה או העמודה int int, שתכיל את המזהה של כל רשומה לאינדקס.
- התכונה 'rfid' היא העמודה 'varchar' המכילה את קוד התג RFID נקראה על ידי הקורא.
- 'תאריך' הוא עמודת התכונה 'varchar' שתכיל את התאריך בו נקרא הכרטיס.
כדי ליצור את הטבלה 'ControlUsuarios', אנו מכניסים את הקוד הבא למסוף MySQL:
- צור טבלה 'ControlUsuarios' (
- `id` int (255) NOT NULL AUTO_INCREMENT,
- `rfid` varchar (300) NOT NULL,
- `fecha` varchar (300) NOT NULL,
- מפתח ראשוני ('id')
- ) ENGINE = MyISAM DEFAULT CHARSET = latin1 AUTO_INCREMENT = 0;
לבסוף הקלד 'יציאה;' במסוף כדי לצאת משאילתת MySQL ולחזור ל- SHH כדי שנוכל להתחיל עם PHP5.
שלב 5: התקנת PHP5
המשך בהתקנה והתצורה של PHP5. התקנה זו קלה יותר מ- MySQL, כך שהיא לא אמורה לעלות להם דבר. ראשית, התקן את חבילת opkg מהורדה והתקנה של Arduino Yun, אז הקלד את מסוף ה- SSH של Arduino כך:
opkg התקן php5 php5-cgi
לאחר ההורדה והתקנת PHP5 ב- Arduino Yun שלנו, כך הגדרנו קובץ שורש uHTTPd, שרת ה- HTTP המביא את ברירת המחדל של Arduino, אני ממליץ לך להשתמש בשרת http זה בלבד מכיוון שהוא רב תכליתי ונגיש יותר בתצורה, לא Apache או Lighttpd קשים יותר. כדי להגדיר כאשר אתה חדש בתחום זה. כדי להגדיר זאת, השתמש בעורך הקבצים 'vi' SSH, לשם כך עליך להיות בעל ידע מינימלי כדי להשתמש בעורך זה. התחל להקליד קוד זה במסוף כדי לגשת לקובץ ההגדרות uHTTPd:
vi/etc/config/uhttpd
לחץ על 'i' כדי לערוך את הקובץ, ולאחר מכן עבור לשורת הקוד שכתבת 'מתורגמן רשימה#. "php = / usr / bin / php-cgi" '. עליך למחוק את התו '#' החוצה בתחילת השורה, ולאחר מכן הקש על מקש הבריחה (מקש 'ESC'), ברגע שאתה מוכן, עליך להקליד את הפקודה ': wq' כדי לשמור את הקובץ ולצאת מ-. עליך להפעיל מחדש את השרת uHTTPd, לשם כך עליך להקליד במסוף הפקודות של SSH את הקוד הבא:
/etc/init.d/uhttpd הפעלה מחדש
שלב 6: התקנת Conector MySQL עבור PHP5 ו- Python
המשך בהתקנה והתצורה של המודולים לחיבור מסד הנתונים MySQL עם PHP ו- Python. נתחיל במחבר PHP. הקלד את הקוד הבא:
- opkg התקן php5-mod-mysql
- sed -i's;; extension = mysql.so, extension = mysql.so, g '/etc/php.ini
לאחר ההכנה לא יהיה צורך להפעיל מחדש את השרת uHTTPd, מוכן לשימוש מיידי. כעת המשך עם המחבר עבור פייתון, לשם כך עליך להזין את הקוד הבא:
opkg להתקין python-mysql
עם השלב האחרון הזה, יהיה לנו את Arduino Yun מוכן לפרויקט שלנו עם קורא הכרטיסים ID-20 RFID 125khz. סיימו את החלק הזה עם משוב על מה שעשינו:
- התקנו את שרת MySQL ב- Arduino Yun שלנו ולאחר מכן הגדרנו אותו והסתיים בהכנסת נתוני בדיקה.
- התקן את תוסף PHP לשרת שלנו.
- סיימנו עם ההתקנה והתצורה של מחבר MySQL עבור PHP ו- Python.
שלב 7: קודים
בתחום זה אנו דנים בקודי התכנות שישמשו לפרויקט זה. אנו יוצאים עם קוד Python, המחולק לשני קבצים: 'comprobar.py', שיתחבר למסד הנתונים ויחפש את Yun Arduino אם התוצאה נמצאת בו, ואת השליטה בקובץ. py ', אחראי להקלטת כל כרטיס שקורא על ידי מזהה הקורא 20, בין אם במאגר הנתונים של משתמשים רשומים ובין אם לאו. לאחר מכן המשך בתיאור קבצי ה- PHP, הם: 'consultaRelacion.php', 'consultaControl.php', 'index.php' 'modificar2.php', 'modificar.php', 'borrar.php', 'delete2. php ',' guardar.php '' consulta.php ',' configacion.php '. עבור קבצים אלה redundaremos שניהם מכיוון שהם קלים להבנה. לבסוף סיימו עם הקוד שיעלה כמו מערכון הארדואינו שלנו.
שלב 8: קבצי פייתון
כפי שצוין קודם לכן, סקריפטים של פייתון שלנו פעלו עם הספרייה או הכיתה 'MySQLdb', שכבר מותקנת בעבר. התחל ביצירת קובץ עם '.py' בשם 'comprobar.py' בעורך שלנו, אני ממליץ להשתמש במקרים אלה לתכנות ב- Python, העורך Sublime Text 3, אותו תוכל להוריד באתר האינטרנט שלהם www.sublimetext.com. נתחיל ביבוא הספרייה כדי להתחבר למסד הנתונים MySQL שלנו, 'sys' של הספרייה שיאפשר לנו לתקשר עם ה- Arduino Yun שלנו:
- ייבא MySQLdb
- ייבוא sys
לאחר ייבוא הספריות או המחלקות הללו, אנו מוסיפים משתנים לקוד שלך, שיהיו נתוני החיבור ממסד הנתונים MySQL שלנו, עצם:
- host = "127.0.0.1" # מתאים לכתובת של שרת MySQL שלנו.
- user = "your-seat" # הוא המשתמש במסד הנתונים שלנו.
- passw = "הסיסמה שלך" היא עבור סיסמת המשתמש. base = "arduino" # זהו שם מסד הנתונים בו אתה משתמש.
עכשיו התחל עם קודי סקריפט הבסיס:
- בעוד שזה נכון:
- db = MySQLdb.connect (מארח, משתמש, סיסמה, בסיס)
- cur = db.cursor ()
- resultado = cur.execute ("" "SELECT * From usuariosrfid WHERE rfid LIKE %s ORDER BY id" "", (sys.argv [1],))
- אם (resultado == 1):
- הדפס 1
- sys.exit (1)
- אַחֵר:
- הדפס 2
- sys.exit (1)
אם נבין, בפסק הדין 'cur.execute result = ("" "SELECT * FROM WHERE rfid usuariosrfid LIKE% s ORDER BY id" "" (sys.argv [1]))' פקודה לביצוע השאילתה שלנו השווה את המשתנה '(sys.argv [1])' שהוא הקוד מכרטיס ה- RFID של Arduino עם כל טבלת נתוני השדה 'rfid' usuariosrfid ', אשר, מציאת קוד השוויון מהארדואינו והקודים או המאוחסנים במסד הנתונים, החזרה 1, אם זה לא נכון ואין שוויון בין הקוד מהארדואינו לחלק מהבסיס, נחזיר 2. מספרים אלה יתקבלו על ידי הארדואינו. אנו ממשיכים עם הקובץ הבא 'control.py. קובץ זה עובד באותו אופן כמו לעיל, רק שמירה על טעם לוואי על שולחן, רשומות אלה נשמרו ייאספו על ידי מזהה 20 הקורא המחובר ל- Arduino Yun שלנו, כך שנוכל לשמור את כל המשתמשים הרשומים המשתמשים בקורא ה- RFID שלנו.
שלב 9: קבצי PHP
לאחר מכן המשך עם הקבצים. 'Php' שישאיר את התיקיה מהשרת שלנו, לשם כך זכור כי יש צורך שהקבצים האלה יהיו מוכנים, יישמרו במערכון הפרויקט שלנו, שיוצר אוטומטית את IDE Arduino, אתה גם צריך לזכור, למרות שאני צופה זאת, שכאשר אנו עולים למערכון Arduino שלנו Yun, אנו מעלים באמצעות Wi -Fi, אז אני משאיר אותו באותו דף Arduino ידני, www.arduino. cc / en / Guide / Arduino Yun # toc14, המסביר עוד על כך, וכיצד עליך ללכת להכין כרטיס MicroSD מוכן לפרויקט מסוג זה שבו יש לאחסן את הקבצים בשרת. קבצי ה- PHP יהיו 10 'consultaRelacion.php', 'consultaControl.php', 'index.php' 'modificar2.php', 'modificar.php', 'borrar.php', 'borrar2.php', 'guardar. php '' consulta.php ',' configacion.php ', שיוצמדו לקשר עם השני, כדי לשמור על תפריט בסיסי שתמיד פועל ונגיש. פשוט הסבר את הקובץ 'configacion.php', המתפקד כמחבר למסד הנתונים שלנו. בעורך שלנו, אנו מתזמנים את הקוד הבא בקובץ:
- <? php
- / / שרת נתונים ומאגר נתונים
- $ server = "localhost";
- $ שם משתמש = "המושב שלך";
- $ password = "password";
- $ database_name = "arduino";
אלה הנתונים שצריכים להתחבר למסד הנתונים שלנו בארדואינו יהיו זהים שבהם אנו משתמשים בתסריטים של פייתון. סיימו לתכנת את הצהרת החיבור, שהשתמשה בסקריפט שלנו:
- $ conexion = mysql_connect ($ שרת, $ שם משתמש, $ סיסמה) או die ("Problemas al tratar de establecer la conexion");
- $ bd_sel = mysql_select_db ($ database_name) או die ("בעיות עם בחירת בסיס הנתונים");
- ?>
שאר הקבצים מצורפים.
שלב 10: לבסוף, התוכנית של ה- Arduino YÚN
הגענו לחלק העיקרי של הדרכה זו, בתכנות ה- Arduino Yun שלנו, שום פרט לא ידגיש את כל הקוד מכיוון שהוא נרחב למדי, רק ציינו את הנקודות החשובות הבאות:
- הקוד מורכב מ -6 פונקציות עיקריות ו -13 פונקציות משניות, המהוות רק תמיכה לשימוש ב- LCD הסידורי.
- להיות מיובאים רק שלוש מחלקות, 'SoftwareSerial.h', שאיתן נזין Serial Attached לחיבור עם מזהה 20 ו- LCD סידורי, המחלקה הראשית 'Bridge.h' שאיתה נעשה את החיבור בין Linux ל- ATMEGA32U4, ומחלקת 'Process.h' תשמש לתהליכי ייעוץ ב- Linux.
- הגדר רק שלושה סיכות, שמשתמשים באחרים בחינם.
הקוד מצורף
שלב 11: שנה טובה
אני ממשיך בזה בקפדנות כדי לשרת אותך ולעזור לך לקבל מידע נוסף על ה- Arduino Yun. השאר את כל הקבצים המצורפים עד הסוף. לדוברי השפה הספרדית, אני עוזב את ההדרכה הזו אך בספרדית עם הקבצים הדרושים. אני מקווה שתהיה לך שנה טובה, תהני מזה ותצליחי בשנת 2014!
מוּמלָץ:
שליטה ב- Led באמצעות אפליקציית Blynk באמצעות Nodemcu דרך האינטרנט: 5 שלבים
שליטה באמצעות LED באמצעות אפליקציית Blynk באמצעות Nodemcu דרך האינטרנט: שלום לכולם היום נראה לכם כיצד תוכלו לשלוט על LED באמצעות סמארטפון דרך האינטרנט
שליטה במכשירים באמצעות פקודה קולית באמצעות NodeMCU: 7 שלבים (עם תמונות)
שליטה במכשירים באמצעות פקודה קולית באמצעות NodeMCU: אני רק רוצה להגיד שלום לכולם, זו הפעם הראשונה שאני כותב פרויקט שניתן להדריך אותו. אנגלית היא לא שפת האם שלי אז אני אנסה לעשות את זה קצר וברור ככל האפשר. שליטה במכשירים באמצעות פקודה קולית אינה דבר מוזר בכל
שליטה במנועי DC באמצעות ה- L298N באמצעות מיקרו -בקר CloudX: 3 שלבים
שליטה במנועי DC באמצעות L298N באמצעות מיקרו-בקר CloudX: בפרויקט זה נסביר כיצד להשתמש ב- L298N H-bridge שלנו כדי להגדיל ולהוריד את מהירות מנוע DC. ניתן להשתמש במודול L-298N H-bridge עם מנועים בעלי מתח בין 5 ל- 35V DC. יש גם רגולטור 5V המשולב, כך שאם
מצמצם את מנוע סרוו השלב עם שליטה סידורי באמצעות ארדואינו באמצעות מדפסת תלת מימד - Pt4: 8 שלבים
מצמצם את מנוע סרוו סטפ עם שליטה סדרתית באמצעות ארדואינו באמצעות מדפסת תלת מימד - Pt4: בסרטון הרביעי הזה של סדרת מוטור סטפ, נשתמש במה שלמדנו בעבר כדי לבנות מנוע סרוו צעד עם שליטה באמצעות תקשורת טורית ואמיתית משוב מיקום באמצעות מקודד התנגדות המנוטר על ידי Arduino. בשנת
שלוט בארדואינו באמצעות סמארטפון באמצעות USB באמצעות אפליקציית Blynk: 7 שלבים (עם תמונות)
שליטה בארדואינו באמצעות סמארטפון באמצעות USB באמצעות אפליקציית Blynk: במדריך זה נלמד כיצד להשתמש באפליקציית Blynk ובארדואינו על מנת לשלוט במנורה, השילוב יהיה באמצעות יציאה טורית USB. מטרת ההוראה היא להראות את הפתרון הפשוט ביותר לשלוט מרחוק בארדואינו או ב