Mục lục:
- Bước 1: Phần cứng
- Bước 2: Phần mềm (Chương trình Arduino)
- Bước 3: Thêm phần mềm (nhận vị trí Gps từ phía máy chủ)
- 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)
- Bước 5: Công việc trong tương lai
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)
2024 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2024-01-30 13:35
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
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)
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)
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:
Máy ảnh hồng ngoại hình ảnh nhiệt tự làm: 3 bước (có hình ảnh)
Máy ảnh hồng ngoại hình ảnh nhiệt tự làm: Xin chào! Tôi luôn tìm kiếm các Dự án mới cho các bài học vật lý của mình. Hai năm trước, tôi đã xem một báo cáo về cảm biến nhiệt MLX90614 từ Melexis. Loại tốt nhất chỉ với 5 ° FOV (trường nhìn) sẽ phù hợp với máy ảnh nhiệt tự chế
Tự làm cảm biến hình ảnh và máy ảnh kỹ thuật số: 14 bước (có hình ảnh)
Tự làm cảm biến hình ảnh và máy ảnh kỹ thuật số: Có rất nhiều hướng dẫn trực tuyến về cách xây dựng máy ảnh phim của riêng bạn, nhưng tôi không nghĩ rằng có bất kỳ hướng dẫn nào về việc xây dựng cảm biến hình ảnh của riêng bạn! Cảm biến hình ảnh có sẵn từ rất nhiều công ty trực tuyến và việc sử dụng chúng sẽ giúp thiết kế
Arduino và SIM900 GSM GPRS 3G Ghi nhật ký nhiệt độ và độ ẩm, Thống kê di động: 4 bước
Arduino và SIM900 GSM GPRS 3G ghi nhật ký nhiệt độ và độ ẩm, thống kê di động: Với Arduino UNO R3, SIM900 Shield VÀ DHT22 bạn có thể ghi dữ liệu nhiệt độ và độ ẩm bên ngoài, trong phòng, nhà kính, phòng thí nghiệm, phòng làm mát hoặc bất kỳ nơi nào khác hoàn toàn miễn phí. Ví dụ này, chúng tôi sẽ sử dụng để ghi lại nhiệt độ và độ ẩm trong phòng. Thiết bị sẽ
Hình ảnh - Máy ảnh Raspberry Pi in 3D.: 14 bước (có Hình ảnh)
Hình ảnh - Máy ảnh Raspberry Pi 3D được in: Cách đây trở lại vào đầu năm 2014, tôi đã xuất bản một máy ảnh có thể hướng dẫn được gọi là SnapPiCam. Máy ảnh được thiết kế để đáp ứng với Adafruit PiTFT mới được phát hành. Đã hơn một năm trôi qua và với bước đột phá gần đây của tôi vào in 3D, tôi nghĩ rằng n
Ánh sáng video thân mật / Ánh sáng chụp ảnh cầm tay: 7 bước (với hình ảnh)
Ánh sáng video thân mật / Ánh sáng chụp ảnh cầm tay: Tôi biết bạn đang nghĩ gì. Bằng cách " thân mật, " Ý tôi là chiếu sáng cận cảnh trong các tình huống ánh sáng khó - không nhất thiết dành cho " các tình huống thân mật. &Quot; (Tuy nhiên, nó cũng có thể được sử dụng cho việc đó …) Là một nhà quay phim thành phố New York - hoặc