1ou2clics - Avenue des Talents SASU

Imaginați-vă un modul GSM mic și ieftin pe care îl veți furniza cu o cartelă SIM și pe care îl puteți gestiona în mai multe moduri pentru a vă realiza automatizarea personalizată.
Haide, doar 2 exemple:
- Când mașina dvs. se deplasează, trimiteți un SMS în fiecare minut conținând coordonatele sale GPS.
- să vă trimită un SMS către PLC pentru a declanșa acțiuni. Îți răspunde și prin SMS
De ce vei avea nevoie ?
- ca de obicei, o placă mică Arduino Mega 2560
- 4 fire de conectare
- modulul GSM A6
Vom învăța cum să:
- comunicați cu modulul GSM utilizând comenzi AT simple
- Trimite mesaje text
- primiți SMS
Puteți apoi să vă "distrați" transmiterea comenzilor prin SMS, declanșarea acțiunilor și transmiterea, întotdeauna prin SMS, confirmări de primire sau informații mai complete.
Dacă ați consultat toate articolele și forumurile pe această temă, trebuie să fi întâlnit o mulțime de oameni în bucătărie, indiferent dacă sunt în căutarea modulului GSM potrivit, a firmware-ului potrivit pentru a funcționa (mai ales la noi și nu doar în Asia), sau sursa de alimentare potrivită.
Am ales un modul GSM echipat cu procesorul GSM/GRPS A6 și disponibil aici, sau opțional cu placa noastră Arduino. Primul avantaj: îl veți alimenta pur și simplu cu + 5V al plăcii Arduino, chiar și atunci când acesta este alimentat în sine de portul USB al computerului (Mac sau PC).
Pentru a trece la un sistem autonom, tot ce trebuie să faceți este să deconectați cablul USB și să utilizați un mic adaptor de alimentare de 9V DC, oferit aici ca opțiune cu placa noastră Arduino.
Singurele conexiuni necesare între placa Arduino și modulul GSM sunt sursa de alimentare (+ 5V și GND) și legătura serială. Vom folosi RX2 și TX2 pe placa Arduino, pentru a fi conectați la U_TXD și U_RXD ale modulului GSM (Receive on Transmit și invers).
Puteți lansa software-ul Arduino și puteți testa câteva comenzi AT, cel mai direct mod de a vă verifica acțiunile. Probabil că există biblioteci care să „simplifice” preluarea modulului GSM, dar acesta va fi mai puțin flexibil și riscați surprize, fără a putea înțelege de unde vine problema.
Comenzile AT sunt limbajul universal pentru toate dispozitivele de comunicare, chiar dacă nu răspund în mod necesar la toate comenzile existente. Cele ale modulului nostru GSM sunt documentate foarte extensiv (177 de pagini) de către producător și furnizăm pdf-ul cu modulul.
Înainte de a conecta cablul USB (și, prin urmare, alimentarea cardului și a modulului), introduceți cartela SIM (format micro). Dacă nu aveți încă unul, puteți testa comunicarea cu modulul, dar evident, fără a putea comunica. Pentru testele noastre, am scos mai întâi o cartelă BandYou de pe un telefon, apoi am cumpărat o cartelă SIM de la Prixtel (pachet 2 €).
Punctul slab al acestui tip de module este suportul pentru cartela SIM; De exemplu, este mai bine să vă asigurați o închidere bună cu o agrafă. Cartela SIM trebuie să fie în poziție înainte de a alimenta modulul.
IATĂ FOTOGRAFIA ADUNĂRII NOASTRE
Putem merge la un prim program care ne va permite să testăm comunicarea cu modulul; constă în trimiterea unor comenzi AT de bază către modulul nostru și afișarea răspunsurilor sale pe monitorul serial al aplicației noastre Arduino.
#include
// https://www.1ou2clics.com/forum-alarme/electronique-pratique-avec-l-arduino-c8.html
// mai întâi faza de inițializare a programului nostru: viteza de comunicare pe cele 2 porturi seriale utilizate
configurare nulă ()Serial.begin (9600); // afișăm rezultatele pe monitorul serial al software-ului Arduino (prin portul USB)Serial2.begin (9600); // GSM este conectat la Serial2 al plăcii Arduino Mega 2560 R3>
// CommSerie este un subrutin mic care va face 2 lucruri, în această ordine: transmite modulului GSM datele pe care le trimitem către placa Arduino// și trimiteți datele seriale de la modul la portul serial Arduino (conectat la computerul nostru)
void CommSerie ()întârziere (200);while (Serial.available ())
Serial2.write (Serial.read ());>while (Serial2.available ())
Serial.write (Serial2.read ());>>
bucla nulă ()Serial2.println ("ATI"); // vă permite să preluați informații de pe modulul de comunicareCommSerie ();