ESP32 & MC60 to get GNSS msg

#1

If you are asking a question, please follow this template:

  1. My goal is: pppos (AT commands) communicate with MC60 module to get GNSS fixed message
    module :esp32_dev_kitc && MC20(MC60) EVK
  2. My actions are:

add thiese to mos.yml based on https://github.com/mongoose-os-apps/demo-c
config_schema:

  - ["mqtt.server", "iot.eclipse.org:1883"]
  - ["pppos.enable", "b", true, {title: "Enable PPPoS"}]
  - ["pppos.uart_no", "i", 1, {title: "Which UART to use"}]
  # These depend on the operator and are usually well known.
  - ["pppos.apn", "s", "cmnet", {title: "APN name"}]
  - ["pppos.user", "s", "", {title: "User name"}]
  - ["pppos.pass", "s", "", {title: "Password"}]
  - ["pppos.connect_on_startup", "b", false, {title: "Connect immediately on startup"}]

add

libs:
  - origin: https://github.com/mongoose-os-libs/boards
  - origin: https://github.com/mongoose-os-libs/demo-bundle
  - origin: https://github.com/mongoose-os-libs/pppos

add #include “mgos_pppos.h” to main.c

  1. The result I see is:
    There are log from esp32 ,these logs repeat every few seconds.
[Apr 16 10:21:40.126] mgos_pppos.c:776        Command failed: AT+COPS=0
[Apr 16 10:21:40.126] mgos_net.c:86           PPP: connecting
[Apr 16 10:21:40.126] main.c:93               Net connecting...
[Apr 16 10:21:40.203] mgos_pppos.c:664        Connecting (UART1, APN 'cmnet')...
[Apr 16 10:21:40.203] mgos_pppos.c:707        Automatic operator selection
[Apr 16 10:21:42.507] mgos_pppos.c:279        Quectel_Ltd
[Apr 16 10:21:42.507] Quectel_MC20
[Apr 16 10:21:42.507] Revision: MC20CAR01A10, IMEI: 861929041270065
[Apr 16 10:21:42.807] mgos_pppos.c:349        SIM is ready, IMSI: , ICCID: +CPIN: READY
[Apr 16 10:21:42.807] 
[Apr 16 10:21:42.807] +CCID: "89860042191894350323"
[Apr 16 10:21:43.515] mgos_sntp.c:96          SNTP query to time.google.com
  1. My expectation & question is:
    What’s the meaning of these log, what should I do to get GNSS msg from MC60 module ?
#2

You do not need PPP to poll a cell modem for position data.
PPP (called PPPoS in some environments to differentiate from PPPoE) is not AT commands. AT commands you need to init your cell modem and put it in PPP mode, that is all that is related to it.
If you want to connect to the cellular network and that is not working, you need to check your setup. You will need the proper dial number (which is almost always the default) and your APN, user and passowrd. Those belong to your provider.
The post I mentioned in the chat is this one, you should search for others perhaps more relevant to your particular problem.
If you want to poll the cell modem for position data (be it GPS, GNSS, or whatever), you have to send the proper AT command through the serial port and listen for the incoming response and parse it. You do not need PPP.
However, if you want to do both, you are in trouble since PPP will take over your serial port and that will require more effort. I can’t help there.

#3

Thanks, you mean just use serial port AT command to communicate with MC20(GSM/GPRS) module?

#4

Sorry , position data is just one demand of all. I want to send the data to handphone through GPRS also . I checked the Quectel MC20 Module datasheet . It support TCP/UDP/FTP/HTTP/PPP/MQTT/SSL/NTP/MMS/SMTP/PING/NITZ/CMUX protocols.

#5

Yes, it does support everything the datasheet says it supports, and the AT commands work as the AT Command Manual describes them.
Some people write send-expect engines, others write a parser and an event dispatcher, every developer has preferences and every project may take advantage of particulars. YMMV, DYOR, RTM.

#6

Thank you ,that’s helpful.