12 KiB
Вимірювання температури - Віртуальне IoT обладнання
У цій частині уроку ви додасте датчик температури до вашого віртуального IoT пристрою.
Віртуальне обладнання
Віртуальний IoT пристрій буде використовувати симульований датчик вологості та температури Grove Digital. Це дозволяє зберегти лабораторну роботу аналогічною до використання Raspberry Pi з фізичним датчиком Grove DHT11.
Датчик поєднує датчик температури з датчиком вологості, але в цьому лабораторному завданні вас цікавить лише компонент датчика температури. У фізичному IoT пристрої датчиком температури був би термістор, який вимірює температуру, визначаючи зміну опору при зміні температури. Датчики температури зазвичай є цифровими і внутрішньо перетворюють виміряний опір у температуру в градусах Цельсія (або Кельвіна, або Фаренгейта).
Додайте датчики до CounterFit
Щоб використовувати віртуальний датчик вологості та температури, вам потрібно додати два датчики до програми CounterFit.
Завдання - додати датчики до CounterFit
Додайте датчики вологості та температури до програми CounterFit.
-
Створіть новий Python-додаток на вашому комп'ютері в папці
temperature-sensor
з одним файломapp.py
і віртуальним середовищем Python, а також додайте пакети pip для CounterFit.⚠️ Ви можете звернутися до інструкцій зі створення та налаштування CounterFit Python проекту в уроці 1, якщо це необхідно.
-
Встановіть додатковий пакет Pip для встановлення CounterFit shim для датчика DHT11. Переконайтеся, що ви встановлюєте це з терміналу з активованим віртуальним середовищем.
pip install counterfit-shims-seeed-python-dht
-
Переконайтеся, що веб-додаток CounterFit запущений.
-
Створіть датчик вологості:
-
У полі Create sensor на панелі Sensors розгорніть поле Sensor type і виберіть Humidity.
-
Залиште Units встановленими на Percentage.
-
Переконайтеся, що Pin встановлено на 5.
-
Натисніть кнопку Add, щоб створити датчик вологості на контакті 5.
Датчик вологості буде створено і з'явиться у списку датчиків.
-
-
Створіть датчик температури:
-
У полі Create sensor на панелі Sensors розгорніть поле Sensor type і виберіть Temperature.
-
Залиште Units встановленими на Celsius.
-
Переконайтеся, що Pin встановлено на 6.
-
Натисніть кнопку Add, щоб створити датчик температури на контакті 6.
Датчик температури буде створено і з'явиться у списку датчиків.
-
Програмування додатка для датчика температури
Тепер можна запрограмувати додаток для датчика температури, використовуючи датчики CounterFit.
Завдання - програмування додатка для датчика температури
Програмуйте додаток для датчика температури.
-
Переконайтеся, що додаток
temperature-sensor
відкритий у VS Code. -
Відкрийте файл
app.py
. -
Додайте наступний код на початок
app.py
, щоб підключити додаток до CounterFit:from counterfit_connection import CounterFitConnection CounterFitConnection.init('127.0.0.1', 5000)
-
Додайте наступний код до файлу
app.py
, щоб імпортувати необхідні бібліотеки:import time from counterfit_shims_seeed_python_dht import DHT
Оператор
from seeed_dht import DHT
імпортує класDHT
для взаємодії з віртуальним датчиком Grove температури, використовуючи shim з модуляcounterfit_shims_seeed_python_dht
. -
Додайте наступний код після попереднього, щоб створити екземпляр класу, який керує віртуальним датчиком вологості та температури:
sensor = DHT("11", 5)
Це оголошує екземпляр класу
DHT
, який керує віртуальним Digital Humidity та Temperature датчиком. Перший параметр повідомляє коду, що використовується віртуальний датчик DHT11. Другий параметр повідомляє коду, що датчик підключений до порту5
.💁 CounterFit симулює цей комбінований датчик вологості та температури, підключаючись до двох датчиків: датчика вологості на контакті, вказаному при створенні класу
DHT
, і датчика температури, який працює на наступному контакті. Якщо датчик вологості знаходиться на контакті 5, shim очікує, що датчик температури буде на контакті 6. -
Додайте нескінченний цикл після попереднього коду, щоб опитувати значення датчика температури та виводити його в консоль:
while True: _, temp = sensor.read() print(f'Temperature {temp}°C')
Виклик
sensor.read()
повертає кортеж із значеннями вологості та температури. Вам потрібне лише значення температури, тому значення вологості ігнорується. Значення температури потім виводиться в консоль. -
Додайте невелику паузу тривалістю десять секунд наприкінці
loop
, оскільки рівні температури не потрібно перевіряти безперервно. Паузи зменшують споживання енергії пристроєм.time.sleep(10)
-
У терміналі VS Code з активованим віртуальним середовищем виконайте наступне, щоб запустити ваш Python-додаток:
python app.py
-
У додатку CounterFit змініть значення датчика температури, яке буде зчитуватися додатком. Ви можете зробити це двома способами:
-
Введіть число в поле Value для датчика температури, а потім натисніть кнопку Set. Число, яке ви введете, буде значенням, яке повертає датчик.
-
Поставте галочку Random і введіть значення Min та Max, а потім натисніть кнопку Set. Кожного разу, коли датчик зчитує значення, він буде зчитувати випадкове число між Min та Max.
Ви повинні побачити значення, які ви встановили, у консолі. Змініть Value або налаштування Random, щоб побачити зміну значення.
(.venv) ➜ temperature-sensor python app.py Temperature 28.25°C Temperature 30.71°C Temperature 25.17°C
-
💁 Ви можете знайти цей код у папці code-temperature/virtual-device.
😀 Ваш додаток для датчика температури успішно працює!
Відмова від відповідальності:
Цей документ було перекладено за допомогою сервісу автоматичного перекладу Co-op Translator. Хоча ми прагнемо до точності, зверніть увагу, що автоматичні переклади можуть містити помилки або неточності. Оригінальний документ на його рідній мові слід вважати авторитетним джерелом. Для критичної інформації рекомендується професійний людський переклад. Ми не несемо відповідальності за будь-які непорозуміння або неправильні тлумачення, що виникають внаслідок використання цього перекладу.