tekmodul-logo

tekmodul BG95M3-QPython EVB Geliştirme Kartı

tekmodul-BG95M3-QPython-EVB-Geliştirme Kartı

MicroPython'dan Farklar

QuecPython aslında Quectel modülleri üzerinde çalışan MicroPython'dur. MicroPython'da kapsamlı bir standart spesifikasyonun bulunmamasından dolayı yerleşik kütüphaneler ve çeşitli fonksiyonların kullanımı, geliştiricilere ve donanım platformlarına bağlı olarak değişiklik gösterebilir. Bazı QuecPython kullanıcıları, ESP32, ESP8266 ve STM32 gibi modüllerde MicroPython ile geliştirme konusunda önceden deneyime sahip olabilir. Bu kullanıcıların geçişini kolaylaştırmak amacıyla QuecPython ve MicroPython arasındaki bilinen farklar aşağıda listelenmiştir:

  • Çerçevebuf ve ağ gibi bazı MicroPython standart veya özel kitaplıkları QuecPython'da uygulanmaz veya yerleşik değildir.
  • Utime gibi bazı MicroPython standart kitaplıkları, QuecPython'da ESP32 gibi modüllere kıyasla farklı uygulamalara ve özellik bütünlüğüne sahip olabilir; bu da performansta veya diğer ayrıntılı özelliklerde farklılıklara neden olabilir.
  • QuecPython'daki belirli özelliklerin organizasyonu MicroPython'dan farklı olabilir. Eski içinampADC işlevselliği genellikle MicroPython'daki makine kitaplığında bulunur, ancak QuecPython'da çeşitli kitaplıkta bulunur.
  • UART, I2C ve SPI gibi belirli donanım arayüzleriyle ilgili API'ler, MicroPython ve QuecPython arasında önemli farklılıklara sahiptir ve birbirlerinin yerine kullanılamaz.
  • QuecPython şu anda upip işlevini içermemektedir, bu nedenle kitaplıkların hızlı çevrimiçi kurulumu mümkün değildir. Manuel taşıma gereklidir.
  • Thonny ve uPyCraft gibi MicroPython IDE araçlarıyla uyumluluk garanti edilmez.
  • Özetle, ESP32 gibi modüller üzerinde başarıyla çalışan MicroPython kodu genellikle doğrudan kopyalanıp herhangi bir değişiklik yapılmadan QuecPython ortamında çalıştırılamaz. Bu nedenle, diğer MicroPython donanım modüllerindeki dokümantasyon ve geliştirme deneyimlerinin QuecPython geliştirmeye doğrudan uygulanmasından kaçınılması tavsiye edilir.

CPython'dan (normal Python) farklar

  • Geleneksel CPython geliştirmesinden farklı olarak QuecPython'da çok daha az sayıda yerleşik kitaplık (standart kitaplıklar) bulunur. QuecPython zaman ayarı ve gibi görevler için temel kütüphaneler içermesine rağmen file yönetim, miktar CPython'a kıyasla önemli ölçüde daha düşüktür. Bu standart kütüphanelerin isimleri ve kullanım yöntemleri de birçok farklılığa sahiptir ve tam olarak uyumlu değildir.
  • QuecPython'un yerleşik pip işlevi yoktur, bu nedenle kitaplıkların hızlı çevrimiçi kurulumu mümkün değildir. Manuel taşıma gereklidir.
  • QuecPython ve CPython arasındaki sözdizimi farklılıkları ve çoğu QuecPython kütüphanesinin masaüstü bilgisayarlarda çalışamaması nedeniyle, masaüstündeki VSCode ve PyCharm gibi araçlar yalnızca basit kod düzenleme için kullanılabilir. Tamamlanan komut dosyalarının yürütme ve hata ayıklama için modüle manuel olarak indirilmesi gerekir.
  • VSCode ve PyCharm gibi araçlar tarafından sağlanan sözdizimi vurgulama ve kod tamamlama özellikleri CPython'u temel alır ve QuecPython'a tam olarak uygulanamayabilir. Bu nedenle, Python diliyle daha önceden deneyimi olmayan yeni başlayanlar için, yerleşik öneriler yanıltıcı olabileceğinden, kod yazarken aşırı akıllı IDE araçlarını kullanmaları önerilmez.

EVB Bağlantısı

  • 1. Adım: EVB'yi bağlayın
    Güç kaynağı için EVB Type-C bağlantı noktasını bir USB Type-C kablosuyla bilgisayarınızın USB bağlantı noktasına bağlayın.
  • Adım 2: EVB'yi açın
    Kartı açmak için iki PWK_AUTO pinini bir jumper başlığıyla kısa devre yapın; kart otomatik olarak açılacaktır veya güç açıldıktan sonra PWK düğmesine uzun basın. Gücün açılması ile PWK düğmesine basılması arasındaki zaman aralığının en az 30 ms olması önerilir. Yukarıdaki işlemleri yaptıktan sonra ana kart üzerindeki güç göstergesinin yanmasını bekleyin (PWR LED'i mavi yanar, PWM yeşil yanar, ardından Cihaz Yöneticisinde EVB'nin tanınması gerekir.).

SIM Seçimi
BG95 EVB için NB-IoT SIM kartı kullanılmalıdır. Test için 1NCE SIM kullandık (Telekom ağını tanımalı, SMS göndermeli ve Ulusal Dolaşımı desteklemelidir).
Aletler

QPYcom. Bu araç, kodda hata ayıklamak, günlükleri analiz etmek, python komut dosyalarını modüle yüklemek, ürün yazılımını indirmek, ürün yazılımını birleştirmek ve daha fazlası için kullanılır. Python komut dosyaları değiştirilemiyor!

tekmodul-BG95M3-QPython-EVB-Geliştirme-Kartı-fig-1

VS Kodu: Python betikleri yazmak için. VSCode tarafından yazılan python komut dosyalarının daha sonra QPYcom'a aktarılması gerekir.

Firmware Yanıp Sönüyor
Standart AT ürün yazılımı veya QuecOpen ürün yazılımı genellikle modül fabrikadan çıktığında bir modüle indirilir. Modülü QuecPython'a dayalı olarak geliştirmek istiyorsanız, özel QuecPython ürün yazılımını manuel olarak modüle yeniden indirmeniz gerekir. https://python.quectel.com/en/download
Not: QuecPython özel bir ürün yazılımı gerektirir! Ayrı olarak flashlanması gerekiyor. Bu bellenimi yükledikten sonra kart AT komut ortamı için KULLANILAMAZ. AT komutlarıyla geliştirme isteniyorsa ilgili donanım yazılımının yeniden flashlanması gerekir.

Exampdosya: BG95_M3 QPython Firmware Flash:

tekmodul-BG95M3-QPython-EVB-Geliştirme-Kartı-fig-2

Bağlantı Noktası Bağlantısı BG95M3
REPL Bağlantı Noktası: REPL, Read-Eval-Print-Loop (etkileşimli yorumlayıcı) anlamına gelir. REPL'de QuecPython programlarının hatalarını ayıklayabilirsiniz. Kann python Befehle eingeben (zB 5+3) REPL, Okuma-Eval-Yazdırma Döngüsü'nün kısaltması, basit bir etkileşimli programlama ortamıdır. REPL genellikle kullanıcı girişini alan, ayrıştırıp yürüten ve ardından sonuçları kullanıcıya döndüren bir Komut Satırı Arayüzü (CLI) sağlar. İşlevsellik ve kullanım açısından Windows'taki Komut İstemi'ne (CMD) veya macOS/Linux'taki Shell'e benzer.

DM Liman: Dijital Medya Bağlantı Noktası. Firmware'in Yanıp Sönmesi için.

Başlangıç ​​Qpython İşlevleri ve Komutları

Ağ Kaydı (QPYcom'da, REPL bağlantı noktasında)

Ağı içe aktar

  • net.operatorName() geçerli ağ kaydının operatör bilgilerini alır.
  • net.getModemFun() Bu yöntem, modülün geçerli işlevsel modunu elde etmek için kullanılır.
  • net.getState() ağ kayıt bilgilerini alır. AT+CREG=?

DataCall'ı kurun

DataCall'ı içe aktar

dataCall.getInfo(profileKimlik, ipType)

  • # profesyonelfileKimlik – PDP Kimliği, aralık 1~3.
  • # ipType – IP tipi,0:IPV4 1:IPV6 2:IPV4&IPV6
  • Çıkış (1, 0, [0, 0, '0.0.0.0', '0.0.0.0', '0.0.0.0'] ise, bu, ağın zaten kayıtlı olduğu ancak veri çağrısının ayarlanmadığı anlamına gelir yukarı. dataCall.setPDPContext(1,0,'iot.1nce.net',”,”,1) -> dönüş: 0 = başarılı
  • Uygun APN'ye sahip PDP içeriği, SIM kart üreticisine göre ayarlanmalıdır. (Bizim durumumuzda SIM kart üreticisi 1NCE'dir, bu nedenle 1NCE için APN ayarlarını aramanız gerekir).

Masa:

Ayar Değeri

  • APN: iot.1nce.net
  • Kullanıcı adı: Gerekli Değil, Boş Bırakın
  • Şifre: Gerekli Değil, Boş Bırakın
  • Kimlik doğrulama Yöntem: Parola Kimlik Doğrulama Protokolü (PAP)
  • İnternet Protokol: İnternet Protokolü Sürüm 4 (IPv4)

dataCall.getPDPContext(1) -> dönüş: 0 = başarılı
dataCall.activate(1) -> dönüş: 0 = başarılı
dataCall.getInfo(1,0) -> dönüş: (1, 0, [1, 0, '100.69.60.50', '8.8.8.8', '8.8.4.4'])

checkNet'i içe aktar
checkNet.waitNetworkReady(60) -> dönüş: (3,1) ağa hazır

Referanslar
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

Belgeler / Kaynaklar

tekmodul BG95M3-QPython EVB Geliştirme Kartı [pdf] Kullanım Kılavuzu
BG95M3-QPython EVB Geliştirme Kurulu, BG95M3-QPython, EVB Geliştirme Kurulu, Geliştirme Kurulu, Kurul

Referanslar

Yorum bırakın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar işaretlenmiştir *