Цель работы

Реализация программного обеспечения на языке программирования Python для взаимодействия с сетевыми протоколами

Задание

Необходимо написать скрипт на языке программирования Python для решения задач приведенных ниже.

Условия:

  • комментарии к коду

Многофункциональный датчик давления и температуры работает по протоколу HTTP.
IPADDRESS по которому работает датчк сообщит преподаватель.
Для получения данных необходимо отправить соответствующую команду.
Также в заголовках запросов необходимо передать Имя и Фамилию обучающегося.

Давление

Запрос:

curl --location 'http://IPADDRESS:3259/pressure' \
--header 'First-Name: Ivan' \
--header 'Last-Name: Ivanov'

Ответ:

{
  "measure": "pressure",
  "value": 1374.2278
}

Температура

Запрос:

curl --location 'http://IPADDRESS:3259/temperature' \
--header 'First-Name: Ivan' \
--header 'Last-Name: Ivanov'

Ответ:

{
	"measure": "temperature",
	"value": 850.99524
}

После получения обоих значений, их необходимо отправить в систему сбора данных, которая работает по протоколу MQTT.

  • ip/host: IPADDRESS
  • port: 1883
  • логин/пароль: не требуются
  • топик DATA

Пример запроса:

{
  "user": {
    "first_name": "Ivan",
    "last_name": "Ivanov"
  },
  "parameters": [
    {
      "measure": "temperature",
      "value": 850.99524
    },
    {
      "measure": "pressure",
      "value": 1374.2278
    }
  ]
}

Для проверки успешности выполнения работы, нужно отправить запрос:

curl --location 'http://IPADDRESS:3259/result' \
--header 'First-Name: Ivan' \
--header 'Last-Name: Ivanov'

Примеры ответов:

Отрицательный результат:

{
  "first_name": "Ivans",
  "last_name": "Ivanov",
  "status": "no registration"
}

Положительный результат:

{
  "first_name": "Ivan",
  "last_name": "Ivanov",
  "status": "success"
}

Получение данных по http реализовать в скрипте на языках по варианту.

Отправление данных также реализовать в скрипте на языке по варианту.

Скрипт должен отрабатывать один раз после запуска. После отправки в MQTT скрипт завершает работу.

Отчет

Добавить краткое теоретическое описание протоколов HTTP, MQTT
В отчете представить скриншоты и описание действий по пунктам, представленным в задании
Отчет по ГОСТу

Защита