Mục lục:

Raspberry Pi Slack Scroll Bot !: 10 bước
Raspberry Pi Slack Scroll Bot !: 10 bước

Video: Raspberry Pi Slack Scroll Bot !: 10 bước

Video: Raspberry Pi Slack Scroll Bot !: 10 bước
Video: How to Build a Slack Bot 2024, Tháng bảy
Anonim
Raspberry Pi Slack Scroll Bot!
Raspberry Pi Slack Scroll Bot!
Raspberry Pi Slack Scroll Bot!
Raspberry Pi Slack Scroll Bot!
Raspberry Pi Slack Scroll Bot!
Raspberry Pi Slack Scroll Bot!

Dự án này kết hợp Raspberry Pi với bộ Pimoroni Scroll Bot (được sửa đổi với các nút), Slack và IFTT để có thông báo bằng hình ảnh và âm thanh khi video youtube được đăng ký!

Các sửa đổi nút đối với bộ phụ kiện là tùy chọn, cũng như loa thông báo sự xuất hiện của video mới.

Bạn cũng có thể sử dụng nó để gửi bất kỳ tin nhắn nào đến bot thông qua slack bằng cách viết trước "bot" ở phía trước tin nhắn, chẳng hạn như "bot hello world". "bot clear" sẽ xóa màn hình.

Bước 1: Scroll Bot Assembly

Hoàn thành hướng dẫn lắp ráp Pimoroni Scroll Bot:

learn.pimoroni.com/tutorial/sandyj/assembl…

Bước 2: Cài đặt Packages và Codebase

Cài đặt Gói âm thanh:

sudo apt-get update & sudo apt-get nâng cấp -y

sudo apt-get install mpg123

Cài đặt các gói python:

pip cài đặt bình

pip cài đặt psutil pip cài đặt slackclient

Làm theo hướng dẫn tại Pimoroni's để Bắt đầu với Mũ cuộn:

learn.pimoroni.com/tutorial/sandyj/getting…

bao gồm tải xuống mã nguồn mẫu và các tài nguyên:

curl https://get.pimoroni.com/scrollphathd | bấu víu

Vì màn hình được lắp lộn ngược trong bộ robot, bạn cần bỏ ghi chú mã để xoay màn hình 180:

$ sed -i 's / # scrollphathd.rotate (độ = 180) /scrollphathd.rotate (độ = 180) / g' /home/pi/Pimoroni/scrollphathd/examples/web-api.py

Bước 3: Định cấu hình phiên bản Slack

Định cấu hình phiên bản Slack
Định cấu hình phiên bản Slack
Định cấu hình phiên bản Slack
Định cấu hình phiên bản Slack

Để tập lệnh giao tiếp với Slack, bạn cần có Khóa API bot.

Bắt đầu bằng cách đăng nhập vào trang web nhóm Slack của bạn (https://my.slack.com/services/new/bot) và chọn tên người dùng cho bot của bạn, sau đó sao chép mã thông báo API được cung cấp.

Bước 4: Tạo kênh Slack và mời Robot của bạn vào kênh

Tạo kênh Slack và mời Robot của bạn vào kênh
Tạo kênh Slack và mời Robot của bạn vào kênh

Bạn có thể sử dụng kênh chùng chung hoặc nếu muốn, bạn có thể tạo một kênh chùng riêng biệt.

Trong trường hợp của tôi, tôi đã sử dụng # robot-claire-control

Bạn phải mời rô-bốt của mình tham gia kênh, nếu không rô-bốt sẽ không nhìn thấy tin nhắn được gửi.

Bước 5: Tải xuống mã nguồn và cấu hình SlackPiBot

Tải xuống mã nguồn slackPiBot từ git:

git clone

Cập nhật dòng 29 bằng Khóa API của bạn:

slack_client = SlackClient ("xoxb-YOUR-API-KEY-HERE")

Cập nhật dòng 34 với tên rô bốt của bạn:

if user.get ('name') == "robot-claire":

Bước 6: Định cấu hình Crontabs để khởi động tự động khi khởi động:

Thiết lập crontabs để bắt đầu tự động khi khởi động:

crontab -e

Thêm phần sau vào cuối crontab của bạn:

@reboot python /home/pi/Pimoroni/scrollphathd/examples/web-api.py@reboot python /home/pi/slackPiBot/check_button.py @reboot python /home/pi/slackPiBot/forever.py / home / pi / slackPiBot / slackPiBot.py >> /home/pi/slackPiBot/outputLog.txt 2> & 1

Bước 7: Tùy chọn: Thêm đầu ra loa USB

Đối với dự án này, tôi đang sử dụng loa ngoài USB của US Robotics - có sẵn trên amazon hoặc ebay.

Nếu sử dụng thứ gì đó tương tự, bạn sẽ cần thay đổi thiết bị âm thanh hệ thống mặc định bằng cách chỉnh sửa cấu hình alsa (/usr/share/alsa/alsa.conf). Thay đổi các dòng sau:

defaults.ctl.card 1defaults.pcm.card 1

1 là chỉ mục của thiết bị của bạn. Để tìm ID thiết bị của thiết bị USB của bạn, hãy chạy aplay -l và tìm ID thẻ.

Bước 8: Tùy chọn: Thêm các nút có dây vào Robot để xóa tin nhắn

Tùy chọn: Thêm các nút có dây vào Robot để xóa tin nhắn
Tùy chọn: Thêm các nút có dây vào Robot để xóa tin nhắn
Tùy chọn: Thêm các nút có dây vào Robot để xóa tin nhắn
Tùy chọn: Thêm các nút có dây vào Robot để xóa tin nhắn

Bước này là tùy chọn nhưng rất được khuyến khích để xóa các thông báo trên màn hình.

Tôi đã thêm hai nút nhấn vào rô bốt của mình, nhưng trong dự án này, tôi chỉ sử dụng GPIO17.

Tập lệnh check_button.py chạy khi khởi động sẽ thăm dò GPIO17 sau mỗi vài mili giây và nếu bị chán nản sẽ gửi một HTTP POST tới tập lệnh màn hình mẫu để xóa màn hình.

Bước 9: Kết hợp tất cả lại với nhau và gửi đầu ra tới Pi

Có 4 tập lệnh hoạt động cùng nhau cho dự án này:

/home/pi/Pimoroni/scrollphathd/examples/web-api.py/home/pi/slackPiBot/check_button.py/home/pi/slackPiBot/forever.py /home/pi/slackPiBot/slackPiBot.py

Tập lệnh web-api được cung cấp bởi Pimoroni và là một ứng dụng web đơn giản để điều khiển màn hình bằng các lệnh POST.

Tập lệnh python check_button thăm dò các chân GPIO và khi nút bị nhấn sẽ gửi HTTP POST tới tập lệnh web-api.py.

Tập lệnh forever.py khởi động tập lệnh slackPiBot.py để đảm bảo rằng nếu có bất kỳ lỗi nào chưa được giải quyết hoặc ngắt kết nối từ slack, tập lệnh sẽ được khởi động lại để tránh bỏ lỡ bất kỳ thông báo nào.

Tập lệnh slackPiBot.py kết nối với slack và giám sát kênh để tìm các thư bắt đầu bằng "bot" hoặc các bài đăng từ IFTT. Nếu có sự trùng khớp, nó sẽ gửi một HTTP POST tới tập lệnh web-api.py và hiển thị trên màn hình.

Bước 10: Tùy chọn: Tích hợp IFTT

Tùy chọn: Tích hợp IFTT
Tùy chọn: Tích hợp IFTT
Tùy chọn: Tích hợp IFTT
Tùy chọn: Tích hợp IFTT
Tùy chọn: Tích hợp IFTT
Tùy chọn: Tích hợp IFTT

Dự án này được thiết kế để cảnh báo các con tôi về các video do những người chúng theo dõi đăng trên youtube, vì chúng còn quá nhỏ để có iPhone hoặc iPad của riêng mình. Tôi đã hoàn thành điều này bằng cách tạo công thức IFTT gửi thông báo đến kênh kiểm soát độ trễ sau khi video được đăng.

Wiki hướng dẫn làm cho điều này phức tạp để xem trong một bước, nhưng các ảnh chụp màn hình ở trên cho thấy kết quả cuối cùng.

Đề xuất: