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¶
Test data |
|
Classes¶
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¶