Korábbi részben megnéztük a QNavigator program használatának alapjait. Küldtünk SMS-t, illetve kezdeményeztünk hívást is ezzel a programmal, de úgy, hogy nem írtunk egy AT parancsot sem.
Most újra SMS-t küldünk, de már úgy hogy az ehhez szükséges AT parancsokat mi írjuk be a QNavigator felületére, illetve elkészítünk egy SMS küldő alkalmazást .NET környezetben.
Az AT parancsok részletes leírása, bemutatása megtalálható a Quectel oldalán, a letöltések résznél.
Néhány link az SMS küldésről :
1. SMS küldése QNavigator-ral
Noha az AT parancsok leírása megtalálhatók a Quectel honlapján, a QNavigator is ismerteti ezeket. Csatlakoztassuk az EVB-KIT-et a soros porton ("main") és az USB porton keresztül a számítógépünkhöz is indítsuk el a QNavigátort.
Ezután a QNavigator felületének bal oldalán találjuk az "AT Command" menüpontot, kattintsunk rá és válasszuk ki az "SMS Commands" almenüt. Itt láthatjuk az SMS kezeléséhez szükséges AT parancsok bemutatását, de ezen a felületen tudjuk beírni a különböző AT parancsokat is.
Írjuk be a következő AT parancsokat egymás után.
Kattintsunk az "AT Command" fülre, és azután lehetőségünk nyílik megismerni az AT parancsokat, illetve különböző műveleteket is végre tudunk itt hajtani.
Válasszuk ki a "Text" módot az SMS küldéshez (1. ábra, AT+CMGF=1).
1. ábra Text mód kiválasztása
A parancs beírása után kattintsunk a "Send" gombra. Az AT parancsok nem csak itt, hanem a QNavigator program felületének alján is beírhatók.
Ezután adjuk meg azt a telefonszámot, ahova az üzenetünket küldeni szeretnénk (2. ábra, AT+CMGS="+36 telefonszám").
2. ábra A telefonszám megadása
Ezeknek a műveleteknek a végrehajtása során a QNavigator jobb oldalán látjuk a kiadott AT parancsokat, illetve a visszaigazolásokat is.
Írjuk most be az elküldeni kívánt üzenetünket is (3. ábra).
3. ábra Megadjuk az SMS szövegét is
Végül zárjuk le ezt a "folyamatot" egy CTRL-Z-vel. A QNavigator jobb oldalán találjuk azt a lehetőséget, amellyel különböző speciális karakterek küldhetők el (4. ábra). Válasszuk ki a CTRL-Z-t!
4. ábra A CTRL-Z elküldése
Ezzel el is küldtük az SMS-ünket a megadott telefonszámra.
2. SMS küldése .NET környezetben
Hozzunk létre a Visual Studio segítségével egy új projektet, egy Console alkalmazást. A program osztályt módosítsuk a következő programrészlet szerint.
class Program
{
static void Main(string[] args)
{
try
{
SerialPort sp = new SerialPort("COM8", 115200);
sp.Open();
sp.Write("AT+CMGF=1\r");
Console.WriteLine("Beállításra kerüls a Text mód");
Thread.Sleep(50);
sp.Write("AT+CMGS=\"" + "+36XXXXXXXXX" + "\"\r\n");
Console.WriteLine("Megadtuk a telefonszámot");
Thread.Sleep(50);
sp.Write("Ez egy teszt a WebElektronikarol." + "\x1A");
Console.WriteLine("Elküldtük az üzenetet a telefonszámra");
Thread.Sleep(50);
sp.Close();
Console.WriteLine("Sikerült elküldeni az SMS-t.");
Console.ReadLine();
}
catch (Exception ex)
{
Console.WriteLine(ex.ToString());
}
}
}
A Main() metódusban először a SerialPort osztályból készítünk egy példányt (sp). Ehhez hozzá kell adnunk a "using System.IO.Ports;"-t a projektünkhöz. A SerialPort osztálynak hét konstruktora van, a példányosításnál azt választottuk ki, amelynél a paraméterlistában meg kell adni a port nevét, illetve a baudrate értékét.
Ezután ezt a virtuális soros portot megnyitjuk az Open() metódussal.
A Write() metódussal string-et tudunk kiírni a megnyitott porton keresztül. Ezzel írjuk ki tehát az első AT parancsunkat, amellyel az SMS küldésének a módja adható meg. Ha CMGF=0, akkor PDU módot, ha CMGF=1 akkor Text módot használunk a küldéskor. A küldés után várakozunk 50 ms-ot a Thread.Sleep() segítségével. A várakozás után megadjuk azt a mobilszámot, ahova küldeni szeretnénk az SMS-t. Az "SMS Application Note GSM_SMS_AN_V1.1" szerint (13. oldal) el kell küldenünk ezután egy CR-t (link), majd írhatjuk utána a SMS-ünk szövegét is.
Az üzenetünk után írjuk ki a megnyitott portra a CTR-Z karaktert is (0x1A). Ezután a virtuális soros portot lezárjuk a Close() metódussal.
A CTR-Z kiküldése történhet "x1A"-nak, de akár (char)26-nak a megadásával is. A programunk futási eredménye látható az 5. ábrán.
5. ábra Elküldtük .NET-ben az SMS-t
Könnyen előfordulhat, hogy amikor az Olvasó megvalósítja ezt a projektet, akkor nem a COM8-on keresztül történik a virtuális soros port megnyitása. A Control Panel/Device Manager-nél tudjuk megnézni, hogy melyik port került felhasználásra. A következő cikkünkben úgy írjuk meg az alkalmazásunkat, hogy a port kiválasztása ezen belül fog történni.
A Quectel által gyártott M66-os modult használjuk fel most arra, hogy a fejlesztőkörnyezetben található SIM kártya helyzetét meghatározzuk. Az M66-os modulban nincs GPS, ezért a SIM kártya helyzetét tudjuk csak meghatározni. Ez közel sem olyan pontos. . . .
Folytatjuk tovább a Quectel néhány termékének a megismerését. Most egy SMS-t fogunk elküldeni a QNavigatorral, de már úgy, hogy az ehhez szükséges AT parancsokat mi fogjuk megadni. Ezután a VS2012-vel elkészítünk egy Console alkalmazást, amivel szint. . . .
Az Internet of Things (IoT), azaz, a dolgok internete, töretlenül fejlődik. Különböző technológiák, megoldások csapnak össze, nehéz eldönteni, melyiket alkalmazzuk. Naponta hallhatjuk a "Smart City" kifejezést is, de talán még megfoghatatlannak tűnik. . . .