Рубрики
Без рубрики

Измерение температуры и влажности

(https://forktestlab.com/m-t-a-h) Получить показания температуры и влажности, которые будут использоваться в AU … Теги с Python, тестированием, учебником.

( https://forktestlab.com/m-t-a-h )

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

  1. Структура. Диаграмма подключения. Подключение к ПК для нашей будущей стойки нам не нужно, чтобы лабораторные показатели точности. Датчик с интерфейсом I2C HTU21D может использоваться для мониторинга температуры и влажности. Он показывает влажность с точностью около 2% и температуры с точностью около 0,3%. HTU21D – хороший и дешевый датчик.

Следующий шаг: Мы берем вилку и подключаем ПК/подключаем через Ethernet или WiFi. Подключите датчик, как показано на рисунке.

Чтобы прочитать данные, нам нужно знать адрес и команды чтения I2C.

• Адрес I2C 0x40. • Команда чтения температуры 0xe3 • Влажность чтения команды 0xe5

  1. Браузер поисковой панель управления Нам нужно установить последовательность запроса HTTP для вилки с определенной строкой запроса. Команды в вилке основаны на принципе »или просто« ключ ». Каждый запрос в браузере получит ответ от FORK. Вы также можете комбинировать запросы, используя и символ.

  2. Начните с i2c Укажите значение команды i_mode i2c

    http://192.168.0.205/control?I_MODE= I2c.

В конце концов мы получим i2c

  1. Прочитайте температуру в формате ASCII_HEX. Для этого мы будем использовать две команды. Первый G_REQ_RES_FORT – указать формат запроса и ответа в значение ASCII_HEX. Вторая команда I_I2C_WRITE_READ – генерировать последовательность I2C к перезапуску. Значение – состоит из нескольких байтов.

Результат будет представлен в виде последовательности байтов, на которые ответил датчик.

Вот просьба мы получили

http://192.168.0.205/control?g_req_res_form=ascii_hex&i_i2c_write_read=40010003E3

В ответ на этот запрос мы получили ASCII_HEX, 69FC69

  1. Давайте читаем данные влажности. Указал формат данных и создал последовательность для использования I2C. Как с температурой данных, но только команда для датчика изменилась.

    http://192.168.0.205/control?g_req_res_form=ascii_hex&i_i2c_write_read=40010003E5

Пример ответа ASCII Hex, 2ade29we получил ответ от датчика.

Теперь нам нужно выделить данные о температуре и влажности, которые нам нужны. Для температуры и влажности пакет располагается таким же образом и не зависит от байтов данных.

Нам также понадобятся формулы для перевода данных. К сожалению, в таблице данных в формулах есть ошибка с мощностью двух, поэтому я напишу здесь исправленные формулы. Для температуры Stemp – датчик данных, n – количество битов показаний для влажности в целом в результате мы получили следующие показания датчика

Температура: 25,89 ℃ Относительная влажность: 78%

  1. HTML JavaScript Page Control Действия в предыдущем абзаце довольно утомительно, и у нас нет весь день. Кроме того, я хотел бы иметь некоторый интерфейс в этом случае. Поэтому мы сделаем HTML-страницу и автоматическое распределение на JavaScript. Вот что у нас есть. Мы включаем I2C на выходе интерфейса, ударяя кнопку «INIT I2C». И кнопка «Чтение температуры и RH», чтобы отправить команду, чтобы мы могли немедленно получить показания температуры и влажности. Мы также можем загрузить страницу на вилку и спросить прямо оттуда. Для этого вам нужно будет изменить одну строку в код.

    var url_path ‘ http://192.168.0.205/ к var url_path ‘/’;

И загрузите файл, используя файловый менеджер.

http://192.168.0.205/file_manager

Теперь, чтобы запустить наш интерфейс, нам нужно пойти в

http://192.168.0.205/user_example_i2c.html
  1. Управление через сценарий Python Давайте сделаем то же самое сейчас, но, используя Python. Во-первых, мы подключаем/подключаем модуль Fork и создайте устройство цели

    От forkapi.fork Импортировать вилков (‘192.168.0.205’)

Тогда нам также нужно инициализировать I2C на входе интерфейса

dev1.I2CEnable()

Затем дайте команду нашему датчику и получите ответ

addr = 0x4
data = b'\xE3
res = dev1.I2CWriteRead(addr,3,data)

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

Оригинал: “https://dev.to/forktestlab/measuring-temperature-and-humidity-4ak1”