Come configurare smartphone e PC. Portale informativo
  • casa
  • notizia
  • Invio SMS tramite Arduino e modulo GSM NEOWAY M590.

Invio SMS tramite Arduino e modulo GSM NEOWAY M590.

Voglio presentarti un modo molto semplice per controllare l'alimentazione da remoto.
Utilizzeremo prese radiocomandate già pronte, quindi non dovremo saldare nulla. Questo è molto bello, perché è meglio lasciare 220V (per i principianti) da soli.

Il codice

Se non stai usando GSMSHIELD, ma qualche altra libreria, il codice ovviamente sarà diverso, ma il principio sarà lo stesso. A determinati intervalli di tempo, controlliamo se abbiamo SMS non letti, li analizziamo e se un comando valido proviene da un numero autorizzato, quindi inviamo un segnale radio utilizzando le funzioni mySwitch.switchOff o mySwitch.switchOn, passando loro l'indirizzo della presa.
ca. Nel mio caso, per lo shield Seeedstudio, ho dovuto accedere a GSM.cpp e modificare i pin impostati su 7 e 8./ * Codice di esempio interruttore GSM Arduino Accendere/spegnere prese radiocomandate Autore: Vladislav Ross, 2014 Contatto: [e-mail protetta] Devi scaricare: 1. rc-switch https://code.google.com/p/rc-switch/ 2. GSMSHIELD http://www.gsmlib.org/ Per GSMSHIELD: * Per cambiare i pin per Software Serial, utilizzare le due linee in GSM.cpp. * Se stai usando Mega, decommenta la riga "#define MEGA" in HWSerial.h * Puoi abilitare i messaggi di debug sulla porta seriale definendo DEBUG_ON * / #include "SIM900.h" #include #include "sms.h" #include "call.h" #include // pin trasmettitore 433MHz const byte RCpin = 12; char groupAddress = "11111"; char smsLetters = "ABC"; char * deviceAddresses = ("10000", // A "01000", // B "00100" // C); char adminNumber = "+74991356235"; // il tuo numero di telefono ChiamaChiamata GSM; SMSGSMsms; RCSwitch mySwitch = RCSwitch (); numero di caratteri; byte statistica = 0; char smsText; posizione del byte; int deviceLetterIdx = -1; byte i, j; void setup() (gsm.begin (2400); delay (10000); for (i = 1; i<= 21; i++) { sms.DeleteSMS(i); } mySwitch.enableTransmit(RCpin); }; void loop() { //hang up all incoming calls /*stat=call.CallStatus(); if(stat==CALL_INCOM_VOICE) { call.HangUp(); }*/ position = sms.IsSMSPresent(SMS_UNREAD); //get new SMS if (position) { sms.GetSMS(position, number, smsText, 10); sms.DeleteSMS(position); if(strcmp(number, adminNumber) == 0) //accept SMS only from defined number { for (i = 0; i < sizeof(smsText) - 1; i++) { if(deviceLetterIdx != -1) { //got letter, now expecting 0 or 1 if(smsText[i] == "0") { mySwitch.switchOff(groupAddress, deviceAddresses); delay(500); } if(smsText[i] == "1") { mySwitch.switchOn(groupAddress, deviceAddresses); delay(500); } deviceLetterIdx = -1; } else { //waiting for letter A,B,C... for(j = 0; j < sizeof(smsLetters) - 1; j++) { if(smsLetters[j] == smsText[i]) { deviceLetterIdx = j; break; } } } } } } delay(10000); }; GitHub .

I problemi?

Se le prese non vogliono passare a nessuna, puoi provare a ricevere un segnale dal tuo telecomando al ricevitore. C'è un codice di esempio in rc-switch.

Qual è il prossimo?

Come può essere ulteriormente sviluppato questo progetto:
Innanzitutto, abbiamo ancora un mucchio di pin rimasti sull'Arduino stesso e sullo shield GSM. È possibile collegare ad essi alcuni sensori o dispositivi. Ad esempio, fai il monitoraggio remoto della temperatura o innaffia i fiori.
In secondo luogo, abbiamo utilizzato solo SMS e il modulo può ancora trasmettere voce e GPRS. Il GPRS può trasferire molti più dati. Inoltre, non puoi riagganciare il telefono quando chiami, ma, ad esempio, rispondere a una chiamata e farti ascoltare cosa sta succedendo sul posto.
È anche possibile che tu voglia ricevere SMS di controllo non da un numero, ma da più. In questo caso, consiglierei di memorizzare i numeri nella rubrica, in libreria ci sono funzioni corrispondenti.

Un articolo per chi vuole obbligare Arduino a inviare SMS tramite questo Modulo GSM ... Il modulo NEOWAY M590 basato sul chip SIM900 è adatto per creare un allarme fatto in casa, una casa intelligente. Esiste anche un modulo GSM alternativo che si collega direttamente ad Arduino tramite 5 Volt: Sim800L EVB v2.0

Formulazione del problema

  • Utilizzando solo Arduino e modulo GSM, controlla il LED tramite una telefonata.
  • Invia SMS (mentre tramite il comando proveniente dal monitor della porta all'IDE di Arduino)

Connessione ad Arduino

Colleghiamo il modulo GSM ad Arduino.
Modulo 5V -> Arduino 5V
Modulo GND -> GND Arduino
Modulo TX -> digitale pin2 Arduino
Modulo RX -> digitale pin3 Arduino
Puoi vedere il pinout nella foto. L'ordine dei contatti è il seguente: 1 - + 5V, 2 - GND, 7 - TX, 8 - RX.


Puoi alimentare il modulo da 4V a 5V, io ho usato un'uscita a 5 volt.

Il modulo richiede un'alimentazione separata, poiché consuma fino a 2A di picco. Il condensatore molto probabilmente non ti salverà. Pertanto, se alimentato da Arduino, potrebbe non funzionare o presentare errori.

La massa di Arduino e del modulo GSM devono essere collegate con alimentazione separata, ma prima è necessario misurare la tensione tra queste "masse" con un multimetro. Alcuni alimentatori per computer hanno una caduta di tensione fino a 100 V attraverso lo chassis USB e la messa a terra. La corrente è scarsa e non può uccidere, ma è facile distruggere l'Arduino o il modulo GSM, o entrambi.

Schizzo

#includere< SoftwareSerial... h> SoftwareSerial mySerial (2, 3); // RX, TX int ch = 0; led int = 13; Stringa val = ""; configurazione nulla () (
ritardo (2000); // tempo per inizializzare il modulo pinMode (led, OUTPUT); digitalWrite (led, LOW); Seriale... iniziare (9600); // velocità della porta Seriale... println ("Tester GSM v1.0"); mioSerial. iniziare (9600); mioSerial. println ("AT + CLIP = 1"); // attiva il ritardo AON (100); mioSerial. println ("AT + CMGF = 1"); // Modalità di codifica SMS - normale (per l'inglese) ritardo (100); mioSerial. println ("AT + CSCS = \" GSM \ ""); // modalità di codifica del testo ritardo (100); ) void loop() (if (mySerial. available()) ( // se il modulo GSM ci ha inviato qualcosa, allora mentre (mySerial. disponibile ()) ( // salva la stringa di input nella variabile val ch = mySerial. leggere (); val + = carattere (ch); ritardo (10); ) if (val. indexOf ("RING")> - 1) ( // se viene trovata una chiamata, controlla il numero if (val. indexOf ("71234567890")> - 1) ( // se il numero del chiamante è il nostro. Inserisci il tuo numero senza "+" Seriale... println ( "--- RILEVATO SQUILLO PRINCIPALE ---"); mioSerial. println ("ATH0"); // interrompe la connessione digitalWrite (led, HIGH); // accendi il LED per 3 sec ritardo (3000); digitalWrite (led, LOW); // spengo il relè)) else Seriale... println (val); // stampa la riga ricevuta sul monitor della porta val = ""; ) Se ( Seriale... a disposizione ()) ( // se viene inserito qualcosa nel monitor della porta mentre ( Seriale... a disposizione ()) ( // salva la stringa nella variabile val ch = Seriale... leggere (); val + = carattere (ch); ritardo (10); ) //mySerial.println(val); // trasferimento di tutti i comandi digitati nel monitor della porta al modulo GSM if (val. indexOf ("sendsms")> - 1) ( // se hai visto il comando per inviare SMS sms (String ("ciao mondo"), String ("+71234567890")); // invia SMS al numero +71234567890) val = ""; // chiaro)) void sms (stringa di testo, stringa di telefono) // procedura per l'invio di SMS { Seriale... println ("Invio SMS avviato"); mioSerial. println ("AT + CMGS = \" "+ telefono +" \ ""); ritardo (500); mioSerial. stampa (testo); ritardo (500); mioSerial. stampa ((carattere) 26); ritardo (500); Seriale... println ("Invio SMS completato"); ritardo (2000); )

Visita medica


GPRS

Nella versione considerata del modulo 1.30, il supporto GPRS è ridotto. Non sono riuscito a connettermi al server tramite il suo nome DNS (ad esempio mysite.ru), è risultato solo tramite l'indirizzo IP. Non ci sono stati tali problemi in un altro modulo SIM800L.

Elenco di alcuni comandi AT:

Nell'ultimo decennio, i furti d'auto hanno occupato uno dei posti più importanti nella struttura dei crimini commessi nel mondo. Ciò è dovuto non tanto al peso specifico di questa categoria di furto rispetto al numero totale dei reati, quanto alla significatività dei danni provocati dall'alto costo delle autovetture. La scarsa efficacia delle misure adottate in materia di contrasto ai furti di autoveicoli ha portato alla fine degli anni '90 alla creazione di gruppi stabili specializzati nella commissione di tali reati e aventi i tratti distintivi della criminalità organizzata; probabilmente hai sentito il termine "business automobilistico nero". Nel parcheggio dei paesi europei manca ogni anno ≈ 2% delle auto che diventano oggetto di usurpazione criminale. Pertanto, ho avuto l'idea di creare un allarme gsm per la mia auto basato su Arduino Uno.

Iniziamo!

Cosa raccoglieremo

Dobbiamo scegliere il cuore del nostro sistema. A mio parere, non c'è niente di meglio per tale segnalazione di Arduino Uno. Il criterio principale è un numero sufficiente di pin e un prezzo.


Caratteristiche principali di Arduino Uno

Microcontrollore - ATmega328
Tensione di lavoro - 5 V
Tensione di ingresso (consigliata) - 7-12 V
Tensione di ingresso (limite) - 6-20 V
Ingressi/Uscite Digitali - 14 (di cui 6 utilizzabili come uscite PWM)
Ingressi Analogici - 6
Corrente CC attraverso ingresso/uscita - 40 mA
Corrente CC per pin 3,3 V - 50 mA
Memoria flash - 32 KB (ATmega328) di cui 0,5 KB utilizzati per il bootloader
RAM - 2 KB (ATmega328)
EEPROM - 1KB (ATmega328)
Frequenza di clock - 16 MHz


Si adatta!

Ora devi selezionare un modulo gsm, perché il nostro sistema di allarme dovrebbe essere in grado di avvisare il proprietario dell'auto. Quindi, devi cercare su Google ... Ecco, un sensore eccellente - SIM800L, la dimensione è semplicemente meravigliosa.


L'ho pensato e ordinato dalla Cina. Tuttavia, tutto si è rivelato non così roseo. Il sensore si è semplicemente rifiutato di registrare la carta SIM sulla rete. Tutto ciò che era possibile è stato provato: il risultato è stato zero.
C'erano persone gentili che mi hanno fornito una cosa più interessante: Sim900 Shield. Questa è già una cosa seria. Lo Shield ha un microfono e un jack per cuffie, un telefono a tutti gli effetti.


Caratteristiche principali di Sim900 Scudo

4 standard di frequenza di lavoro 850/900/1800/1900 MHz
GPRS multi-slot classe 10/8
Stazione mobile GPRS classe B
Conforme a GSM fase 2/2 +
Classe 4 (2 W @ 850/900 MHz)
Classe 1 (1 W @ 1800 / 1900 MHz)
Controllato da comandi AT (GSM 07.07, 07.05 e comandi AT estesi SIMCOM)
Basso consumo energetico: 1,5 mA (modalità di sospensione)
Intervallo di temperatura di esercizio: da -40 ° C a +85 ° C


Si adatta!

Ok, ma devi prendere le letture da alcuni sensori per avvisare il proprietario. Improvvisamente l'auto viene evacuata, quindi la posizione dell'auto cambierà ovviamente nello spazio. Prendiamo un accelerometro e un giroscopio. Bene. Bassotto, ora cerchiamo un sensore.

Penso che la GY-521 MPU6050 si adatterà sicuramente. Si è scoperto che ha anche un sensore di temperatura. Sarebbe necessario usarlo, ci sarà una tale "funzione killer". Supponiamo che il proprietario dell'auto l'abbia messa sotto casa e se ne sia andato. La temperatura all'interno dell'auto cambierà "senza intoppi". Cosa succede se un intruso cerca di entrare in un'auto? Ad esempio, sarà in grado di aprire la porta. La temperatura nell'auto inizierà a cambiare rapidamente, poiché l'aria nell'abitacolo inizia a mescolarsi con l'aria ambiente. Penso che funzionerà.


Caratteristiche principali di GY-521 MPU6050

Modulo giroscopio a 3 assi + accelerometro a 3 assi GY-521 sul chip MPU-6050. Consente di determinare la posizione e il movimento di un oggetto nello spazio, la velocità angolare durante la rotazione. Ha anche un sensore di temperatura integrato. È utilizzato in vari elicotteri e modelli di aerei, è anche possibile assemblare un sistema di cattura del movimento basato su questi sensori.

Microcircuito - MPU-6050
Tensione di alimentazione - da 3,5 V a 6 V (DC);
Gamma giroscopio - ± 250 500 1000 2000 ° / s
Gamma accelerometro - ± 2 ± 4 ± 8 ± 16 g
Interfaccia di comunicazione - I2C
Dimensioni - 15x20 mm.
Peso - 5 g


Si adatta!

Utile anche un sensore di vibrazione. Improvvisamente, proveranno ad aprire l'auto con "forza bruta", oppure, nel parcheggio, un'altra auto toccherà la tua auto. Prendi il sensore di vibrazione SW-420 (regolabile).


Caratteristiche principali SW-420

Tensione di alimentazione - 3.3 - 5V
Segnale di uscita - digitale alto/basso (normalmente chiuso)
Sensore usato - SW-420
Comparatore utilizzato - LM393
Dimensioni - 32x14mm
Inoltre - C'è un resistore di regolazione.


Si adatta!

Avvitare il modulo della scheda di memoria SD. Scriveremo anche un file di registro.


Principali caratteristiche del modulo della scheda di memoria SD

Il modulo permette di memorizzare, leggere e scrivere sulla scheda SD i dati necessari al funzionamento del dispositivo basato sul microcontrollore. L'uso del dispositivo è rilevante quando si archiviano file da decine di megabyte a due gigabyte. La scheda contiene un contenitore per schede SD, uno stabilizzatore di alimentazione della scheda, una presa per l'interfaccia e linee elettriche. Se hai bisogno di lavorare con suoni, video o altri dati volumetrici, ad esempio, tenere un registro di eventi, dati del sensore o memorizzare informazioni da un server web, il modulo della scheda di memoria SD per Arduino consentirà di utilizzare una scheda SD per questi scopi. Utilizzando il modulo, puoi studiare le caratteristiche della scheda SD.
Tensione di alimentazione - 5 o 3,3 V
Capacità di memoria della scheda SD - fino a 2 GB
Dimensioni: 46 x 30 mm


Si adatta!

E aggiungiamo un servo, quando i sensori vengono attivati, il servo con un videoregistratore si girerà e girerà il video dell'incidente. Prendi il servo MG996R.


Caratteristiche principali del servo MG996R

Protezione stabile e affidabile contro i danni
- Azionamento in metallo
- Cuscinetto a due corone di sfere
- Lunghezza filo 300 mm
- Dimensioni 40x19x43mm
- Massa 55 gr
- Angolo di rotazione: 120 gradi.
- Velocità di lavoro: 0,17 sec / 60 gradi (4,8 V senza carico)
- Velocità di lavoro: 0,13 sec / 60 gradi (6V senza carico)
- Coppia di spunto: 9,4 kg / cm con alimentazione a 4,8 V
- Coppia di spunto: 11kg/cm con alimentazione 6V
- Tensione di lavoro: 4.8 - 7.2V
- Tutte le parti della trasmissione sono in metallo


Si adatta!

noi raccogliamo

Ci sono molti articoli sul collegamento di ciascun sensore in Google. E non ho voglia di inventare nuove biciclette, quindi lascerò collegamenti a opzioni semplici e funzionanti.

Puoi anche inviare messaggi SMS, tutto ciò di cui hai bisogno è uno speciale modulo Arduino GSM / GPRS SIM900. Questa scheda di espansione si adatta alle comuni schede Arduino UNO, MEGA e Leonardo. Con il suo aiuto, puoi realizzare una serie di progetti diversi utilizzando Internet GPRS o l'accesso alla rete GSM. Funzionerà ovunque ci sia una rete mobile. Utilizzando questo modulo, puoi realizzare un sistema di allarme GSM che, insieme a un sistema di videosorveglianza, fornirà un'eccellente protezione per la tua casa.

Il modulo permette di utilizzare reti degli standard GSM 850, GSM 900, GSM 1800, GSM 1900 e supporta il protocollo TCP con accesso alla rete GPRS.

Arduino GSM il modulo SIM900 può essere utilizzato anche per effettuare chiamate, puoi sia ricevere chiamate che effettuarle. Per fare ciò, la scheda dispone di appositi connettori per il collegamento di un microfono e di un altoparlante, inoltre è possibile collegare il modulo a un computer e inviare e ricevere dati direttamente dal PC. Ad esempio, puoi inviare mailing di massa agli abbonati registrati su una sim card in modalità automatica.

Caratteristiche di connessione della scheda GSM alle schede Arduino Leonardo e Arduino Mega

La scheda di estensione GSM funziona direttamente con Arduino grazie alla libreria Software Serial. Con le impostazioni standard vengono collegati i pin digitali N. 2 e N. 3 per far interagire il modem con Arduino. Queste impostazioni sono adatte per Arduino Uno, ma per il corretto funzionamento dello shield su Arduino Leonardo o Arduino Mega, è è necessario apportare correzioni.

Il pin GSM_TX, chiamato anche pin #2 sulla scheda di espansione, invia le informazioni ad Arduino. Per sapere esattamente in quale momento è necessario leggere le informazioni, Arduino utilizza un meccanismo di interruzione: quando il livello del segnale digitale cambia, in questo pin si verifica un'interruzione corrispondente. Tuttavia, in Arduino Leonardo e Arduino Mega il pin #2 non supporta gli interrupt.

Affinché lo shield funzioni normalmente su Arduino Mega o Leonardo, non è affatto necessario modificare il codice del programma, la libreria stessa modifica il numero del pin RX dell'Arduino quando si seleziona il modello corretto nel menu "Strumenti" dell'ambiente di sviluppo.

Arduino Leonardo


Per un corretto funzionamento con Leonardo, la libreria GSM utilizza il pin digitale n. 8. Per fare ciò, sulla scheda di espansione GSM, collegare i pin digitali n. 2 e n. 8 con un conduttore.

Sul retro della scheda GSM, piegare di lato il pin corrispondente al pin #2 in modo che non entri in contatto con l'Arduino Leonardo.

Arduino Mega2560


La libreria GSM per i robot corretti con Mega utilizza il pin digitale n. 10. Sulla scheda di espansione GSM, è necessario chiudere i pin digitali n. 2 e n. 10 con un conduttore, come con Arduino Leonardo. Non dimenticare di piegare contemporaneamente dal lato posteriore della scheda GSM verso il pin corrispondente al pin n.2, in modo che non tocchi l'Arduino Mega.

Arduino è una piattaforma hardware utilizzata per creare rapidamente una varietà di dispositivi elettronici, inclusi quelli di sicurezza. Grazie al design semplice, alla semplicità del linguaggio di programmazione e all'uso di codici aperti, anche un non professionista può realizzare autonomamente un allarme multifunzionale per proteggere la propria casa, cottage estivo, appartamento o garage. Il modulo GSM Arduino sarà l'opzione migliore per creare un sistema di sicurezza economico che può essere configurato in modo ottimale per un oggetto specifico.

Area di applicazione

La piattaforma hardware Arduino è ampiamente utilizzata nel processo di creazione di vari sistemi e dispositivi elettronici in grado di ricevere ed elaborare segnali da sensori e sensori analogici o digitali variamente funzionali. I risultati dell'elaborazione dei segnali ricevuti possono essere utilizzati per controllare attuatori e sistemi esterni collegati ad Arduino.

Un esempio di utilizzo di questi moduli nel video:

Appuntamento

La piattaforma hardware Arduino permette di interagire efficacemente con l'ambiente controllato attraverso un'ampia gamma di sensori funzionali in grado di monitorare vari parametri. Grazie a ciò, sulla base di tali piattaforme, è possibile formare complessi di sicurezza che monitoreranno i movimenti lungo il perimetro protetto, l'apertura di finestre e porte e i danni ai vetri. Oltre ai sensori di sicurezza, possono essere utilizzati anche sensori di temperatura, sensori di controllo perdite di acqua o gas.

Utilizzando il modulo GSM Arduino con la piattaforma, le informazioni su un pericolo o una situazione di emergenza presso la struttura possono essere consegnate al proprietario il più rapidamente possibile. A tale scopo viene utilizzata una delle reti degli operatori mobili.

Una caratteristica distintiva dei dispositivi Arduino è che il loro microcontrollore può essere programmato dall'utente utilizzando il linguaggio Arduino basato su Wiring. Grazie a questo, chiunque può programmare l'algoritmo per il funzionamento dell'antifurto creato secondo le esigenze di uno specifico oggetto protetto e le peculiarità della sua applicazione.

Vantaggi dell'utilizzo

Oggi esistono molte piattaforme hardware e microcontrollori in grado di ricevere informazioni da sensori esterni, elaborarle e inviare segnali di controllo a sistemi esecutivi. La piattaforma Arduino semplifica il più possibile l'implementazione dei processi elencati e presenta un'ampia gamma di vantaggi rispetto ad altri dispositivi di questo tipo.

  1. A basso costo. Le piattaforme sono dispositivi abbastanza economici rispetto alle loro controparti, il che non pregiudica in alcun modo la loro funzionalità.
  2. Multipiattaforma. Il software Arduino funziona efficacemente su piattaforme operative come Windows, Linux, Macintosh-OSX.
  3. Facilità di programmazione. Per configurare i microcontrollori, viene utilizzato l'ambiente di programmazione Processing. È ideale sia per gli utenti professionali che per quelli inesperti che lavorano con i dispositivi Arduino.
  4. Aggiornabilità. Il software specializzato Arduino è open source, che consente agli utenti esperti di adattarlo a requisiti specifici.

Alta affidabilità della piattaforma hardware. Le schede Arduino sono disponibili con microcontrollori ATMEGA8 e ATMEGA168 (modelli precedenti) e con controller ATmega32u4, Atmel ATmega328 (modelli più recenti), che sono altamente funzionali e affidabili.

Principio di funzionamento

Per garantire il funzionamento completo di sistemi di sicurezza o altri dispositivi realizzati utilizzando piattaforme Arduino, è necessario disporre di un modulo GSM per Arduino. Può essere utilizzato per accedere a Internet, effettuare chiamate vocali o inviare messaggi SMS.

La scheda GSM utilizza uno speciale radiomodem M10, la cui interazione è assicurata da appositi comandi AT. Lo scambio di informazioni con il modem è implementato utilizzando un'interfaccia seriale software che possiede codici digitali.

Il modem GSM utilizzato in Arduino è un modem a 4 bande che può operare sulle seguenti frequenze: GSM 850MHz e 900MHz, PCS1900MHz e DCS1800MHz. Il modem supporta protocolli come TCP/UDP e HTTP, che forniscono connessioni tramite GPRS. La velocità di trasmissione dei pacchetti di informazioni in questa modalità sarà di circa 90 kbps.

L'invio di SMS tramite Arduino e modulo GSM è implementato se è installata una scheda SIM di uno degli operatori cellulari. "

Inoltre, sarà possibile trasmettere messaggi vocali, effettuare chiamate: ciò richiede un microfono aggiuntivo e un altoparlante esterno. L'installazione di una scheda SIM consentirà di utilizzare Arduino in modalità cellulare o GPRS.

Come collegare i moduli ad arduino

Prima di collegare il modulo GSM ad Arduino, è necessario installare nel suo slot una scheda SIM adatta di uno degli operatori di telefonia mobile. Successivamente, il modulo viene collegato alla piattaforma hardware Arduino secondo le istruzioni e viene eseguito il suo firmware. A tale scopo viene utilizzato un PC, che è collegato al dispositivo tramite un cavo USB. Dopo aver caricato l'ambiente Arduino, premere il pulsante Carica, che avvierà il processo di caricamento del software. Al termine di questo processo, la piattaforma può essere scollegata dal computer e alimentata da un sistema di alimentazione esterno.

Caratteristiche comparative dei moduli GSM

Il mercato consumer ha un'ampia selezione di diversi moduli GSM per Arduino. Di seguito sono elencate le caratteristiche principali di quelli più popolari.

Neoway M590

Il modulo GSM Arduino M590 è un dispositivo di comunicazione wireless utilizzato per ricevere e trasmettere informazioni nelle reti mobili. Il modulo di questa serie è realizzato su una scheda con strapping minimo ed è posizionato come modulo GSM per la piattaforma hardware Arduino.

Utilizzando questo dispositivo, è possibile stabilire una comunicazione mobile con un telefono esterno, inviare messaggi SMS, scambiare informazioni secondo lo standard GPRS Class-10. Il modulo di questo design non ha un ingresso microfono, il che limita la capacità di ricevere comunicazioni vocali: è possibile stabilire una connessione, ma il suono non verrà trasmesso.

L'M590 è controllato da comandi AT tramite comunicazione seriale. Le frequenze da 900 MHz a 1800 MHz vengono utilizzate come frequenze radio di lavoro. La tensione di alimentazione è nell'intervallo 3,3 ... 5 V. Pertanto, il modulo GSM Neoway M590 è collegato ad Arduino tramite uno speciale convertitore di tensione 5 V "3,3 V.

Modulo GSM SIM800L

Il modulo Compact Sim800l GPRS GSM si riferisce ai dispositivi utilizzati per supportare le comunicazioni mobili. Il modulo è costruito sulla meringa SIM-800L, realizzata da SIMCom Wireless Solutions ed è progettato per fornire servizi ai servizi delle reti di informazione GPRS\GSM, utilizzando frequenze da 850 MHz a 1900 MHz. Può essere utilizzato per inviare messaggi SMS, effettuare chiamate e scambiare informazioni tramite i canali GPRS.

Il modulo GSM si completa con un'antenna; se hai bisogno di migliorare il livello del segnale, puoi utilizzare antenne aggiuntive. Per il controllo del modulo si può utilizzare un PC, collegato tramite apposita scheda per la conversione di interfacce USB-UART, oppure direttamente tramite la stessa UART. Se si utilizza il modulo GSM GPRS Sim800l , la connessione ad Arduino deve essere implementata tramite un convertitore di livello logico. Ciò è dovuto al fatto che in SIM800L il valore di tensione a un livello logico alto è 2,8 V e in Arduino - 3,3 ... 5 V.

Scudo GPRS di Seeed Studio

Il collegamento del modulo GSM ad Arduino consentirà di utilizzare le tecnologie di scambio dati GSM/GPRS, nonché di effettuare chiamate e inviare messaggi SMS. I dispositivi di questo tipo sono costruiti utilizzando il modulo SIMCom SIM900. Hanno uno slot per l'installazione di una scheda SIM, un connettore per un'antenna esterna, un set di jack da 3,5 mm per l'ingresso e l'uscita audio. L'Arduino GSM Shield è controllato e gestito tramite connessioni seriali e una serie di comandi AT specializzati.

Questo modulo è una scheda speciale utilizzata per controllare da remoto dispositivi digitali, nonché per scambiare informazioni. L'utilizzo di SIM900 permette ad Arduino di lavorare utilizzando le tecnologie GSM/GPRS, fornendo comunicazione vocale, invio di SMS e scambio dati tramite reti cellulari e mobili.

Per il funzionamento di questo modulo, sono collegati un controller di controllo, una fonte di alimentazione, un'antenna e viene installata anche una scheda SIM di un operatore di telefonia mobile. Tramite appositi jumper si configura la modalità di scambio dati con il controllore. Se necessario, puoi collegare un altoparlante e un microfono.

Principali articoli correlati

AT + CMGF = 1 incl. modalità testo (SMS solo in latino)
AT + CSCS = "GSM" incl. regime
AT + CLIP = 1 abilitare l'identificazione del numero di chiamata in entrata
Se si invia un comando con 0, l'identificazione del numero verrà disabilitata e il modulo invierà solo il messaggio "RING" al posto del numero del chiamante.
AT + CMGS = "+ 79123456789" Invio di SMS
ATI Ottieni informazioni sul dispositivo
AT + DPI = 19200 impostazione della velocità della porta
AT + GSN restituirà l'IMEI del modulo
AT + CCLK? leggi l'ora dal modulo
AT + CCLK = "aa / mm / gg, hh: mm: ss + zz" dove va in ordine "anno/mese/data, ora:minuti:secondi+fuso orario". I dati devono essere inviati con degli zeri iniziali, cioè, ad esempio, se il mese che abbiamo è "4", allora "04" deve essere inviato.
Puoi recuperare l'ora e la data correnti inviando lo stesso comando, solo con il segno "?":
AT + CME = 0 livello di informazione sull'errore. Può essere da 0 a 2.
0 - disabilitato. Scriverà solo ERRORE.
1 - codice di errore. Restituirà un codice di errore numerico.
2 - descrizione dell'errore. Scriverà esattamente cosa non gli piace della squadra.
Per lavorare con il modulo attraverso il terminale, è più conveniente utilizzare le modalità ATV1, ATE1 AT + CMEE = 2, per comunicare con il microcontrollore è meglio usare ATV0, ATE0 e AT + CMEE = 0 - questo lo farà più facile elaborare le risposte ricevute.
Queste impostazioni non vengono salvate dopo il riavvio del modulo, quindi è necessario includere questi comandi nel codice del programma.
AT + CSQ informazioni sulla qualità del segnale.
Il modulo restituirà due numeri + CSQ: 17.0
17 - livello del segnale. Può essere nell'intervallo 0..31 o 99. Più sono e meglio è, ma 99 significa la sua assenza.
0 - tasso di errore di comunicazione (cosiddetto RXQUAL). Può essere compreso tra 0 e 7, più basso è il numero, migliore è la qualità della connessione.
AT + POLIZIOTTI? informazioni sull'operatore nella cui rete è registrato il modulo
ATD + 79121234567; componendo un numero. (";" necessariamente)
Il modulo chiamerà il numero specificato e restituirà una delle opzioni
OCCUPATO - il numero è occupato
NO DIALTONE - nessun segnale sulla linea
NESSUN CARRIER - nessuna rete o altro problema (ad esempio, non ci sono soldi nel conto)
NA RISPOSTA - nessuna risposta
CONNETTI - c'è un contatto!
AT + CMGR = 3.0