UMDK-GPIO

Управляет выходами радиомодуля, может использоваться для включения/выключения реле и тому подобных задач. Позволяет также прочитать текущее состояние GPIO, используемого в качестве входа.

Команды

Устанавливает DIO2 в состояние «0»:

mosquitto_pub -t "devices/lora/NNNNNNNNNNNNNNN/gpio" -m "set 2 0"

Запрашивает состояние DIO2. Результат — «0» или «1»:

mosquitto_pub -t "devices/lora/NNNNNNNNNNNNNNN/gpio" -m "get 2"

Запрашивает состояние всех GPIO:

mosquitto_pub -t "devices/lora/NNNNNNNNNNNNNNN/gpio" -m "get all"

Переключает состояние DIO2 на противоположное:

mosquitto_pub -t "devices/lora/NNNNNNNNNNNNNNN/gpio" -m "toggle 2"

Сообщения

Ответ на команду get all:

devices/lora/NNNNNNNNNNNNNNN/gpio
{
    "data": {
        "gpios": [ 7, 1, 7, 7, 0, 0, 1, 1, 7, 7, 7, 7, 7, 7, 7, 7, 1, 1, 7, 7, 7, 7, 7, 7, 1, 1, 1, 0, 0, 1, 1, 7, ]
    },
    "status": {
        "devEUI" : "NNNNNNNNNNNNNNN",
        "rssi" : -16, 
        "temperature" : 30, 
        "battery" : 3300, 
        "date" : "2017-02-21T13:29:22.843900Z"
    }
}

Массив содержит состояния GPIO с номерами от 0 до 31, где

Ответ на запрос о состоянии конкретного GPIO, возможные значения value — 0 (низкий уровень), 1 (высокий уровень) или 3 (GPIO сконфигурирован как AIN или AF):

devices/lora/NNNNNNNNNNNNNNN/gpio
{
    "data": {
        "value": 0
    },
    "status": {
        "devEUI" : "NNNNNNNNNNNNNNN",
        "rssi" : -16, 
        "temperature" : 30, 
        "battery" : 3300, 
        "date" : "2017-02-21T13:29:22.843900Z"
    }
}

Ответ на установку состояния GPIO:

devices/lora/NNNNNNNNNNNNNNN/gpio
{
    "data": {
        "msg": "ok"
    },
    "status": {
        "devEUI" : "NNNNNNNNNNNNNNN",
        "rssi" : -16, 
        "temperature" : 30, 
        "battery" : 3300, 
        "date" : "2017-02-21T13:29:22.843900Z"
    }
}

В случае указания некорректного параметра — одно из двух сообщений:

devices/lora/NNNNNNNNNNNNNNN/gpio
{
    "data": {
        "msg": "invalid pin"
    },
    "status": {
        "devEUI" : "NNNNNNNNNNNNNNN",
        "rssi" : -16, 
        "temperature" : 30, 
        "battery" : 3300, 
        "date" : "2017-02-21T13:29:22.843900Z"
    }
}

devices/lora/NNNNNNNNNNNNNNN/gpio
{
    "data": {
        "msg": "invalid format"
    },
    "status": {
        "devEUI" : "NNNNNNNNNNNNNNN",
        "rssi" : -16, 
        "temperature" : 30, 
        "battery" : 3300, 
        "date" : "2017-02-21T13:29:22.843900Z"
    }
}

Подключение

К любым выводам DIOx.

Распространение

Модуль распространяется в исходных кодах и может входить в версии прошивок public и commercial.

Исходные коды: