【M5Stack】ATOM GPS キット (M8030-KT)を使用する

【M5Stack】ATOM GPS Kit (M8030-KT)を使用について解説しています。

ATOM GPS Kit (M8030-KT)は、車両(トラックなど)追跡,人の行動の監視などに使えます。

■商品紹介

デジット 共立電子産業株式会社(大阪市浪速区日本橋4-6-7)さんで、2860円で購入。スイッチサイエンスさんでも購入できます(https://www.switch-science.com/catalog/6474/)。

AtomicGPS、ATOM Lite、六角スパナ、M2*3 mm 六角セルフタッピングネジ、M2*8mm六角穴付き小ネジ、18 cm Type-C ケーブルが付属してます。ATOM Lite本体が付属しているので、別途購入する必要はない。

本体のサイズは、スマートフォンよりも小さい。

■サンプルコードのための環境

Windows10

■ArduinoサンプルコードをATOM Liteに書き込む

ATOM GPS Kit (M8030-KT)を使用するために、Arduinoサンプルコード(https://github.com/m5stack/M5-ProductExampleCodes/tree/master/AtomBase/AtomicGPS)を書き込んでみます。

Arduinoサンプルコードが公開されているページで、「M5-ProductExampleCodes」という表示をクリックします。

クリックすると、右側に「Code」と書かれたボタンがあるので、こちらをクリックします。クリックすると、プルダウンメニューが表示されますので、「Download ZIP」をクリックします。

クリックすると、ダウンロードが開始されます。しばらくすると、Webブラウザで指定されたファイルの保存場所に「M5-ProductExampleCodes-master.zip」というZIP形式のファイルがダウンロードされます。このファイルを解凍します。

解凍すると、「M5-ProductExampleCodes-master」>「AtomBase」>「AtomicGPS」のフォルダに「AtomicGPS.ino」というファイルがありますので、こちらをクリックします。クリックする前に、Arduino IDEのダウンロードとインストールを行っておく必要があります。

クリックすると、Arduino IDEが起動し、「AtomicGPS.ino」のコードが表示されます。

このコードをATOM Lite本体に書き込むために、付属しているType-C ケーブルをATOM Lite本体に差し込みます。差し込んだ後、PCのUSBコネクタに差し込みます。ATOM Liteの環境を構築する際はこちらが参考になるかと思います。

差し込んだ後に、Arduino IDEの上部メニューから「ツール」をクリックします。

クリックすると、プルダウンメニューが表示されますので「ボード:”ESPea32”」、「Upload Speed:”115200″」、「Flash Frequency:”80MHz”」、「シリアルポート:”COM5”」のようになっている確認します。

確認後、Arduino IDEの上部「書込装置を使って書き込む」ボタンをクリックします。クリックすると書き込みが開始されます。

書き込みが開始されてしばらくすると、Arduino IDEの下部に「ボードへの書き込みが完了しました。」と表示されます。これで書き込みは完了となります。

■トラブル:「’class LED_Display’ has no member named ‘fillpix’」というエラーが表示される

「書込装置を使って書き込む」ボタンをクリックして書き込みを行っている際に、Arduino IDEの下部に「’class LED_Display’ has no member named ‘fillpix’」というメッセージが表示される場合があります。

■コード

/*This is an example used SerialBT,you can can view gps data by connecting 
 * to Bluetooth assistant on your mobilephone or Serial Monitor
 * the GPS log will be written to SD card
 * 
 */


#include "M5Atom.h"
#include "GPSAnalyse.h"
#include 
#include "FS.h"
#include 
#include 
 
BluetoothSerial SerialBT;
GPSAnalyse GPS;

uint64_t chipid;
char chipname[256];

const char filename[] = "/GPSdata.txt";
File txtFile;

float Lat;
float Lon;
String Utc;

bool writeLog(String filename) {          //Write GPSdata to SDcard
  txtFile = SD.open(filename, FILE_APPEND);
  if(txtFile){
    txtFile.print(Lat);
    txtFile.print(", ");
    txtFile.print(Lon);
    txtFile.print(", ");
    txtFile.println(Utc);
    txtFile.close();
  }else{
    return false;
  }
  return true;
}

void setup() {

    M5.begin(true,false,true); 
    chipid = ESP.getEfuseMac();
    sprintf( chipname, "SerialBT_%04X", (uint16_t)(chipid >> 32));
    Serial.printf("Bluetooth: %s\n", chipname);   
    SPI.begin(23,33,19,-1);
    if(!SD.begin(-1, SPI, 40000000)){
      Serial.println("initialization failed!");
    } 
    sdcard_type_t Type = SD.cardType();

    Serial.printf("SDCard Type = %d \r\n",Type);
    Serial.printf("SDCard Size = %d \r\n" , (int)(SD.cardSize()/1024/1024));

  //    M5.dis.fillpix(0x00004f);
        M5.dis.drawpix(0,0x00004f);
    
    Serial1.begin(9600,SERIAL_8N1,22,-1);
    SerialBT.begin(chipname);
    GPS.setTaskName("GPS");
    GPS.setTaskPriority(2);
    GPS.setSerialPtr(Serial1);
    GPS.start();
}

void loop() {
    GPS.upDate();
    Lat = GPS.s_GNRMC.Latitude;
    Lon = GPS.s_GNRMC.Longitude;
    Utc = GPS.s_GNRMC.Utc;
    SerialBT.printf("Latitude= %.5f \r\n",Lat);
    SerialBT.printf("Longitude= %.5f \r\n",Lon);
    SerialBT.printf("DATA= %s \r\n",Utc);
    Serial.printf("Latitude= %.5f \r\n",Lat);
    Serial.printf("Longitude= %.5f \r\n",Lon);
    Serial.printf("DATA= %s \r\n",Utc);
    writeLog(filename);
    delay(1000);
}

このような場合は上記のように変更すると、「ボードへの書き込みが完了しました。」と表示され書き込みが完了します。

■microSDメモリーカードへ保存する場合

緯度や経度などの GPS 情報をmicroSDメモリーカードへ保存する場合は、まずmicroSDをAtomicGPS本体へ差し込みます。

差し込んだ後に、ATOM Lite本体とAtomicGPS本体を接続し、さらにType-C ケーブルも差し込んでPCのUSBコネクタに差し込みます。

差し込んだ後に、Arduino IDEの上部「書込装置を使って書き込む」ボタンをクリックします。クリックすると書き込みが開始され、完了となります。

(この画像はサンプルです)

完了後、ATOM Lite本体とAtomicGPS本体の動作確認を行った後に、microSDメモリーカードを確認します。確認すると、「GPSdata.txt」というファイルが作成されていますので、このファイルを確認すると、緯度や経度などの GPS 情報が記録されています。

■ATOM GPS Kit (M8030-KT)を持って外出する

ATOM GPS Kit (M8030-KT)を持って外出する際は、念の為技適マークがあるかどうかを確認する。技適マークがなかった場合は、外出する・しないに関わらず技適未取得のWi-Fi機器が180日使用可能になる技適未取得機器を用いた実験等の特例制度を利用しないといけないので、技適マークが確認できたため、実験のために、持ち出してみる。

持ち出す際は、ATOM GPS Kit (M8030-KT)のみでは動かない。動作確認を行うためには、電源供給を行えるものが必要となる。今回はモバイルバッテリーから電源を供給を行い、動作確認を行ってみる。モバイルバッテリーに接続すると、ATOM GPS Kit (M8030-KT)のLEDが点灯する。

ATOM GPS Kit (M8030-KT)を外に持ち出した後に、microSDメモリーカードを確認してみると、緯度と経度などの情報が記録されていることが確認できた。

■ATOM GPS Kit (M8030-KT)とスマートフォンで無線通信(Bluetooth)を行いリアルタイムで緯度や経度などのGPS情報を取得する

ATOM GPS Kit (M8030-KT)とスマートフォンで無線通信(Bluetooth)を行う場合は、「Bluetooth Terminal」などのターミナルアプリをインストールする。

(Android10での認識テスト)

Bluetooth経由で接続を行うと、「SerialBT_○○○○」といったデバイス名が表示されるので、この名前が今回使用しているATOM GPS Kit (M8030-KT)である。

コメント

タイトルとURLをコピーしました