tekmodul BG95M3-QPython คู่มือการใช้งานบอร์ดพัฒนา EVB

tekmodul BG95M3-QPython EVB Development Board Instruction Manual

tekmodul-โลโก้

บอร์ดพัฒนา Tekmodul BG95M3-QPython EVB

tekmodul-BG95M3-QPython-EVB-บอร์ดพัฒนา

ความแตกต่างจาก MicroPython

QuecPython โดยพื้นฐานแล้วคือ MicroPython ที่ทำงานบนโมดูล Quectel เนื่องจากขาดข้อกำหนดมาตรฐานที่ครอบคลุมใน MicroPython ไลบรารีในตัวและการใช้งานฟังก์ชันต่างๆ อาจแตกต่างกันไปขึ้นอยู่กับนักพัฒนาและแพลตฟอร์มฮาร์ดแวร์ ผู้ใช้ QuecPython บางรายอาจเคยมีประสบการณ์ในการพัฒนาด้วย MicroPython บนโมดูล เช่น ESP32, ESP8266 และ STM32 มาก่อน เพื่ออำนวยความสะดวกในการโยกย้ายสำหรับผู้ใช้เหล่านี้ ความแตกต่างที่ทราบระหว่าง QuecPython และ MicroPython มีดังต่อไปนี้:

  • มาตรฐาน MicroPython หรือไลบรารีเฉพาะบางรายการ เช่น framebuf และเครือข่าย ไม่ได้ถูกนำมาใช้หรือติดตั้งมาใน QuecPython
  • ไลบรารีมาตรฐาน MicroPython บางตัว เช่น utime อาจมีการใช้งานที่แตกต่างกันและฟีเจอร์ที่สมบูรณ์ใน QuecPython เมื่อเปรียบเทียบกับโมดูล เช่น ESP32 ส่งผลให้เกิดความแตกต่างในด้านประสิทธิภาพหรือคุณลักษณะโดยละเอียดอื่นๆ
  • การจัดระเบียบคุณสมบัติบางอย่างใน QuecPython อาจแตกต่างจาก MicroPython สำหรับเช่นampโดยทั่วไปแล้ว ฟังก์ชัน ADC จะรวมอยู่ในไลบรารีเครื่องใน MicroPython แต่ใน QuecPython จะรวมอยู่ในไลบรารีเบ็ดเตล็ด
  • API ที่เกี่ยวข้องกับอินเทอร์เฟซฮาร์ดแวร์เฉพาะ เช่น UART, I2C และ SPI มีความแตกต่างอย่างมีนัยสำคัญระหว่าง MicroPython และ QuecPython และไม่สามารถใช้แทนกันได้
  • ขณะนี้ QuecPython ไม่มีฟังก์ชัน upip ดังนั้นจึงไม่สามารถติดตั้งไลบรารีออนไลน์อย่างรวดเร็วได้ จำเป็นต้องมีการย้ายพอร์ตด้วยตนเอง
  • ไม่รับประกันความเข้ากันได้กับเครื่องมือ MicroPython IDE เช่น Thonny และ uPyCraft
  • โดยสรุป โค้ด MicroPython ที่ทำงานสำเร็จบนโมดูล เช่น ESP32 มักจะไม่สามารถคัดลอกและรันโดยตรงในสภาพแวดล้อม QuecPython โดยไม่มีการแก้ไขใดๆ ดังนั้นจึงแนะนำให้หลีกเลี่ยงการใช้เอกสารและประสบการณ์การพัฒนาจากโมดูลฮาร์ดแวร์ MicroPython อื่นๆ กับการพัฒนา QuecPython โดยตรง

ความแตกต่างจาก CPython (Normale Python)

  • ต่างจากการพัฒนา CPython แบบดั้งเดิม QuecPython มีไลบรารีในตัวจำนวนน้อยกว่ามาก (ไลบรารีมาตรฐาน) แม้ว่า QuecPython จะมีไลบรารีพื้นฐานสำหรับงานต่างๆ เช่น การตั้งเวลาและ file การจัดการปริมาณลดลงอย่างมากเมื่อเทียบกับ CPython ชื่อและวิธีการใช้งานของไลบรารีมาตรฐานเหล่านี้มีความแตกต่างกันมากมายและเข้ากันไม่ได้อย่างสมบูรณ์
  • QuecPython ไม่มีฟังก์ชัน pip ในตัว ดังนั้นจึงไม่สามารถติดตั้งไลบรารีออนไลน์อย่างรวดเร็วได้ จำเป็นต้องมีการย้ายพอร์ตด้วยตนเอง
  • เนื่องจากความแตกต่างทางไวยากรณ์ระหว่าง QuecPython และ CPython รวมถึงความจริงที่ว่าไลบรารี QuecPython ส่วนใหญ่ไม่สามารถทำงานบนคอมพิวเตอร์เดสก์ท็อปได้ เครื่องมือเช่น VSCode และ PyCharm บนเดสก์ท็อปจึงสามารถใช้เพื่อแก้ไขโค้ดอย่างง่ายเท่านั้น จำเป็นต้องดาวน์โหลดสคริปต์ที่เสร็จสมบูรณ์ไปยังโมดูลด้วยตนเองเพื่อดำเนินการและแก้ไขจุดบกพร่อง
  • คุณสมบัติการเน้นไวยากรณ์และการเติมโค้ดให้สมบูรณ์โดยเครื่องมือเช่น VSCode และ PyCharm นั้นอิงตาม CPython และอาจไม่สามารถใช้ได้กับ QuecPython อย่างสมบูรณ์ ดังนั้น สำหรับผู้เริ่มต้นที่ไม่เคยมีประสบการณ์กับภาษา Python มาก่อน ไม่แนะนำให้ใช้เครื่องมือ IDE ที่ชาญฉลาดมากเกินไปในขณะที่เขียนโค้ด เนื่องจากคำแนะนำในตัวอาจทำให้เข้าใจผิด

การเชื่อมต่อ EVB

  • ขั้นตอนที่ 1: เชื่อมต่อ EVB
    เชื่อมต่อพอร์ต EVB Type-C เข้ากับพอร์ต USB ของพีซีของคุณด้วยสายเคเบิล USB Type-C สำหรับจ่ายไฟ
  • ขั้นตอนที่ 2: เปิด EVB
    ลัดวงจรพิน PWK_AUTO สองตัวที่มีฝาปิดจัมเปอร์เพื่อเปิดบอร์ด จากนั้นบอร์ดจะเปิดโดยอัตโนมัติ หรือกดปุ่ม PWK ค้างไว้หลังจากเปิดเครื่อง ขอแนะนำว่าช่วงเวลาระหว่างการเปิดเครื่องและการกดปุ่ม PWK ควรมีอย่างน้อย 30 ms หลังจากดำเนินการข้างต้นแล้ว ให้รอให้ไฟแสดงสถานะเพาเวอร์บนเมนบอร์ดสว่างขึ้น (LED PWR สว่างเป็นสีน้ำเงิน, PWM สว่างเป็นสีเขียว จากนั้นควรรู้จัก EVB ในตัวจัดการอุปกรณ์)

ทางเลือกของซิม
สำหรับ BG95 EVB ควรใช้ซิมการ์ด NB-IoT สำหรับการทดสอบ เราใช้ 1NCE SIM (ควรจดจำเครือข่าย Telekom, ส่ง SMS และรองรับ National Roaming)
เครื่องมือ

คิวพีวายคอม- เครื่องมือนี้ใช้สำหรับการแก้ไขโค้ด วิเคราะห์บันทึก การอัปโหลดสคริปต์ Python ไปยังโมดูล ดาวน์โหลดเฟิร์มแวร์ การรวมเฟิร์มแวร์ และอื่นๆ ไม่สามารถแก้ไขสคริปต์ Python ได้!

tekmodul-BG95M3-QPython-EVB-การพัฒนา-คณะกรรมการ-fig-1

วีเอสโค้ด: ในการเขียนสคริปต์ Python สคริปต์หลามที่เขียนโดย VSCode จะต้องนำเข้าไปยัง QPYcom ในภายหลัง

แฟลชเฟิร์มแวร์
โดยปกติเฟิร์มแวร์ AT มาตรฐานหรือเฟิร์มแวร์ QuecOpen จะถูกดาวน์โหลดลงในโมดูลเมื่อโมดูลออกจากโรงงาน หากคุณต้องการพัฒนาโมดูลโดยใช้ QuecPython คุณจะต้องดาวน์โหลดเฟิร์มแวร์ QuecPython เฉพาะลงไปอีกครั้งด้วยตนเอง https://python.quectel.com/en/download
บันทึก: QuecPython ต้องการเฟิร์มแวร์พิเศษ! มันจะต้องมีแฟลชแยกกัน หลังจากกระพริบเฟิร์มแวร์นี้ บอร์ดจะไม่สามารถใช้กับสภาพแวดล้อมคำสั่ง AT ได้ หากต้องการการพัฒนาด้วยคำสั่ง AT จะต้องแฟลชเฟิร์มแวร์ที่เกี่ยวข้องอีกครั้ง

Exampเลอ: BG95_M3 QPython เฟิร์มแวร์แฟลช:

tekmodul-BG95M3-QPython-EVB-การพัฒนา-คณะกรรมการ-fig-2

การเชื่อมต่อพอร์ต BG95M3
พอร์ต REPL: REPL ย่อมาจาก Read-Eval-Print-Loop (ล่ามแบบโต้ตอบ) คุณสามารถดีบักโปรแกรม QuecPython ใน REPL ได้ Kann python Befehle eingeben (zB 5+3) REPL ย่อมาจาก Read-Eval-Print Loop คือสภาพแวดล้อมการเขียนโปรแกรมเชิงโต้ตอบที่เรียบง่าย โดยทั่วไป REPL จัดเตรียมอินเทอร์เฟซบรรทัดคำสั่ง (CLI) ที่รับอินพุตจากผู้ใช้ แยกวิเคราะห์และดำเนินการ จากนั้นจึงส่งคืนผลลัพธ์ให้กับผู้ใช้ ในแง่ของฟังก์ชันและการใช้งาน จะคล้ายกับ Command Prompt (CMD) ใน Windows หรือ Shell ใน macOS/Linux

DM ท่าเรือ: พอร์ตสื่อดิจิทัล สำหรับการกระพริบเฟิร์มแวร์

ฟังก์ชั่นและคำสั่งเริ่มต้น Qpython

การลงทะเบียนเครือข่าย (ใน QPYcom, พอร์ต REPL)

นำเข้าสุทธิ

  • net.operatorName() รับข้อมูลผู้ให้บริการของการลงทะเบียนเครือข่ายปัจจุบัน
  • net.getModemFun() วิธีการนี้ใช้เพื่อรับโหมดการทำงานปัจจุบันของโมดูล
  • net.getState() รับข้อมูลการลงทะเบียนเครือข่าย AT+CREG=?

สร้าง DataCall

นำเข้า dataCall

dataCall.getInfo(โปรfileรหัส, ประเภทไอพี)

  • #โปรfileรหัส – รหัส PDP,ช่วง 1~3。
  • # ipType – ประเภท IP,0:IPV4 1:IPV6 2:IPV4&IPV6
  • หากเอาต์พุตเป็น (1, 0, [0, 0, '0.0.0.0', '0.0.0.0', '0.0.0.0']) แสดงว่าเครือข่ายได้รับการลงทะเบียนแล้ว แต่ไม่ได้ตั้งค่าการเรียกข้อมูล ขึ้น. dataCall.setPDPContext (1,0, 'iot.1nce.net',”,”, 1) -> ส่งคืน: 0 = สำเร็จ
  • ต้องตั้งค่าบริบท PDP พร้อม APN ที่เหมาะสมตามผู้ผลิตซิมการ์ด (ในกรณีของเรา ผู้ผลิตซิมการ์ดคือ 1NCE ดังนั้นคุณต้องค้นหาการตั้งค่า APN สำหรับ 1NCE)

โต๊ะ:

ตั้งค่าค่า

  • เอพีเอ็น: iot.1nce.net
  • ชื่อผู้ใช้: ไม่จำเป็น ปล่อยว่างไว้
  • รหัสผ่าน: ไม่จำเป็น ปล่อยว่างไว้
  • การรับรองความถูกต้อง วิธี: โปรโตคอลการตรวจสอบรหัสผ่าน (PAP)
  • อินเทอร์เน็ต โปรโตคอล: อินเทอร์เน็ตโปรโตคอลเวอร์ชัน 4 (IPv4)

dataCall.getPDPContext (1) -> กลับ: 0 = สำเร็จ
dataCall.เปิดใช้งาน(1) -> กลับ: 0 = สำเร็จ
dataCall.getInfo(1,0) -> ส่งคืน: (1, 0, [1, 0, '100.69.60.50', '8.8.8.8', '8.8.4.4'])

นำเข้า checkNet
checkNet.waitNetworkReady (60) -> กลับ: (3,1) เครือข่ายพร้อมแล้ว

อ้างอิง
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

เอกสาร / แหล่งข้อมูล

ภาพย่อของไฟล์ PDFบอร์ดพัฒนา BG95M3-QPython EVB
Instruction Manual · BG95M3-QPython EVB Development Board, BG95M3-QPython, EVB Development Board, Development Board, Board

ถามคำถาม

Use this section to ask about setup, compatibility, troubleshooting, or anything missing from this manual.

ถามคำถาม

Ask about setup, compatibility, troubleshooting, or anything missing from this manual. Name and email are optional.