ក្រុមប្រឹក្សាអភិវឌ្ឍន៍ 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 ។ សម្រាប់អតីតample, មុខងារ ADC ជាទូទៅត្រូវបានរួមបញ្ចូលនៅក្នុងបណ្ណាល័យម៉ាស៊ីននៅក្នុង MicroPython ប៉ុន្តែនៅក្នុង QuecPython វាត្រូវបានរួមបញ្ចូលនៅក្នុងបណ្ណាល័យផ្សេងៗ។
- APIs ដែលទាក់ទងនឹងចំណុចប្រទាក់ផ្នែករឹងជាក់លាក់ដូចជា UART, I2C, និង SPI មានភាពខុសគ្នាខ្លាំងរវាង MicroPython និង QuecPython ហើយមិនអាចប្រើជំនួសគ្នាបានទេ។
- បច្ចុប្បន្ន QuecPython មិនរួមបញ្ចូលមុខងារ upip ទេ ដូច្នេះការដំឡើងបណ្ណាល័យរហ័សតាមអ៊ីនធឺណិតមិនអាចធ្វើទៅបានទេ។ ការច្រកដោយដៃគឺចាំបាច់។
- ភាពឆបគ្នាជាមួយឧបករណ៍ MicroPython IDE ដូចជា Thonny និង uPyCraft មិនត្រូវបានធានាទេ។
- សរុបមក កូដ MicroPython ដែលដំណើរការដោយជោគជ័យលើម៉ូឌុលដូចជា ESP32 ជាធម្មតាមិនអាចចម្លងដោយផ្ទាល់ និងដំណើរការនៅក្នុងបរិស្ថាន QuecPython ដោយគ្មានការកែប្រែណាមួយឡើយ។ ដូច្នេះ គួរចៀសវាងការអនុវត្តឯកសារ និងបទពិសោធន៍អភិវឌ្ឍន៍ដោយផ្ទាល់ពីម៉ូឌុលផ្នែករឹង MicroPython ផ្សេងទៀតទៅការអភិវឌ្ឍន៍ QuecPython ។
ភាពខុសគ្នាពី CPython (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 ពីរជាមួយនឹងមួក jumper ដើម្បីថាមពលនៅលើក្តារ ហើយវានឹងបើកដោយស្វ័យប្រវត្តិ ឬចុចប៊ូតុង PWK ឱ្យយូរបន្ទាប់ពីបើកថាមពល។ វាត្រូវបានណែនាំថាចន្លោះពេលរវាងការបើក និងចុចប៊ូតុង PWK គួរតែមានយ៉ាងហោចណាស់ 30 ms ។ បន្ទាប់ពីអនុវត្តប្រតិបត្តិការខាងលើ សូមរង់ចាំសូចនាករថាមពលនៅលើបន្ទះមេដើម្បីភ្លឺ (LED PWR បំភ្លឺពណ៌ខៀវ PWM បំភ្លឺពណ៌បៃតង បន្ទាប់មក EVB គួរតែត្រូវបានទទួលស្គាល់នៅក្នុងកម្មវិធីគ្រប់គ្រងឧបករណ៍។)
ជម្រើសស៊ីម
សម្រាប់ BG95 EVB ស៊ីមកាត NB-IoT គួរតែត្រូវបានប្រើ។ សម្រាប់ការធ្វើតេស្ត យើងបានប្រើស៊ីម 1NCE (វាគួរតែស្គាល់បណ្តាញ Telekom ផ្ញើសារ SMS និងគាំទ្រ National Roaming)។
ឧបករណ៍
QPYcom. ឧបករណ៍នេះត្រូវបានប្រើសម្រាប់ការបំបាត់កំហុស ការវិភាគកំណត់ហេតុ ការបង្ហោះស្គ្រីប python ទៅកាន់ម៉ូឌុល ការទាញយកកម្មវិធីបង្កប់ ការបញ្ចូលកម្មវិធីបង្កប់ និងច្រើនទៀត។ មិនអាចកែប្រែអក្សរ Python បានទេ!
កូដ VSC៖ ដើម្បីសរសេរស្គ្រីប Python ។ ស្គ្រីប python សរសេរដោយ VSCode ក្រោយមកត្រូវនាំចូលទៅក្នុង QPYcom ។
ពន្លឺកម្មវិធីបង្កប់
កម្មវិធីបង្កប់ស្តង់ដារ AT ឬកម្មវិធីបង្កប់ QuecOpen ជាធម្មតាត្រូវបានទាញយកទៅក្នុងម៉ូឌុល នៅពេលដែលម៉ូឌុលចាកចេញពីរោងចក្រ។ ប្រសិនបើអ្នកចង់អភិវឌ្ឍម៉ូឌុលដោយផ្អែកលើ QuecPython អ្នកត្រូវទាញយកកម្មវិធីបង្កប់ QuecPython ឡើងវិញដោយដៃទៅក្នុងវា។ https://python.quectel.com/en/download
ចំណាំ៖ QuecPython ទាមទារកម្មវិធីបង្កប់ពិសេស! វាចាំបាច់ត្រូវបញ្ចេញពន្លឺដោយឡែកពីគ្នា។ បន្ទាប់ពីបញ្ចេញកម្មវិធីបង្កប់នេះ បន្ទះមិនអាចប្រើសម្រាប់បរិស្ថានពាក្យបញ្ជា AT បានទេ។ ប្រសិនបើការអភិវឌ្ឍន៍ដោយប្រើពាក្យបញ្ជា AT ត្រូវបានគេចង់បាននោះ កម្មវិធីបង្កប់ដែលត្រូវគ្នាត្រូវតែបញ្ចេញពន្លឺម្តងទៀត។
Example: BG95_M3 QPython Firmware Flash៖
ច្រកតភ្ជាប់ BG95M3
ច្រក REPL: REPL តំណាងឱ្យ Read-Eval-Print-Loop (អ្នកបកប្រែអន្តរកម្ម) ។ អ្នកអាចបំបាត់កំហុសកម្មវិធី QuecPython នៅក្នុង REPL ។ Kann python Befehle eingeben (zB 5+3) REPL ខ្លីសម្រាប់ Read-Eval-Print Loop គឺជាបរិយាកាសកម្មវិធីអន្តរកម្មដ៏សាមញ្ញមួយ។ REPL ជាធម្មតាផ្ដល់នូវ Command-Line Interface (CLI) ដែលទទួលការបញ្ចូលរបស់អ្នកប្រើ ញែក និងប្រតិបត្តិវា ហើយបន្ទាប់មកបញ្ជូនលទ្ធផលទៅអ្នកប្រើប្រាស់។ នៅក្នុងលក្ខខណ្ឌនៃមុខងារ និងការប្រើប្រាស់ វាស្រដៀងទៅនឹង Command Prompt (CMD) នៅក្នុង Windows ឬ Shell នៅក្នុង macOS/Linux។
DM ច្រក៖ ច្រកប្រព័ន្ធផ្សព្វផ្សាយឌីជីថល។ សម្រាប់ការ Flash កម្មវិធីបង្កប់។
ចាប់ផ្តើមមុខងារ Qpython និងពាក្យបញ្ជា
ការចុះឈ្មោះបណ្តាញ (នៅក្នុង QPYcom, ច្រក REPL)
នាំចូលសុទ្ធ
- net.operatorName() ទទួលបានព័ត៌មានប្រតិបត្តិករនៃការចុះឈ្មោះបណ្តាញបច្ចុប្បន្ន។
- net.getModemFun() វិធីសាស្រ្តនេះត្រូវបានប្រើដើម្បីទទួលបានរបៀបមុខងារបច្ចុប្បន្ននៃម៉ូឌុល។
- net.getState() ទទួលបានព័ត៌មានចុះឈ្មោះបណ្តាញ។ AT+CREG=?
បង្កើតការហៅទិន្នន័យ
នាំចូលទិន្នន័យការហៅ
dataCall.getInfo(profileលេខសម្គាល់ ipType)
- # គាំទ្រ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.setPPContext(1,0,'iot.1nce.net',”,”,1) -> ត្រឡប់៖ 0 = ជោគជ័យ
- បរិបទ PDP ដែលមាន APN សមស្របត្រូវតែកំណត់ដោយយោងតាមក្រុមហ៊ុនផលិតស៊ីមកាត។ (ក្នុងករណីរបស់យើង ក្រុមហ៊ុនផលិតស៊ីមកាតគឺ 1NCE ដូច្នេះអ្នកត្រូវរកមើលការកំណត់ APN សម្រាប់ 1NCE)។
តារាង៖
ការកំណត់តម្លៃ
- APN៖ iot.1nce.net
- ឈ្មោះអ្នកប្រើប្រាស់៖ មិនចាំបាច់ទេ ទុកអោយទទេ
- ពាក្យសម្ងាត់៖ មិនចាំបាច់ទេ ទុកអោយទទេ
- ការផ្ទៀងផ្ទាត់ភាពត្រឹមត្រូវ វិធីសាស្រ្ត៖ ពិធីការផ្ទៀងផ្ទាត់ពាក្យសម្ងាត់ (PAP)
- អ៊ីនធឺណិត ពិធីការ៖ Internet Protocol កំណែ 4 (IPv4)
dataCall.getPDPContext(1) -> ត្រឡប់៖ 0 = ជោគជ័យ
dataCall.activate(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
០១៤៨៦០៧៤-០០៤
ឯកសារ/ធនធាន
![]() |
ក្រុមប្រឹក្សាអភិវឌ្ឍន៍ tekmodul BG95M3-QPython EVB [pdf] សៀវភៅណែនាំ ក្រុមប្រឹក្សាអភិវឌ្ឍន៍ BG95M3-QPython EVB, BG95M3-QPython, ក្រុមប្រឹក្សាអភិវឌ្ឍន៍ EVB, ក្រុមប្រឹក្សាអភិវឌ្ឍន៍, ក្រុមប្រឹក្សាភិបាល |