Table des matières:
- Étape 1: le matériel
- Étape 2: Le logiciel (programme Arduino)
- Étape 3: Plus de logiciels (réception côté serveur des emplacements GPS)
- Étape 4: Encore plus de logiciels (l'application mobile)
- Étape 5: Travaux futurs
Vidéo: Système antivol complet GPS + GPRS pour véhicule basé sur Arduino : 5 étapes (avec photos)
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:09
Salut à tous!
Je voulais construire une solution complète pour un antivol de véhicule GPS, qui serait:
le moins cher possible
le plus complet possible
comme ça-fonctionne-il-y-a-rien-d'autre-à-faire que possible
J'ai donc fini par construire une solution basée sur Arduino qui m'a coûté un total de 25 $, plus ou moins.
Comme vous pouvez le voir sur la vidéo, ça marche ! Vous démarrez la voiture, vous recevez une notification sur votre téléphone portable indiquant que la voiture bouge, puis vous ouvrez l'application mobile et vous pouvez voir la voiture bouger en temps réel (avec un délai de mise à jour de 10 secondes).
Ce tutoriel vous guidera à travers toutes les étapes, en gardant à l'esprit qu'il y a plusieurs composants dans la solution:
1) le matériel (basé sur Arduino)
2) le logiciel (programme Arduino)
3) plus de logiciels (réception côté serveur des emplacements GPS)
4) encore plus de logiciels (l'application mobile)
Commençons..
Étape 1: le matériel
Liste de courses:
1) Arduino Uno R3 ou clone. J'ai utilisé le clone "DCcEle DCcduino uno", qui ne semble plus être disponible. Voici un équivalent: sur Aliexpress - 3.75$
2) Unité GPS pour Arduino (nouveau module GPS GY-NEO6MV2 avec Flight Control Flight Control EEPROM MWC APM2.5 grande antenne NEO6MV2). J'ai utilisé ceci: sur Aliexpress - 6.66$
3) Unité GPRS / GSM pour Arduino (SIM800L V2.0 5V MODULE GSM GPRS sans fil quadribande avec capuchon de câble d'antenne). J'ai utilisé ceci: sur Aliexpress - 6.71$
4) Câbles dupont de rechange comme ceux-ci: sur Aliexpress - 0.89$
5) Carte SIM de données IoT (ou toute autre carte SIM avec une connexion de données). J'ai utilisé ceci: de Hologram.io. J'en ai un développeur gratuit, seulement frais de port - 7.50$
Total: 25,51$, mais j'avais déjà les câbles donc c'est moins de 25$ !
Les deux photos montrent les composants avant l'assemblage et le produit final. Les connexions que vous devez faire sont:
Arduino -- SIM800L
10 -- RÉINITIALISATION
GND -- GND (2 d'entre eux)
5v -- 5v
7 -- SIM_TXD
8 -- SIM_RXD
Arduino -- GY-NEO6MV2
GND -- GND
5v -- VCC
3 -- Réception
4 -- Émission
Connectez tous les câbles et antennes et assurez-vous d'alimenter l'Arduino à partir d'une source capable de vous donner des pics de 2A. L'usb de l'ordinateur est à peine correct (j'utilise un MacBook Pro), un chargeur de téléphone "aléatoire" ne suffira pas. La plupart des prises USB des voitures sont également inférieures à 1A. Si tel est votre cas, vous avez également besoin d'une alimentation 12v voiture 5v avec au moins 2A.
Insérez la carte SIM. Si vous utilisez la carte sim Hologram.io, assurez-vous de vous inscrire sur leur tableau de bord et d'activer la carte sim (cela prend quelques minutes/heures).
Étape 2: Le logiciel (programme Arduino)
Je vais supposer que vous êtes familier avec la programmation Arduino. Sinon, veuillez commencer par ce guide: sur Instructables.
Vous n'avez besoin que d'une bibliothèque externe, j'ai dû l'installer manuellement. Allez ici: TinyGPS, exportez la bibliothèque et installez-la dans votre dossier Arduino local.
À partir de là, nous allons "voler" du code de leur exemple de base et le modifier à nos fins.
Nous allons ensuite "voler" ce guide et modifier à nouveau le code à nos fins.
Le résultat est le programme.ino ci-joint.
Il y a plusieurs choses que vous pouvez et DEVEZ modifier:
la définition " SECONDS " et la définition " SERVER ".
J'ai défini SECONDS sur 10 et voici pourquoi: le programme développeur Hologram.io vous offre 1 Mo de données gratuites par mois. Ce qui signifie que nous voulons minimiser les octets envoyés, mais nous devons également mettre à jour notre position aussi souvent. Nous allons utiliser des commandes de modem AT standard pour envoyer des paquets UDP à notre serveur recevant les messages, avec lat/lon, chacun utilisant 4 octets, et une vitesse utilisant 1 octet. Ainsi, la mise à jour totale du GPS est de 20 octets (en-tête IP) plus 8 octets (en-tête UDP) plus 9 octets (charge utile). C'est 37 octets. En supposant que ma voiture ne soit pas active plus de 2 heures par jour, je peux me permettre une mise à jour toutes les 10 secondes et ne consomme que 806 Ko par mois (31 jours). Cela me donne 218 Ko pour le temps de conduite sur le mien, c'est-à-dire le voleur de voiture. Ce qui me donne 16,76 heures de surveillance GPS en dehors de mon temps de conduite, avec une mise à jour toutes les 10 secondes.
Maintenant, ces paquets UDP doivent aller quelque part. J'utilise un serveur Ubuntu hébergé sur un cloud CloudAtCost, que j'ai acheté pour 8$ avec une remise de 80%, et qui me sert à d'autres fins, n'entre donc pas dans les calculs de coûts. Si vous ne voulez pas payer pour un serveur, vous pouvez obtenir une instance Amazon AWS gratuite pendant 12 mois et installer Ubuntu dessus. Une fois que vous avez configuré votre serveur (voir étape suivante), obtenez son adresse IP statique et placez-la à côté de la définition du SERVEUR.
Étape 3: Plus de logiciels (réception côté serveur des emplacements GPS)
CloudAtCost et Amazon sont livrés avec une image Ubuntu préconfigurée (CloudAtCost est à Ubuntu 14.04). Je ne vais donc pas suivre les étapes d'installation d'Ubuntu, car vous n'aurez pas à le faire. Si vous utilisez CloudAtCost, vous souhaiterez peut-être passer à Ubuntu 16.04, cela se fait avec un
sudo apt-get update && sudo apt-get upgrade && sudo apt-get dist-upgrade
Ensuite, vous devez installer LAMP (reportez-vous à ce guide: ici), bien que nous n'allions pas utiliser PHP.
Installer Python avec
sudo apt-get install python-minimal pip
Ajoutez ensuite quelques modules:
pip install --user urllib3 demandes
Nous devons définir /var/www accessible en écriture par vous, alors faisons:
sudo adduser YOUR_USER www-datasudo chown -R www-data:www-data /var/www
sudo chmod -R g+rwX /var/www
Maintenant, nous avons besoin d'un "serveur" pour i) recevoir les paquets UDP, ii) construire la piste, iii) envoyer une notification à notre téléphone portable, et un "serveur" pour servir la piste gps créée (ce sera apache).
Pour le premier serveur, copiez le code python joint. Vous devez configurer les éléments suivants:
iftttuser="VOTRE UTILISATEUR IFTTT"
iftttpass="VOTRE MOT DE PASSE IFTTT"
iftttappletid="VOTRE APPLET DE NOTIFICATION IFTTT"
iftttkey="VOTRE CLÉ IFTTT"
iftttevent="VOTRE EVENEMENT IFTTT"
Comme vous l'avez peut-être deviné, nous utilisons IFTTT pour serveur des notifications en temps réel sur nos téléphones mobiles. Suivez ce guide: ici mais au lieu de sélectionner « m'envoyer un sms », sélectionnez « envoyer une notification d'application ». Obtenez votre identifiant d'applet (faites défiler en bas de la configuration de l'applet pour le voir) et utilisez-le ci-dessus. Utilisez également la clé ainsi créée dans les paramètres ci-dessus. L'événement IFTTT est le nom que vous avez donné à votre applet, je lui ai donné "carmoving".
Maintenant, il n'y a pas de véritables plates-formes de notifications en temps réel gratuites, AFAIK. Si vous en connaissez un, faites le moi savoir. IFTTT a un retard. Ce délai peut être réduit à quelques secondes si vous utilisez le déclencheur d'e-mail. Malheureusement, ce n'est pas fiable. Le webhook qui vient d'être créé a un délai de 15 minutes. Mais nous ne voulons pas attendre 15 minutes pour savoir que notre voiture est volée, non ? C'est le mot de passe qui vous demande de configurer tous les paramètres ci-dessus. Si vous faites défiler le code python, vous voyez qu'il y a quelques lignes, à savoir 45-53, pour automatiser la fonctionnalité "vérifier maintenant" d'IFTTT, qui force une vérification soudaine des déclencheurs, et déclenche la notification en moins d'1 seconde ! De rien:)
Une fois que vous avez configuré votre code python quelque part, exécutez-le simplement. Si vous êtes un utilisateur professionnel, faites-le démarrer au démarrage du serveur. Reportez-vous aux tonnes de guides gratuits en ligne sur la façon de le faire, par exemple celui-ci.
Étape 4: Encore plus de logiciels (l'application mobile)
Nous avons besoin d'un moyen simple et rapide de visualiser simplement la trace GPS que le serveur de l'étape précédente maintient à jour. Peut-être que cela doit fonctionner sur toutes sortes de smartphones.
Utilisons ensuite une suite d'applications mobiles multiplateformes, comme Ionic/Cordova. J'utilise Ionic v1, ne le confondez pas avec Ionic Native, ou Ionic v2, c'est une chose différente.
Suivez ces étapes très simples pour démarrer votre premier projet dans Ionic: ici.
Ensuite, vous devez démarrer un nouveau projet basé sur le SDK de Google Maps, comme ceci:
cartes myapp de démarrage ionique
Allez dans le dossier « ressources » et copiez la grande image de la voiture ici sous le nom « icon-p.webp
Utilisez les fichiers index.html attachés (renommer index.html.txt en index.html), directives.js et controllers.js, et placez-les dans www (index.html), www/js (tous les js).
ajoutez votre plateforme comme ceci:
ionique ajouter plate-forme android
construire comme ceci:
Android de construction ionique
alors ionic vous dira où il a construit votre.apk que vous pouvez installer sur votre téléphone mobile.
Pour créer pour iOS, vous aurez besoin d'un Mac et de Xcode. ionic peut ensuite enregistrer un projet Xcode, que vous pouvez ouvrir dans Xcode et créer pour votre téléphone. Si vous n'avez pas de compte de développeur iOS, vous devrez alors attacher votre téléphone à Xcode et configurer votre téléphone pour le développement afin de pouvoir y installer l'application. C'est en dehors de la portée de cette instructable.
Dans les différents fichiers js, vous devrez retrouver les lignes correspondant à "car2.png" et "start.png" et les modifier avec le chemin de vos images. Idem pour "plan.json".
C'est ça!!
Étape 5: Travaux futurs
1) J'ai tout mis dans une boîte en carton que je peux cacher n'importe où près de la prise USB. La meilleure chose à faire serait de monter un meilleur boîtier sous le capot de la voiture, avec un convertisseur 12v->5v.
2) Avec un capteur Bluetooth, vous pouvez réellement "détecter" si vous êtes dans la voiture, de sorte que le système GPS ne s'allume pas.
3) Il suffit de payer pour un forfait de données sim et de régler SECONDS sur 1 pour profiter d'un suivi en temps super réel:)
J'espère que vous avez apprécié ce premier instructable du mien !
Conseillé:
Prenez de superbes photos avec un iPhone : 9 étapes (avec photos)
Prenez de superbes photos avec un iPhone : la plupart d'entre nous ont un smartphone partout avec nous ces jours-ci, il est donc important de savoir comment utiliser l'appareil photo de votre smartphone pour prendre de superbes photos ! Je n'ai un smartphone que depuis quelques années et j'aime avoir un appareil photo décent pour documenter les choses que je
Capteur météo compact avec liaison de données GPRS (carte SIM) : 4 étapes
Capteur météorologique compact avec liaison de données GPRS (carte SIM): Résumé du projetIl s'agit d'un capteur météorologique alimenté par batterie basé sur un capteur de température/pression/humidité BME280 et un MCU ATMega328P. Il fonctionne avec deux piles lithium thionyl AA de 3,6 V. Il a une consommation de sommeil ultra-faible de 6 µA. Il envoie des données
Tutoriel du module GPS et GPRS A9G - Ai-Penseur - Commandes AT : 7 étapes
Tutoriel du module GPS et GPRS A9G | Ai-Penseur | Commandes AT : Hé, quoi de neuf, les gars ! Akarsh ici de CETech. Aujourd'hui, nous allons passer par le module A9G GPS, GSM et GPRS d'AI Thinker. Il existe également plusieurs autres modules tels que A9 et A6 d'AI Thinker qui ont des capacités GSM et GPRS similaires mais
Caméra e-mail Arduino Security 3G/GPRS avec détection de mouvement : 4 étapes
Caméra e-mail Arduino Security 3G/GPRS avec détection de mouvement : dans ce manuel, je voudrais parler d'une version de la construction d'un système de surveillance de sécurité avec un détecteur de mouvement et de l'envoi de photos à la boîte aux lettres via un bouclier 3G/GPRS. Cet article est basé sur autres consignes : consigne 1 et consigne
Lancez votre diaporama de photos de vacances avec une touche de magie ! : 9 étapes (avec photos)
Lancez votre diaporama de photos de vacances avec une touche de magie ! : Au fil des ans, j'ai pris l'habitude d'emporter une petite figurine avec moi en voyage : j'achète souvent un petit artoy vierge (comme celui sur la photo) et je peins il correspond au drapeau et au thème du pays que je visite (dans ce cas, la Sicile). T