29 באוגוסט 2019
Edit on GitHub
— Post available in English

צריבת Tasmota על Tuya IR bridge

מדריך צריבת קושחת Tasmota על משדר\מקלט IR של Tuya

Blog picture

מדריך צריבת קושחה על Tuya IR (דגם UFO-R1).

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

תמונות של המכשיר

Device
Device
Device
Device

הקדמה

מה זה IR (אינפרא אדום)

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

משתמשים בקרינה הזו בהרבה דברים בעולמנו, למשל ראיית לילה ובעיקר מה שנוגע אלינו בתדר 38KHz משתמשים בעשרות השנים האחרונות לשליטה אלחוטית במכשירים במכשירים שונים

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

לשלט יש נורת LED שמקרינה בתדר IR למזגן יש דיודה שמאזינה לשדרים ב-IR

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

תהליך השימוש

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

מה אפשר לעשות עם זה

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

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

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

אבל הסינים כבר יצרו כזה עבורנו וכל מה שהם דורשים זה עלות של מנת שווארמה (~10$) ולהמתין יפה לדואר.

מה שאנחנו מקבלים זה מכשיר (נאה יש לציין) שכולל משדר ומקלט IR חיבור ל-WiFi ולחשמל (על המטען הם התקמצנו) וחיבור לאפליקציה דרכה אפשר להקליט ולשדר פקודות מכל מקום בעולם. מגניב, לא?

מה לא טוב במה שיש

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

ישנו פרוייקט קוד-פתוח Tuyapi לגישה למכשיר ללא האפליקציה, אבל המעקף מסורבל מאוד לשימוש.

שניה, מה לא טוב באפליקציה הרשמית? אז ככה:

  1. אין למשתמש שליטה על הקוד שרץ במכשיר, רוצים לסמוך על הסינים שאין שם בוט נסתר או כל נזק אחר עם גישה מלאה לרשת הפרטית בבית? בהצלחה.
  2. לא ניתן לשלוט מתוך הרשת הפנימית, מה שאומר שאם נפל האינטרנט גם אם הרשת הביתית תקינה (הראוטר פועל) לא ניתן לשלוט במכשירים בבית
  3. אם יום אחד Tuya יורידו את השירות שלהם המכשיר יהפוך לפלסטיק יפהפה
  4. (ממשק לא יציב ליישומים חיצוניים, לדוגמה home-assistant casanet ועוד ועוד

מה זה Tasmota

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

וזה גם אפשרי, בגלל שחלק נכבד ממכשירי ה-IOT הסיניים ורוב המכשירים שתמתשמשים באפליקציה (ובשירותי) Tuya / Smart Life (וכמובן גם משדר ה-IR שנסקור במאמר) מבוססים על ערכת השבבים שנקראת ESP8266 וקהילת הקוד הפתוח פיתחה עבורה קושחות אלטרנטיביות כשאחת הטובות שבהן היא Tasmota (תנו בכוכבים, מגיע להם).

Tasmota מציעה ממשק בכל הפרוטוקולים הסטנדרטיים וכמובן ממשק וובי נוח ביותר לתפעול. ואפילו יש דוקומנטציה פעילה בה אפשר לראות את המכשירים שהקהילה התאימה לקושחה Tasmota Device Templates, שווה להציץ שם.

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

אז איפה הקאטצ'?

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

המאמר הזה ינסה להפוך את תהליך צריבת הקושחה למשדר ה-IR לנהיר וברור גם למי שלא מגיע מהתחום.

מה צריך

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

ציוד חומרה

  1. המכשיר עצמו, משדר ומקלט IR
  2. מלחם ובדיל
  3. לוח (לנוחות, לא חובה)
  4. חוטי חשמל זכר
  5. חוטי חשמל נקבה
  6. USB to TTL serial
Hardware

כל הציוד עולה בערך 40 שח, והמכשיר עצמו עולה בערך 40 שח.

תכנה

  1. PC עם מערכת ההפעלה Windows 10.
  2. esptool תכנה לצריבת קושחה, ניתן להוריד כאן או ישירות מהמאגר הרשמי ב-GitHub.
  3. קושחת Tasmota, ניתן להוריד כאן (גרסה 6.5.0-release-sonoff) או ישירות מהמאגר הרשמי ב-GitHub.

צריבת הקושחה

לפני שאנחנו מתחילים חשוב להבהיר: תהליך הצריבה מסוכן ואיני אחראי לשום תוצאה לא צפויה או נזק כלשהוא השימוש במדריך הוא על אחריות הקורא הנבון בלבד!!!

הגדרת התכנה

ניצור תיקיה ואליה נעתיק את הקבצים שהורדנו את tasmota.bin ואת esptool.exe נניח לצורך הדוגמה ששמנו בתיקיה C:\flasing

נחבר את ה-USB to Serial למחשב נמתין עד שהדרייברים יותקנו אוטומטית (אם לא ניתן להוריד מכאן או מכאן)

בחיפוש של Windows נחפש device manager ונכנס לתוצאה הראשונה.

או לחילופין יש ללחוץ על Windows Key + R במקלדת ובחלונית שנפתחת להזין devmgmt.msc.

שם נחפש את היציאה שמערכת ההפעלה הקצתה עבור ה-USB to Serial.

במקרה שלי זה COM6. נצטרך את זה בהמשך.

Device manager

נפתח את שורת הפקודה בתיקיה שבה שמנו את הקבצים (אם אתה לא יודעים איך חפשו פה)

ונעתיק לתוכה את הפקודה הבאה

  esptool.exe -vv -cb 115200 -cp COM6 -ca 0x00000 -bz 1M -bm dout -cf tasmota.bin

שימו לב שה-COM6 צריך להיות מוחלף ביציאה ששמרנו מהסעיף הקודם.

לא ללחוץ Enter, להשאיר את שורת הפקודה עם הפקודה מוכנה להפעלה

ננתק את ה-USB to Serial (ממיר) מהמחשב.

נשאיר את המחשב איך שהוא עכשיו ונעבור ל:

הגדרת החומרה

פתיחת המכשיר

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

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

Device equator

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

בסוף התהליך המכשיר אמור להראות כך

Device opend

הלחמת חוטים

צריך לחבר את המכשיר (המנותק מהחשמל!) למחשב ע"י הממיר.

החיבור הוא כדלהלן:

  • יציאת 3v3 של המכשיר ליציאת 3v3 של הממיר
  • יציאת TXD של המכשיר ליציאת RXD של הממיר
  • יציאת RXD של המכשיר ליציאת TXD של הממיר
  • יציאת GND של המכשיר ליציאת GND של הממיר
  • יציאת IO0 של המכשיר ליציאת GND של הממיר

מצורף צילומים של החיבור.

Full wiring
Converter wiring
Board wiring
Device wiring
Device wiring

חיבור למחשב

נוודא שוב שכל החוטים מחווטים נכון והכל מחובר.

עכשיו הכל מוכן לצריבה עצמה.

נחבר את הממיר למחשב, נלך לחלון שורת הפקודה שהכנו מקודם ונלחץ Enter.

שורת הפקודה והממיר אמורים להראות כך:

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

הצריבה הסתיימה!

חיבור וקינפוג המכשיר

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

נמתין כמה שניות ואמורים לראות רשת חדשה במחשב או בטלפון שנקראת sonoff-xxxx

networks

נתחבר לרשת הזו

נפתח בדפדפן את הכתובת 192.168.4.1

ונזין את ה-SSID של ה-WiFi הביתי ואת הסיסמה (ניתן לחבר לשני רשתות)

ונלחץ על 'Save'

ssid config

המכשיר אמור לעשות אתחול עצמי ולהתחבר לרשת.

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

כל ראוטר עם הממשק (המשונה) שלו אבל אמור להיות בו איפשהו הכתובות של המכשירים.

בראוטר שלי (ASUS RT-xxxxxx) זה נראה כך:

DHCP IPs

אחרי שמצאנו מה הכתובת של המכשיר (במקרה שלי 192.168.1.36) נזין את הכתובת בדפדפן.

בממשק שמופיע נבחר Configuration ואז Configure Other.

בחלונית ה-Tamplate נחליף את התוכן הקיים בתוכן הבא:

{"NAME":"YTF IR Bridge","GPIO":[255,255,255,255,56,51,0,0,0,17,8,0,0],"FLAG":0,"BASE":62}

(מתוך פרוייקט התבניות של Tasmota הדף של משדר ה-IR)

נלחץ על הצלמית ליד ה-Activate שיהיה בה V.

ונלחץ על 'Save'.

המכשיר שוב אמור לאתחל את עצמו.

וזהו סיימנו להגדיר את המכשיר.

ניתן להשתמש במכשיר, ולהעזר בקהילה סביב Tasmota.

ממליץ להעיף מבט פה ופה

תעשו חיים!


Photo by Enisa Abazaj from Burst