Trình cập nhật trạng thái Slack với ESP8266: 5 bước (có hình ảnh)
Trình cập nhật trạng thái Slack với ESP8266: 5 bước (có hình ảnh)
Anonim

Dự án Tinkercad »

Dự án này giúp làm cho một ngày của bạn dễ dàng hơn một chút nếu bạn là người làm việc từ xa sử dụng Slack. Tôi sẽ chỉ cho bạn cách xây dựng nó bằng cách sử dụng bảng mạch wifi ESP8266. Đừng bỏ lỡ video trên để có cái nhìn tổng quan.

Cho dù bạn mới sử dụng Slack hay gần đây bạn đã sử dụng nó nhiều hơn, bạn sẽ hiểu tầm quan trọng của việc đặt trạng thái Slack của mình. Nó cho đồng nghiệp của bạn biết nếu bạn có sẵn sàng trò chuyện, đang họp, bị ốm, v.v.

Quên đặt nó khi bạn rời bàn làm việc và bạn có thể bị gián đoạn bởi một số người nghĩ rằng bạn đang rảnh.

Tôi nghĩ rằng nó sẽ giúp tôi nhớ có một thiết bị vật lý trên bàn của mình có thể đặt trạng thái Slack cho tôi. Dự án này là sự hợp tác với Brian Lough, chuyên gia ESP và là tác giả của nhiều thư viện Arduino API, bao gồm cả thư viện mới này dành cho Slack. Bạn có thể nhớ bộ đếm người đăng ký YouTube của tôi, bộ đếm này cũng được viết bằng một trong các thư viện API của Brian.

Nếu bạn chưa quen với Arduino, hãy thử lớp học Arduino miễn phí của tôi trước.

Quân nhu

Đối với dự án này, bạn sẽ cần:

  • Bo mạch wifi ESP8266 như NodeMCU hoặc D1 mini
  • Công tắc xoay
  • Dây bện
  • Đồng hồ vạn năng
  • Hàn sắt
  • Dụng cụ tuốt dây
  • Máy cắt tuôn ra
  • Dụng cụ trợ giúp thứ ba
  • cáp USB
  • Máy tính chạy phần mềm Arduino
  • Tên và mật khẩu mạng Wifi
  • Mã thông báo truy cập Slack (tìm hiểu cách lấy mã này trong bước tiếp theo)
  • Máy in 3D (tôi đã sử dụng Creality CR-10s Pro)
  • Dây tóc

Để cập nhật những gì tôi đang làm, hãy theo dõi tôi trên YouTube, Instagram, Twitter, Pinterest và đăng ký nhận bản tin của tôi. Với tư cách là Cộng tác viên của Amazon, tôi kiếm được từ các giao dịch mua đủ điều kiện mà bạn thực hiện bằng cách sử dụng các liên kết liên kết của tôi.

Bước 1: Chạy mã mẫu thư viện API Arduino Slack

Image
Image

Thư viện Arduino Slack API giúp bạn xác thực và cho phép ESP8266 kiểm soát một ứng dụng bên trong Slack. Thật dễ dàng để định cấu hình ứng dụng của bạn và lấy khóa của bạn, bạn có thể cắm khóa này vào bản phác thảo Arduino mẫu và thiết lập và chạy chỉ sau vài phút. Xem video hướng dẫn của Brian và kiểm tra readme của thư viện để biết hướng dẫn.

Với mục đích thử nghiệm, có thể bạn sẽ muốn tạo một không gian làm việc Slack mới cho dự án này trước khi thiết lập nó cho các đồng nghiệp thực sự của bạn. Trong nhiều trường hợp, bạn có thể phải yêu cầu quản trị viên Slack của công ty bạn phê duyệt ứng dụng của mình trước khi bạn có thể sử dụng ứng dụng với dự án này. May mắn thay, ứng dụng không yêu cầu sự cho phép quá nhiều, chỉ là trạng thái cá nhân và sự hiện diện của bạn.

Bước 2: Xây dựng mạch

Xây dựng mạch
Xây dựng mạch
Xây dựng mạch
Xây dựng mạch

Từ đây, tất cả là về giao diện thực và những trạng thái mà bạn lập trình nó để đặt cho bạn. Tôi đã chọn sử dụng một công tắc xoay để quay trong trạng thái của mình từ một loạt các lựa chọn xung quanh vòng tròn. Tôi đã sử dụng đồng hồ vạn năng để tìm ra dây dẫn công tắc kết nối với vị trí quay số nào.

Sơ đồ mạch mô tả chi tiết các kết nối sau:

  • Chuyển chung sang mặt đất ESP8266
  • Chuyển mạch dẫn đến các chân GPIO của ESP8266 13, 12, 14, 4, 5 và 16 (các chân NodeMCU được đánh dấu D7, D6, D5, D2, D1 và D0)
  • Điện trở pull-up 10K giữa chân 16 và 3V (chân này không có pullup bên trong như các chân khác)

Tôi luôn muốn tạo một nguyên mẫu breadboard không hàn cho các dự án của mình trước khi cam kết với mẫu cuối cùng. Trong trường hợp này, tôi cũng đã thêm một số đèn LED vào nguyên mẫu để giúp tôi gỡ lỗi mã của mình.

Tôi đã bao gồm mã công tắc xoay cơ bản cho sáu trạng thái. Tải xuống từ cuối bước này.

Nếu bạn muốn thêm nhiều vị trí công tắc hơn, bạn có thể xóa gỡ lỗi nối tiếp khỏi mã và sử dụng các chân RX và TX để có thêm hai đầu vào trên ESP8266 hoặc nâng cấp lên ESP32 để có nhiều chân hơn.

Bước 3: Bao vây in 3D

Bao vây in 3D
Bao vây in 3D

Tôi đã tạo mô hình một vỏ bọc bằng Tinkercad để gắn công tắc xoay và bảng mạch vào bên trong.

Cáp USB đi ra bên cạnh. Bạn có thể sao chép thiết kế Tinkercad để thực hiện các sửa đổi của riêng mình trước khi in hoặc tải xuống tệp STL trực tiếp từ bước này. Tôi đã sử dụng Cura để cắt STL cho máy in của mình.

Tiết lộ: tại thời điểm viết bài này, tôi là nhân viên của Autodesk, công ty sản xuất Tinkercad.

Bước 4: Các trạng thái và đồ họa chỉ báo của bạn

Các trạng thái và đồ họa chỉ báo của bạn
Các trạng thái và đồ họa chỉ báo của bạn

Bước cuối cùng là quyết định các trạng thái thực tế mà bạn muốn chuyển đổi giữa các trạng thái đó và tạo một số đồ họa chỉ báo để đi cùng với chúng.

Để soạn các trạng thái Slack, tôi thấy bảng gian lận biểu tượng cảm xúc này rất hữu ích. Nhưng bạn có thể sử dụng bất kỳ biểu tượng cảm xúc nào được hỗ trợ bởi không gian làm việc của bạn - chỉ cần di chuột qua biểu tượng đó trong bảng biểu tượng cảm xúc để khám phá nhãn của nó và nhập nó vào bản phác thảo Arduino của bạn.

Tôi đã bao gồm tệp Illustrator và một mẫu PDF cho đồ họa mà tôi đã tạo cho dự án này (khổ giấy letter).

Bắt đầu từ dòng 156 của bản phác thảo đơn giản trước đó, bạn có thể thay thế trạng thái mong muốn của mình cho sáu trạng thái được liệt kê. Đây là của tôi:

switch (whichStatus) {

trường hợp 0: slack.setPresence (SLACK_PRESENCE_AWAY); profile = slack.setCustomStatus ("Đưa chó đi dạo", ": dog2:"); nghỉ; trường hợp 1: slack.setPresence (SLACK_PRESENCE_AWAY); profile = slack.setCustomStatus ("Bữa trưa", ": hamburger:"); nghỉ; trường hợp 2: slack.setPresence (SLACK_PRESENCE_AUTO); profile = slack.setCustomStatus ("Đang họp", ": lịch:"); nghỉ; trường hợp 3: slack.setPresence (SLACK_PRESENCE_AUTO); profile = slack.setCustomStatus ("Có sẵn để trò chuyện", ": zap:"); nghỉ; trường hợp 4: slack.setPresence (SLACK_PRESENCE_AWAY); profile = slack.setCustomStatus ("Lurking", ": crystal_ball:"); nghỉ; trường hợp 5: slack.setPresence (SLACK_PRESENCE_AWAY); profile = slack.setCustomStatus ("Ngoại tuyến", ""); nghỉ; }

Bước 5: Thưởng thức

Thưởng thức!
Thưởng thức!

Tôi hy vọng việc xây dựng một trong số những thứ này cho bàn làm việc của riêng bạn sẽ thú vị và hữu ích cho bạn. Tôi muốn xem các phiên bản của bạn được đăng trong phần "Tôi đã tạo ra nó" bên dưới.

Nếu bạn thích dự án này, bạn có thể quan tâm đến một số dự án khác của tôi:

  • Bộ đếm người đăng ký YouTube với ESP8266
  • Hiển thị theo dõi số liệu thống kê xã hội với ESP8266
  • 3 sai lầm với Arduino cho người mới bắt đầu
  • Internet Valentine
  • Hiển thị thời tiết WiFi với ESP8266

Cảm ơn vì đã theo dõi! Để cập nhật những gì tôi đang làm, hãy theo dõi tôi trên YouTube, Instagram, Twitter, Pinterest và đăng ký nhận bản tin của tôi.