- Vật liệu thiết yếu:
- Sơ đồ mạch:
- Chương trình Raspberry Python:
- Điều khiển đèn LED với Raspberry Pi và bot Telegram:
Telegram là một ứng dụng tối ưu để kết hợp với Raspberry Pi cho mọi mục đích điều khiển di động của chúng tôi. Nó có hỗ trợ nhà phát triển rất tốt và rất nhiều tính năng đang được lên kế hoạch phát hành sớm để nâng cao hiệu suất của Telegram Bots. Trong hướng dẫn trước, chúng tôi đã học cách thiết lập một bot telegram cho raspberry pi và cũng đã học cách trò chuyện với nó và chia sẻ hình ảnh, tài liệu và tệp âm thanh.
Bây giờ, chúng ta sẽ tiến hành bước tiếp theo bằng cách tìm hiểu Cách chúng ta có thể điều khiển các chân GPIO trên Raspberry Pins bằng Telegram, để chúng tôi cung cấp một số hỗ trợ phần cứng cho bot của mình. Trong hướng dẫn này, chúng tôi sẽ Kết nối bốn đèn LED với các chân GPIO của Raspberry Pi và chuyển đổi chúng bằng cách sử dụng ngôn ngữ tự nhiên (trò chuyện như) từ Telegram. Nghe thật thú vị phải không? Hãy để chúng tôi bắt đầu.
Vật liệu thiết yếu:
- Bốn đèn LED (bất kỳ màu nào)
- Raspberry Pi (có kết nối internet)
- Breadboard
- Kết nối dây
Điều kiện tiên quyết:
Trước khi tiếp tục với hướng dẫn này, hãy đảm bảo rằng Raspberry Pi của bạn được kết nối với internet và bạn có thể chạy các chương trình python trên Pi của mình. Ngoài ra, hãy đọc hướng dẫn trước để biết cách thiết lập bot Telegram với Raspberry Pi Pi, vì tôi sẽ cho rằng bạn đã quen thuộc với những thứ đó để tiến hành dự án.
Nếu bạn chưa quen với Raspberry Pi thì hãy theo dõi bài viết Giới thiệu Raspberry Pi và các Hướng dẫn Raspberry Pi khác của chúng tôi.
Sơ đồ mạch:
Sơ đồ mạch điều khiển đèn LED bằng ứng dụng Raspberry Pi và Telegram Android chỉ là bốn đèn LED và một số dây kết nối. Chúng tôi sẽ không cần các điện trở giới hạn hiện tại vì các chân GPIO của Raspberry Pi hoạt động trên 3.3V TTL. Làm theo mạch bên dưới và kết nối đèn LED của bạn.
Bảng sau đây sẽ giúp bạn xác định số chân và số GPIO cho kết nối của bốn đèn led.
Thiết bị đầu cuối Led |
Số PIN |
Số GPIO |
Cực dương xanh |
Pin 31 |
GPIO 6 |
Cực dương đỏ |
Pin 33 |
GPIO 13 |
Cực dương vàng |
Pin 35 |
GPIO 19 |
Anode trắng |
Pin 37 |
GPIO 26 |
Cathode của cả bốn |
Pin 39 |
Đất |
Dưới đây là sơ đồ mạch trong đó bốn đèn LED được kết nối theo Bảng ở trên:
Sau khi kết nối của bạn, thiết lập phần cứng của bạn sẽ trông giống như sau.
Chương trình Raspberry Python:
Khi phần cứng đã sẵn sàng, chúng ta có thể tiếp tục với Chương trình Python. Trong chương trình này, chúng tôi phải đọc dữ liệu (tin nhắn) được gửi từ bot Telegram và chuyển đổi đèn LED cho phù hợp. Để làm cho nó tự nhiên hơn, thay vì kiểm tra từng câu và mã hóa cứng những câu đó trong chương trình của chúng tôi, chúng tôi có thể kiểm tra các từ và tiến hành tương ứng.
Vì vậy, chương trình chủ yếu sẽ kiểm tra hai từ, chúng đang bật và tắt. Sau khi phát hiện một trong hai từ này, nó sẽ tìm kiếm các từ khóa khác như trắng, vàng, xanh lá cây và đỏ. Đèn LED màu tương ứng sẽ chỉ được bật nếu từ được phát hiện. Chúng tôi cũng sẽ cập nhật một chuỗi cho các từ được phát hiện để gửi tin nhắn trở lại telegram bot.
Các chương trình đầy đủ có thể được tìm thấy ở dưới cùng của trang này; ngay bên dưới tôi đã giải thích chương trình bằng cách chia nhỏ nó thành những đoạn nhỏ có ý nghĩa.
Để chương trình này hoạt động, chúng tôi cần điện thoại được tải xuống và nhập vào Raspberry Pi của chúng tôi. Trong hướng dẫn trước của chúng tôi, chúng tôi đã tải xuống dịch chuyển tức thời bên trong Raspberry Pi, vì vậy bây giờ chúng tôi chỉ cần nhập nó vào chương trình của mình cùng với thư viện GPIO như được hiển thị bên dưới.
nhập RPi.GPIO dưới dạng nhập GPIO từ xa từ tele.loop nhập MessageLoop
Chúng tôi sẽ điều khiển đèn LED bằng chương trình này và màu của đèn LED sẽ là Trắng, Vàng, Đỏ và Xanh lục. Chúng được kết nối với các chân hiển thị trong sơ đồ mạch; chúng ta hãy xác định tên pin cho các đèn LED này dựa trên màu sắc của chúng để nó sử dụng chúng trong chương trình.
trắng = 26 vàng = 19 đỏ = 13 xanh = 6
Bước tiếp theo sẽ là xác định tất cả các chân LED này làm chân đầu ra và xác định chúng bị tắt theo mặc định bằng cách sử dụng các dòng dưới đây.
#LED White GPIO.setup (trắng, GPIO.OUT) GPIO.output (trắng, 0) # Tắt ban đầu #LED Vàng GPIO.setup (vàng, GPIO.OUT) GPIO.output (vàng, 0) # Tắt ban đầu #LED Red GPIO.setup (đỏ, GPIO.OUT) GPIO.output (đỏ, 0) #Off ban đầu #LED xanh GPIO.setup (xanh lục, GPIO.OUT) GPIO.output (xanh lục, 0) #Off ban đầu
Như chúng ta đã tìm hiểu trong hướng dẫn trước, tất cả các hành động phải được thực hiện bởi bot Raspberry sẽ được xác định bên trong hành động chức năng. Ở đây chúng ta phải làm cho bot lắng nghe tin nhắn gửi từ điện thoại di động, so sánh nó với một số từ khóa và chuyển đổi đèn LED cho phù hợp.
Đối với mỗi tin nhắn chúng tôi gửi từ điện thoại di động, sẽ có một id trò chuyện và lệnh. Chương trình yêu cầu id trò chuyện này để trả lời lại cho người gửi. Vì vậy, chúng tôi lưu id trò chuyện và, tin nhắn như hình dưới đây.
chat_id = msg command = msg
Bây giờ, bất cứ thứ gì chúng ta gửi từ điện thoại sẽ được lưu dưới dạng chuỗi trong lệnh biến. Vì vậy, tất cả những gì chúng ta phải làm là kiểm tra các từ khóa trong biến này. Python có một lệnh giúp mọi thứ trở nên dễ dàng ở đây. Ví dụ, nếu chúng ta phải kiểm tra xem từ “on” có trong chuỗi được lưu trữ trong biến lệnh hay không, chúng ta có thể chỉ cần sử dụng dòng dưới đây.
if 'on' trong lệnh:
Tương tự như vậy, chúng tôi kiểm tra tất cả các từ khóa, khi chúng tôi nhận được “bật”, chúng tôi sẽ tiến hành kiểm tra màu mà người dùng đã đề cập. Điều này cũng được thực hiện bởi các lệnh tương tự bằng cách so sánh các từ khóa giống nhau. Chúng tôi cũng cập nhật thông báo có tên chuỗi có thể được trả lời lại cho người dùng dưới dạng thông báo trạng thái.
if 'on' trong lệnh: message = "Bật" nếu 'trắng' trong lệnh: message = message + "trắng" GPIO.output (trắng, 1) nếu 'vàng' trong lệnh: message = message + GPIO "vàng".output (vàng, 1) nếu 'đỏ' trong lệnh: message = message + "đỏ" GPIO.output (đỏ, 1) nếu 'xanh' trong lệnh: message = message + "xanh" GPIO.output (xanh, 1) nếu 'tất cả' trong lệnh: message = message + "all" GPIO.output (trắng, 1) GPIO.output (vàng, 1) GPIO.output (đỏ, 1) GPIO.output (xanh, 1) message = message + "light (s)" telegram_bot.sendMessage (chat_id, tin nhắn)
Như được hiển thị ở trên, chúng tôi tìm kiếm các từ khóa như 'xanh lá cây', 'trắng', 'đỏ', 'vàng' và 'tất cả' và 'Bật' chỉ riêng đèn LED cụ thể đó. Sau khi hoàn thành công việc, chúng tôi gửi một thông báo lại cho người dùng về những gì vừa xảy ra. Các phương pháp tương tự có thể được sử dụng để tắt đèn tắt tốt.
nếu 'tắt' trong lệnh: message = "Đã tắt" nếu 'trắng' trong lệnh: message = message + "trắng" GPIO.output (trắng, 0) nếu 'vàng' trong lệnh: message = message + GPIO "vàng".output (vàng, 0) nếu 'đỏ' trong lệnh: message = message + "đỏ" GPIO.output (đỏ, 0) nếu 'xanh' trong lệnh: message = message + "xanh" GPIO.output (xanh, 0) nếu 'tất cả' trong lệnh: message = message + "all" GPIO.output (trắng, 0) GPIO.output (vàng, 0) GPIO.output (đỏ, 0) GPIO.output (xanh, 0) message = message + "light (s)" telegram_bot.sendMessage (chat_id, tin nhắn)
Điều khiển đèn LED với Raspberry Pi và bot Telegram:
Kết nối đèn LED của bạn và khởi chạy chương trình của bạn trên python. Đảm bảo rằng bạn đã thay đổi địa chỉ Token cho bot của mình. Và bắt đầu nhập các lệnh bạn muốn. Ví dụ để bật đèn đỏ và vàng, bạn có thể sử dụng bất kỳ lệnh nào sau đây.
1. Bật đèn đỏ và đèn vàng
2. chuyển sang màu Đỏ và Vàng bên phải
3. Trên màu đỏ và vàng
4.Please đặt trên các màu vàng và màu đỏ ánh sáng
Như bạn có thể thấy bot chỉ tìm Từ khóa và sẽ bỏ qua các từ khác trong Câu, bằng cách này bạn có thể nói chuyện với nó một cách tự nhiên. Toàn bộ hoạt động của dự án có thể được tìm thấy tại Video được cung cấp ở cuối trang này.
Tiến lên! chơi với dự án của bạn và vui chơi. Bạn có thể đưa nó lên một cấp độ hoàn toàn mới ngay bây giờ. Với cả hai hướng dẫn kết hợp, chúng tôi có khả năng kiểm soát bất kỳ phần cứng nào từ điện thoại Thông minh của mình ở bất kỳ đâu trên thế giới và cũng nhận được đầu vào / kết quả từ Raspberry Pi của chúng tôi dưới dạng tin nhắn, Âm thanh, Hình ảnh và thậm chí dưới dạng tài liệu. Nếu bạn thay thế đèn LED bằng Rơ le và thiết bị AC, thì đó có thể là Tự động hóa gia đình được điều khiển bằng điện thoại thông minh. Vì vậy, hãy sử dụng sự sáng tạo của bạn và xây dựng những dự án thú vị của riêng bạn…
Hy vọng bạn thích dự án và thích xây dựng một cái gì đó tương tự. Hãy cho tôi biết nếu bạn có bất kỳ vấn đề gì thông qua phần bình luận và tôi sẽ sẵn lòng giúp đỡ bạn. Cũng chia sẻ ý tưởng thú vị của bạn với tôi và cho chúng tôi xem chúng tôi có thể xây dựng những gì.