Internet of ThingsIoT platformsThingsboard.io

Bài 9: Theo dõi một hạm đội xe với Thingsboard

Ở bài viết trước lophocvui.com  đã hướng dẫn các bạn cách sử dụng tiện ích OpenStreetMaps để hiển thị tọa độ cố định của thiết bị lên Thingsboard. Trong bài viết này lophocvui.com sẽ tiếp tục hướng dẫn các bạn sử dụng tiện ích này để theo dõi một đội xe bus. Sẽ theo dõi vị trí, tốc độ,nhiên liệu còn lại của mỗi xe.

I/Giới thiệu

Trong bài viết này sẽ giả định rằng các bạn có một đội 3 chiếc xe bus. Trên các xe sẽ có các cảm biến đo tốc độ và nhiên liệu sử dụng, tọa độ của nó. Các giá trị đó sẽ liên tục được gửi về Thingsboard. Các bạn sẽ dùng code python để giả lập điều đó. Các bạn sẽ xây dựng giao diện như hình dưới đây để theo dõi hạm đội xe của mình:

Nếu tốc độ của xe nào bằng 0 xe đó sẽ chuyển sang màu đỏ. Tốc độ > 0 và n < 150 thì xe đó chuyển thành màu vàng. Nếu tốc độ xe >150 thì nó chuyển thành màu xanh. Có các biểu đồ và các đồng hồ hiển thị cho tốc độ của mỗi xe và nhiên liệu của mỗi xe.

II/ Cấu hình trên Thingsboard

1.Khởi tạo các thiết bị ảo

Giống như bài viết trước chúng ta cần tạo ra 3 thiết bị ảo trên Thingsboard. Có tên gọi là Bus A,Bus B, Bus C. Mỗi thiết bị sẽ tượng trưng cho một xe bus trong đội. Bạn cần chú ý tới thể loại (Device type) của các thiết bị phải giống nhau. Việc đặt giống nhau sẽ giúp việc lấy dữ liệu cũng như tạo Dashboard hiển thị cho nhiều thiết bị dễ dàng hơn. Bạn cũng cần chú ý copy ACCESS TOKEN của mỗi device để dùng cho phần code giả lập dữ liệu.

Tuy nhiên bạn không cần phải cung cấp tọa độ cho các thiết bị ảo trước.

2.Xây dựng  Dashboard hiển thị

Bây giờ các bạn cần phải xây dựng một giao diện giống như đã giới thiệu. Tuy nhiên để cho nhanh chóng các bạn  hãy copy nội dung từ link này vào một file đặt tên là track_cars.json:

https://Track_Json 

rồi import nó vào phần Dashboard.

Trong phần Edit của tiện ích bản đồ bạn hãy chú ý tới các phần sau:

Trong phần khoanh đỏ là đoạn code Javascript để tạo màu cho đường mà xe đi qua dựa trên giá trị Speed(tốc độ). Ở đây tất cả các đường của các xe đều là màu xanh nếu như Thingsboard nhận được giá trị Speed. Bạn cần phải tích vào Use color function  để đoạn code này có hiệu lực.

Còn đây là đoạn code Javascript để thay đổi màu cho icon của các xe(thực chất là thay ảnh khác). Cũng dựa trên giá trị Speed. Nếu bạn muốn bạn hoàn toàn có thể thay đổi trong này theo ý bạn. Cũng như trên bạn cần phải tích vào Use marker image function. Những tiện ích khác các bạn đều đã được làm quen trong những bài trước,bài viết này lophocvui.com xin phép không giải thích lại nữa.

III/ Code python giả lập dữ liệu cho các cảm biến

Sau khi đã xây dựng được Dashboard hiển thị các bạn cần code để giả lập dữ liệu cho các xe. Dưới đây là đoạn code cho một xe:

Các giá trị về tọa độ của xe được lưu trong 2 list Latitude và Longitude, giá trị của Speed được cài đặt để tăng dần để nhìn thấy rõ sự thay đổi về màu xe. Các giá trị này được gửi về Thingsboard sau mỗi 2 s cho tới khi đi hết một vòng lại quay lại từ đầu. Bạn sẽ tạo ra 3 file python như vậy cho 3 xe và chỉ việc thay giá trị của 2 list về tọa độ, các giá trị này bạn có thể lên Google Map để lấy. Bạn có thể tham khảo 2 tập hợp tọa độ khác dưới đây:

Bus B:

Bus C:

Sau khi đã có 3 file thì bạn chạy các file đó để thấy kết quả.

Như vậy là các bạn đã xây dựng xong một hệ thống theo dõi đội xe bằng Thingsboard. Ở bài viết tiếp theo lophocvui.com sẽ hướng dẫn các bạn tạo ra cảnh báo khi một giá trị nhiệt độ quá cao và gửi cảnh báo đến email của bạn.

lophocvui.com chúc các bạn học tập tốt và sử dụng nền tảng Thingsboard thành công.

Nguồn tham khảo:

—————————
Chi tiết liên hệ:
📌Website: lophocvui.com
☎Hotline: 0971479145//0983811938
🖌Fanpage:https://www.facebook.com/lophocvui.com/

Bình luận

Related Articles

Close
Close