8.8 KiB
Измерване на влажността на почвата - Виртуален IoT хардуер
В тази част на урока ще добавите капацитивен сензор за влажност на почвата към вашето виртуално IoT устройство и ще четете стойности от него.
Виртуален хардуер
Виртуалното IoT устройство ще използва симулиран капацитивен сензор за влажност на почвата Grove. Това запазва лабораторията идентична с използването на Raspberry Pi с физически капацитивен сензор за влажност на почвата Grove.
При физическо IoT устройство сензорът за влажност на почвата би бил капацитивен сензор, който измерва влажността на почвата, като открива капацитета на почвата – свойство, което се променя с промяната на влажността. С увеличаването на влажността на почвата напрежението намалява.
Това е аналогов сензор, който използва симулиран 10-битов ADC, за да отчита стойности от 1 до 1,023.
Добавяне на сензора за влажност на почвата към CounterFit
За да използвате виртуален сензор за влажност на почвата, трябва да го добавите към приложението CounterFit.
Задача - Добавяне на сензора за влажност на почвата към CounterFit
Добавете сензора за влажност на почвата към приложението CounterFit.
-
Създайте ново Python приложение на вашия компютър в папка, наречена
soil-moisture-sensor
, с един файл, нареченapp.py
, и Python виртуална среда, и добавете CounterFit pip пакетите.⚠️ Можете да се обърнете към инструкциите за създаване и настройка на CounterFit Python проект в урок 1, ако е необходимо.
-
Уверете се, че CounterFit уеб приложението работи.
-
Създайте сензор за влажност на почвата:
-
В полето Create sensor в панела Sensors изберете от падащото меню Sensor type опцията Soil Moisture.
-
Оставете Units зададено на NoUnits.
-
Уверете се, че Pin е зададен на 0.
-
Натиснете бутона Add, за да създадете сензора Soil Moisture на Pin 0.
Сензорът за влажност на почвата ще бъде създаден и ще се появи в списъка със сензори.
-
Програмиране на приложението за сензор за влажност на почвата
Сега приложението за сензор за влажност на почвата може да бъде програмирано с помощта на сензорите в CounterFit.
Задача - Програмиране на приложението за сензор за влажност на почвата
Програмирайте приложението за сензор за влажност на почвата.
-
Уверете се, че приложението
soil-moisture-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_grove.adc import ADC
Изразът
import time
импортира модулаtime
, който ще бъде използван по-късно в задачата.Изразът
from counterfit_shims_grove.adc import ADC
импортира класаADC
, който позволява взаимодействие със симулиран аналогово-цифров преобразувател, свързан към сензор в CounterFit. -
Добавете следния код под този, за да създадете инстанция на класа
ADC
:adc = ADC()
-
Добавете безкраен цикъл, който чете стойности от този ADC на пин 0 и ги записва в конзолата. Този цикъл може да изчаква 10 секунди между четенията.
while True: soil_moisture = adc.read(0) print("Soil moisture:", soil_moisture) time.sleep(10)
-
От приложението CounterFit променете стойността на сензора за влажност на почвата, която ще бъде прочетена от приложението. Можете да направите това по два начина:
-
Въведете число в полето Value за сензора за влажност на почвата и натиснете бутона Set. Числото, което въведете, ще бъде стойността, върната от сензора.
-
Поставете отметка в полето Random и въведете стойности за Min и Max, след което натиснете бутона Set. Всеки път, когато сензорът чете стойност, тя ще бъде случайно число между Min и Max.
-
-
Стартирайте Python приложението. Ще видите измерванията на влажността на почвата, записани в конзолата. Променете стойността или настройките за Random, за да видите как стойността се променя.
(.venv) ➜ soil-moisture-sensor $ python app.py Soil moisture: 615 Soil moisture: 612 Soil moisture: 498 Soil moisture: 493 Soil moisture: 490 Soil Moisture: 388
💁 Можете да намерите този код в папката code/virtual-device.
😀 Вашето приложение за сензор за влажност на почвата беше успешно!
Отказ от отговорност:
Този документ е преведен с помощта на AI услуга за превод Co-op Translator. Въпреки че се стремим към точност, моля, имайте предвид, че автоматичните преводи може да съдържат грешки или неточности. Оригиналният документ на неговия изходен език трябва да се счита за авторитетен източник. За критична информация се препоръчва професионален превод от човек. Не носим отговорност за каквито и да било недоразумения или погрешни интерпретации, произтичащи от използването на този превод.