Во-первых, пример в репозитории GitHub работает так, как задумано:
https://github.com/zhanglongqi/python-s ... dem_sim.py
та часть, где я Не могу уяснить себе "Простой интерфейс" этого модуля.
Итак, в приведенном примере, если вы возьмете переменную "modem" и используете modem.simple.connect( ) функция ожидает аргументы Dict[str, Tuple[str, Any]].
Поскольку по этой части нет документации, я пытаюсь передать apn и тип IP.
Вкл. командную строку, я бы использовал эту строку:
Код: Выделить всё
mmcli -m 0 --simple-connect='apn=myapn,ip-type=ipv4v6'
Я пробовал множество способов передаю эти параметры, но всегда получаю одну и ту же ошибку
Код: Выделить всё
>>> modem.simple.connect({'apn':('s','myapn')})
Traceback (most recent call last):
File "", line 1, in
File "/usr/lib/python3.12/site-packages/sdbus/dbus_proxy_sync_method.py", line 93, in __call__
rebuilt_args = self.dbus_method._rebuild_args(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.12/site-packages/sdbus/dbus_common_elements.py", line 199, in _rebuild_args
raise TypeError('Could not flatten the args')
TypeError: Could not flatten the args
Код: Выделить всё
import sdbus
from sdbus_block.modemmanager import MM, MMModems
sdbus.set_default_bus(sdbus.sd_bus_open_system())
mm = MM()
mms = MMModems()
modem = mms.get_first()
modem.simple.connect({'apn':('s','myapn')})
Заранее спасибо
Я добавляю немного информации об среде:
[*]ModemManager 1.22
[*]Python 3.12
[*]python3-sdbus 0.11.1
[*]python3-sdbus-modemmanager 1.0.2
[*]Yocto Scarthgap (ядро 6.6.23)
< /ул>
Подробнее здесь: https://stackoverflow.com/questions/793 ... -interface
Мобильная версия