Raspberry Pi เป็นโครงการที่สนุกและสร้างง่ายมาโดยตลอด สถาปัตยกรรม ARM ที่ทรงพลังและระบบปฏิบัติการที่ใช้ Linux แบบโอเพนซอร์สช่วยเราได้มากในการทำให้โครงการของเราออนไลน์ได้ในเวลาอันรวดเร็ว ในการกวดวิชานี้เราจะได้เรียนรู้อีกวิธีที่น่าสนใจในการใช้ข้อมูลร่วมกัน (ไฟล์ / ภาพถ่าย / วิดีโอ / เสียง / ข้อความ) ระหว่างราสเบอร์รี่ Pi และโทรศัพท์มือถือของเราผ่านโปรแกรมแชทที่นิยมเรียกว่าโทรเลข
สำหรับผู้ที่เพิ่งเริ่มใช้ Telegram เป็นแอปพลิเคชั่นแชทที่มีอยู่ใน play store สำหรับ Android (มีให้สำหรับ Iphone และ windows) ซึ่งคล้ายกับ Whatsapp มาก มีการดาวน์โหลดมากกว่า 100 ล้านครั้ง (ในวันที่ 5-10-2017) ใน play store และผู้คนอ้างว่าเร็วกว่าและใช้งานได้ดีกว่า Whatsapp (ใช้นิ้วไขว้กัน) คุณสมบัติพิเศษอย่างหนึ่งของแอปพลิเคชันนี้คือรองรับบอท หมายความว่าแอปพลิเคชั่นสมาร์ทโฟนนี้ไม่เพียง แต่สามารถใช้ได้กับมนุษย์เท่านั้น แต่ยังใช้กับเครื่องได้ด้วย ในกรณีของเราเครื่องจะเป็น Raspberry Pi เมื่อคุณฝึก Raspberry Pi เกี่ยวกับวิธีทำตัวเป็นบอทแล้วทุกคน (ถ้าคุณทำให้เป็นสาธารณะ) สามารถแชทกับ Raspberry Pi ของคุณได้เหมือนคุยกับคนปกติทั่วไปและแม้แต่แชร์เอกสารรูปภาพรูปภาพและไฟล์เสียง คุณสามารถฝึกให้เป็นผู้ช่วยส่วนตัวของคุณเองได้ฟังดูดีใช่ไหม? มาเรียนรู้วิธีสร้างไฟล์ราสเบอร์รี่ปี่บอโทรเลข
วัสดุที่ต้องการ:
- Raspberry Pi ใด ๆ ที่เชื่อมต่อกับอินเทอร์เน็ต
- แอปพลิเคชั่นโทรเลขที่ใช้มือถือ
ที่มีอยู่ไม่มากฮาร์ดแวร์ที่เกี่ยวข้องในโครงการนี้เพื่อผ่อนคลายบนเก้าอี้ของคุณกับพี่ของคุณและทำตามขั้นตอนดังต่อไปนี้หากคุณยังใหม่กับ Raspberry Pi ให้ทำตามบทความแนะนำ Raspberry Pi และบทแนะนำ Raspberry Pi อื่น ๆ
ขั้นตอนที่ 1: การติดตั้ง Telegram บนมือถือของคุณ
ขั้นตอนแรกคือการติดตั้ง Telegram บนมือถือของคุณ Telegram พร้อมใช้งานสำหรับ Android, IOS และแม้แต่สำหรับแพลตฟอร์ม Windows ดังนั้นเพียงแค่ดาวน์โหลดแอปพลิเคชัน Telegram ของคุณ เช่นเดียวกับแอปพลิเคชันทั้งหมดจะมีขั้นตอนการสมัครเล็กน้อยเพื่อเริ่มใช้งาน Telegram ดำเนินการต่อไปจนกว่าคุณจะไปถึงหน้าจอหลัก
ขั้นตอนที่ 2: คุยกับพ่อบอท
ขั้นตอนต่อไปคือขอให้พ่อบอทสร้างบอทใหม่ให้เรา ที่มุมขวาบนของหน้าจอหลักจะมีไอคอนค้นหาให้คลิกเพื่อค้นหาชื่อ“ บอทฟาเธอร์” Botfather เป็นบอทด้วยตัวเองซึ่งจะแนะนำคุณในการสร้างบอทใหม่สำหรับคุณ คลิกที่startแล้วเลือก/ newbotดังภาพด้านล่าง ตอนนี้บอทจะถามรายละเอียดบางอย่างเช่นชื่อบอทของคุณและชื่อผู้ใช้บอท กรอกรายละเอียดเหล่านั้นและจำชื่อผู้ใช้ที่เราจะต้องใช้ในอนาคต
ขั้นตอนที่ 3: รับโทเค็นเพื่อเข้าใช้งาน
ฉันตั้งชื่อบอทเป็น circuitdigest และชื่อผู้ใช้เป็น circuitdigestBot หลังจากขั้นตอนนี้ botfather จะให้ Token สำหรับการเข้าถึง นี่เป็นเหมือนรหัสผ่านสำหรับบอทของคุณผู้คนสามารถควบคุมโปรแกรมบอทของคุณโดยใช้รหัสโทเค็นนี้ ดังนั้นให้ปลอดภัยและอย่าแบ่งปันกับใคร เมื่อคุณได้รับรหัสโทเค็นนี้แล้วก็ถึงเวลาย้ายไปยัง Raspberry Pi
ขั้นตอนที่ 4: Telepot สำหรับติดตั้ง Telegram บน Raspberry Pi
การใช้ Telegram Bot ใน Raspberry Pi สามารถทำได้โดยแพ็คเกจ python ที่เรียกว่า Telepot เราจำเป็นต้องติดตั้งแพ็คเกจนี้บน Raspberry Pi โดยใช้คำสั่งต่อไปนี้บน Lx terminal
sudo apt-get ติดตั้ง python-pip sudo pip ติดตั้ง telepot
เมื่อนำ Telepot เข้าสู่ Raspberry แล้วเราสามารถใช้แพ็คเกจนี้ในโปรแกรม python เพื่อสื่อสารกับ Telegram Bot ของเรา
ขั้นตอนที่ 5: การเขียนโปรแกรม Raspberry Pi ของคุณ
บอทที่เราเพิ่งสร้างขึ้นใน Telegram ก็เหมือนกับเด็กทารกมันไม่สามารถทำอะไรได้ด้วยตัวมันเองเว้นแต่เราจะสอนว่าต้องทำอะไรและอย่างไร การเรียนการสอนนี้สามารถทำได้ผ่านสคริปต์ Raspberry Pi และ Python ในบทช่วยสอนนี้ฉันได้ตั้งโปรแกรมบอทเพื่อดำเนินการพื้นฐานบางอย่างเช่นการส่งข้อความภาพถ่ายเสียงและเอกสาร ดังนั้นเมื่อคุณพูดคำสั่งใดคำสั่งหนึ่งคำสั่งนั้นจะตอบสนองด้วยการกระทำบางอย่างคำสั่งและการกระทำจะแสดงอยู่ในตารางด้านล่าง
คำสั่งจาก Telegram |
ตอบกลับโดย Raspberry Pi |
/ สวัสดี |
ตอบกลับด้วยสตริง“ สวัสดี! CircuitDigest” |
/เวลา |
ตอบกลับด้วยเวลาปัจจุบัน |
/ โลโก้ |
ตอบกลับด้วยรูปภาพ (โลโก้ของ CircuitDigest) |
/ไฟล์ |
ตอบกลับด้วยไฟล์ (ที่มีโปรแกรมปัจจุบัน) |
/ เสียง |
ตอบกลับด้วยไฟล์เสียงสาธิต |
โปรแกรมที่สมบูรณ์ที่จะทำให้การกระทำดังกล่าวจะได้รับที่ด้านล่างของหน้านี้แต่ด้านล่างนี้ฉันได้อธิบายตัวอย่างข้อมูลสำคัญในโปรแกรมเพื่อช่วยให้คุณเข้าใจวิธีการทำงานของโปรแกรม
ขั้นตอนแรกคือการนำเข้าไลบรารีทั้งหมดที่นี่เราจะต้องมีไลบรารีเทเลพอร์ตอย่างชัดเจนเพื่อใช้งาน Telegram bot นอกจากนี้เรายังใช้ประโยชน์จากเวลาห้องสมุดที่กำหนดเวลาเพื่ออ่านเวลาปัจจุบันสำหรับ Raspberry pi จากนั้นเราสร้างวัตถุที่เก็บค่าไว้
เวลานำเข้าเทเลพอตนำเข้าวันที่และเวลาจาก telepot.loop นำเข้า MessageLoop now = datetime.datetime.now ()
ขั้นตอนต่อไปคือการสร้างฟังก์ชันสำหรับการดำเนินการตามคำสั่งที่เข้ามาจากแอพ Telegram บนมือถือ ที่นี่ชื่อของฟังก์ชันคือการกระทำ มันอยู่ในฟังก์ชั่นที่บอทมีชีวิตขึ้นมา บอทของเราไม่สามารถเริ่มการสนทนาได้ด้วยตัวเอง แต่จะตอบกลับได้ก็ต่อเมื่อเราถามอะไรบางอย่าง ดังนั้นทุกครั้งที่เราถามอะไรก็จะมีรหัสแชท รหัสแชทนี้คล้ายกับที่อยู่โดยใช้เฉพาะรหัสแชทนี้บอทเท่านั้นที่สามารถตอบกลับเราได้ ขั้นตอนแรกคือการอ่านรหัสแชทและข้อความที่พยายามจะพูดกับเรา นอกจากนี้เรายังพิมพ์ข้อความที่ได้รับเพื่อวัตถุประสงค์ในการดีบัก
def action (msg): chat_id = msg command = msg print คำสั่ง 'รับ:% s'%
ยิ่งไปกว่านั้นภายในฟังก์ชั่นเราเปรียบเทียบคำสั่งนี้กับข้อความที่กำหนดไว้ล่วงหน้าและทำงานบางอย่าง คำสั่งแรกนี้จะเป็น / สวัสดี ซึ่งเราตอบกลับว่า“ สวัสดี! CircuitDigest”
ถ้าคำสั่ง == '/ hi': telegram_bot.sendMessage (chat_id, str ("Hi! CircuitDigest"))
คำสั่งต่อไปจะเป็น / เวลา ซึ่งเราตอบกลับเวลาปัจจุบัน เรามีเวลาและวันที่ในตอนนี้แล้วเพียงแค่แบ่งตามชั่วโมงและนาทีและเพิ่มเป็นโดยใช้ฟังก์ชัน str
คำสั่ง elif == '/ เวลา': telegram_bot.sendMessage (chat_id, str (now.hour) + str (":") + str (now.minute))
คำสั่งต่อไปจะเป็น / logo ซึ่งบอทจะดึงภาพจาก url และส่งมาให้เรา ภาพสามารถส่งจาก URL หรือจากฮาร์ดดิสก์ ที่นี่ฉันเพิ่งใช้ URL ที่แสดงโลโก้ของ CircuitDigest
คำสั่ง elif == '/ logo': telegram_bot.sendPhoto (chat_id, photo = "https://i.pinimg.com/avatars/circuitdigest_1464122100_280.jpg")
คำสั่งต่อไปจะเป็น / file ซึ่งจะส่งไฟล์ชื่อ Aisha.py จากฮาร์ดดิสก์ คุณสามารถส่งไฟล์ใดก็ได้ที่ต้องการโดยเปลี่ยนที่อยู่ของไดเร็กทอรี
คำสั่ง elif == '/ file': telegram_bot.sendDocument (chat_id, document = open ('/ home / pi / Aisha.py'))
คำสั่งสุดท้ายจะ/ เสียง สิ่งนี้สามารถส่งไฟล์ mp3 ใด ๆ จากฮาร์ดดิสก์ฉันเพิ่งใช้ไฟล์เสียงชื่อ test.mp3 เป็นตัวอย่างที่นี่
คำสั่ง elif == '/ audio': telegram_bot.sendAudio (chat_id, audio = open ('/ home / pi / test.mp3'))
เอาล่ะมาถึงขั้นตอนที่สำคัญที่สุดนี่คือที่ที่เราให้การเข้าถึงบอทโทรเลขของเราไปยังสคริปต์ Python ที่นี่เราตั้งชื่อบอทเป็น telegram_bot และกำหนดที่อยู่โทเค็นที่บอทฟาโรห์ของเรามอบให้ในขั้นตอนที่ 3 ในบรรทัดด้านล่างนี้ฉันได้ลบโทเค็นสองสามหลักสุดท้ายออกเนื่องจากเป็นเรื่องความเป็นส่วนตัว นอกจากนี้เรายังใช้การพิมพ์ get me เพื่อแสดงรายละเอียดของ Bot บนหน้าจอเชลล์ซึ่งจะช่วยให้เราสังเกตเห็นสิ่งต่างๆที่ทำงานได้
telegram_bot = telepot.Bot ('468382312: AAFhURMxpVlMWEdFzbIQLszBPFEUpXXXXXX') พิมพ์ (telegram_bot.getMe ())
หวังว่าคุณจะเข้าใจวิธีการทำงานของโปรแกรมตอนนี้ให้เราไปขั้นตอนต่อไป
ขั้นตอนที่ 6: เรียกใช้โปรแกรมใน Raspberry Pi ของคุณ
ตามที่กล่าวไว้ก่อนหน้านี้โปรแกรมที่สมบูรณ์จะได้รับในตอนท้ายของหน้านี้คุณสามารถดาวน์โหลดได้จากที่นี่ เมื่อคุณเปิดรหัสตรวจสอบให้แน่ใจว่าคุณได้เปลี่ยนที่อยู่โทเค็นของโปรแกรมเป็นที่อยู่โทเค็นของคุณ
ตอนนี้เรียกใช้รหัส python และคุณจะเห็นรายละเอียดของบอทของคุณบนหน้าต่างเชลล์เช่นนี้
ที่นี่ชื่อผู้ใช้บอทของฉันคือ circuitdigestBot หากคุณได้รับชื่อบอทของคุณที่นี่หมายความว่าทุกอย่างเรียบร้อยดี
เมื่อคุณเห็น“ พร้อมใช้งาน ” หมายความว่าบอทของคุณพร้อมสำหรับการดำเนินการและสามารถตอบกลับคำสั่งของคุณได้แล้ว
ขั้นตอนที่ 7: เพลิดเพลินกับเอาต์พุต
ตอนนี้สิ่งที่เหลือคือตรวจสอบว่าบอทของคุณตอบสนองต่อโปรแกรมของคุณได้ดีเพียงใด ค้นหาชื่อบอทของคุณในกรณีของฉันมันคือ“ circuitdigestBot” ค้นหาชื่อผู้ใช้ไม่ใช่หรือชื่อบอทชื่อผู้ใช้ของคุณควรลงท้ายด้วยบอท
เมื่อคุณเปิดบอทของคุณให้คลิกที่เริ่มและพิมพ์คำสั่งใด ๆ เช่น / hi, / time, / file, / logo หรือ / audio และคุณควรได้รับการตอบกลับตามนั้น
คุณสามารถใช้เชลล์สคริปต์เพื่อดูว่าสคริปต์ของคุณกำลังตอบสนองอะไรอยู่ การทำงานทั้งหมดสามารถพบได้ในวิดีโอที่ให้ไว้ในตอนท้ายของหน้านี้
ขั้นตอนที่ 8: ให้คะแนนสูงสุดแก่ฉัน
หวังว่าคุณจะเข้าใจกวดวิชาและตอนนี้จะสามารถสร้างRaspberry Pi โทรเลขบอทและ สื่อสารกับราสเบอร์รี่ Pi ใช้โทรเลข App อนิจจา หากคุณมีปัญหาใด ๆ โปรดแจ้งให้เราทราบผ่านส่วนความคิดเห็นเราจะพยายามติดต่อกลับ นอกจากนี้โปรดแจ้งให้เราทราบว่าคุณชอบโครงการนี้อย่างไรหรือคุณต้องการให้ฉันสร้างอะไรโดยใช้สิ่งนี้ในโครงการที่กำลังจะมีขึ้น
นอกจากนี้ในบทแนะนำต่อไปของเรา เราจะทำให้รูปลักษณ์นี้ดูเท่ขึ้นโดยเปลี่ยนวิธีการส่งคำสั่งและสิ่งที่เกี่ยวข้องกับฮาร์ดแวร์บน Raspberry Pi