Mục lục:

Công cụ theo dõi GPS LTE Arduino + Bảng điều khiển IoT (Phần 2): 6 bước (có hình ảnh)
Công cụ theo dõi GPS LTE Arduino + Bảng điều khiển IoT (Phần 2): 6 bước (có hình ảnh)

Video: Công cụ theo dõi GPS LTE Arduino + Bảng điều khiển IoT (Phần 2): 6 bước (có hình ảnh)

Video: Công cụ theo dõi GPS LTE Arduino + Bảng điều khiển IoT (Phần 2): 6 bước (có hình ảnh)
Video: GPS TRACKING - MQTT SIM800/SIM808/SIM - ANDROID GPS TRACKING SIM - HỆ THỐNG GIÁM SÁT XE QUA IOT 2024, Tháng mười một
Anonim
Image
Image
Thiết lập ThingsBoard
Thiết lập ThingsBoard

Giới thiệu & Bản tóm tắt phần 1

Đúng vậy, đã đến lúc có một thiết bị theo dõi GPS khác có thể hướng dẫn trên SIM7000 với Arduino và LTE! Nếu bạn chưa có, vui lòng xem qua hướng dẫn bắt đầu cho tấm chắn Botletics SIM7000 CAT-M / NB-IoT, sau đó đọc phần 1 của hướng dẫn theo dõi GPS. Như vậy, tôi sẽ giả sử rằng bạn đã thiết lập tất cả phần cứng và sẵn sàng đăng dữ liệu lên đám mây, tất cả những gì chúng ta thực sự cần làm trong hướng dẫn này là tự làm quen với ThingsBoard và thực hiện một bài kiểm tra đường khác để xem dữ liệu tuyệt vời đó. trình diễn!

Trong Phần 1, chúng tôi đã đưa thành công công cụ theo dõi GPS tiện lợi của mình gửi dữ liệu đến dweet.io và tìm nạp dữ liệu trên freeboard.io để trực quan hóa dữ liệu. Tuy nhiên, tôi sớm nhận ra rằng chức năng bản đồ khá khập khiễng trên freeboard vì nó không cho phép bạn di chuyển con trỏ xung quanh hoặc thậm chí thay đổi kích thước cửa sổ widget. Điều này đã dẫn tôi đến một giải pháp tốt hơn: ThingsBoard.io, một bảng điều khiển IoT siêu tuyệt vời (và miễn phí!) Cho phép bạn lưu trữ, trực quan hóa và tùy chỉnh dữ liệu của mình! Bạn có thể kéo để sắp xếp lại các widget (và nó hoạt động trong Chrome không giống như freeboard) và chất lượng tổng thể là điểm nhấn. Quan trọng nhất, tiện ích bản đồ của Google cho phép bạn tự do di chuyển xung quanh, phóng to và thu nhỏ và chọn các kiểu khác nhau (vệ tinh, chế độ xem đường, v.v.) và thậm chí cho phép bạn kéo và thả anh chàng nhỏ màu vàng trên đường để xem đường phố !

Bước 1: Thiết lập ThingsBoard

Thiết lập ThingsBoard
Thiết lập ThingsBoard
Thiết lập ThingsBoard
Thiết lập ThingsBoard

Tài khoản ThingsBoard & Thiết lập thiết bị

Điều đầu tiên bạn nên làm là truy cập trang chủ ThingsBoard sau đó tạo tài khoản bằng cách nhấp vào nút menu trên cùng bên phải và chọn "Live Demo". Tạo tài khoản, xác minh tài khoản của bạn trong email mà họ gửi cho bạn, sau đó đăng nhập lại vào màn hình chính của Live Demo. Thao tác này sẽ đưa bạn đến một màn hình nơi bạn có thể quản lý tất cả các thiết bị của mình, chỉnh sửa trang tổng quan, v.v.

Tiếp theo, chọn tab "Thiết bị" ở phía bên tay trái. Thao tác này sẽ hiển thị một loạt thiết bị demo như ESP8266, DHT22, Arduino và Pi demo, v.v. Tạo thiết bị mới bằng cách nhấp vào nút "+" màu đỏ ở dưới cùng bên phải và nhập tên và chọn "mặc định" cho loại thiết bị. Sau khi nhấp vào "THÊM", bạn sẽ thấy thiết bị mới của mình trong tab Thiết bị. Nhấp vào "Quản lý thông tin đăng nhập" và bạn sẽ thấy một cửa sổ nhỏ bật lên hiển thị mã thông báo truy cập của thiết bị. Đây thực chất là ID thiết bị và tương tự như ID thiết bị được sử dụng để đăng dữ liệu lên dweet.io. Bạn có thể thay đổi ID thiết bị này thành số IMEI của lá chắn nếu muốn, nhưng bạn cũng có thể chỉ cần sử dụng mã thông báo được tạo tự động. Sao chép mã thông báo này vì bạn sẽ cần nó trong bản phác thảo Arduino.

Thiết lập ví dụ Arduino

Trong hướng dẫn này, chúng tôi sẽ sử dụng bản phác thảo Arduino ví dụ chính xác như trong hướng dẫn đầu tiên nhưng lần này tôi đã cập nhật bản phác thảo để bao gồm mã gửi dữ liệu trực tiếp đến ThingsBoard.io thay vì dweet.io trong Phần 1. Như mọi khi, bạn có thể tìm thấy mã ví dụ tại đây trên Github.

Điều đầu tiên bạn cần làm là bình luận những dòng khiến khiên đăng lên dweet.io:

// NHẬN yêu cầu / * // Bạn có thể điều chỉnh nội dung của yêu cầu nếu bạn không cần những thứ nhất định như tốc độ, độ cao, v.v. sprintf (URL, "https://dweet.io/dweet/for/%s ? lat =% s & long =% s & speed =% s & head =% s & alt=% s & temp =% s & batt =% s ", imei, latBuff, longBuff, speedBuff, headBuff, altBuff, tempBuff, battBuff);

int bộ đếm = 0; // Điều này đếm số lần thử không thành công

// Thử tổng cộng ba lần nếu bài đăng không thành công (thử thêm 2 lần) while (counter <3 &&! Fona.postData ("GET", URL, "")) {// Thêm dấu ngoặc kép "" làm thứ ba đầu vào vì yêu cầu GET không có "body" Serial.println (F ("Không thể đăng dữ liệu, đang thử lại…")); bộ đếm ++; // Độ trễ bộ đếm tăng (1000); } * /

Tiếp theo, bỏ nhận xét các dòng đăng lên thingsboard.io:

// Hãy thử yêu cầu POST tới thingsboard.io const char * token = "YOUR_DEVICE_TOKEN"; // Từ thiết bị thingsboard.io sprintf (URL, "https://demo.thingsboard.io/api/v1/%s/telemetry", mã thông báo); sprintf (body, "{" latitude / ":% s, \" kinh độ / ":% s, \" speed / ":% s, \" head / ":% s, \" alt / ":% s, / "temp \":% s, / "batt \":% s} ", latBuff, longBuff, speedBuff, headBuff, altBuff, tempBuff, battBuff); // sprintf (body, "{" lat / ":% s, \" long / ":% s}", latBuff, longBuff); // Nếu tất cả những gì bạn muốn là vĩ độ / kinh độ

int bộ đếm = 0;

while (! fona.postData ("POST", URL, body)) {Serial.println (F ("Không thể hoàn thành HTTP POST…")); bộ đếm ++; chậm trễ (1000); }

Tải mã lên Arduino của bạn, đảm bảo bạn đã gắn thẻ SIM và ăng-ten và xác minh rằng lá chắn đang gửi mã tới đám mây trước khi tiếp tục!

LƯU Ý: Arduino Uno có rất ít bộ nhớ (RAM) và việc đăng lên Thingsboard có thể khiến Arduino gặp sự cố. Nếu bạn gặp phải sự cố khởi động lại bản phác thảo ở gần vị trí của hàm postData () hoặc hành vi lạ khác, rất có thể đó là điều đang xảy ra. Cách khắc phục dễ dàng đó là hoán đổi Uno bằng Arduino Mega hoặc bo mạch có nhiều RAM hơn. Bạn cũng có thể thử giảm thiểu kích thước của các mảng và chia dữ liệu thành nhiều bài đăng.

Bước 2: Xác minh việc tiếp nhận dữ liệu

Xác minh việc tiếp nhận dữ liệu
Xác minh việc tiếp nhận dữ liệu

Để thực sự xác minh rằng dữ liệu đang được gửi đến ThingsBoard một cách chính xác, hãy truy cập trang chi tiết thiết bị tương tự (nhấp vào ô thiết bị GPS Tracker trong trang "Thiết bị") sau đó nhấp vào tab "Phép đo từ xa mới nhất". Nếu trình theo dõi GPS của bạn đang gửi các giá trị đến ThingsBoard, bạn sẽ thấy các giá trị mới nhất ở đây và chúng sẽ cập nhật theo thời gian thực khi chúng xuất hiện.

Bây giờ bạn đã xác minh rằng ThingsBoard thực sự đang lấy dữ liệu, đã đến lúc thiết lập trang tổng quan để chúng tôi có thể hình dung dữ liệu của mình khi chúng tôi thu thập dữ liệu! (Hoặc sau thực tế)

Bước 3: Thiết lập Trang tổng quan

Thiết lập Trang tổng quan
Thiết lập Trang tổng quan
Thiết lập Trang tổng quan
Thiết lập Trang tổng quan
Thiết lập Trang tổng quan
Thiết lập Trang tổng quan

Bây giờ là lúc cho phần thú vị! Bây giờ hãy nhấp vào tab "Trang tổng quan" ở bên trái và chọn thiết bị theo dõi GPS của bạn. Thao tác này sẽ hiển thị một trang mới yêu cầu bạn thêm các widget. Nhấp vào nút "+" ở dưới cùng bên phải và "tạo tiện ích con mới" để hiển thị menu thả xuống gồm các tiện ích con để bạn lựa chọn. Bây giờ chúng ta hãy thêm một "thước đo kỹ thuật số". Việc chọn này sẽ tải một loạt các bản xem trước cho tất cả các loại đồng hồ đo kỹ thuật số khác nhau mà bạn có thể chọn. Khi bạn bấm vào một cái, nó sẽ xuất hiện một màn hình khác để bạn thiết lập các thông số của widget. Điều đầu tiên bạn cần thêm là nguồn dữ liệu (thiết bị theo dõi GPS của bạn sẽ gửi dữ liệu đến ThingsBoard). Nhấn nút "+ THÊM" và chọn thiết bị "GPS Tracker" của bạn và chọn biến thích hợp mà bạn muốn tiện ích hiển thị. Trong trường hợp này, chúng ta hãy chọn biến "temp" (nhiệt độ).

Bây giờ nếu bạn muốn thêm những thứ như tiêu đề cho tiện ích con, hãy chuyển đến tab "Cài đặt", chọn "Tiêu đề hiển thị" và nhập tiêu đề. Có rất nhiều việc khác bạn có thể làm trong tab "Nâng cao" nhưng tôi sẽ để bạn tự điều tra những điều đó! Hãy vui vẻ khi thay đổi phạm vi giá trị, văn bản nhãn, màu sắc và hơn thế nữa! Sau khi thêm tiện ích, nó sẽ xuất hiện ở dưới cùng bên trái của trang tổng quan của bạn (bạn có thể phải cuộn xuống nếu bạn có nhiều tiện ích lấp đầy màn hình). Bạn có thể chỉnh sửa tiện ích con bất kỳ lúc nào bằng cách nhấn nút trên tiện ích con nếu bạn đã ở chế độ chỉnh sửa trang tổng quan hoặc vào chế độ chỉnh sửa bằng cách nhấn nút bút chì ở dưới cùng bên phải của toàn bộ màn hình trước tiên để cho phép bạn chỉnh sửa các vật dụng. Khá đơn giản!

Bước 4: Thêm bản đồ

Thêm bản đồ!
Thêm bản đồ!
Thêm bản đồ!
Thêm bản đồ!
Thêm bản đồ!
Thêm bản đồ!
Thêm bản đồ!
Thêm bản đồ!

Bây giờ đối với một máy theo dõi GPS, bản đồ là thứ cần phải có! Hãy thêm một tiện ích bằng cách tạo một tiện ích mới (lại nút "+" ở dưới cùng bên phải) và lần này cuộn xuống và chọn "Bản đồ". Hãy tiếp tục và nhấp vào một cái và nó sẽ hiển thị các tùy chọn cho nó. Thêm nguồn dữ liệu như bình thường nhưng lần này, hãy chọn cả hai biến "vĩ độ" và "dài" vì nó sẽ cần cả hai biến này để lấy vị trí. Tiếp theo, hãy chuyển đến tab "Cài đặt" và tại đây bạn có thể thiết lập tua thời gian của dữ liệu để hiển thị trên bản đồ. Ví dụ: bạn có thể chỉ muốn dữ liệu trong 2 phút cuối cùng xuất hiện hoặc bạn có thể muốn tất cả dữ liệu kể từ ngày hôm qua hoặc có thể bạn chỉ muốn một cửa sổ cố định đúng giờ (như 2 giờ chiều hôm qua đến 10 giờ sáng hôm nay).

Nếu muốn, bạn có thể chuyển đến tab "Nâng cao" và chọn loại bản đồ (lộ trình, vệ tinh, kết hợp hoặc địa hình). Có lẽ phần quan trọng nhất của tất cả điều này là kiểm tra các tên chính vĩ độ và kinh độ. Đảm bảo rằng những tên này tương ứng chính xác với tên biến mà bạn đang thực sự gửi đến ThingsBoard. Ví dụ: nếu bản phác thảo Arduino của bạn cho biết nó đang gửi các biến "vĩ độ" và "dài" (theo mặc định) thì bạn cần thay đổi tên khóa thành "vĩ độ" và "dài" và sử dụng "vĩ độ" và "kinh độ" sẽ không tìm nạp dữ liệu của bạn!

Một lần nữa, sau khi thêm bản đồ, nó sẽ xuất hiện ở cuối trang tổng quan. Chỉ cần kéo nó để định vị lại nó trên bảng điều khiển và nhấp và kéo các cạnh để thay đổi kích thước. Nếu thời gian của bạn được đặt chính xác, bạn sẽ thấy vị trí hiện tại của mình xuất hiện trên bản đồ. Siêu gọn gàng hả? Bây giờ chúng tôi đã sẵn sàng cho một bài kiểm tra thực sự!

Bước 5: Kiểm tra đường bộ

Kiểm tra đường
Kiểm tra đường
Kiểm tra đường
Kiểm tra đường

Kiểm tra thiết bị theo dõi GPS rất đơn giản! Chỉ cần cắm Arduino vào bộ chuyển đổi USB trên ô tô để cấp nguồn cho nó, đảm bảo đèn LED màu xanh lá cây bật và nó sẽ bắt đầu gửi dữ liệu! Để thay đổi tốc độ lấy mẫu của trình theo dõi GPS, hãy đảm bảo rằng bạn tìm thấy dòng mã này trong bản phác thảo ví dụ:

#define samplingRate 10 // Thời gian giữa các bài đăng, tính bằng giây

và đặt nó thành bất cứ thứ gì bạn muốn. Tôi thấy rằng 10s hoạt động khá tốt cho một bài kiểm tra đường nhàn nhã, nhưng nếu bạn đang nhanh và tức giận có thể bạn có thể muốn tỷ lệ lấy mẫu thậm chí còn cao hơn!

Bước 6: Kết quả

Kết quả
Kết quả
Kết quả
Kết quả
Kết quả
Kết quả

Trong các hình trên, bạn có thể thấy thiết lập bảng điều khiển của tôi. Tôi đã thêm biểu đồ để vẽ biểu đồ dữ liệu lịch sử cho những thứ như tốc độ, độ cao và nhiệt độ, đồng thời bao gồm đồng hồ đo thời gian thực trong trường hợp tôi muốn xem chúng theo thời gian thực trên một chuyến đi đường khác (hình ảnh này trong RV!).

Bản đồ thật tuyệt vời và tôi đã thu thập được một số dữ liệu thực sự chính xác về tuyến đường mà tôi đã đi. Ngoài ra, dữ liệu tốc độ cực kỳ chính xác vì chúng tôi không bao giờ vượt quá khoảng 40mph (biểu đồ tính bằng km / h) trên đường thành phố. Nhiều biến động về tốc độ có thể được giải thích bởi đèn giao thông. Nhìn chung, kết quả tuyệt vời và chỉ cần tưởng tượng chúng ta có thể sử dụng nó để làm gì khác! Bạn có thể cài đặt tính năng này trên xe RV, xe máy, ô tô, v.v. và luôn theo dõi nó và đưa ra kết quả trên ThingsBoard!

Tóm lại, trong hướng dẫn này, chúng tôi đã lập trình trình theo dõi GPS của mình để gửi dữ liệu trực tiếp đến ThingsBoard thông qua các yêu cầu HTTP POST và quản lý dữ liệu trên trang tổng quan. Bạn có thể thêm nhiều thiết bị và trang tổng quan, mỗi thiết bị chứa nhiều widget trông cực kỳ bắt mắt và có nhiều tùy chọn tùy chỉnh! ThingsBoard đã được chứng minh là một công cụ rất mạnh mẽ (và miễn phí!) Để xem dữ liệu IoT và thậm chí còn có các tính năng khác mà tôi thậm chí còn chưa biết. Hãy thoải mái chơi với nó và xem những gì bạn tìm thấy.

  • Nếu bạn thích hướng dẫn này, tự làm hoặc có bất kỳ câu hỏi nào, vui lòng bình luận bên dưới!
  • Hãy nhớ dành trái tim cho Người hướng dẫn này và đăng ký tại đây và trên kênh YouTube của tôi để biết thêm các hướng dẫn tuyệt vời liên quan đến Arduino!
  • Nếu bạn muốn hỗ trợ những gì tôi làm, hãy cân nhắc mua tấm chắn Botletics SIM7000 của riêng bạn trên Amazon.com!

Cùng với đó, tôi sẽ gặp bạn lần sau!

Đề xuất: