Протокол обмена данными между микроконтроллером и роутером

Материал из First-Leon
Перейти к навигации Перейти к поиску

Протокол текстовый. Перенос строки: \n

Запросы и ответы являются предложениями состоящими из слов разделенных пробелом.

Запросы начинаются на ques. Ответы начинаются на answ.

Типы запросов:
Строка               Описание                                             Идентификатор  Хранение в       Преобразование
                                                                          (item)         буфере arduino   в реальное значение
* sensor             сенсор
    * tempInt        температура внутри                                   0              byte             (x-128)/2
    * tempExt        температура снаружи                                  5              byte             (x-128)/2
    * humidityInt    влажность внутри                                     1              byte             x/2
    * humidityExt    влажность снаружи                                    6              byte             x/2
    * lightInt       освещенность внутри                                  2              byte             x
    * lightExt       освещенность снаружи                                 7              byte             x
    * poweru         напряжение на аккумуляторе                           3              byte             x/10
    * all            все данные собранные в автономной режиме
* unixtime           время в формате unixtime
    * get            прочитать значение
    * set            установить 
        *value       значение
* router
    * off            выключить роутер
    * reset         перезагрузить роутер
* lowpowerpin        низковольтная нагрузка (мосфеты)
    * 0              номер нагрузки                                       150+0
    * 1              номер нагрузки                                       150+1
    * 2              номер нагрузки                                       150+2
        * value      уровень мощности. 0-255 (шим)
* powerpin           высоковольтная нагрузка (реле)
    * 0              номер нагрузки                                       200+0
    * 1              номер нагрузки                                       200+1
    * 2              номер нагрузки                                       200+2
    * 3              номер нагрузки                                       200+3
        * on         включить
        * off        выключить
* version            версия прошивки
* LOG                отправки отладочной информации с микроконтроллера
    * message        Текст сообщения

Примеры отправки запросов:

ques sensor tempInt
ques sensor all
ques unixtime set 1234567890
ques powerpin 1 on
ques lowpowerpin 1 150

Типы ответов соответствуют типам запросов. Примеры ответов:

answ sensor 1 1234567890 22.5
answ unixtime 1234567890
LOG text_of_log
answ lowpowerpin 1 1234567890 150