client

Клиент

Функции демона

  1. Обмен данными с Lego установками: protokol
  2. Обмен данными с Cервером: protokol
  3. Логирование

Логирование

Данные логируются в таблицы mySQL:

Структура данных клиента

  1. Хеш-список Lego: Lego{'имя установки'} = данные, необходимые для связи с установкой имя установки — 16 байт
  2. Данные из конфиг файла
  3. Очередь команд для каждого Lеgо (+ выделить алгоритм для обслуживания)

      *----------------*   *------*   *---------------------*
  --->| Очередь команд |-->| Lego |-->| Получение timestamp |
      *----------------*   *------*   *---------------------*
                                                 |
                       *---------------------*   |
                  БД<--| Формирование пакета |<--*
                       *---------------------*
                          |            |
                      *------*         |
                      | порт |         |
                      | UPD  |    *----------------------*
                      *------*    | Очередь для отправки |
                                  | по протоколу TCP/IP  |
                                  *----------------------*
                                       |
                                   *------*
                                   | Порт |
                                   | TCP  |
                                   *------*

Конфиг файл

  1. Имя клиента (16 байт)
  2. Адрес сервера IP
  3. порт сервера для TCP
  4. порт сервера для UDP
  5. Имена Lego установок
  6. Данные для связи с БД (вкл. то, что нужно для имен таблиц)