Mục lục:

Hoàn chỉnh Hệ thống chống trộm GPS + GPRS cho Xe dựa trên Arduino: 5 bước (có hình ảnh)
Hoàn chỉnh Hệ thống chống trộm GPS + GPRS cho Xe dựa trên Arduino: 5 bước (có hình ảnh)

Video: Hoàn chỉnh Hệ thống chống trộm GPS + GPRS cho Xe dựa trên Arduino: 5 bước (có hình ảnh)

Video: Hoàn chỉnh Hệ thống chống trộm GPS + GPRS cho Xe dựa trên Arduino: 5 bước (có hình ảnh)
Video: Anti-theft Protection of Vehicle by GSM & GPS with Fingerprint Verification Using Raspberry Pi Pico 2024, Tháng mười một
Anonim
Image
Image
Phần cứng
Phần cứng

Chào mọi người!

Tôi muốn xây dựng một giải pháp hoàn chỉnh cho thiết bị chống trộm xe GPS, đó là:

càng rẻ càng tốt

đầy đủ nhất có thể

vì nó-chỉ-hoạt-động-không-gì-khác-để-làm nhất có thể

Vì vậy, tôi đã kết thúc việc xây dựng một giải pháp dựa trên Arduino với tổng chi phí là 25 đô la, nhiều hơn hoặc ít hơn.

Như bạn có thể thấy từ video, nó chỉ hoạt động! Bạn khởi động xe, bạn nhận được thông báo trên điện thoại di động rằng xe đang di chuyển, sau đó bạn mở ứng dụng di động và bạn có thể thấy xe di chuyển theo thời gian thực (với độ trễ cập nhật 10 giây).

Hướng dẫn này sẽ hướng dẫn bạn qua tất cả các bước, hãy nhớ rằng có một số thành phần trong giải pháp:

1) phần cứng (dựa trên Arduino)

2) phần mềm (chương trình Arduino)

3) nhiều phần mềm hơn (nhận vị trí gps từ phía máy chủ)

4) thậm chí nhiều phần mềm hơn (ứng dụng dành cho thiết bị di động)

Hãy bắt đầu..

Bước 1: Phần cứng

Phần cứng
Phần cứng

Danh sách mua sắm:

1) Arduino Uno R3 hoặc bản sao. Tôi đã sử dụng bản sao "DCcEle DCcduino una", dường như không còn khả dụng nữa. Đây là một mức tương đương: trên Aliexpress - 3,75 $

2) Thiết bị GPS cho Arduino (mô-đun GPS mới GY-NEO6MV2 với Điều khiển bay EEPROM MWC APM2.5 ăng-ten lớn NEO6MV2). Tôi đã sử dụng cái này: trên Aliexpress - 6,66 $

3) Bộ GPRS / GSM cho Arduino (SIM800L V2.0 5V Wireless GSM GPRS MODULE Quad-Band W / Nắp cáp ăng ten). Tôi đã sử dụng cái này: trên Aliexpress - 6,71 $

4) Dự phòng cáp dupont như thế này: trên Aliexpress - 0,89 $

5) Thẻ sim dữ liệu IoT (hoặc bất kỳ thẻ sim nào khác có kết nối dữ liệu). Tôi đã sử dụng cái này: từ Hologram.io. Tôi có một nhà phát triển miễn phí, chỉ trả phí vận chuyển - 7,50 đô la

Tổng cộng: 25,51 đô la, nhưng tôi đã có dây cáp nên nó ít hơn 25 đô la!

Hai hình ảnh cho thấy các thành phần trước khi lắp ráp, và sản phẩm cuối cùng. Các kết nối bạn phải thực hiện là:

Arduino - SIM800L

10 - ĐẶT LẠI

GND - GND (2 trong số đó)

5v - 5v

7 - SIM_TXD

8 - SIM_RXD

Arduino - GY-NEO6MV2

GND - GND

5v - VCC

3 - RX

4 - TX

Kết nối tất cả các cáp và ăng-ten và đảm bảo rằng bạn cấp nguồn cho Arduino từ nguồn có khả năng cung cấp cho bạn đỉnh 2A. USB máy tính hầu như không ổn (tôi đang dùng MacBook Pro), một bộ sạc điện thoại "ngẫu nhiên" sẽ không đủ. Hầu hết các ổ cắm usb trên ô tô cũng nhỏ hơn 1A. Nếu đó là trường hợp của bạn, bạn cũng cần một nguồn điện 5v 12v ô tô với ít nhất 2A.

Lắp thẻ sim. Nếu bạn đang sử dụng thẻ sim Hologram.io, hãy đảm bảo rằng bạn đăng ký trên trang tổng quan của họ và kích hoạt thẻ sim (mất vài phút / giờ).

Bước 2: Phần mềm (Chương trình Arduino)

Phần mềm (Chương trình Arduino)
Phần mềm (Chương trình Arduino)

Tôi sẽ giả sử bạn đã quen với lập trình Arduino. Nếu không, vui lòng bắt đầu với hướng dẫn này: trên Bảng hướng dẫn.

Bạn chỉ cần một thư viện bên ngoài, tôi đã phải cài đặt nó theo cách thủ công. Truy cập vào đây: TinyGPS, xuất thư viện và cài đặt nó trong thư mục Arduino cục bộ của bạn.

Từ đó, chúng tôi sẽ "ăn cắp" một số mã từ ví dụ cơ bản của chúng và sửa đổi nó theo mục đích của chúng tôi.

Sau đó, chúng tôi sẽ "ăn cắp" từ hướng dẫn này và sửa đổi lại mã theo mục đích của chúng tôi.

Kết quả là chương trình.ino đính kèm.

Có một số điều bạn có thể và PHẢI tinh chỉnh:

xác định "SECONDS" và "MÁY CHỦ" xác định.

Tôi đã đặt SECONDS thành 10 và đây là lý do: chương trình nhà phát triển Hologram.io cung cấp cho bạn 1mb dữ liệu miễn phí mỗi tháng. Có nghĩa là, chúng tôi muốn giảm thiểu số byte được gửi, nhưng chúng tôi cũng cần cập nhật vị trí của mình thường xuyên. Chúng tôi sẽ sử dụng các lệnh modem AT tiêu chuẩn để gửi các gói UDP đến máy chủ của chúng tôi để nhận thông báo, với vĩ độ / kinh độ, mỗi lệnh sử dụng 4 byte và tốc độ sử dụng 1 byte. Vì vậy, tổng bản cập nhật gps là 20 byte (tiêu đề IP) cộng với 8 byte (tiêu đề UDP) cộng với 9 byte (tải trọng). Đó là 37 byte. Giả sử ô tô của tôi hoạt động không quá 2 giờ mỗi ngày, tôi có thể đủ khả năng cập nhật 10 giây một lần và chỉ tiêu thụ 806kb một tháng (31 ngày). Điều đó mang lại cho tôi 218kb cho thời gian lái xe của riêng tôi, tức là kẻ trộm xe. Điều này mang lại cho tôi 16,76 giờ giám sát gps ngoài thời gian lái xe của tôi, với một bản cập nhật cứ sau 10 giây.

Bây giờ, các gói UDP này phải đi đâu đó. Tôi đang sử dụng một máy chủ Ubuntu được lưu trữ trên đám mây CloudAtCost, mà tôi đã mua với giá 8 đô la với chiết khấu 80% và đang phục vụ tôi cho các mục đích khác, do đó không tính đến chi phí. Nếu không muốn trả tiền cho một máy chủ, bạn có thể nhận phiên bản Amazon AWS miễn phí trong 12 tháng và cài đặt Ubuntu trên đó. Khi bạn đã thiết lập máy chủ của mình (xem bước tiếp theo), hãy lấy địa chỉ IP tĩnh của nó và đặt nó bên cạnh máy chủ xác định.

Bước 3: Thêm phần mềm (nhận vị trí Gps từ phía máy chủ)

Cả CloudAtCost và Amazon đều đi kèm với hình ảnh Ubuntu được cấu hình sẵn (CloudAtCost có trên Ubuntu 14.04). Vì vậy, tôi sẽ không trình bày qua các bước cài đặt Ubuntu, vì bạn sẽ không phải làm vậy. Nếu bạn đang sử dụng CloudAtCost, bạn có thể muốn nâng cấp lên Ubuntu 16.04, điều đó được thực hiện với

sudo apt-get update && sudo apt-get upgrade && sudo apt-get dist-upgrade

Sau đó, bạn cần cài đặt LAMP (tham khảo hướng dẫn này: tại đây), mặc dù chúng tôi sẽ không sử dụng PHP.

Cài đặt Python với

sudo apt-get install python-Minimum pip

Sau đó, thêm một vài mô-đun:

pip cài đặt - yêu cầu người dùng urllib3

Chúng tôi cần bạn đặt / var / www có thể ghi, vì vậy hãy làm như sau:

sudo adduser YOUR_USER www-datasudo chown -R www-data: www-data / var / www

sudo chmod -R g + rwX / var / www

Bây giờ, chúng ta cần một "máy chủ" để i) nhận các gói UDP, ii) xây dựng đường đi, iii) gửi thông báo đến điện thoại di động của chúng ta và một "máy chủ" để phục vụ theo dõi gps đã tạo (đây sẽ là apache).

Đối với máy chủ đầu tiên, hãy sao chép mã python được đính kèm. Bạn cần cấu hình những thứ sau:

iftttuser = "NGƯỜI DÙNG IFTTT CỦA BẠN"

iftttpass = "MẬT KHẨU IFTTT CỦA BẠN"

iftttappletid = "ÁP DỤNG THÔNG BÁO IFTTT CỦA BẠN"

iftttkey = "KHÓA IFTTT CỦA BẠN"

iftttevent = "SỰ KIỆN IFTTT CỦA BẠN"

Như bạn có thể đoán, chúng tôi đang sử dụng IFTTT để gửi thông báo theo thời gian thực tới điện thoại di động của mình. Làm theo hướng dẫn này: tại đây nhưng thay vì chọn "gửi sms cho tôi", hãy chọn "gửi thông báo ứng dụng". Lấy id applet của bạn (cuộn ở cuối cấu hình của applet để xem) và sử dụng nó ở trên. Cũng sử dụng khóa đã tạo trong cài đặt ở trên. Sự kiện IFTTT là tên bạn đã đặt cho applet của mình, tôi đã đặt nó là "carmoving".

Hiện tại, không có nền tảng thông báo thời gian thực nào miễn phí, AFAIK. Nếu bạn biết về một trong những, hãy cho tôi biết. IFTTT có độ trễ. Sự chậm trễ này có thể được giảm thiểu xuống một vài giây nếu bạn sử dụng trình kích hoạt email. Thật không may, điều này không đáng tin cậy. Webhook vừa tạo có độ trễ 15 phút. Nhưng chúng ta không muốn đợi 15 phút để biết rằng xe của mình đang bị trộm, phải không? Đó là mật khẩu yêu cầu bạn thiết lập tất cả các cài đặt trên. Nếu bạn cuộn mã python, bạn sẽ thấy có một vài dòng, cụ thể là 45-53, để tự động hóa chức năng "kiểm tra ngay bây giờ" của IFTTT, điều này buộc kiểm tra đột ngột các trình kích hoạt và kích hoạt thông báo trong vòng chưa đầy 1 giây! Không có gì:)

Khi bạn đã thiết lập mã python của mình ở đâu đó, chỉ cần chạy nó. Nếu bạn là người dùng chuyên nghiệp, hãy khởi động nó khi khởi động máy chủ. Tham khảo rất nhiều hướng dẫn miễn phí trực tuyến về cách làm điều đó, ví dụ như hướng dẫn này.

Bước 4: Thậm chí nhiều phần mềm hơn (Ứng dụng dành cho thiết bị di động)

Thậm chí nhiều phần mềm (Ứng dụng dành cho thiết bị di động)
Thậm chí nhiều phần mềm (Ứng dụng dành cho thiết bị di động)
Thậm chí nhiều phần mềm (Ứng dụng dành cho thiết bị di động)
Thậm chí nhiều phần mềm (Ứng dụng dành cho thiết bị di động)
Thậm chí nhiều phần mềm (Ứng dụng dành cho thiết bị di động)
Thậm chí nhiều phần mềm (Ứng dụng dành cho thiết bị di động)
Thậm chí nhiều phần mềm (Ứng dụng dành cho thiết bị di động)
Thậm chí nhiều phần mềm (Ứng dụng dành cho thiết bị di động)

Chúng tôi cần một cách nhanh chóng và đơn giản để chỉ cần trực quan hóa theo dõi gps mà máy chủ ở bước trước đang cập nhật. Có thể, nó phải hoạt động trên tất cả các loại điện thoại thông minh.

Sau đó, hãy sử dụng bộ ứng dụng di động đa nền tảng, như Ionic / Cordova. Tôi đang sử dụng Ionic v1, đừng nhầm lẫn nó với Ionic Native hoặc Ionic v2, đó là một điều khác biệt.

Làm theo các bước rất đơn giản sau để bắt đầu dự án đầu tiên của bạn trong Ionic: tại đây.

Sau đó, bạn cần bắt đầu một dự án mới dựa trên sdk của google maps, như sau:

ionic start myapp maps

Vào thư mục "resources" và sao chép hình ảnh chiếc xe lớn ở đây dưới dạng "icon.png". Thay vào đó, hãy tải lên các biểu tượng nhỏ dưới dạng "car2.png" và "start.png" ở đâu đó trên máy chủ của bạn, chẳng hạn như https://yourserver/car2.png. Bạn sẽ cần những thứ này làm điểm đánh dấu trong ứng dụng của mình.

Sử dụng tệp index.html được đính kèm (đổi tên index.html.txt thành index.html), tệp directives.js và controllers.js và đặt chúng vào www (index.html), www / js (tất cả các js).

thêm nền tảng của bạn như thế này:

ionic thêm plaftorm android

xây dựng như thế này:

ionic xây dựng android

thì ionic sẽ cho bạn biết nơi nó đã xây dựng.apk của bạn mà bạn có thể cài đặt trên điện thoại di động của mình.

Để xây dựng cho iOS, bạn sẽ cần một máy Mac và Xcode. ionic sau đó có thể lưu một dự án Xcode mà bạn có thể mở trong Xcode và xây dựng cho điện thoại của mình. Nếu bạn không có tài khoản nhà phát triển iOS, thì bạn sẽ phải đính kèm điện thoại của mình với Xcode và thiết lập điện thoại của bạn để phát triển để có thể cài đặt ứng dụng ở đó. Điều này nằm ngoài phạm vi của hướng dẫn này.

Trong các tệp js khác nhau, bạn sẽ cần tìm các dòng tương ứng với "car2.png" và "start.png" và sửa đổi chúng bằng đường dẫn hình ảnh của bạn. Tương tự cho "plan.json".

Đó là nó!!

Bước 5: Công việc trong tương lai

1) Tôi đã đặt mọi thứ vào một hộp các tông mà tôi có thể giấu ở bất cứ đâu gần ổ cắm usb. Điều tốt nhất nên làm là gắn một hộp tốt hơn dưới mui xe, với bộ chuyển đổi 12v-> 5v.

2) Với cảm biến bluetooth, bạn thực sự có thể "cảm nhận" nếu bạn đang ở trong xe, vì vậy hệ thống gps sẽ không bật.

3) Chỉ cần trả tiền cho gói dữ liệu sim và đặt SECONDS thành 1 để tận hưởng tính năng theo dõi siêu thời gian thực:)

Hy vọng bạn thích hướng dẫn đầu tiên này của tôi!

Đề xuất: