1ou2clics - Avenue des Talents SASU

1ou2clics

Képzeljen el egy kicsi, olcsó GSM modult, amelyet Ön egy SIM-kártyával kap, és amelyet ezután többféle módon kezelhet az egyéni automatizálás elérése érdekében.

Gyerünk, csak 2 példa:

  • Amikor autója mozog, percenként küld egy SMS-t, amely tartalmazza a GPS-koordinátákat.
  • SMS-t küld a PLC-re a műveletek kiváltására. SMS-ben is válaszol neked

Mire lesz szükséged ?

  • szokás szerint egy kis Arduino Mega 2560 tábla
  • 4 csatlakozó vezeték
  • GSM A6 modul

Megtanuljuk, hogyan kell:

  • egyszerű AT parancsok használatával kommunikálni a GSM modullal
  • küldj SMS-eket
  • SMS-t fogadni

Ezután "szórakoztató módon" továbbíthatja a megrendeléseket SMS-ben, kiválthatja a műveleteket, és mindig SMS-ben továbbíthatja a nyugtákat vagy a teljesebb információkat.

Ha megismerte a témával foglalkozó összes cikket és fórumot, akkor biztosan sok emberrel találkozott a gályában, függetlenül attól, hogy megfelelő GSM modult, megfelelő firmware-t keres-e annak működéséhez (főleg nálunk, és nem csak Ázsiában), vagy a megfelelő áramellátás.

A GSM/GRPS A6 processzorral felszerelt és itt elérhető GSM modult választottuk, vagy opcióként az Arduino kártyánkkal. Első előny: egyszerűen táplálja az Arduino kártya + 5 V-jával, még akkor is, ha maga a számítógép USB-portja (Mac vagy PC) táplálja.

Az autonóm rendszerre való váltáshoz csak annyit kell tennie, hogy kihúzza az USB kábelt, és egy kis 9 V DC tápegységet használ, amelyet itt opcióként kínálunk az Arduino kártyánkkal.

Az Arduino kártya és a GSM modul között csak az áramellátás (+ 5V és GND) és a soros kapcsolat szükséges. RX2-t és TX2-t fogunk használni az Arduino táblán, hogy csatlakozzunk a GSM modul U_TXD-jéhez és U_RXD-jéhez (vétel küldéskor és fordítva).

Indíthatja az Arduino szoftvert, és tesztelhet néhány AT parancsot, amely a legközvetlenebb módja a műveletek ellenőrzésének. Valószínűleg vannak olyan könyvtárak, amelyek "leegyszerűsítik" a GSM modul átvételét, de ez kevésbé rugalmas lesz, és meglepetéseket kockáztat, anélkül, hogy meg tudná érteni, honnan származik a probléma.

Az AT parancsok az összes kommunikációs eszköz univerzális nyelve, még akkor is, ha nem feltétlenül reagálnak az összes létező parancsra. A GSM modulunk részleteit a gyártó nagyon részletesen dokumentálja (177 oldal), és a modullal együtt elküldjük a pdf fájlt.

Mielőtt bedugná az USB kábelt (és ezért a kártyát és a modult táplálja), helyezze be a SIM-kártyát (mikro formátum). Ha még nincs, akkor még tesztelheti a modullal való kommunikációt, de nyilvánvalóan anélkül, hogy kommunikálni tudna. Tesztjeinkhez először eltávolítottunk egy BandYou kártyát egy telefonról, majd vettünk egy SIM-kártyát a Prixteltől (csomag 2 €).

Az ilyen modulok gyenge pontja a SIM-kártya támogatásuk; Jobb a zárása például egy gemkapocs segítségével. A modul áramellátása előtt a SIM-kártyának a helyén kell lennie.

ITT A KÉPZETÜNK FOTÓJA

Mehetünk egy első programra, amely lehetővé teszi számunkra, hogy teszteljük a modullal való kommunikációt; néhány alapvető AT parancs elküldéséből áll modulunkba, és válaszainak megjelenítésével az Arduino alkalmazás soros monitorán.

#include

// https://www.1ou2clics.com/forum-alarme/electronique-pratique-avec-l-arduino-c8.html

// programunk első inicializálási fázisa: kommunikációs sebesség a felhasznált 2 soros porton

void setup ()Serial.begin (9600); // az eredményeket megjelenítjük az Arduino szoftver soros monitorán (az USB porton keresztül)Serial2.begin (9600); // a GSM csatlakozik az Arduino Mega 2560 R3 kártya Serial2-jéhez>

// A CommSerie egy kis szubrutin, amely 2 dolgot fog végrehajtani, ebben a sorrendben: továbbítja a GSM modulnak az adatokat, amelyeket az Arduino táblára küldünk// és elküldjük a soros adatokat a modulból az Arduino soros portjára (a számítógépünkhöz csatlakoztatva)

void CommSerie ()késés (200);míg (Soros.elérhető ())
Soros2.írja (Soros.olvas ());>míg (Soros2.elérhető ())
Soros.írás (Soros2.olvasás ());>>

void loop ()Serial2.println ("ATI"); // lehetővé teszi információk lekérését a kommunikációs modulrólCommSerie ();