בפוסט הזה ארחיב כיצד לתקשר עם ארדואינו ב WIFI באמצעות ה TL-WR703N .
רכיבים:
- ארדואינו כלשהו עם מתאם USB כלשהו (זה יכול להיות UNO R3 או פרו מיני עם מתאם מבוסס ftdi או cp2102 או pl2303 וכו') כל ה USB TO TTL הנפוצים נתמכים.
- ראוטר TL-WR703N .
קוד מאוד פשוט לצורך בדיקת תקשורת אותו יש להעביר לארדואינו :
void setup() { Serial.begin(9600); // set up Serial library at 9600 bps } // the loop routine runs over and over again forever: void loop() { String content = ""; char character; while(Serial.available()) { character = Serial.read(); content.concat(character); delay (10); } if (content == "miki") { Serial.print(content); { }
הקוד פשוט קורא מהפורט הסיריאלי ובמידה והמחרוזת היא "miki" הוא מדפיס את הקלט לפורט הסיריאלי כך שהקוד יאפשר לנו לבדוק קישוריות דו כיוונית.
אני אחבר ארדואינו אונו R3 לראוטר.
יש להוריד להתקין Putty בשדה הכתובת לשים את כתובת הIP של הראוטר:
לאחר שנקבל מסך טרמינל בשם המשתמש נקיש root ואת הסיסמה שהגדרנו:
לפני שחיברנו את הארדואינו לראוטר דרך USB נריץ את הפקודות הבאות (נעבור לתיקיית dev):
cd /dev
רשימה של כל קבצי המודולים המחוברים למכונת לינוקס :
ls
(רשימה של כל קבצי המודולים המחוברים למכונת לינוקס )
תפתח בפנינו רשימה ונשים לב שאותה פקודת ls אחרי הכנסת הארדואינו תתן רשימה עם מודול אחד נוסף וכך נוכל לדעת את המבואה הסריאלית אליה אנו אמורים להאזין ולשלוח פקודות ע"מ לדבר עם הארדואינו:
נריץ את הפקודה הבאה (יש בעיה של auto reset עם הארדואינו, יש הרבה חומר על הנושא בפורומים שונים זה הסיכום שהגעתי מנבירה בפורומים וחקירה למידע נוסף):
stty -F /dev/ttyACM0 cs8 9600 ignbrk -brkint -icrnl -imaxbel -opost -onlcr -isig -icanon -iexten -echo -echoe -echok -echoctl -echoke noflsh -ixon -crtscts -hupcl
לאחר מכן נריץ את הפקודה (תאזין על פורט ttyACM0 ושזה יהיה ברקע – "&") :
cat /dev/ttyACM0 &
ולאחריה (כתוב לפורט הנ"ל את הקלט "miki" ותתעלם מתו שורה חדשה):
echo -n "miki" > /dev/ttyACM0
נראה שכל פעם שנכתוב את פקודת ה "echo" נקבל את הפלט "miki" כל קלט אחר לא יודפס:
זהו אנחנו יכולים לדבר עם ארדואינו בצורה טורית ניתן ליעל את התהליך עם שפה שכבר מותקנת בראוטר ששמה – Lua כך שיהיה אפשר לגשת לכתובת בדפדפן ולהעביר מסרים לארדואינו (תדליק לד) או לקבל מסרים מהארדואינו (מה הטמפרטורה בחדר) הרחבה על כך בפוסטים הבאים.