TelePi – שלוט בשרת שלך באמצעות הודעות טקסט

TelePi - Control your pi with Tlegram Bot

TelePi

חשבתם פעם שתוכלו להתכתב עם השרת שלכם? לשאול אותו לשלומו או לבקש ממנו לבצע פקודות? אז זהו, שהיום זה כבר אפשרי ואפילו פשוט ליישום. כאן בדיוק נכנסת לתמונה מערכת ה TelePi המבוססת Telgram Bot ומאפשרת שליחת פקודות וקבלת תגובות והתראות מהשרת שלך (בין אם מדובר ב Raspberry pi או כל שרת מבוסס לינוקס).

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

אחרי התקנת האפליקציה והרישום נעבור לפתיחת ה Bot בו נשתמש לתקשורת עם השרת. לשם כך יש להכנס לכתובת הבאה: https://t.me/BotFather

על מנת לפתוח צ'אט בוט חדש יש לכתוב הת הפקודה /new ולאחריה נשאל מספר שאלות:

הראשונה שבהן היא איך נרצה לקרוא לבוט, במקרה של הדוגמה כאן: "Tech Blog".

השאלה הבאה תהיה מה שם המשתמש עבור הבוט, לדוגמה: TechBlogBot.

 

TelePi - BotFather - create new bot

אחרי שנסיים לענות על השאלות נקבל Token אשר ישמש עבור הגדרת הבוט על השרת. ה Token נראה כך:

כעת, נתקין את ה bot של טלגרם על הפאי על ידי סט הפקודות הבא:

כעת נבדוק את ההתקנה וכן את ה Token, לשם כך נכתוב python לצורך כניסה לסביבת עבודה של פייטון, ובתוכה נריץ את סט הפקודות הבא:

כאשר בשורה השניה יש להכניס את ה Token שקבלנו בעת יצירת הבוט בחלקו הראשון של המדריך

התוצאה שנקבל אמורה להראות כך:

TelePi - Test Token

כעת לאחר שווידאנו כי ה TOKEN וההתקנה תקינים נוכל להתחיל ללמד את הפאי להגיב לפקודות. לצורך כך צרו תיקיה בשם TelePi תחת opt ועברו אליה על ידי הפקודה הבאה :

כעת ניצור קובץ דוגמה על ידי הפקודה:

והדביקו לתוכו את הטקסט הבא:

בשורה המוארת (36) יש להזין את ה Token שקבלתם בשלב יצירת הבוט.

לחצו Ctrl+x לסיום ולאחריו y על מנת לשמור את השינויים ולצאת מהעורך.

כתבו את הפקודה הבאה:

אם הכל התנהל קשורה תראו מסך שנראה כך:

TelePi - Listening for command

 

בקובץ הדוגמה שלהלן ניתן לבצע מספר בדיקות והוראותף לדוגמה בדיקה של כתובת ה IP החיצונית של השרת שניתנה על ידי ספקית האינטרנט:

TelePi - Ip sample

ניתן לבצע בידת מהירות באמצעות speedtest (מצריך התקנה על פי המאמר הבא:

בנוסף ניתן לשלוט על רכיבים המחוברים למכשיר הפאי (למשל כיבוי והדלקת לד המחוברים ל GPIO):

נכון לעכשיו המערכת תפעל רק בהפעלה ידנית, במידה ותרצו שהבוט יעלה עם הדלקת הפאי, יש לפעול על פי השלבים הבאים:

ראשית כנסו לנתיב הבא וצרו קובץ בשם telepi על ידי סט הפקודות הבא:

והדביקו לתוכו את הטקסט הבא:

צאו מהעורך ושמרו את השינויים על ידי Ctrl+x ולאחריו y לאישור.

כעת נוסיף לקובץ הרשאות execute על ידי הפקודה הבאה:

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

אתחלו את הפאי וראו את הקסם מתרחש (:

7 Comments

  1. 1. הפקודה: python /opt/TelePt/telebot.py שגויה. צ"ל TelePi
    2. הפייתון מתלונן על אינדנטציה בטקסט שהועתק הודבק כמו שהוא.

  2. זה מה שאני מקבל אחרי כל פקודה (למשל /IP)

    I am listening …
    Traceback (most recent call last):
    File "/usr/local/lib/python2.7/dist-packages/telepot/loop.py", line 37, in run_forever
    self._handle(msg)
    File "/opt/TelePi/telebot.py", line 13, in handle
    user_name = msg['chat']['username']
    KeyError: 'username'

  3. הבוט לא מופעל לי אוטומטית בהדלקה.
    איך לבדוק את זה? (חלש בלינוקס 🙁

Leave a Reply

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


*