# MQTT hasznos terhelés kézikönyv bitekhez és egész számokhoz

Ez a kézikönyv útmutatást nyújt a payload felépítéséről és a parancsokról a bitekkel és egész számokkal való munkához MQTT (Message Queuing Telemetry Transport) használatakor. A bitek és egész számok bináris állapotokat, illetve numerikus értékeket képviselnek egy iNELS környezetben.

### Témák és payload formátum

#### Státusz téma

A státusz téma a bitek és egész számok aktuális állapotának lekérésére szolgál.

**Téma felépítése:**

```
inels/status/<mac_ID>/bits/<topic_ID>
inels/status/<mac_ID>/integers/<topic_ID>
```

**Payload formátum:**

```
{
    "last_seen": "<timestamp>",
    "state": {
        "<ID_1>": <value_1>,
        "<ID_2>": <value_2>,
        ...
        "<ID_n>": <value_n>
    }
}
```

* `<timestamp>`: Az időpont, amikor a státusz utoljára frissítve lett.
* `<ID>`: Egyedi azonosító a bithez vagy egész számhoz.
* `<value>`: Bináris állapot (bitek esetén) vagy numerikus érték (egész számok esetén).

#### Set téma

A set téma parancsok küldésére szolgál a bitek és egész számok vezérléséhez.

**Téma felépítése:**

```
inels/set/<mac_ID>/bits/<topic_ID>
inels/set/<mac_ID>/integers/<topic_ID>
```

**Parancs formátum:**

```
{
    "cmd": {
        "<ID_1>": "<command_1>",
        "<ID_2>": "<command_2>",
        ...
        "<ID_n>": "<command_n>"
    }
}
```

* `<ID>`: Egyedi azonosító a bithez vagy egész számhoz.
* `<command>`: A megfelelő biten vagy egész számon végrehajtandó művelet.

### Parancsok

#### Bitekre vonatkozóan

* `0`: Kapcsold ki a bitet.
* `1`: Kapcsold be a bitet.
* `toggle`: Váltja a bit aktuális állapotát.

#### Egész számokra vonatkozóan

* Állítson be egy konkrét értéket az egész számnak.

### Korlátozások

* Egy témában legfeljebb 40 bit vagy 20 egész szám szerepelhet.
* Ha több bit vagy egész szám van, azok további témákban lesznek megjelenítve.

### Példa

#### Állapot téma üzenettörzse (bit-ek)

**Téma:** `inels/status/2C6A6F104825/bits/000001`

**Üzenettörzs:**

```json
{
    "last_seen": "2024-03-15T13:02:07.+0100Z",
    "state": {
        "000": 1,
        "001": 0,
        "002": 0,
        ...
        "040": 0
    }
}
```

#### Beállító téma parancs (bit-ek)

**Téma:** `inels/set/2C6A6F104825/bits/000001`

**Parancs:**

```json
{
    "cmd": {
        "005": "toggle"
    }
}
```

#### Állapot téma üzenettörzse (egész számok)

**Téma:** `inels/status/2C6A6F104825/integers/000001`

**Üzenettörzs:**

```json
{
    "last_seen": "2024-03-15T13:11:33.+0100Z",
    "state": {
        "000": 2556,
        "001": 0,
        "002": 97,
        ...
        "020": 0
    }
}
```

#### Beállító téma parancs (egész számok)

**Téma:** `inels/set/2C6A6F104825/integers/000001`

**Parancs:**

```json
{
    "cmd": {
        "002": 97
    }
}
```

### Következtetés

Ez a kézikönyv világos képet nyújt a payload felépítéséről és a parancsokról a bitekkel és egész számokkal való kommunikációhoz MQTT-n keresztül. Elősegíti a hatékony kommunikációt és vezérlést az IoT alkalmazásokban.
