あなたの問題は私のものと似ています。あなたのモジュールはGNSSモジュールであり、したがって "gps.h"で使われている標準のATコマンドでは動作しない可能性があります。
最初に、GPSモジュールがバッテリなどの外部ソースから少なくとも5V-2Aの電流を十分に受け取っていることを確認します。
次に、シリアルモニタでATコマンドを送信して、GPSモジュールが正常に動作しているかどうかを確認してください。
#include
SoftwareSerial SIM808(2,3); //(RX-Pin,TX-Pin)
void setup() {
Serial.begin(19200);
SIM808.begin(19200);
}
void loop() {
if (SIM808.available())
Serial.write(SIM808.read());
if (Serial.available())
SIM808.write(Serial.read());
}
これをボードにアップロードし、シリアルモニタを開き、次のコマンドを送信します。
AT+CGNSPWR=1
OKを返します。
その入力後:
AT+CGNSINF
これで、OKとGPSの場所が次の形式で返されます。
1,0,
次の出力が得られた場合:
1,0,19800106001337.000,,,,0.00,0.0,0,,,,,,0,0,,,,,
これはあなたのGPSが設定されていないことを意味します。あなたの部屋の外、オープンスペースにGPSアンテナを置くようにしてください。
For more information about GNSS modules go to http://www.elecrow.com/wiki/images/0/05/SIM800_Series_GNSS_Application_Note_V1.00.pdf