Skip to Content
YolobitROVER21 Bài 18: Điều khiển và giám sát robot qua IoT

21 Bài 18: Điều khiển và giám sát robot qua IoT

Mục tiêu:

  1. Làm quen với khái niệm Internet vạn vật (IoT), WiFi và MQTT

  2. Thực hành lập trình có thể điều khiển và giám sát các hoạt động và trạng thái của robot qua Internet bai 18.1

    |

Giới thiệu về công nghệ IoT, WiFi và MQTT

  • Công nghệ IoT: IoT (Internet vạn vật) là mạng kết nối hàng tỷ thiết bị trên khắp thế giới qua Internet

    • Xây dựng thành phố thông minh: bai 18.2

    |

    • Internet công nghiệp: bai 18.3

    |

    • Hỗ trợ nông nghiệp và nhiều ứng dụng khác bai 18.3.1

    |

  • Kết nối WiFi trong IoT: Có vai trò cực kỳ quan trọng trong IoT, là công nghệ chính để truyền dữ liệu trong hệ thống IoT bai 18.5

    |

  • Giao thức MQTT: Là giao thức truyền thông tin nhẹ và nhanh giữa các thiết bị, phù hợp cho các thiết bị IoT

    • Gồm 2 phần chính: Broker (Server) và các Clients (thiết bị hay máy tính)

    • Client có thể publish các message lên một topic cụ thể hoặc subscribe một topic nào đó để nhận message từ topic này bai 18.6

    |

Giới thiệu khối lệnh

  • Tải thư viện lập trình MQTT trên OhStem App:

    1. Trong danh mục khối lệnh, chọn vào khối MỞ RỘNG để mở các thư viện mở rộng, như minh họa ở hình dưới: bai 18.7

    | 2. Nhập từ khóa MQTT vào ô tìm kiếm, sau đó nhấn Enter. Kết quả của việc tìm kiếm sẽ xuất hiện như hình: bai 18.8

    | 3. Nhấn vào MQTT để thêm thư viện. Khi thông báo sau đây xuất hiện, bạn chọn OK. bai 18.9

    | Phần mềm sẽ yêu cầu bạn kết nối với mạch Yolo:Bit, tuy nhiên, bạn có thể bỏ qua bước này. Sau đó, chúng ta sẽ có một nhóm khối lệnh mới như hình: bai 18.10

    |

  • Các khối lệnh trong MQTT:

    • Khối lệnh kết nối vào mạng WiFi (bạn cần nhập tên và mật khẩu WiFi) bai 18.11

    |

    • Khối lệnh kết nối đến chương trình điều khiển với username và key đã đặt ở bảng giám sát bai 18.12

    |

    • Khối lệnh đăng ký nhận thông tin gửi vào chủ đề (thường là nhận lệnh từ bảng điều khiển Dashboard) bai 18.13

    |

Tạo bảng điều khiển IoT (Dashboard)

  1. Tại giao diện chính của OhStem App, chọn Bảng điều khiển IoT bai 18.14

    |

  2. Chọn Tạo mới bai 18.15

    |

  3. Kéo thả và sắp xếp các công cụ điều khiển (widget) theo ý muốn bai 18.16

    |

Giao diện cấu hình bảng điều khiển IoT bai 18.17

|

Điều khiển đổi màu Rover từ Internet

Yêu cầu: Cấu hình Color Picker để bật tắt đèn LED trên Rover

Cấu hình bảng điều khiển IoT

  1. Trong giao diện bảng điều khiển IoT, kéo thả Color Picker ra ngoài bai 18.18

| 2. Nhấn vào Color Picker và cấu hình kênh là V1. bai 18.19

| 3. Nhấn nút Play để chuyển về chế độ điều khiển bai 18.20

|

Lập trình và nạp vào robot Rover:

  1. Kết nối vào mạng WiFi. Đây là bước đầu mà chúng ta cần làm để thiết bị có thể kết nối với Internet. Cũng giống như máy tính, việc kết nối với mạng WiFi bất kỳ chỉ cần được thực hiện một lần. Do đó, chúng ta sẽ lập trình tính năng này trong phần bắt đầu của chương trình. bai 18.21

Lưu ý: Trong câu lệnh này, bạn cần cung cấp đúng 2 thông tin là tên và mật khẩu của WiFi cho Yolo:Bit.

  1. Sau khi kết nối với mạng WiFi, chúng ta sẽ lập trình để Yolo:Bit kết nối với server OhStem mà chúng ta đã tạo trước đó, thông qua 2 thông tin là Username và key sẽ bỏ trống.

    • Với Username lấy trong bảng điều khiển IoT bai 18.22

| 3. Cuối cùng cần đăng ký nhận thông tin gửi vào chủ đề - topic đã cấu hình trước đó. Ở đây cấu hình đã chọn cho Color Picker trước đó là V1.

Lưu ý: Cần ghi đúng chính xác tên của chủ đề. bai 18.23

Mỗi khi nút nhấn trên Dashboard được nhấn, dữ liệu sẽ được tự động lưu lại trong biến thông tin. Phần hướng dẫn này sẽ được trình bày ở các phần sau.

  1. Liên kết định kỳ đến Server.

Sau các bước cấu hình ở trên, chúng ta cần phải tạo một liên kết định kì với Server. Việc này được thực hiện lặp đi lặp lại liên tục, nên chúng ta cần phải hiện thực nó trong khối lặp lại mãi, như sau: bai 18.24

| Chu kì kiểm tra kết nối với Server mà chúng tôi đề xuất ở đây là 1 giây, tức là 1000ms (sử dụng câu lệnh tạm dừng trong mục CƠ BẢN). Thời gian dừng càng lớn thì việc nhận tín hiệu điều khiển khi nhấn nút sẽ chậm. Tuy nhiên, nếu thời gian dừng nhỏ thì chúng sẽ làm tốn tài nguyên của mạng Internet (do mạch Yolo:Bit phải thường xuyên truy cập và gửi dữ liệu lên Server Adafruit IO).

Trong các ứng dụng hiện tại, chúng ta nên sử dụng độ trễ 1 giây.

  1. Xử ký dữ liệu nhận được từ Server OhStem. Để xử lý dữ liệu nhận được (lưu trong biến thông tin), chúng ta cần phải lập trình trong phần bắt đầu.

Chương trình hoàn chỉnh như sau: bai 18.25

|

Định kỳ cập nhập thông tin lên Server IoT

Yêu cầu: Định kỳ cập nhật thông tin nhiệt độ, ánh sáng từ Rover lên Server IoT (bảng điều khiển)

Cấu hình bảng điều khiển IoT

  1. Kéo Widget thông tin ra ngoài bai 18.26

| 2. Đặt tên, cấu hình kênh V2 và chọn cách hiển thị bai 18.27

| 3. Thực hiện tương tự với ánh sáng (V3) bai 18.28

|

Thư viện sự kiện

  1. Chọn Mở rộng trong giao diện lập trình thiết bị. bai 18.29

| 2. Tải thư viện SỰ KIỆN bai 18.30

| 3. Tải hoàn tất: bai 18.31

|

Lập trình cho Rover như sau:

  1. Viết chương trình sau mỗi 2 giây thông tin nhiệt độmức độ sáng sẽ được cập nhật lên bảng điều khiển. Chương trình như sau: bai 18.32

| 2. Chương trình hoàn chỉnh để gửi thông tin lên bảng điều khiển. bai 18.33

|

Điều khiển robot qua Internet

Yêu cầu: Điều khiển bật / tắt đèn pha 2 bên của robot Rover thông qua bảng điều khiển IoT

Cấu hình bảng điều khiển IoT

  1. Kéo Widget thông tin ra ngoài bai 18.34

| 2. Đặt tên, cấu hình kênh V4. bai 18.35

| 3. Thực hiện tương tự cho đèn phải (V5) bai 18.36

|

Lập trình cho Rover như sau:

  1. Thêm 2 khối lệnh để đăng ký nhận thông tin từ chủ đề V4 (cho đèn LED bên trái) và V5 (cho đèn LED bên phải) bai 18.37

| 2. So sánh thông tin nhận được với giá trị kiểu chuỗi “1” và “0” bằng khối lệnh trong mục Chữ viết bai 18.42.1

Chương trình hoàn chỉnh như sau: bai 18.38.1

|

Điều khiển di chuyển qua Internet

Yêu cầu: Điều khiển robot di chuyển theo các hướng thông qua bảng điều khiển IoT

Cấu hình bảng điều khiển IoT

  1. Kéo Widget Joystick ra ngoài bai 18.39

| 2. Chọn kênh thông tin V6 bai 18.40

|

Lập trình cho Rover như sau:

  1. Thêm khối lệnh đăng ký nhận thông tin từ chủ đề V6 bai 18.41

| 2. So sánh thông tin nhận được và điều khiển robot tương ứng bai 18.42

|

Chương trình mẫu

  • Điều khiển đèn từ Internet: Tại đây   bai 18.1.1

    |

  • Định kỳ cập nhật thông tin lên Server IoT: Tại đây   bai 18.1.2

    |

  • Điều khiển bật / tắt đèn pha 2 bên của robot Rover thông qua bảng điều khiển IoT: Tại đây   bai 18.1.3

    |

  • Điều khiển di chuyển qua Internet: Tại đây   bai 18.1.4

    |

Last updated on

OhStem AI Assistant

Hỏi bất kỳ điều gì về OhStem

OhStem

Xin chào!

Tôi là trợ lý AI của OhStem. Hãy hỏi tôi bất kỳ câu hỏi nào về sản phẩm, lập trình, hoặc hướng dẫn sử dụng.