Table des matières:

Système antivol complet GPS + GPRS pour véhicule basé sur Arduino : 5 étapes (avec photos)
Système antivol complet GPS + GPRS pour véhicule basé sur Arduino : 5 étapes (avec photos)

Vidéo: Système antivol complet GPS + GPRS pour véhicule basé sur Arduino : 5 étapes (avec photos)

Vidéo: Système antivol complet GPS + GPRS pour véhicule basé sur Arduino : 5 étapes (avec photos)
Vidéo: Android SMS App Based Device Switching using Arduino 2024, Novembre
Anonim
Image
Image
Le matériel
Le matériel

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

Le matériel
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)

Le logiciel (programme Arduino)
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)

Encore plus de logiciels (l'application mobile)
Encore plus de logiciels (l'application mobile)
Encore plus de logiciels (l'application mobile)
Encore plus de logiciels (l'application mobile)
Encore plus de logiciels (l'application mobile)
Encore plus de logiciels (l'application mobile)
Encore plus de logiciels (l'application mobile)
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é: