IToolS Blog

Using IToolS MOXA OnCell driver

by itools@albertoschiassi.it on venerdì 2 gennaio 2015 06:03
La classe MoxaOnCellG3111 permette di interfacciarsi con il Gateway Cellulare Moxa OnCell G3111 

Le tre proprietà: 

 

  • CommonGsmGprsSettings, 
  • GprsSettings, 
  • GsmSettings 

memorizzano i parametri del dispositivo relativi ai modi di funzionamento Gsm, Gprs, Sms. 

Tali proprietà sono organizzate in base allo specifico modo di funzionamento cui si riferiscono (GprsSettings, GsmSettings) e in base alle impostazioni comuni (CommonGsmGprsSettings) ai tre modi di funzionamento. 

La modalità Sms ha parametri comuni a tutti i modi quindi non ha una rappresentazione nelle proprietà. Il metodo GetSettings() permette di ottenere i paramatri impostati nel dispositivo memorizzandoli nelle proprietà relative. Il metodo SetSettings() permette di impostare nel dispositivo i valori dei parametri contenuti nelle proprietà. 

Altri metodi permettono di ottenere (es: GetCommonSettings(...), GetGsmGprsOperativeMode(...), ecc...) o impostare (es: SubmitCommonSettings(...), SubmitOperativeMode(...), ecc...) specifici parametri. 

Tre metodi:

 

  • ActivateGprs(), 
  • ActivateGsm(), 
  • ActivateSms() 

permettono di attivare direttamente uno specifico modo di funzionamento. 

Dopo ogni Submit o Activate è necessario riavviare il dispositivo attraverso il metodo SaveRestart() per rendere effettive le modifiche ai parametri. Utilizzo della classe MoxaOnCellG3111. 

 

Esempio 1:

 

namespace MoxaConsoleApplication
{
   class Program
   {
      static void Main(string[] args)
      {
		   const string ipAdress = "192.168.1.10";
 
         IToolSMoxa.MoxaOnCellG3111 moxaOnCell = new IToolSMoxa.MoxaOnCellG3111(ipAddress);
 
         //Ottengo i parametri correntemente impostati nel dispositivo
         //memorizzandoli nelle proprietà dell'oggetto.
         moxaOnCell.GetSettings();
         Console.WriteLine("Operative Mode:" + moxaOnCell.CommonGsmGprsSettings.Mode.ToString());
 
         Console.WriteLine("Press a key to continue...");
         Console.ReadLine();
 
         //Leggo i parametri Gprs del dispositivo
         IToolSMoxa.MoxaOnCellG3111.DeviceGprsSettings gprsSettings = moxaOnCell.GetGprsSettings();
         Console.WriteLine("Apn:" + gprsSettings.Apn );
 
         Console.WriteLine("Press a key to continue...");
         Console.ReadLine();
      }
   }
}

Esempio 2:

 

namespace MoxaConsoleApplication
{
   class Program
   {
      static void Main(string[] args)
      {
         const string ipAdress = "192.168.1.10";
 
         IToolSMoxa.MoxaOnCellG3111 moxaOnCell = new IToolSMoxa.MoxaOnCellG3111(ipAddress);
 
         string rl = "";
         //Setto una o più proprietà 
         Console.WriteLine("Mobile Operator APN: ");
         Console.ReadLine();
         moxaOnCell.GprsSettings.Apn = rl;
 
 
         Console.WriteLine("Set Operative mode, 1=Gsm, 2=Gprs, 3=Sms : ");
         rl = Console.ReadLine();
         switch (rl)
         {
            case "1" :
               moxaOnCell.CommonGsmGprsSettings.Mode = IToolSMoxa.MoxaOnCellG3111.GprsGsmOperativeMode.Gsm;
               break;
            case "2" :
               moxaOnCell.CommonGsmGprsSettings.Mode = IToolSMoxa.MoxaOnCellG3111.GprsGsmOperativeMode.Gprs;
               break;
            case "3" :
               moxaOnCell.CommonGsmGprsSettings.Mode = IToolSMoxa.MoxaOnCellG3111.GprsGsmOperativeMode.Sms;
               break;
            default :
               return;
         }
 
         //Imposto nel dispositivo tutti i parametri contenuti nelle proprietà.
         moxaOnCell.SubmitSettings();
         
         //rendo effettive le modifiche
         moxaOnCell.SaveRestart();
 
         Console.WriteLine("Press a key to continue...");
         Console.ReadLine();
      }
   }
}

Esempio 3:

 

namespace MoxaConsoleApplication
{
   class Program
   {
      static void Main(string[] args)
      {
         const string ipAdress = "192.168.1.10";
 
         IToolSMoxa.MoxaOnCellG3111 moxaOnCell = new IToolSMoxa.MoxaOnCellG3111(ipAddress);
 
         //Imposto uno o più parametri nel dispositivo 
         Console.WriteLine("Sim PIN: ");
         string pin = Console.ReadLine();
 
         Console.WriteLine("Mobile Operator APN: ");
         string apn = Console.ReadLine();
 
         moxaOnCell.SubmitGprsSettings(pin, apn);
 
         string rl = "";
         Console.WriteLine("Set Operative mode, 1=Gsm, 2=Gprs, 3=Sms : ");
         rl = Console.ReadLine();
         switch (rl)
         {
            case "1":
               moxaOnCell.SubmitOperativeMode(IToolSMoxa.MoxaOnCellG3111.GprsGsmOperativeMode.Gsm);
               break;
            case "2":
               moxaOnCell.SubmitOperativeMode(IToolSMoxa.MoxaOnCellG3111.GprsGsmOperativeMode.Gprs);
               break;
            case "3":
               moxaOnCell.SubmitOperativeMode(IToolSMoxa.MoxaOnCellG3111.GprsGsmOperativeMode.Sms);
               break;
            default:
               return;
         }
 
         //rendo effettive le modifiche
         moxaOnCell.SaveRestart();
 
         Console.WriteLine("Press a key to continue...");
         Console.ReadLine();
      }
   }
}

Esempio 4:

 

namespace MoxaConsoleApplication
{
   class Program
   {
      static void Main(string[] args)
      {
         const string ipAdress = "192.168.1.10";
 
         IToolSMoxa.MoxaOnCellG3111 moxaOnCell = new IToolSMoxa.MoxaOnCellG3111(ipAddress);
 
         //Imposto uno o più parametri nel dispositivo 
         Console.WriteLine("Sim PIN: ");
         string pin = Console.ReadLine();
 
         Console.WriteLine("Mobile Operator APN: ");
         string apn = Console.ReadLine();
 
         moxaOnCell.SubmitGprsSettings(pin, apn);
 
         string rl = "";
         Console.WriteLine("Operative mode to be activated, 1=Gsm, 2=Gprs, 3=Sms : ");
         rl = Console.ReadLine();
         switch (rl)
         {
            case "1":
               moxaOnCell.ActivateGsm();
               break;
            case "2":
               moxaOnCell.ActivateGprs();
               break;
            case "3":
               moxaOnCell.ActivateSms();
               break;
            default:
               return;
         }
 
         //rendo effettive le modifiche
         moxaOnCell.SaveRestart();
 
         Console.WriteLine("Press a key to continue...");
         Console.ReadLine();
      }
   }
}

Blogs Parent Separator IToolS Blog
Author

Tags