Quectel

AT-command driver for Quectel/Telit cellular modems with integrated GNSS.

This module exposes two cooperating classes that talk to a cellular modem over a USB-serial AT-command interface and harvest both connectivity telemetry and location fixes from the same physical module.

  • Modem – AT-command interface for signal strength (AT+CSQ), ICCID (AT+ICCID), IMEI (AT+CGSN), network registration (AT+CREG, AT+CGREG, AT+CEREG) and module identification (ATI3) over a USB-serial port.

  • Gps – NMEA sentence parser and GPS fix acquisition driving the modem’s GNSS engine (AT+QGPS, AT$GPSP) with an automatic GSM cell-tower geolocation fallback via the Google Geolocation API (AT+QENG="servingcell" / AT#SERVINFO).

The implementation auto-detects Quectel EC25/EG25/BG96 and Telit LE910 families using drivers.DeviceDetector.DeviceDetector.DeviceDetector and binds itself to the correct /dev/ttyUSB* modem and GPS ports.

Example

Acquire a signal-strength reading and a GPS fix from a connected modem:

>>> from drivers.Quectel.Quectel import Modem, Gps
>>> modem = Modem()
>>> dbm = modem.signalstrength()
>>> gps = Gps()
>>> gps.initialize()
>>> fix = gps.getSensorData()

Note

AT command behaviour follows the public Quectel command manuals (Quectel_EC25&EG25_AT_Commands_Manual) and Telit LE910 reference. See also the companion module drivers.Quectel.xOne which contains a standalone Qualcomm xTRA injection script that mirrors the AT+QGPSXTRA / AT+QGPSXTRADATA workflow embedded in Gps.xOneProcess() below.

Attributes

Classes

Gps

GPS fix acquisition using a Quectel/Telit modem's GNSS engine.

Modem

AT-command interface for Quectel/Telit cellular modems.

Module Contents

Quectel.__date__ = '10/07/2022'
Quectel.__status__ = 'Production'
Quectel.__version__ = '2.0'
Quectel.basic_logger
Quectel.context_logger

Test data parse_data.update({‘GPRMC’: {‘time’: ‘06:26:21’, ‘lat’: 23.03816868, ‘dirLat’: ‘N’, ‘lon’: 72.45345312, ‘dirLon’: ‘E’, ‘speed’: ‘0.0’, ‘trCourse’: ‘81.3’, ‘date’: ‘03/05/21’, ‘variation’: ‘0.3’, ‘degree’: ‘V’}})

Quectel.modem