Cytron Technologies

Giờ làm việc: 8:00 - 17:00

Thứ 2 - Thứ 6 (trừ ngày lễ)

Hotline 0362917357 

telegram bot esp8266

Gửi Vị Trí và Lựa Chọn Bữa Ăn Thông Qua Telegram Bot Bằng Cách Sử Dụng Module ESP8266 Grove WiFi trên micro:bit

Bạn gặp khó khăn trong việc lựa chọn bữa ăn? Hay đang gặp khó khăn trong việc tìm kiếm địa điểm cho bữa ăn ?

Hướng dẫn này sẽ giúp bạn cài đặt một thiết bị micro:bit ghép nối với Module WiFi Grove 8266 giúp bạn ăn gì ở đâu bằng cách tự động gửi lựa chọn thức ăn và địa điểm thông qua Telegram Bot

 

Phần cứng và phần mềm

Phần cứng:

  1. REKA:BIT (incl. micro:bit) x1 hoặc EDU:BIT (incl. micro:bit) x1
  2. Grove WiFi 8266 x1

Phần mềm:

  1. Trình chỉnh sửa MakeCodecho micro:bit
  2. Telegram

 

Trước khi bắt đầu

  1. Cài đặt thiết bị micro:bit với module WiFi Grove và thêm phần mở rộng MakeCode cho WiFi Grove 8266 trong MakeCode Editor.
    • Theo dõi các bước tại đây để bắt đầu với module WiFi Grove WiFi 8266
  2. Tạo Telegram Bot mới nếu bạn chưa có.
    • Theo dõi hướng dẫn tại đây để tạo một Telegram Bot mới và lấy chìa khóa API và chat ID .

 

Mã Code làm gì?

  1. Có thể kết nối nối với WiFi.
  2. Có thể nhận được thông tin về thời gian internet theo múi giờ
  3. Có một dãy lưu trữ danh sách thực phẩm.
  4. Có một dãy lưu trữ danh sách địa điểm .
  5. Có thể chọn thức ăn ngẫu nhiên.
  6. Có thể chọn địa điểm theo sự lựa chọn thức ăn.
  7. Có thể gửi lựa chọn thực phẩm cho người dùng thông qua Telegram Bot trong giờ ăn trưa hoặc ăn tối.

 

Bắt đầu viết mã code

Bước 1: Khởi tạo và kết nối WiFi Module

Đầu tiên khởi chạy Module WiFi kết nối thiết bị micro:bit với WiFi. 

Theo dõi các bước tại đây để khởi động Module WiFi và kết nối với WiFi.

 

Bước 2: Khởi tạo và cập nhật thời gian Internet

1.Chọn [initialize internet time at timezone _ ] tong danh mục “Internet Time” gắn nó vào khối [on start] sau khi khởi tạo và kết nối WiFi.

2. Chèn múi giờ, ví dụ “8” for UTC+8.

3. Bạn có thể sử dụng [internet time initialized] và khối [if-else]để xác định liệu thời gian internet đã khởi động thành công – hiển thị “Tick” nếu thành công, “Cross” nếu không.

4. Chọn khối [update internet time] và gắn nó vào khối [forever] .

5. Bạn có thể sử dụng [internet time updated] và khối [if-else] để xác định liệu thời gian internet đã cập nhật thành công – hiển thị “smiley face”nếu thành công, “sad face” nếu không.

 

Bước 3: Tạo dãy thức ăn và vị trí

Dãy là danh sách hoặc tập hợp các biến có liên quan được sử dụng để lưu trữ thông tin . Chúng ta sẽ tạo ra nhiều dãy để lưu trữ thông về thức ăn và vị trí của thức ăn.

1.Tạo 3 biến mới từ danh mục “Variables” và đặt tên cho nó như đã được liệt kê:

  • Lựa chọn
  • Thức ăn
  • Vị trí

2. Chọn khối [set “text list” to array of _ _ _ (+) (-) ] từ danh mục “Arrays” và gắn nó vào khối [forever].

3. Thay đổi biến của “test list” thành “Food” v chèn tên thức ăn vào dãy. Cho ví dụ, “Nasi Lemak”, “Economic Rice”, “Chicken Rice”, “Hokkien Mee”, “Maggi Goreng” và “Wan Tan Mee”. 

Mẹo: Chọn biểu tượng (+) thêm số nguyên tố trong dãy hoặc biểu tượng (-)để giảm nguyên tố trong dãy.

4. Chọn khối khác[set “text list” to array of _ _ _ (+) (-) ] và thay đổi biến từ  “text list” thành “Location”.

5. Vào công cụ tìm kiếm của trình duyệt web của bạn, tìm và chọn “Google Maps”. ở trang Google Maps tìm kiếm địa điểm thức ăn, cho ví dụ“nasi lemak near me”.

6. Sao chép URL trên trình tìm kiếm web (including https://www.) và dán nó vào dãy“Location”.

Xin lưu ý: Nếu trình tìm kiếm web không hiển thị “https://www.” nháy đúp chọn URL và bạn sẽ thấy cả liên kết của trang web

Xin lưu ý: Nhớ đặt địa điểm’ URL trong dãy với chỉ số giống nhau thành“Food”.

 

Bước 4: Cài đặt điều kiện cho bữa trưa và buổi tối

1. Chọn khối [if-else] “Logic” và gắn nó vào khối [forever] .

2. Chọn Boolean, [ _ and _ ] “Logic”và gắn vào khối [if-else] thay thế thành “true”.

3. Chọn Comparison, [ _ = _ ] “Logic” và gắn vào khối [ _ and _ ].

4. Select the [hour] block under the “Internet Time” category and snap it to the [ _ = _ ] block.

5. Điền giờ ăn trưa vào “hour”trên mặt khác [ _ = _ ] Cho ví dụ “12” Nếu giờ ăn trưa của bạn là 12 p.m.,để lấy [ “hour” = “12”].

6. Lập lại 3 đến 5và chọn khối [minute] và điền vào giờ ăn trưa “minute”. Cho ví dụ “0”, Nếu giờ ăn trưa là12:00 p.m., để lấy [ “minute” = “0” ].

7. Chọn biểu tượng (+) của khối [if-else] để có “else if _ then”. Sau đó chọn biểu tượng (-) để gỡ bỏ “else”.

8. Lập lại từ 2 đến 6 v thay đổi “hour” và “minute” Cho ví dụ, 7.00p.m., Sau đó bạn nên chèn [ “hour” = “19”] và [ “minute” = “0”].

 

Bước 5: Chọn Thức Ăn Tự Do Từ Dãy

1. Chọn khối [set _ to _ ] từ “Variable” và gắn nó vào khối [if-else] trong điều kiện [ “hour” = “12”]và [ “minute” = “0” ].

2. Thay đổi biến thành “Choice”.

3. Chọn khối từ [pick random _ to _ ] “Math” và gắn nó thành khối [set “Choice” to _ ] .

4. Điền “0” cho giá trị đầu tiên và chọn [length of array _ ] từ “Arrays” gắn nó vào [pick random “0” to _ ]Điều này để đưa micro:bit lấy chỉ số ngẫu nhiên trong dãy ựa vào số lượng thức ăn hoặc vị trí bạn đã điền.

5. Thay đổi biến trong khối [length of array _ ] thành “Food”.

6. Lặp lại 4 và 5 và gắn [set _ to _ ] dưới điều kiện [ “hour” = “19”] và [ “minute” = “0” ]hoặc bạn có thể sao chép [set “Choice” to “pick random 0 to length of array ‘Food’” ] và gắn vào khối [if_else].

 

Bước 6: Telegram Bot Gửi Lựa Chọn Thức Ăn hoặc Địa Điểm

1.Chọn [send message to Telegram: API Key _ Chat ID _ Message _ ] từ “Telegram” va gắn vào khối [if-else] dưới điều kiện [ “hour” = “12”] và [ “minute” = “0” ].

2. Điền chìa khóa API củaTelegram Bot và chat ID.

Bạn có thể theo dõi các bước tại đây để lấy chìa khóa API của Telegram Bot và chat ID.

3. Chọn [ _ get value at _ ] từ “Arrays” và gắn nó vào “Message” của khối [send message to Telegram: API Key _ Chat ID _ Message _ ].

4. Thay đổi biến thành “Food”.

5. Chọn [Choice] từ “Variables” gắn vào khối  [ “Food” get value at _ ].

6. Lặp lại 1 đến 5 và thay đổi “Food” thành “Location”.

7. Bạn có thể chọn nhiều khối [send message to Telegram: API Key _ Chat ID _ Message _ ]để gửi nhiều tin nhắn :

  • “Đến giờ ăn trưa!”
  • “Bữa ăn hôm nay là…”
  • “Chọn thức ăn”
  • “Vị trí của lựa chọn thức ăn”

8. Chọn [pause (ms) _ ] block from “Basic ” category and fill in “60000”. Điều này sẽ ngăn chặn micro:bit gửi bạn những tin nhắn liên tục từ 12:00p.m. thành 12:01p.m.

Mẹo: 60000 mli giây = 60 giây = 1 phút

9. Lặp lại 1đến 8 và gắn những khối này [send message to Telegram: API Key _ Chat ID _ Message _ ] dưới điều kiện [ “hour” = “19”] và [ “minute” = “0” ].Nhớ thay đổi tin nhắn đầu tiên thành “Đến giờ ăn tối!”.

10. Tải mã code micro:bit nếu kết nối WiFi thành công bạn sẽ nhận một tin nhắn suốt giờ ăn trưa và ăn tối

Mẹo: Mở đặc điểm vị trí trên điện thoại để tìm địa điểm thức ăn quanh bạn.

 

Mã Code đầy đủ

picture 25

Chủ đề liên quan

Bắt đầu với Grove WiFi 8266 trên micro:bit

Theo dõi
Thông báo của
guest
0 Comments
Phản hồi nội tuyến
Xem tất cả bình luận