Domotique basée sur Android et Arduino SMS : 5 étapes (avec photos)
Domotique basée sur Android et Arduino SMS : 5 étapes (avec photos)
Anonim
Domotique basée sur les SMS Android et Arduino
Domotique basée sur les SMS Android et Arduino
Domotique basée sur les SMS Android et Arduino
Domotique basée sur les SMS Android et Arduino

! ! ! AVIS ! ! !

En raison de la mise à niveau de la tour de téléphonie mobile locale dans ma région, je ne suis plus en mesure d'utiliser ce module GSM. La nouvelle tour ne prend plus en charge les appareils 2G. Par conséquent, je ne peux plus apporter aucun soutien à ce projet

Récemment, j'ai reçu un module GSM/GPRS Quad Band relativement bon marché avec lequel jouer. C'est un module SIM800L, et communique avec n'importe quel micro via un port série. Il est livré avec une antenne à montage sur panneau.

J'ai décidé de créer un système de contrôleur SMS simple qui utilise des commandes de service de messages courts (SMS) pour contrôler les appareils et indiquer les alarmes.

Étape 1: Commandes SMS

Commandes SMS
Commandes SMS

Comme avec tout système de communication, des commandes spécifiques doivent être envoyées à un périphérique distant pour lui dire quoi faire. De même, l'appareil distant doit répondre ou réagir à ces commandes. Ce projet se compose de deux parties, le contrôleur SMS et un téléphone portable standard.

L'idée était de créer un simple contrôleur SMS avec quatre sorties numériques. En fonction du SMS reçu, l'unité doit pouvoir contrôler les sorties individuelles.

J'ai également décidé d'inclure quatre entrées numériques. Cela peut être utilisé pour indiquer des alarmes ou d'autres informations.

Avant de commencer la construction, j'ai décidé de créer des commandes spécifiques pour des fonctions spécifiques. Ces 'commandes' seront envoyées par SMS depuis un téléphone portable.

Commandes de réception du contrôleur SMS:

o1:1 - activer la sortie 1

o1:0 - désactiver la sortie 1

o1:p - sortie d'impulsion 1 activée, puis désactivée

o2:1 - activer la sortie 2

o2:0 - désactiver la sortie 2

o2:p - sortie d'impulsion 2 activée, puis désactivée

o3:1 - activer la sortie 3

o3:0 - désactiver la sortie 3

o3:p - sortie d'impulsion 3 activée, puis désactivée

o4:1 - activer la sortie 4

o4:0 - désactiver la sortie 4

o4:p - sortie d'impulsion 4 activée, puis désactivée

???? - Demander l'état des entrées et des sorties

#### - Réinitialiser le système

Pour les commentaires, le contrôleur SMS doit répondre aux commandes reçues et répondre par SMS. J'ai décidé que ce SMS de réponse devrait inclure l'état de toutes les broches d'E/S.

Commandes de réponse du contrôleur SMS:

i1:x i2:x i3:x i4:x o1:x o2:x o3:x o4:x

où x est l'état des E/S, 1 pour On, 0 pour Off.

Étape 2: Construire le contrôleur SMS

Construire le contrôleur SMS
Construire le contrôleur SMS
Construire le contrôleur SMS
Construire le contrôleur SMS
Construire le contrôleur SMS
Construire le contrôleur SMS

Matériel nécessaire:

Tout Arduino ou ATMEGA328p autonome sur une maquette

Module SIM800L GSM/GPRS avec une carte SIM capable d'envoyer et de recevoir des SMS

Convertisseur DC/DC abaisseur

REMARQUE !

Le convertisseur DC/DC est nécessaire pour alimenter le module SIM800L. Ce module fonctionne entre 3,7V et 5V, selon la version que vous possédez. Ce module nécessite également une alimentation pouvant délivrer jusqu'à 2A lorsque le module transmet des données. Il ne peut pas être alimenté directement depuis l'Arduino Uno !

Le circuit est assez simple. Je l'ai assemblé et testé sur une maquette.

L'alimentation du circuit se fait via le convertisseur DC/DC, avec la tension de sortie réglée sur 4,5V. Il y a quatre LED pour simuler les sorties numériques et quatre boutons pour les entrées numériques. Le SIM800L est connecté aux broches Rx/Tx de l'ATMEGA328p.

Une 5ème LED est utilisée pour indiquer quand le système est occupé à envoyer un SMS.

Étape 3: Programmation de l'ATMEGA328p

Programmation de l'ATMEGA328p
Programmation de l'ATMEGA328p
Programmation de l'ATMEGA328p
Programmation de l'ATMEGA328p

Avant la programmation, ouvrez le fichier INO et modifiez le numéro de téléphone. Remplacez xxxxxxxxxx par votre propre numéro de téléphone cellulaire à la ligne 46. Recompilez et téléchargez le fichier.

Lisez également les instructions sur la façon de configurer le port série du logiciel dans le fichier INO.

//=============================================================================//

// ! ! ! REMARQUE ! ! !

// ================

//

// TAMPON DANS LA BIBLIOTHÈQUE SÉRIE LOGICIELLE À CHANGER EN 200

//

// Pour utiliser Software Serial, l'utilisateur doit également modifier le Software Serial BUFFER en 200.

// Ceci doit être édité dans le fichier suivant:

//

// C:/Program Files/Arduino x.x.x/Hardware/Arduino/AVR/Libraries/SoftwareSerial/src/SoftWareSerial.h

//

// Changer le tampon comme ci-dessous:

//

// #ifndef _SS_MAX_RX_BUFF

// #définir _SS_MAX_RX_BUFF 200

// Taille du tampon RX

// #fin si

//

//=============================================================================

Reportez-vous à cette instructable pour programmer l'ATMEGA328p sur la maquette à l'aide d'un Arduino UNO.

www.instructables.com/id/Arduino-UNO-as-AtM…

Étape 4: Utilisation du contrôleur SMS

Utilisation du contrôleur SMS
Utilisation du contrôleur SMS

Utilisation du contrôleur SMS

Le contrôleur SMS enverra automatiquement un SMS à votre téléphone si l'une des quatre entrées est déclenchée. Les détails du déclencheur seront contenus dans le texte du SMS.

Les messages SMS et les commandes peuvent être modifiés selon vos besoins dans le fichier INO.

Test des sorties du contrôleur SMS

Depuis votre téléphone portable, envoyez les commandes suivantes à votre numéro de carte SIM SIM800L:

o1:1, cela activera la sortie 1.

Sur votre téléphone, vous recevrez le SMS suivant:

i1:0 i2:0 i3:0 i4:0 o1:1 o2:0 03:0 o4:0

01:0, cela désactivera la sortie 1.

Sur votre téléphone, vous recevrez le SMS suivant:

i1:0 i2:0 i3:0 i4:0 o1:0 o2:0 03:0 o4:0

01:p, cela activera la sortie 1 pendant 1 seconde, puis désactivera à nouveau la sortie 1 (pulsée).

Sur votre téléphone, vous recevrez le SMS suivant:

i1:0 i2:0 i3:0 i4:0 o1:0 o2:0 03:0 o4:0

Test des entrées du contrôleur SMS

Sur le SMS Controller, appuyez brièvement sur le bouton 1

Sur votre téléphone, vous recevrez automatiquement le SMS suivant:

i1:1 i2:0 i3:0 i4:0 o1:0 o2:0 03:0 o4:0

Sur le SMS Controller, appuyez brièvement sur le bouton 2

Sur votre téléphone, vous recevrez automatiquement le SMS suivant:

i1:1 i2:1 i3:0 i4:0 o1:0 o2:0 03:0 o4:0

Sur le SMS Controller, appuyez brièvement sur le bouton 3

Sur votre téléphone, vous recevrez automatiquement le SMS suivant:

i1:1 i2:1i3:1 i4:0 o1:0 o2:0 03:0 o4:0

Comme on peut le voir sur le SMS reçu, les sorties changent en fonction des commandes reçues. Cependant, les entrées ne passent pas de 1 à 0 après avoir appuyé sur les boutons. Parce que je voulais pouvoir voir tout changement sur les entrées, j'ai décidé de sceller l'état de l'entrée jusqu'à ce qu'une commande de réinitialisation soit envoyée au contrôleur SMS.

Réinitialiser les alarmes

Pour réinitialiser l'état de l'entrée, envoyez la commande suivante:

####, cela réinitialisera l'état de l'entrée.

Sur votre téléphone, vous recevrez le SMS suivant:

i1:0 i2:0 i3:0 i4:0 o1:0 o2:0 03:0 o4:0

Mises à jour de statut

Vous pouvez également demander le statut à tout moment en envoyant la commande suivante:

????, cela demandera une mise à jour de l'état des E/S.

Sur votre téléphone, vous recevrez le SMS suivant:

i1:x i2:x i3:x i4:x o1:x o2:x 03:x o4:x

où x indique l'état, 1 pour activé, 0 pour désactivé.

Étape 5: Application Android

Application Android
Application Android
Application Android
Application Android
Application Android
Application Android

En utilisant MIT App Inventor 2 (https://ai2.appinventor.mit.edu/), j'ai créé une interface utilisateur simple pour mon téléphone portable Android. Cette application vous permet de personnaliser la description de chaque E/S. Il permet également la saisie du numéro de téléphone.

Les quatre boutons sont utilisés pour contrôler les sorties, tandis que les cases à cocher indiquent l'état de l'entrée.

Pour modifier l'application, créez un compte MIT App Inventor 2 et importez le fichier AIA.

Pour installer l'application sur votre téléphone, copiez le fichier APK sur votre téléphone et installez-le. Vous devrez activer l'installation d'applications à partir de « Sources inconnues » dans les paramètres de sécurité de votre téléphone.