BG96 の GPS により位置情報を取得し、BG96 の TCP/IP stack を利用して SORACOM Harvest に UDP でデータをアップロードする、というサンプルです。
PPP を利用しないため接続までの時間が短くなり、電池駆動に有利となります。
Github から取得します。
branch は両方共 XG-50/BG96-GPS-Harvest となっています。
apps/xg50/gps_bg96/bg96_task.c
で、
を行っています。
以下に示す関数を使用することで、BG96 の TCP/IP スタックを用いて通信を行うことができます。
#include "libserial.h" char *bg96_path = "/dev/ttyS2"; task->ser = serial_open(bg96_path, 115200, 0);
int bg96_send_AT_command(serial_t *ser, const char *cmd) bg96_send_AT_command(task->ser, "AT+CFUN=4\r\n"); sleep(2); bg96_send_AT_command(task->ser, "AT+CFUN=1\r\n"); sleep(1); bg96_send_AT_command(task->ser, "AT+CGATT?\r\n"); sleep(1);
static int bg96_echo_off(serial_t *ser); res = bg96_echo_off(task->ser);
static int bg96_setup_apn(serial_t *ser, int cid, char *apn, char *user, char *password) res = bg96_setup_apn(task->ser, 1, config->apn, config->user, config->password);
static int bg96_sync_clock(serial_t *ser) res = bg96_sync_clock(task->ser);
static int bg96_connect(serial_t *ser) /* activate PDP context */ res = bg96_connect(task->ser);
static int bg96_disconnect(serial_t *ser) printf("! %s: open socket failed -> RESET\n", __FUNCTION__); bg96_disconnect(task->ser);
BG96 のドキュメント一式です。
File | Stat | SHA1SUM | Note |
---|---|---|---|
bg96_docs.zip | 2020/11/28 16:10 13.5 MB | 56f5692e9f630abe59cee1bf21fae513ece060ea |
Archive: bg96_docs.zip Length Date Time Name --------- ---------- ----- ---- 0 2019-05-17 10:42 BG96/ 0 2019-05-17 10:42 BG96/AT_Commands/ 257842 2019-03-13 11:47 BG96/AT_Commands/Quectel_BG96_NIDD_AT_Commands_Manual_V1.0.pdf 397643 2019-03-13 11:48 BG96/AT_Commands/Quectel_BG96_GNSS_AT_Commands_Manual_V1.1.pdf 727911 2019-03-13 11:48 BG96/AT_Commands/Quectel_BG96_FILE_AT_Commands_Manual_V1.1.pdf 610405 2019-03-13 11:48 BG96/AT_Commands/Quectel_BG96_TCP(IP)_AT_Commands_Manual_V1.1.pdf 1536981 2019-03-13 11:48 BG96/AT_Commands/Quectel_BG96_AT_Commands_Manual_V2.3.pdf 316889 2019-03-13 11:47 BG96/AT_Commands/Quectel_BG96_QuecCell_AT_Commands_Manual_V1.0.pdf 884236 2019-03-13 11:48 BG96/AT_Commands/Quectel_BG96_HTTP(S)_AT_Commands_Manual_V1.0.pdf 869272 2019-03-13 11:48 BG96/AT_Commands/Quectel_BG96_SSL_AT_Commands_Manual_V1.0.pdf 348671 2019-03-13 11:47 BG96/AT_Commands/Quectel_BG96_FTP(S)_AT_Commands_Manual_V1.1.pdf 2307467 2019-03-13 11:54 BG96/Quectel_LTE_OPEN_EVB_User_Guide_V1.1.pdf 0 2019-05-17 10:42 BG96/Application_Note/ 690165 2019-03-13 11:50 BG96/Application_Note/Quectel_BG96_MQTT_Application_Note_V1.0.pdf 239343 2019-03-13 11:49 BG96/Application_Note/Quectel_BG96_QuecLocator_Application_Note_V1.0.pdf 1238857 2019-03-13 11:50 BG96/Application_Note/Quectel_BG96_PPP_Application_Note_V1.0.pdf 409401 2019-03-13 11:49 BG96/Application_Note/Quectel_BG96_PSM_Application_Note_V1.0.pdf 378761 2019-03-13 11:49 BG96/Application_Note/Quectel_BG96_Flash_Scrub_Application_Note_V1.1.pdf 1723053 2019-03-18 15:31 BG96/Quectel_BG96_Hardware_Design_V1.3.pdf 1451117 2019-03-18 15:31 BG96/Quectel_UMTS<E_EVB_User_Guide_V2.1.pdf --------- ------- 14388014 20 files