Проєктування та перспективи створення модульної GSM-бібліотеки для MicroPython з підтримкою NB-IoT
Анотація
Актуальність. У контексті зростаючої популярності Інтернету речей (IoT) все більшої актуальності набуває створення програмного забезпечення, сумісного з обмеженими апаратними ресурсами. Технологія NB-IoT забезпечує енергоефективний зв’язок для автономних пристроїв, однак її інтеграція у середовищі MicroPython залишається недостатньо опрацьованою через обмеження наявних GSM-бібліотек. Проблематика ефективної взаємодії мікроконтролерів з GSM-модулями потребує розробки адаптованих інструментів.
Мета. Метою роботи є аналіз сучасних бібліотек для взаємодії з GSM-модулями з акцентом на NB-IoT-проєкти та формулювання вимог до нової бібліотеки, оптимізованої для середовища MicroPython.
Методи дослідження. Застосовано порівняльний аналіз функціональних можливостей, архітектури та сумісності п’яти поширених бібліотек: pySerial, GSMComm, Adafruit FONA, TinyGSM, GSM (Arduino). Дослідження здійснювалося за критеріями підтримки AT-команд, енергоефективності, розширюваності, обробки помилок та придатності до MicroPython.
Результати. Встановлено, що жодна з досліджених бібліотек не забезпечує повної підтримки MicroPython-середовища без обмежень. Основні недоліки полягають у відсутності модульності, низькому рівні адаптації до NB-IoT та обмеженій обробці помилок. На основі аналізу сформульовано концепцію нової бібліотеки з модульною архітектурою, адаптованою до MicroPython, з окремими модулями для AT-команд, роботи з мережею, обробки помилок та інтеграції з IoT-протоколами (MQTT, HTTP). Запропоновано структурну модель бібліотеки та UML-діаграми її компонентів.
Висновки. Проведене дослідження підтверджує потребу у створенні нової спеціалізованої GSM-бібліотеки, що поєднувала б гнучкість, енергоефективність і простоту інтеграції з MicroPython для застосування в NB-IoT-пристроях. Запропоновані архітектурні рішення орієнтовані на зниження навантаження на апаратну частину, забезпечення стабільної комунікації та спрощення розробки IoT-проєктів.
Завантаження
Посилання
/Посилання
PySerial 3.0 Documentation, PySerial, 2024. [Online]. Available: https://pythonhosted.org/pyserial. [Accessed: Mar. 26, 2025].
GSMComm for .NET 2.0, Apponic, 2024. [Online]. Available: https://gsmcomm-for-net-2-0.apponic.com. [Accessed: Mar. 28, 2025].
Adafruit FONA Library 1.0 Documentation, Arduino, 2024. [Online]. Available: https://docs.arduino.cc/libraries/adafruit-fona-library/. [Accessed: May 5, 2025].
TinyGSM Documentation, Arduino, 2024. [Online]. Available: https://docs.arduino.cc/libraries/tinygsm/. [Accessed: May 15, 2025].
GSM Documentation, Arduino, 2024. [Online]. Available: https://docs.arduino.cc/libraries/gsm/. [Accessed: May 17, 2025].
MicroPython Documentation, MicroPython, 2024. [Online]. Available: https://docs.micropython.org/en/latest/. [Accessed: May 21, 2025].
PySerial 3.0 Documentation [Електронний ресурс] // PySerial : офіційний сайт. URL: https://pythonhosted.org/pyserial (дата звернення: 26.03.2025).
GSMComm for .NET 2.0 [Електронний ресурс] // Apponic : сайт спільноти розробників. URL: https://gsmcomm-for-net-2-0.apponic.com (дата звернення: 28.03.2025).
Adafruit FONA Library 1.0 Documentation [Електронний ресурс] // Arduino : документація бібліотек. URL: https://docs.arduino.cc/libraries/adafruit-fona-library/ (дата звернення: 05.05.2025).
TinyGSM Documentation [Електронний ресурс] // Arduino : документація бібліотек. URL: https://docs.arduino.cc/libraries/tinygsm/ (дата звернення: 15.05.2025).
GSM Documentation [Електронний ресурс] // Arduino : документація бібліотек. URL: https://docs.arduino.cc/libraries/gsm/ (дата звернення: 17.05.2025).
MicroPython documentation [Електронний ресурс] // MicroPython : офіційна документація. URL: https://docs.micropython.org/en/latest/ (дата звернення: 21.05.2025).