Placa de desenvolvemento tekmodul BG95M3-QPython EVB

Diferenzas con MicroPython
QuecPython é esencialmente MicroPython que se executa en módulos Quectel. Debido á falta dunha especificación estándar completa en MicroPython, as bibliotecas integradas e o uso de varias funcións poden variar dependendo dos desenvolvedores e plataformas de hardware. Algúns usuarios de QuecPython poden ter experiencia previa no desenvolvemento con MicroPython en módulos como ESP32, ESP8266 e STM32. Para facilitar a migración destes usuarios, as diferenzas coñecidas entre QuecPython e MicroPython están listadas a continuación:
- Algunhas bibliotecas estándar ou dedicadas de MicroPython, como framebuf e rede, non están implementadas ou integradas en QuecPython.
- Algunhas bibliotecas estándar de MicroPython, como utime, poden ter diferentes implementacións e características completas en QuecPython en comparación con módulos como ESP32, o que provoca diferenzas no rendemento ou outras características detalladas.
- A organización de certas funcións en QuecPython pode diferir de MicroPython. Por example, a funcionalidade ADC inclúese xeralmente na biblioteca da máquina en MicroPython, pero en QuecPython, inclúese na biblioteca misc.
- As API relacionadas con interfaces de hardware específicas como UART, I2C e SPI teñen diferenzas significativas entre MicroPython e QuecPython e non se poden usar indistintamente.
- QuecPython non inclúe actualmente a funcionalidade upip, polo que non é posible a instalación rápida de bibliotecas en liña. Requírese a portabilidade manual.
- Non se garante a compatibilidade con ferramentas IDE de MicroPython como Thonny e uPyCraft.
- En resumo, o código de MicroPython que se executa con éxito en módulos como ESP32 normalmente non se pode copiar e executar directamente no ambiente QuecPython sen ningunha modificación. Polo tanto, é recomendable evitar aplicar directamente documentación e experiencia de desenvolvemento doutros módulos de hardware de MicroPython ao desenvolvemento de QuecPython.
Diferenzas con CPython (Python normal)
- A diferenza do desenvolvemento tradicional de CPython, QuecPython ten un número moito menor de bibliotecas integradas (bibliotecas estándar). Aínda que QuecPython inclúe bibliotecas básicas para tarefas como a configuración do tempo e file xestión, a cantidade é significativamente menor en comparación con CPython. Os nomes e métodos de uso destas bibliotecas estándar tamén teñen moitas diferenzas e non son totalmente compatibles.
- QuecPython non ten a funcionalidade pip incorporada, polo que non é posible a instalación rápida en liña das bibliotecas. Requírese a portabilidade manual.
- Debido ás diferenzas de sintaxe entre QuecPython e CPython, así como ao feito de que a maioría das bibliotecas QuecPython non poden executarse en ordenadores de escritorio, ferramentas como VSCode e PyCharm no escritorio só se poden usar para editar códigos sinxelos. Os scripts completados deben descargarse manualmente no módulo para a súa execución e depuración.
- O resaltado de sintaxe e as funcións de completación de código proporcionadas por ferramentas como VSCode e PyCharm están baseadas en CPython e poden non ser totalmente aplicables a QuecPython. Polo tanto, para os principiantes que non teñen experiencia previa coa linguaxe Python, non se recomenda utilizar ferramentas IDE excesivamente intelixentes ao escribir código, xa que as suxestións integradas poden ser enganosas.
Conexión EVB
- Paso 1: Conecte EVB
Conecte o porto EVB Type-C ao porto USB do seu PC cun cable USB Type-C para fonte de alimentación. - Paso 2: Encienda EVB
Corta os dous pinos PWK_AUTO cunha tapa de puente para encender o taboleiro e acenderase automaticamente ou manteña presionado o botón PWK despois de acendelo. Recoméndase que o intervalo de tempo entre o acendido e a pulsación do botón PWK sexa de polo menos 30 ms. Despois de realizar as operacións anteriores, agarde a que se ilumine o indicador de encendido da placa principal (o LED PWR ilumínase en azul, PWM en verde, entón EVB debería recoñecerse no Xestor de dispositivos).
Selección da SIM
Para BG95 EVB, debe utilizarse unha tarxeta SIM NB-IoT. Para a proba usamos 1NCE SIM (debería recoñecer a rede de Telekom, enviar SMS e admitir a itinerancia nacional).
Ferramentas
QPYcom. Esta ferramenta úsase para depurar código, analizar rexistros, cargar scripts de Python ao módulo, descargar firmware, fusionar firmware e moito máis. Non se poden modificar os scripts de Python.

Código VSC: Para escribir scripts de Python. Os scripts de Python escritos por VSCode deben importarse máis tarde a QPYcom.
Firmware parpadeando
O firmware estándar AT ou o firmware QuecOpen adoita descargarse nun módulo cando o módulo sae da fábrica. Se queres desenvolver o módulo baseado en QuecPython, debes volver descargar manualmente o firmware QuecPython dedicado. https://python.quectel.com/en/download
Nota: QuecPython require un firmware especial! Debe ser flasheado por separado. Despois de flashear este firmware, a placa NON SE PODE usar para o ambiente de comando AT. Se se desexa desenvolver con comandos AT, o firmware correspondente debe ser flasheado de novo.
Example: BG95_M3 QPython Firmware Flash:

Conexión de porto BG95M3
Porto REPL: REPL significa Read-Eval-Print-Loop (intérprete interactivo). Podes depurar programas QuecPython en REPL. Kann python Befehle eingeben (zB 5+3) REPL, abreviatura de Read-Eval-Print Loop, é un contorno de programación interactivo sinxelo. REPL adoita proporcionar unha interface de liña de comandos (CLI) que recibe entradas do usuario, analiza e executa e, a continuación, devolve os resultados ao usuario. En termos de funcionalidade e uso, é semellante ao símbolo do sistema (CMD) en Windows ou ao Shell en macOS/Linux.
DM Porto: Porto de medios dixitais. Para o flasheo de firmware.
Inicio de funcións e comandos de Qpython
Rexistro de rede (en QPYcom, porto REPL)
Rede de importación
- net.operatorName() obtén a información do operador do rexistro de rede actual.
- net.getModemFun() Este método úsase para obter o modo funcional actual do módulo.
- net.getState() obtén a información de rexistro da rede. AT+CREG=?
Establecer DataCall
Importar dataCall
dataCall.getInfo(profileID, ipType)
- #profileID - ID PDP, rango 1~3.
- # ipType – IP typ,0:IPV4 1:IPV6 2:IPV4&IPV6
- Se a saída é (1, 0, [0, 0, '0.0.0.0', '0.0.0.0', '0.0.0.0']), significa que a rede xa está rexistrada, pero a chamada de datos non está configurada arriba. dataCall.setPDPContext(1,0,'iot.1nce.net',”,”,”,1) -> retorno: 0 = éxito
- O contexto PDP co APN axeitado debe configurarse segundo o fabricante da tarxeta SIM. (No noso caso, o fabricante da tarxeta SIM é 1NCE, polo que debes buscar a configuración APN para 1NCE).
Táboa:
Valor de configuración
- APN: iot.1nce.net
- Nome de usuario: Non é necesario, deixalo baleiro
- Contrasinal: Non é necesario, deixalo baleiro
- Autenticación Método: Protocolo de autenticación de contrasinal (PAP)
- Internet Protocolo: Protocolo de Internet versión 4 (IPv4)
dataCall.getPDPContext(1) -> retorno: 0 = éxito
dataCall.activate(1) -> retorno: 0 = éxito
dataCall.getInfo(1,0) -> devolver: (1, 0, [1, 0, '100.69.60.50', '8.8.8.8', '8.8.4.4'])
importar checkNet
checkNet.waitNetworkReady(60) -> retorno: (3,1) listo para a rede
Referencias
https://python.quectel.com/doc/Getting_started/en/index.html
https://python.quectel.com/doc/Application_guide/en/background/iot-and-low-code.html
https://python.quectel.com/doc/API_reference/en/iotlib/dataCall.html
www.tekmodul.de
quectel@tekmodul.de
089-904118290
Documentos/Recursos
![]() |
Placa de desenvolvemento tekmodul BG95M3-QPython EVB [pdfManual de instrucións BG95M3-QPython EVB Board Development, BG95M3-QPython, EVB Development Board, Development Board, Board |





