Mục lục:

[IoT] Telegram Bot với Arduino MKR WiFi 1010: 5 bước
[IoT] Telegram Bot với Arduino MKR WiFi 1010: 5 bước

Video: [IoT] Telegram Bot với Arduino MKR WiFi 1010: 5 bước

Video: [IoT] Telegram Bot với Arduino MKR WiFi 1010: 5 bước
Video: Control ESP32 Mobile Robot Using Android Telegram App | IOT 2024, Tháng bảy
Anonim
Image
Image
Những gì bạn cần
Những gì bạn cần

Dự án này trình bày cách giao tiếp Arduino với các API Telegram Bot. Dự án được xây dựng xung quanh bo mạch MKR WiFi 1010 mới được U-BLOX trang bị mô-đun ESP32.

Ở giai đoạn này, dự án không chỉ là một bằng chứng về khái niệm, chỉ để cho bạn thấy bạn có thể làm gì với nó, vì vậy đối với điều này, bạn chỉ cần bảng Arduino.

Bot Telegram là gì? Họ có thể làm bất cứ điều gì - dạy, chơi, tìm kiếm, phát sóng, nhắc nhở, kết nối, tích hợp với các dịch vụ khác, hoặc thậm chí chuyển lệnh tới Internet of Things. (tín dụng của Telegram:

Trong trường hợp của chúng tôi, chúng tôi sẽ chuyển các lệnh để Arduino xây dựng một thiết bị IoT đơn giản. Nó sẽ trả lời các lệnh đơn giản và đồng thời bật / tắt Led tích hợp. Tôi sẽ để trí tưởng tượng của bạn làm được nhiều việc hơn với nó… (ví dụ như kết nối một hoặc nhiều rơ le với các chân I / O và bật / tắt lò sưởi hoặc hệ thống điều hòa không khí bằng điện thoại thông minh của bạn).

Bước 1: Những gì bạn cần

Những gì bạn cần
Những gì bạn cần

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

  • Arduino MKR WiFi 1010 từ cửa hàng Arduino:
  • Arduino IDE 1.8.5 trở lên:
  • Cáp micro-usb để kết nối Arduino với PC của bạn
  • Kết nối internet, nó yêu cầu SSID và mật khẩu. Tốt hơn nếu bạn sử dụng bộ định tuyến tại nhà của riêng mình để đảm bảo nó không bị chặn.
  • Ứng dụng Telegram được cài đặt trên điện thoại thông minh của bạn, bất kể thương hiệu. Hãy kiểm tra tại đây để biết các phiên bản dành cho PC và Web!

Bước 2: Cài đặt IDE

Cài đặt IDE
Cài đặt IDE
Cài đặt IDE
Cài đặt IDE
Cài đặt IDE
Cài đặt IDE

Vâng, tôi biết, tôi biết… hầu hết các bạn đã cài đặt Arduino IDE trong PC, nhưng Tài liệu hướng dẫn này cũng dành cho người mới bắt đầu. Vì vậy, trước hết, hãy tải xuống Arduino IDE 1.8.5 mà bạn chọn (tệp zip cho 'không phải quản trị viên' hoặc tệp exe)

Phiên bản 1.8.5 được khuyến nghị, tôi đã không thử nghiệm các phiên bản cũ và bảng mạch mới được sử dụng trong dự án hoàn toàn không được hỗ trợ.

Bây giờ bạn cần cài đặt các bo mạch mới với trình điều khiển của chúng:

  1. bắt đầu IDE
  2. Từ menu Công cụ, chọn Bo mạch, sau đó, ở đầu danh sách bộ xử lý, chọn Trình quản lý bo mạch.
  3. Cuộn cửa sổ mới (xem hình ảnh) cho đến khi bạn tìm thấy bảng Arduino SAMD bao gồm MKR WiFi 1010 mới.
  4. Nhấp vào tab đó hoặc nhấp vào Thông tin khác bên trong tab, chọn phiên bản mới nhất và cài đặt.
  5. Chờ cho quá trình cài đặt hoàn tất. Nó cũng sẽ chăm sóc cài đặt trình điều khiển
  6. Bạn cũng cần một thư viện WiFi mới cho bảng này: chọn Sketch, Bao gồm Thư viện và Quản lý Thư viện. Tìm kiếm Wifinina và cài đặt như bạn đã làm với bộ xử lý ở trên.

Bây giờ kết nối bảng Arduino mới của bạn và đợi Windows hoàn tất cài đặt trình điều khiển.

Từ menu Tools-> Board, bạn sẽ tìm thấy các board mới, hãy chọn MKR WiFi 1010.

Một thư viện đặc biệt khác cần thiết cho dự án này, đó là thư viện ESP8266TelegramBot của Giancarlo Bacchio, thư viện đã được sửa đổi một chút để hoạt động với bảng này nên nó được đưa vào thư mục của sketch.

Chọn đúng cổng com và kiểm tra bo mạch bằng lệnh Get Board Info.

Xin chúc mừng, bạn đã hoàn thành IDE!

Bước 3: Tạo Telegram Bot

Tạo Telegram Bot
Tạo Telegram Bot
Tạo Telegram Bot
Tạo Telegram Bot
Tạo Telegram Bot
Tạo Telegram Bot

Tạo một Telegram Bot mới khá đơn giản.

Mở ứng dụng Telegram và trong thanh tìm kiếm, gõ @BotFather và bắt đầu trò chuyện với anh ấy (image1). BotFather là… nhà máy sản xuất bot. Nó sẽ giúp bạn tạo một bot mới và thay đổi cài đặt của nó.

Sau lệnh / start, bạn sẽ thấy danh sách trợ giúp (image2).

  • Nhập / newbot (image3) Bây giờ hãy nhập tên bot của bạn. Tên được hiển thị trong chi tiết liên hệ và ở những nơi khác.
  • BotFather sẽ yêu cầu bạn cung cấp Tên người dùng. Tên người dùng là một tên ngắn, được sử dụng trong các đề cập và liên kết telegram.me. Tên người dùng dài 5-32 ký tự và không phân biệt chữ hoa chữ thường, nhưng chỉ có thể bao gồm các ký tự Latinh, số và dấu gạch dưới. Tên người dùng bot của bạn phải kết thúc bằng ‘bot’, ví dụ: ‘Tetris_bot’ hoặc ‘TetrisBot’.
  • Nếu cả tên và tên người dùng đều hợp lệ, bạn sẽ nhận được một chuỗi ký tự dài được gọi là TOKEN. Đây là 'chìa khóa' cá nhân của bạn được sử dụng để giao tiếp với máy chủ Telegram. Sao chép và dán nó vào tệp văn bản trên PC của bạn ngay bây giờ. Sau này, chúng tôi sẽ sử dụng nó vào mã Arduino.

Tất cả các bước được mô tả tại đây:

Nâng cao (tùy chọn)

Mở lại cuộc trò chuyện và nhập / trợ giúp

Nhấp vào (hoặc nhập) / setuserpic để tải ảnh lên cho bot của bạn. Nhấp vào (hoặc nhập) / setabouttext để đặt phần Giới thiệu cho Bot của bạn: Mọi người sẽ thấy văn bản này trên trang hồ sơ của bot và nó sẽ được gửi cùng với một liên kết đến bot của bạn khi họ chia sẻ nó với ai đó.

Nhấp vào (hoặc gõ) / setdescription để đặt phần mô tả cho bot của bạn. Mọi người sẽ thấy mô tả này khi họ mở cuộc trò chuyện với bot của bạn, trong một khối có tiêu đề 'Bot này có thể làm gì?'.

Bước 4: Sửa đổi, tải lên và kiểm tra bản phác thảo

Sửa đổi, tải lên và kiểm tra bản phác thảo
Sửa đổi, tải lên và kiểm tra bản phác thảo
Sửa đổi, tải lên và kiểm tra bản phác thảo
Sửa đổi, tải lên và kiểm tra bản phác thảo
Sửa đổi, tải lên và kiểm tra bản phác thảo
Sửa đổi, tải lên và kiểm tra bản phác thảo

Đã đến lúc tải phần mềm lên bo mạch Arduino MKR WiFi 1010.

Tải xuống các tệp đính kèm, vì một số lý do tôi không thể tải lên tệp ZIP, vì vậy hãy tạo một thư mục có tên là bản phác thảo và sao chép tất cả 4 tệp bên trong nó, vui lòng không đổi tên trừ khi bạn biết mình đang làm gì.

Biến đổi

Mở sketch, chúng ta cần điền một số thông tin (image1): điền arduino_secrets.h bằng thông tin đăng nhập wifi và telegram của bạn.

  • Tìm thông tin mạng WiFi và nhập tên mạng (SSID) và mật khẩu của bạn.
  • Tìm thông tin Bot điện tín và nhập tên, tên người dùng và mã thông báo được cung cấp bởi @BotFather

Tải lên

Đảm bảo bo mạch chính xác (image2) trong iđêan và được kết nối, sau đó thử biên dịch mã. Nếu việc biên dịch diễn ra tốt đẹp, hãy tải nó lên hội đồng quản trị, chỉ mất vài giây.

Trong trường hợp có vấn đề, hãy kiểm tra lỗi đánh máy và thử lại.

Thử nghiệm

[QUAN TRỌNG!] Bản phác thảo gửi nhật ký đến IDE. Bộ xử lý có một cổng USB riêng (giống như bảng Leonardo). Sau khi được bật nguồn, mã sẽ đợi cho đến khi màn hình nối tiếp đang chạy. Vì vậy, hãy để nó kết nối với PC và mở màn hình nối tiếp. Đầu tiên Arduino sẽ kết nối với internet, sau đó nó sẽ bắt đầu thăm dò máy chủ Telegram để tìm các tin nhắn mới (image3).

Bây giờ, hãy mở Telegram trên thiết bị ưa thích của bạn và trong hộp tìm kiếm, hãy nhập tên bot của bạn (không phải tên người dùng kết thúc bằng 'bot'). Mở một cuộc trò chuyện với nó.

Lệnh đầu tiên để bắt đầu trò chuyện với bot là / start, Arduino của chúng tôi sẽ trả lời bằng một thông báo chào mừng. Bây giờ hãy nhập trợ giúp (không có dấu gạch chéo), nó sẽ trả lời với một danh sách các lệnh được hỗ trợ, bạn có thể thử tất cả chúng (image4).

Bạn đã hoàn thành bài kiểm tra, nếu có gì đó không hoạt động, hãy kiểm tra thông tin được nhập trong bản phác thảo (tên, tên người dùng, mã thông báo…)

Nếu bạn đang gặp lỗi kết nối với máy chủ điện tín (nhật ký: Bot không được kết nối):

  • Mở Công cụ-> Trình cập nhật Wifi101 / wifinina
  • Đảm bảo bo mạch của bạn được kết nối, kiểm tra các cổng ở bên trái của công cụ cập nhật, bo mạch phải ở đó
  • Nhấp vào Mở bản phác thảo của trình cập nhật và tải nó lên bảng
  • Sau khi tải lên, trong trình cập nhật, chọn chương trình cơ sở mới nhất cho bo mạch của bạn và nhấp vào cập nhật chương trình cơ sở
  • Sau khi cập nhật, trong trình cập nhật, phần Chứng chỉ SSL, nhấp vào Thêm miền, trong hộp thoại viết telegram.org:443 rồi nhấn OK.
  • Nhấp vào Tải chứng chỉ lên mô-đun wifi
  • Tải bản phác thảo này lên bảng

Bước 5: Cải tiến

Cải tiến
Cải tiến

Nhìn vào mã, rất đơn giản để thực hiện các lệnh mới và trả lời cho người dùng.

Các lệnh mới: Bạn có thể viết một sub cho mỗi lệnh mới. Mọi phụ sẽ đảm nhận việc hoàn thành lệnh và (cuối cùng) trả về thông tin trạng thái cho người dùng.

Giới hạn người dùng: Tất nhiên dự án này chỉ là bản demo. Bất kỳ người dùng Telegram nào cũng có thể kết nối với nhà của bạn và gửi các lệnh không mong muốn. Bạn không muốn điều này !.

Hãy nhìn vào hình ảnh 1, nó cho thấy 2 người dùng được kết nối. Như bạn có thể thấy, mỗi người dùng có ID người dùng riêng. Với một chút công việc về mặt mã, bạn có thể lọc (hoặc tạo danh sách) chỉ cho những người dùng được ủy quyền. Chỉ cần nghiên cứu mã và thử chặn số ID người dùng. Sau đó, chỉ thực hiện các lệnh từ những người dùng đã biết.

Phần cứng: Về mặt phần cứng, rất nhiều cảm biến và rơ le có thể được kết nối với các chân I / O của Arduino.

Hãy cẩn thận: bảng được sử dụng trong dự án này là dung sai 3.3V !!! Sử dụng bộ chuyển đổi mức điện áp khi cần thiết! Để biết thêm thông tin và mẹo về bảng này, vui lòng đọc tại đây:

Chỉ vậy thôi, hãy tận hưởng!

Đề xuất: