AGPS機能の利用方法

AGPS機能を有効にするためには、$YAコマンドを使って、下記のようにATコマンドを直接HL8548-Gに送り込んで実行する必要があります。ここで、USERとPASSWORDはお使いのSIMカードのAPNのそれと同じ内容を指定します。
この手続きを踏むことで、$LGコマンドを利用した時に自動的にAGPS機能が利用できるようになります。ただし、3GIMの電源を切るとこの設定は消える点に注意が必要です。

$YA 5
AT+WPPP=2,4,"USER","PASSWORD"
>>


Arduino用ライブラリa3gimまたはa3gim2のサンプルスケッチ「get_location_agps」には、より具体的な使い方を記載していますので、参考にしてください。

// 3GIM(V2) sample sketch -- getLocation2

#include "a3gim2.h"

#define   baudrate   9600UL
const int powerPin = 7;     // 3gim power pin(If not using power control, 0 is set.)

void setup() {
  Serial.begin(baudrate);
  delay(3000);    // Wait for start serial monitor
  Serial.println("Ready.");

  Serial.print("Initializing.. ");
  if (a3gs.start(powerPin) == 0 && a3gs.begin(0, baudrate) == 0) {
    Serial.println("Succeeded.");
    setupAGPS();
    char lat[15], lng[15], utc[7], height[8];
    int quality, number;
    if (a3gs.getLocation2(lat, lng, height, utc, &quality, &number) == 0) {
      Serial.print("OK: ");
      Serial.print(lat);
      Serial.print(",");
      Serial.print(lng);
      Serial.print(",");
      Serial.print(height);
      Serial.print(",");
      Serial.print(utc);
      Serial.print(",");
      Serial.print(quality);
      Serial.print(",");
      Serial.println(number);
    }
    else
      Serial.println("Sorry, I don't know this location.");
  }
  else
    Serial.println("Failed.");

  Serial.println("Shutdown..");
  a3gs.end();
  a3gs.shutdown();
}

void loop() {
}

// setup AGPS function
void setupAGPS() {
  char apn[20], user[20], password[20];
  if (a3gs.getDefaultProfile(apn, user, password) == 0) {
    char atwppp[50];
    sprintf(atwppp,"at+wppp=2,4,\"%s\",\"%s\"",user,password);
    Serial.println(atwppp);
    a3gs.enterAT(2);
    a3gSerial.println(atwppp);
    delay(200);
    Serial.println("Assisted GPS set OK");
  }
  else
	Serial.println("NG: getDefaultProfile(), can't use AGPS.."); 
}