Kérdés:
A névjegyek megszerzése / névjegyek tárolása SIM-kártyára
MW_hk
2014-05-02 08:31:14 UTC
view on stackexchange narkive permalink

Megvan a GSM pajzs, és van-e valamilyen módja annak, hogy a tárolt névjegyeket a SIM-kártyára szerezzem? Úgy tűnik, hogy a a GSM könyvtár nem támogatja az adatok írását / adatok olvasását a SIM-kártyáról?

Célom a SIM-kártya telefonszámának és néhány változójának a SIM-re történő tárolása magát a kártyát, nem kellene időről időre megváltoztatnom a programot.

Csak annyit kell tennem, hogy bármelyik mobiltelefonon be kell írnom az összes változót a SIM-kártyára (esetleg a változók tárolásával névjegyek, mivel a telefonkönyv funkciónak nagyon elterjedtnek kell lennie a telefonokon).

Kettő válaszokat:
Madivad
2014-05-02 16:49:44 UTC
view on stackexchange narkive permalink

Mit kutattál eddig? A pajzshoz megadott linket követve a leírás harmadik sora utal a chip által használt AT Parancskészletre.

Most csináltam párat gyors keresések rajta és megtalálták:

2.2.4 ATD><n> Telefonhívás kezdeményezése a memóriában lévő számra

3.2.26 AT + CPBF Telefonkönyv-bejegyzések keresése

3.2.27 AT + CPBR A telefonkönyv aktuális bejegyzéseinek olvasása

3.2.28 AT + CPBS Válassza ki a telefonkönyv memóriáját

valószínűleg jó hely a kezdéshez.

MW_hk
2014-05-05 14:39:37 UTC
view on stackexchange narkive permalink

Köszönöm @Madivad-nak az AT parancs inspirációját. Nem ismerem nagyon a GSM-t és az Arduino-t. De mindenesetre az alábbiak beváltak.

Kreditek @Madivad és emberek számára az arduino fórumról.

  #include <GSM.h>GSM gsmAccess (igaz); int sizer = 200; char myNumber [200]; int timeout = 5000; // milli másodperc alatt kerülje el a beállítást () {Soros.kezdés (9600); logikai notConnected = true; Serial.println ("Csatlakozás a GSM hálózathoz"); while (notConnected) {if (gsmAccess.begin () == GSM_READY) // Megjegyzés: Nincs szükségem PIN-kódra # notConnected = false; else {Serial.println ("Nincs csatlakoztatva, próbálom újra"); késés (1000); }} Serial.println ("csatlakoztatva"); theGSM3ShieldV1ModemCore.println ("AT + CPBS = \" SM \ ""); int start1 = millisz (); while ((millis () - start1) < timeout) {Serial.print (theGSM3ShieldV1ModemCore.theBuffer (). read ()); } Serial.print ("Beállítás a SIM-kártya tárolására"); // keresse meg a kapcsolattartó nevét "teszt" theGSM3ShieldV1ModemCore.println ("AT + CPBF = \" teszt \ ""); start1 = 0; start1 = millisz (); while ((millis () - start1) < timeout &&! theGSM3ShieldV1ModemCore.theBuffer (). extractSubstring (", \" "," \ "," myNumber, sizer)] {Serial.print (theGSM3Sh. ()); } Serial.print ("Megvan a kapcsolattartó száma"); // kinyomtatja a "test" telefonszámát a Serial.println (myNumber);} void loop () {}  


Ezt a kérdést és választ automatikusan lefordították angol nyelvről.Az eredeti tartalom elérhető a stackexchange oldalon, amelyet köszönünk az cc by-sa 3.0 licencért, amely alatt terjesztik.
Loading...