python-mbee
Открытые члены | Полный список членов класса
Класс mbee.serialstar.SerialStar

Класс для проектов, основанных на программном обеспечении SerialStar. Подробнее...

Открытые члены

def __init__ (self, port, baud)
 
def callback_registring (self, frame_type, function_name)
 Метод для регистрации callback-функции. Подробнее...
 
def send_immidiate_apply_local_at (self, frame_id, at_command, at_parameter="")
 Отправка фрейма с локальной AT-командой с немедленным применением изменений: API-фрейм 0x07. Подробнее...
 
def send_immidiate_apply_and_save_local_at (self, frame_id, at_command, at_parameter="")
 Отправка фрейма с локальной AT-командой с немедленным применением и сохранением изменений в энергонезависимой памяти: API-фрейм 0x08. Подробнее...
 
def send_queue_local_at (self, frame_id, at_command, at_parameter="")
 Отправка фрейма с локальной AT-командой с помещением параметра в очередь: API-фрейм 0x09. Подробнее...
 
def send_tx_request (self, frame_id, destination_id, data, options="")
 Отправка фрейма с данными удаленному модулю, которые должны быть переданы им в UART: API-фреймы 0x10, 0x0F. Подробнее...
 
def send_remote_at (self, frame_id, destination_id, options, at_command, at_parameter="")
 Отправка фрейма с AT-командой удаленному модулю: API-фрейм 0x17. Подробнее...
 
def get_tx_request (self)
 Получение фрейма с данными от удаленного модуля, переданными с байтом опций: API-фрейм 0x81. Подробнее...
 
def get_tx_request_without_option (self)
 Получение фрейма с данными от удаленного модуля, переданными без байта опций: API-фрейм 0x8F. Подробнее...
 
def get_immidiate_apply_local_at_response (self)
 Получение фрейма, подтверждающего прием пакета с локальной AT-командой с немедленным применением изменений: API-фрейм 0x87. Подробнее...
 
def get_immidiate_apply_and_save_local_at_response (self)
 Получение фрейма, подтверждающего прием пакета с локальной AT-командой с немедленным применением и сохраненим изменений: API-фрейм 0x88. Подробнее...
 
def get_queue_local_at_response (self)
 Получение фрейма, подтверждающего прием пакета с локальной AT-командой и помещением параметра в очередь: API-фрейм 0x89. Подробнее...
 
def get_modem_status (self)
 Получение фрейма со статусом модуля, отправляемого им при рестарте: API-фрейм 0x8A. Подробнее...
 
def get_local_tx_status (self)
 Получение фрейма со статусом отправки пакета, предназначенного для передачи в эфир: API-фрейм 0x8B. Подробнее...
 
def get_remote_tx_status (self)
 Получение фрейма с подтверждением доставки пакета с данными удаленному модулю: API-фрейм 0x8C. Подробнее...
 
def get_remote_at_command_response (self)
 Получение фрейма с ответом от удаленного модуля на отправленную ему AT-команду: API-фрейм 0x97. Подробнее...
 
def get_io_sample_rx (self)
 Получение фрейма с данными о состоянии линий ввода вывода удаленного модуля: API-фрейм 0x83. Подробнее...
 
def run (self)
 Метод, осуществляющий постоянный опрос буфера последовательного порта с целью обнаружения в нем всех типов фреймов, поддерживаемых в проекте SerialStar. Подробнее...
 

Подробное описание

Класс для проектов, основанных на программном обеспечении SerialStar.

См. определение в файле serialstar.py строка 27

Конструктор(ы)

◆ __init__()

def mbee.serialstar.SerialStar.__init__ (   self,
  port,
  baud 
)
Аргументы
port- имя COM-порта, которому подключен радиомодуль, в виде символьной строки, например "COM11".
baud- битовая скорость COM-порта. Целое число. Возможные значения 9600, 19200, 38400, 57600, 115200, 230400. Настраивается только с помощью программы SysMC Bootloader.

Модуль должен быть предварительно настроен для работы в пакетном режиме с escape-символами (AP = 2).

См. определение в файле serialstar.py строка 109

Методы

◆ callback_registring()

def mbee.serialstar.SerialStar.callback_registring (   self,
  frame_type,
  function_name 
)

Метод для регистрации callback-функции.

Аргументы
frame_type- тип фрейма, для которого надо зарегистрировать callback-функцию. Два шестнадцатеричных символа без 0x. Например "83".
function_name- имя функции, например frame_83_received.

Зарегистрированная функция будет вызываться каждый раз при получении от модуля данного типа пакета.

См. определение в файле serialstar.py строка 222

◆ get_immidiate_apply_and_save_local_at_response()

def mbee.serialstar.SerialStar.get_immidiate_apply_and_save_local_at_response (   self)

Получение фрейма, подтверждающего прием пакета с локальной AT-командой с немедленным применением и сохраненим изменений: API-фрейм 0x88.

Данная функция применяется для опроса приемного буфера последовательного порта и поиска в нем фрейма 0x88. Поиск осуществляется до первого найденного фрейма данного типа. При этом все прочие пакеты, принятые до первого пакета 0x88 теряются. Делается делается ограниченное число попыток получения данного типа фрейма. Число попыток регулируется константой LOCAL_RESPONSE_RETRY_COUNT и равно по-умолчанию 1. Функция обычно применяется, если опрос модуля осуществляется из основного скрипта периодической проверкой, а не с помощью callback-функций.

Возвращает
В случае успешного приема пакета словарь (dictionary) следующего вида:
["DELIMITER"]: "7E" - стартовый байт фрейма.
["LENGTH"]: xx - длина пакета в байтах между полями length и checksum (то есть всегда на 4 байта меньше, чем полная длина принятого пакета). Десятичное число.
["FRAME_TYPE"]: "xx" - "88" тип фрейма.
["FRAME_ID"]: "xx" - идентификатор фрейма. Равен идентификатору фрейма 0x08 ответом на который он является. Два шестнадцатеричных символа без 0x.
["AT_COMMAND"]: "xx" - AT-команда в виде двух ASCII-символов. ["STATUS"]: "xx" - статус команды. "00" - команда выполнена, "01" - недостаточно памяти для выполнения команды, "02" - недопустимая команда, "03" - недопустимое значение параметра.
["AT_PARAMETER"]: "xx..x" - параметр команды в виде строки шестнадцатеричных символов без префикса 0x. Если команда записывала данные, то значением этого ключа является пустая строка. ["CHECKSUM"]: "xx" - контрольная сумма. Два шестнадцатеричных символа без 0x.
Если пакета данного типа в буфере не обнаружено, то возвращается пустой словарь.

См. определение в файле serialstar.py строка 509

◆ get_immidiate_apply_local_at_response()

def mbee.serialstar.SerialStar.get_immidiate_apply_local_at_response (   self)

Получение фрейма, подтверждающего прием пакета с локальной AT-командой с немедленным применением изменений: API-фрейм 0x87.

Данная функция применяется для опроса приемного буфера последовательного порта и поиска в нем фрейма 0x87. Поиск осуществляется до первого найденного фрейма данного типа. При этом все прочие пакеты, принятые до первого пакета 0x87 теряются. Делается ограниченное число попыток получения данного типа фрейма. Число попыток регулируется константой LOCAL_RESPONSE_RETRY_COUNT и равно по-умолчанию 1. Функция обычно применяется, если опрос модуля осуществляется из основного скрипта периодической проверкой, а не с помощью callback-функций.

Возвращает
В случае успешного приема пакета словарь (dictionary) следующего вида:
["DELIMITER"]: "7E" - стартовый байт фрейма.
["LENGTH"]: xx - длина пакета в байтах между полями length и checksum (то есть всегда на 4 байта меньше, чем полная длина принятого пакета). Десятичное число.
["FRAME_TYPE"]: "xx" - "87" тип фрейма.
["FRAME_ID"]: "xx" - идентификатор фрейма. Равен идентификатору фрейма 0x07 ответом на который он является. Два шестнадцатеричных символа без 0x.
["AT_COMMAND"]: "xx" - AT-команда в виде двух ASCII-символов. ["STATUS"]: "xx" - статус команды. "00" - команда выполнена, "01" - недостаточно памяти для выполнения команды, "02" - недопустимая команда, "03" - недопустимое значение параметра.
["AT_PARAMETER"]: "xx..x" - параметр команды в виде строки шестнадцатеричных символов без префикса 0x. Если команда записывала данные, то значением этого ключа является пустая строка. ["CHECKSUM"]: "xx" - контрольная сумма. Два шестнадцатеричных символа без 0x.
Если пакета данного типа в буфере не обнаружено, то возвращается пустой словарь.

См. определение в файле serialstar.py строка 485

◆ get_io_sample_rx()

def mbee.serialstar.SerialStar.get_io_sample_rx (   self)

Получение фрейма с данными о состоянии линий ввода вывода удаленного модуля: API-фрейм 0x83.

Данная функция применяется для опроса приемного буфера последовательного порта и поиска в нем фрейма 0x83. Поиск осуществляется до первого найденного фрейма данного типа. При этом все прочие пакеты, принятые до первого пакета 0x83 теряются. Делается ограниченное число попыток получения данного типа фрейма. Число попыток регулируется константой IO_SAMPLE_RX_RETRY_COUNT и равно по-умолчанию 1. Функция обычно применяется, если опрос модуля осуществляется из основного скрипта периодической проверкой, а не с помощью callback-функций.

Возвращает
В случае успешного приема пакета словарь (dictionary) следующего вида:
["DELIMITER"]: "7E" - стартовый байт фрейма.
["LENGTH"]: xx - длина пакета в байтах между полями length и checksum.
["FRAME_TYPE"]: "xx" - "83" тип фрейма.
["SOURCE_ADDRESS_DEC"]: "xxxxx" - адрес отправителя пакета в виде строки десятичных символов.
["SOURCE_ADDRESS_HEX"]: "xxxx" - адрес отправителя пакета в виде строки шестнадцатеричных символов без префикса 0x.
["RSSI"]: xxxx - уровень RSSI в dBm на входе приемника при получении данного пакета в виде десятичного числа со знаком.
["OPTIONS"]: "xx" - опции приема. "00" - пакет предназначался данному модулю, "01" - пакет был передан с широковещательным адресом.
["TEMPERATURE"]: xxx - температура встроенного термодатчика модуля отправителя в градусах Цельсия, целое десятичное число со знаком.
["VCC"]: xxxx - напряжение источника питания на модуле отправителе в вольтах. Положительное десятичное число с двумя знаками после запятой.
["DATA_HEX"]: "xx..x" - содержимое поля данных в виде строки шестнадцатеричных символов без префикса 0x.
["DATA_PARSED"]: {pin_number: {pin_mode: value},..} - словарь, ключами которого являются физические номера выводов модуля в виде двух шестнадцатеричных символов без 0x. В качестве значений выступает также словарь, с ключом, представляющим собой номер режима ввода/вывода в виде двух шестнадцатеричных символов, например "02", если данная линия работает в режиме аналогового входа. Подробная информация о доступных режимах имеется в документации по проекту SerialStar. Значения словаря - это состояние линии, зависящее от ее режима. Возможные значения:
Режим 2 (ANALOG_INPUT) - "xxxx" оцифрованное значение напряжения на входе. Представляет собой четыре шестнадцатеричных символа без 0x. Значащими являются младшие 12 бит. Если число превышает 4096, это означает, что напряжение на входе равно 0.
Режим 3 (DIGITAL_INPUT) - "HIGH", "LOW".
Режим 4 (DIGITAL_OUTPUT_LOW) - "HIGH", "LOW".
Режим 5 (DIGITAL_OUTPUT_LOW) - "HIGH", "LOW".
Режим 13 (COUNTER_INPUT_1) - "xxxxxxxx" текущее число подсчитанных импульсов на данном входе. Представляет собой восемь шестнадцатеричных символов без 0x.
Режим 14 (COUNTER_INPUT_2) - "xxxxxxxx" текущее число подсчитанных импульсов на данном входе. Представляет собой восемь шестнадцатеричных символов без 0x.
Режим 15 (WAKEUP_INPUT_FALLING) - "HIGH", "LOW".
Режим 16 (WAKEUP_INPUT_RISING) - "HIGH", "LOW".
["DATA_PARSED_DECODED"]: {pin_name: {pin_mode_name: value},..} - словарь, ключами которого являются имена выводов модуля, используемые в проекте SerialStar, в виде двух ASCII-символов, например физическому выводу модуля №31, будет соответствовать ключ "R4". В качестве значений выступает также словарь, с ключом, представляющим собой имя режима, так, как оно представлено в документации на SerialStar, например, если линия работает в режиме аналоговом входа, то ключом словаря будет строка ASCII-символов "ANALOG_INPUT".
Значения словаря - это состояние линии, зависящее от ее режима. Возможные значения совпадают с со значениями, представленными выше при описании ключа "DATA_PARSED".
["DATA_RAW"]: "xx..x" - поле данных в виде последовательности байт (тип данных bytearray).
["CHECKSUM"]: "xx" - контрольная сумма. Два шестнадцатеричных символа без 0x.
Если пакета данного типа в буфере не обнаружено, то возвращается пустой словарь.

См. определение в файле serialstar.py строка 731

◆ get_local_tx_status()

def mbee.serialstar.SerialStar.get_local_tx_status (   self)

Получение фрейма со статусом отправки пакета, предназначенного для передачи в эфир: API-фрейм 0x8B.

Данная функция применяется для опроса приемного буфера последовательного порта и поиска в нем фрейма 0x8B. Поиск осуществляется до первого найденного фрейма данного типа. При этом все прочие пакеты, принятые до первого пакета 0x8B теряются. Делается ограниченное число попыток получения данного типа фрейма. Число попыток регулируется константой LOCAL_TX_STATUS_RETRY_COUNT и равно по-умолчанию 1. Функция обычно применяется, если опрос модуля осуществляется из основного скрипта периодической проверкой, а не с помощью callback-функций.

Возвращает
В случае успешного приема пакета словарь (dictionary) следующего вида:
["DELIMITER"]: "7E" - стартовый байт фрейма.
["LENGTH"]: 7 - длина пакета в байтах между полями length и checksum.
["FRAME_TYPE"]: "xx" - "8B" тип фрейма.
["FRAME_ID"]: "xx" - идентификатор фрейма. Равен идентификатору фрейма ответом на который он является. Два шестнадцатеричных символа без 0x.
["DESTINATION_ADDRESS_DEC"]: "xxxxx" - адрес получателя в виде строки десятичных символов.
["DESTINATION_ADDRESS_HEX"]: "xxxx" - адрес получателя в виде строки шестнадцатеричных символов без префикса 0x.
["TX_RETRY_COUNT"]: x - число попыток, сделанных при отправке пакета в эфир. Ресятичное число.
["STATUS"]: "xx" - статус отправки. "00" - пакет отправлен, "01" - недостаточно памяти размещения пакета в памяти, "02" - недопустимая команда, "03" - недопустимое значение параметра, "04" - пакет в эфир не отправлен по причине занятости частотного канала.
["RESERVE"]: "00" - зарезеривровано.
["CHECKSUM"]: "xx" - контрольная сумма. Два шестнадцатеричных символа без 0x.
Если пакета данного типа в буфере не обнаружено, то возвращается пустой словарь.

См. определение в файле serialstar.py строка 599

◆ get_modem_status()

def mbee.serialstar.SerialStar.get_modem_status (   self)

Получение фрейма со статусом модуля, отправляемого им при рестарте: API-фрейм 0x8A.

Данная функция применяется для опроса приемного буфера последовательного порта и поиска в нем фрейма 0x8A. Поиск осуществляется до первого найденного фрейма данного типа. При этом все прочие пакеты, принятые до первого пакета 0x8A теряются. Делается ограниченное число попыток получения данного типа фрейма. Число попыток регулируется константой LOCAL_RESPONSE_RETRY_COUNT и равно по-умолчанию 1. Функция обычно применяется, если опрос модуля осуществляется из основного скрипта периодической проверкой, а не с помощью callback-функций.

Возвращает
В случае успешного приема пакета словарь (dictionary) следующего вида:
["DELIMITER"]: "7E" - стартовый байт фрейма.
["LENGTH"]: 2 - длина пакета в байтах между полями length и checksum.
["FRAME_TYPE"]: "xx" - "8A" тип фрейма.
["STATUS"]: "xx" - статус команды. "00" - рестарт модуля произошел вследствие включения питания, "01" - программный рестарт или активация входа RESET.
["CHECKSUM"]: "xx" - контрольная сумма. Два шестнадцатеричных символа без 0x.
Если пакета данного типа в буфере не обнаружено, то возвращается пустой словарь.

См. определение в файле serialstar.py строка 567

◆ get_queue_local_at_response()

def mbee.serialstar.SerialStar.get_queue_local_at_response (   self)

Получение фрейма, подтверждающего прием пакета с локальной AT-командой и помещением параметра в очередь: API-фрейм 0x89.

Данная функция применяется для опроса приемного буфера последовательного порта и поиска в нем фрейма 0x89. Поиск осуществляется до первого найденного фрейма данного типа. При этом все прочие пакеты, принятые до первого пакета 0x89 теряются. Делается ограниченное число попыток получения данного типа фрейма. Число попыток регулируется константой LOCAL_RESPONSE_RETRY_COUNT и равно по-умолчанию 1. Функция обычно применяется, если опрос модуля осуществляется из основного скрипта периодической проверкой, а не с помощью callback-функций.

Возвращает
В случае успешного приема пакета словарь (dictionary) следующего вида:
["DELIMITER"]: "7E" - стартовый байт фрейма.
["LENGTH"]: xx - длина пакета в байтах между полями length и checksum (то есть всегда на 4 байта меньше, чем полная длина принятого пакета). Десятичное число.
["FRAME_TYPE"]: "xx" - "89" тип фрейма.
["FRAME_ID"]: "xx" - идентификатор фрейма. Равен идентификатору фрейма 0x09 ответом на который он является. Два шестнадцатеричных символа без 0x.
["AT_COMMAND"]: "xx" - AT-команда в виде двух ASCII-символов. ["STATUS"]: "xx" - статус команды. "00" - команда выполнена, "01" - недостаточно памяти для выполнения команды, "02" - недопустимая команда, "03" - недопустимое значение параметра.
["AT_PARAMETER"]: "xx..x" - параметр команды в виде строки шестнадцатеричных символов без префикса 0x. Если команда записывала данные, то значением этого ключа является пустая строка. ["CHECKSUM"]: "xx" - контрольная сумма. Два шестнадцатеричных символа без 0x.
Если пакета данного типа в буфере не обнаружено, то возвращается пустой словарь.

См. определение в файле serialstar.py строка 533

◆ get_remote_at_command_response()

def mbee.serialstar.SerialStar.get_remote_at_command_response (   self)

Получение фрейма с ответом от удаленного модуля на отправленную ему AT-команду: API-фрейм 0x97.

Данная функция применяется для опроса приемного буфера последовательного порта и поиска в нем фрейма 0x97. Поиск осуществляется до первого найденного фрейма данного типа. При этом все прочие пакеты, принятые до первого пакета 0x97 теряются. Делается ограниченное число попыток получения данного типа фрейма. Число попыток регулируется константой REMOTE_RX_STATUS_RETRY_COUNT и равно по-умолчанию 1. Функция обычно применяется, если опрос модуля осуществляется из основного скрипта периодической проверкой, а не с помощью callback-функций.

Возвращает
В случае успешного приема пакета словарь (dictionary) следующего вида:
["DELIMITER"]: "7E" - стартовый байт фрейма.
["LENGTH"]: xx - длина пакета в байтах между полями length и checksum.
["FRAME_TYPE"]: "xx" - "97" тип фрейма.
["SOURCE_ADDRESS_DEC"]: "xxxxx" - адрес отправителя пакета в виде строки десятичных символов.
["SOURCE_ADDRESS_HEX"]: "xxxx" - адрес отправителя пакета в виде строки шестнадцатеричных символов без префикса 0x.
["RSSI"]: xxxx - уровень RSSI в dBm на входе приемника при получении данного пакета в виде десятичного числа со знаком.
["OPTIONS"]: "00" - опции. В текущей версии поле зарезервировано.
["AT_COMMAND"]: "xx" - AT-команда в виде двух ASCII-символов.
["STATUS"]: "00" - статус команды. В текущей версии поле зарезервировано.
["AT_PARAMETER"]: "xx..x" - параметр команды в виде строки шестнадцатеричных символов без префикса 0x. Если команда записывала данные, то значением этого ключа является пустая строка.
["CHECKSUM"]: "xx" - контрольная сумма. Два шестнадцатеричных символа без 0x.
Если пакета данного типа в буфере не обнаружено, то возвращается пустой словарь.

См. определение в файле serialstar.py строка 670

◆ get_remote_tx_status()

def mbee.serialstar.SerialStar.get_remote_tx_status (   self)

Получение фрейма с подтверждением доставки пакета с данными удаленному модулю: API-фрейм 0x8C.

Данная функция применяется для опроса приемного буфера последовательного порта и поиска в нем фрейма 0x8C. Поиск осуществляется до первого найденного фрейма данного типа. При этом все прочие пакеты, принятые до первого пакета 0x8C теряются. Делается ограниченное число попыток получения данного типа фрейма. Число попыток регулируется константой REMOTE_RX_STATUS_RETRY_COUNT и равно по-умолчанию 1. Функция обычно применяется, если опрос модуля осуществляется из основного скрипта периодической проверкой, а не с помощью callback-функций.

Возвращает
В случае успешного приема пакета словарь (dictionary) следующего вида:
["DELIMITER"]: "7E" - стартовый байт фрейма.
["LENGTH"]: 6 - длина пакета в байтах между полями length и checksum.
["FRAME_TYPE"]: "xx" - "8С" тип фрейма.
["SOURCE_ADDRESS_DEC"]: "xxxxx" - адрес отправителя подтверждения в виде строки десятичных символов.
["SOURCE_ADDRESS_HEX"]: "xxxx" - адрес отправителя подтверждения в виде строки шестнадцатеричных символов без префикса 0x.
["RSSI"]: xxxx - уровень RSSI в dBm на входе приемника при получении данного пакета в виде десятичного числа со знаком.
["OPTIONS"]: "00" - опции передачи. В текущей версии поле зарезервировано.
["FRAME_ID"]: "xx" - идентификатор фрейма. Равен идентификатору фрейма ответом на который он является. Два шестнадцатеричных символа без 0x.
["CHECKSUM"]: "xx" - контрольная сумма. Два шестнадцатеричных символа без 0x.
Если пакета данного типа в буфере не обнаружено, то возвращается пустой словарь.

См. определение в файле serialstar.py строка 634

◆ get_tx_request()

def mbee.serialstar.SerialStar.get_tx_request (   self)

Получение фрейма с данными от удаленного модуля, переданными с байтом опций: API-фрейм 0x81.

Данная функция применяется для опроса приемного буфера последовательного порта и поиска в нем фрейма 0x81. Поиск осуществляется до первого найденного фрейма данного типа. При этом все прочие пакеты, принятые до первого пакета 0x10 теряются. Делается ограниченное число попыток получения данного типа фрейма. Число попыток регулируется константой LOCAL_RESPONSE_RETRY_COUNT и равно по-умолчанию 1. Функция обычно применяется, если опрос модуля осуществляется из основного скрипта периодической проверкой, а не с помощью callback-функций.

Возвращает
В случае успешного приема пакета словарь (dictionary) следующего вида:
["DELIMITER"]: "7E" - стартовый байт фрейма.
["LENGTH"]: xx - длина пакета в байтах между полями length и checksum (то есть всегда на 4 байта меньше, чем полная длина принятого пакета). Десятичное число.
["FRAME_TYPE"]: "xx" - "81" тип фрейма.
["SOURCE_ADDRESS_DEC"]: "xxxxx" - адрес отправителя в виде строки десятичных символов.
["SOURCE_ADDRESS_HEX"]: "xxxx" - адрес отправителя в виде строки шестнадцатеричных символов без префикса 0x.
["RSSI"]: xxxx - уровень RSSI в dBm на входе приемника при получении данного пакета в виде десятичного числа со знаком.
['OPTIONS']: "xx" - опции. Два шестнадцатеричных символа без 0x. Биты байта опций:
0 - информация о требовании отправителем подтверждения о приеме пакета: 0 - подтверждение требовалось, 1 - подтверждение не требовалось.
1 - информация о режиме отправки пакета: 0 - пакет передавался в адресном режиме, 1 - пакет передавался с широковещательным адресом.
2 - зарезервирован.
3 - зарезервирован.
4 - зарезервирован.
5 - зарезервирован.
6 - зарезервирован.
7 - зарезервирован.
['DATA']: "xxx...x" - данные в виде строки шестнадцатеричных символов без префикса 0x.
["CHECKSUM"]: "xx" - контрольная сумма. Два шестнадцатеричных символа без 0x.
Если пакета данного типа в буфере не обнаружено, то возвращается пустой словарь.

См. определение в файле serialstar.py строка 419

◆ get_tx_request_without_option()

def mbee.serialstar.SerialStar.get_tx_request_without_option (   self)

Получение фрейма с данными от удаленного модуля, переданными без байта опций: API-фрейм 0x8F.

Данная функция применяется для опроса приемного буфера последовательного порта и поиска в нем фрейма 0x8F. Поиск осуществляется до первого найденного фрейма данного типа. При этом все прочие пакеты, принятые до первого пакета 0x8F теряются. Делается ограниченное число попыток получения данного типа фрейма. Число попыток регулируется константой LOCAL_RESPONSE_RETRY_COUNT и равно по-умолчанию 1. Функция обычно применяется, если опрос модуля осуществляется из основного скрипта периодической проверкой, а не с помощью callback-функций.

Возвращает
В случае успешного приема пакета словарь (dictionary) следующего вида:
["DELIMITER"]: "7E" - стартовый байт фрейма.
["LENGTH"]: xx - длина пакета в байтах между полями length и checksum (то есть всегда на 4 байта меньше, чем полная длина принятого пакета). Десятичное число.
["FRAME_TYPE"]: "xx" - "81" тип фрейма.
["SOURCE_ADDRESS_DEC"]: "xxxxx" - адрес отправителя в виде строки десятичных символов.
["SOURCE_ADDRESS_HEX"]: "xxxx" - адрес отправителя в виде строки шестнадцатеричных символов без префикса 0x.
["RSSI"]: xxxx - уровень RSSI в dBm на входе приемника при получении данного пакета в виде десятичного числа со знаком.
['OPTIONS']: "xx" - опции. Два шестнадцатеричных символа без 0x. Биты байта опций:
0 - зарезервирован.
1 - информация о режиме отправки пакета: 0 - пакет передавался в адресном режиме, 1 - пакет передавался с широковещательным адресом.
2 - зарезервирован.
3 - зарезервирован.
4 - зарезервирован.
5 - зарезервирован.
6 - зарезервирован.
7 - зарезервирован.
['DATA']: "xxx...x" - данные в виде строки шестнадцатеричных символов без префикса 0x.
["CHECKSUM"]: "xx" - контрольная сумма. Два шестнадцатеричных символа без 0x.
Если пакета данного типа в буфере не обнаружено, то возвращается пустой словарь.

См. определение в файле serialstar.py строка 452

◆ run()

def mbee.serialstar.SerialStar.run (   self)

Метод, осуществляющий постоянный опрос буфера последовательного порта с целью обнаружения в нем всех типов фреймов, поддерживаемых в проекте SerialStar.

В случае приема любого валидного пакета, метод осуществляет проверку на наличие зарегистрированной callback-функции, предназначенный для обработки данного пакета в основном скрипте. Если callback-функция для данного типа фрейма зарегистирована, то осуществляется ее вызов.
Метод применяется при организации в основном скрипте взаимодействия с модулем с помощью callback-функций. Метод должен вызываться постоянно в основном цикле скрипта.

См. определение в файле serialstar.py строка 778

◆ send_immidiate_apply_and_save_local_at()

def mbee.serialstar.SerialStar.send_immidiate_apply_and_save_local_at (   self,
  frame_id,
  at_command,
  at_parameter = "" 
)

Отправка фрейма с локальной AT-командой с немедленным применением и сохранением изменений в энергонезависимой памяти: API-фрейм 0x08.

Аргументы
frame_id- обязательный аргумент - идентификатор фрейма, если равен 0, то подтверждение о приеме модулем (API-фрейм 0x88) не передается.
at_command- обязательный аргумент, AT-команда в виде ASCII-символов, например "DM".
at_parameter- необязательный аргумент, параметр команды. Если аргумент не передается - команда запрашивает текущее значение параметра, если присутствует, то команда изменяет параметр. Представляет собой шестнадцатеричное число в виде строки шестнадцатеричных символов без 0x. Пример "10" для команды "DM". Число символов должно быть четным. Ведущие нули обязательны.

См. определение в файле serialstar.py строка 285

◆ send_immidiate_apply_local_at()

def mbee.serialstar.SerialStar.send_immidiate_apply_local_at (   self,
  frame_id,
  at_command,
  at_parameter = "" 
)

Отправка фрейма с локальной AT-командой с немедленным применением изменений: API-фрейм 0x07.

Аргументы
frame_id- обязательный аргумент - идентификатор фрейма, если равен 0, то подтверждение о приеме модулем (API-фрейм 0x87) не передается. Два шестнадцатеричных символа без 0x.
at_command- обязательный аргумент, AT-команда в виде двух ASCII-символов, например "M1".
at_parameter- необязательный аргумент, параметр команды. Если аргумент не передается - команда запрашивает текущее значение параметра, если присутствует, то команда изменяет параметр. Представляет собой шестнадцатеричное число в виде строки шестнадцатеричных символов без 0x. Пример "0200" для команды "M1". Число символов должно быть четным. Ведущие нули обязательны.

См. определение в файле serialstar.py строка 277

◆ send_queue_local_at()

def mbee.serialstar.SerialStar.send_queue_local_at (   self,
  frame_id,
  at_command,
  at_parameter = "" 
)

Отправка фрейма с локальной AT-командой с помещением параметра в очередь: API-фрейм 0x09.

Применения и сохранения параметра не происходит.

Аргументы
frame_id- обязательный аргумент - идентификатор фрейма, если равен 0, то подтверждение о приеме модулем (API-фрейм 0x89) не передается.
at_command- обязательный аргумент, AT-команда в виде ASCII-символов, например "TX".
at_parameter- необязательный аргумент, параметр команды. Если аргумент не передается - команда запрашивает текущее значение параметра, если присутствует, то команда изменяет параметр. Представляет собой шестнадцатеричное число в виде строки шестнадцатеричных символов без 0x. Пример "0010" для команды "TX". Число символов должно быть четным. Ведущие нули обязательны.

См. определение в файле serialstar.py строка 293

◆ send_remote_at()

def mbee.serialstar.SerialStar.send_remote_at (   self,
  frame_id,
  destination_id,
  options,
  at_command,
  at_parameter = "" 
)

Отправка фрейма с AT-командой удаленному модулю: API-фрейм 0x17.

Аргументы
frame_id- обязательный аргумент - идентификатор фрейма, если равен 0, то локальное подтверждение о передаче пакета в эфир (API-фрейм 0x8B) не передается.
destination_id- обязательный аргумент, идентификатор (адрес) удаленного модуля. Состоит из 4-х шестнадцатеричных символов без префикса 0x. Пример "0234". Ведущие нули обязательны.
options- обязательный аргумент, опции передачи. Представляет собой шестнадцатеричное число, состоящее из 2 символов без префикса 0x. Пример "01". Биты байта опций:
0 - управление отправкой ответа на команду удаленным модулем: 0 - ответ будет отправлен, 1 - ответ не требуется.
1,2 - управление применением и сохранением параметра команды: 00 - параметр помещается в буфер удаленного модуля, 01 - применение и сохранение нового значения параметра в энергонезависимой памяти удаленного модуля, 10 и 11 - применение параметра без сохранения его значения в энергонезависимой памяти.
3 - зарезервирован.
4 - управление режимом CCA (определение занятости частотного канала перед передачей пакета в эфир): 0 - анализ занятости эфира проводится перед передачей данного пакета, 1 - CCA выключено.
5 - управление шифрованием: 0 - данный пакет будет передан незашифрованным, 1 - шифрование включено.
6 - управление буферизацией: 0 - данный пакет будет сразу передан в эфир, 1 - данный пакет будет предан в эфир только после получения пакета от удаленного модуля, которому этот пакет предназначен. Буферизация используется для управления модулями, находящимися в спящем режиме.
7 - зарезервирован.
at_command- обязательный аргумент, AT-команда в виде ASCII-символов, например "TX".
at_parameter- необязательный аргумент, параметр команды. Если аргумент не передается - команда запрашивает текущее значение параметра, если присутствует, то команда изменяет параметр. Представляет собой шестнадцатеричное число в виде строки без символов 0x. Пример "0210" для команды "TX". Число символов должно быть четным. Ведущие нули обязательны.

См. определение в файле serialstar.py строка 359

◆ send_tx_request()

def mbee.serialstar.SerialStar.send_tx_request (   self,
  frame_id,
  destination_id,
  data,
  options = "" 
)

Отправка фрейма с данными удаленному модулю, которые должны быть переданы им в UART: API-фреймы 0x10, 0x0F.

Аргументы
frame_id- обязательный аргумент - идентификатор фрейма, если равен 0, то локальное подтверждение о передаче пакета в эфир (API-фрейм 0x8B) не передается.
destination_id- обязательный аргумент, идентификатор (адрес) удаленного модуля. Состоит из 4-х шестнадцатеричных символов без префикса 0x. Пример "0234". Ведущие нули обязательны.
data- обязательный аргумент, передаваемые данные. Представляют собой строку шестнадцатеричных символов без префикса 0x. Длина не должны превышать 40 байт (80 символов), если опции передачи опущены. При этом в эфир передается API-фрейм 0x0F. Если байт опций имеется, то в эфир уходит пакет 0x10. Максимальная длина длина поля данных в этом случае равна 39 байт или 78 символов. Число символов должно быть четным. Если в поле data поместить символы "023476", то в UART удаленного модуля будут выданы байты 0x02, 0x34, 0x76.
options- необязательный аргумент, опции передачи. Представляет собой шестнадцатеричное число, состоящее из 2 символов без префикса 0x. Пример "10". Биты байта опций:
0 - управление отправки подтверждения получения пакета удаленным модулем: 0 - подтверждение получения включено, 1 - выключено.
1 - зарезервирован.
2 - зарезервирован.
3 - зарезервирован.
4 - управление режимом CCA (определение занятости частотного канала перед передачей пакета в эфир): 0 - анализ занятости эфира проводится перед передачей данного пакета, 1 - CCA выключено.
5 - управление шифрованием: 0 - данный пакет будет передан незашифрованным, 1 - шифрование включено.
6 - управление буферизацией: 0 - данный пакет будет сразу передан в эфир, 1 - данный пакет будет предан в эфир только после получения пакета от удаленного модуля, которому этот пакет предназначен. Буферизация используется для управления модулями, находящимися в спящем режиме.
7 - зарезервирован.

См. определение в файле serialstar.py строка 312


Объявления и описания членов класса находятся в файле: