7.7 KiB
اندازهگیری رطوبت خاک - سختافزار مجازی IoT
در این بخش از درس، یک حسگر رطوبت خاک خازنی به دستگاه IoT مجازی خود اضافه میکنید و مقادیر آن را میخوانید.
سختافزار مجازی
دستگاه IoT مجازی از یک حسگر رطوبت خاک خازنی شبیهسازیشده Grove استفاده خواهد کرد. این کار باعث میشود این آزمایش مشابه استفاده از یک Raspberry Pi با یک حسگر رطوبت خاک خازنی فیزیکی باشد.
در یک دستگاه IoT فیزیکی، حسگر رطوبت خاک یک حسگر خازنی است که رطوبت خاک را با تشخیص ظرفیت خازنی خاک اندازهگیری میکند، خاصیتی که با تغییر رطوبت خاک تغییر میکند. با افزایش رطوبت خاک، ولتاژ کاهش مییابد.
این حسگر آنالوگ است و از یک مبدل آنالوگ به دیجیتال ۱۰ بیتی شبیهسازیشده برای گزارش مقدار بین ۱ تا ۱۰۲۳ استفاده میکند.
افزودن حسگر رطوبت خاک به CounterFit
برای استفاده از یک حسگر رطوبت خاک مجازی، باید آن را به برنامه CounterFit اضافه کنید.
وظیفه - افزودن حسگر رطوبت خاک به CounterFit
حسگر رطوبت خاک را به برنامه CounterFit اضافه کنید.
-
یک برنامه پایتون جدید در رایانه خود در پوشهای به نام
soil-moisture-sensor
با یک فایل به نامapp.py
و یک محیط مجازی پایتون ایجاد کنید و بستههای pip مربوط به CounterFit را اضافه کنید.⚠️ میتوانید به دستورالعملهای ایجاد و تنظیم یک پروژه پایتون CounterFit در درس ۱ در صورت نیاز مراجعه کنید.
-
مطمئن شوید که برنامه وب CounterFit در حال اجرا است.
-
یک حسگر رطوبت خاک ایجاد کنید:
-
در کادر Create sensor در پنل Sensors، از منوی کشویی Sensor type گزینه Soil Moisture را انتخاب کنید.
-
گزینه Units را روی NoUnits بگذارید.
-
مطمئن شوید که Pin روی 0 تنظیم شده است.
-
دکمه Add را انتخاب کنید تا حسگر Soil Moisture روی پین ۰ ایجاد شود.
حسگر رطوبت خاک ایجاد شده و در لیست حسگرها ظاهر میشود.
-
برنامهنویسی برنامه حسگر رطوبت خاک
اکنون میتوانید برنامه حسگر رطوبت خاک را با استفاده از حسگرهای 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 روی پین ۰ بخواند و نتیجه را در کنسول بنویسد. این حلقه میتواند بین خواندنها به مدت ۱۰ ثانیه متوقف شود.
while True: soil_moisture = adc.read(0) print("Soil moisture:", soil_moisture) time.sleep(10)
-
از برنامه CounterFit، مقدار حسگر رطوبت خاک را که توسط برنامه خوانده میشود تغییر دهید. میتوانید این کار را به یکی از دو روش زیر انجام دهید:
-
یک عدد در کادر Value برای حسگر رطوبت خاک وارد کنید و سپس دکمه Set را انتخاب کنید. عددی که وارد میکنید مقدار بازگشتی حسگر خواهد بود.
-
کادر Random را علامت بزنید و مقادیر Min و Max را وارد کنید، سپس دکمه Set را انتخاب کنید. هر بار که حسگر مقداری را میخواند، یک عدد تصادفی بین Min و Max خواهد بود.
-
-
برنامه پایتون را اجرا کنید. خواهید دید که اندازهگیریهای رطوبت خاک در کنسول نوشته میشوند. مقدار Value یا تنظیمات 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 پیدا کنید.
😀 برنامه حسگر رطوبت خاک شما با موفقیت اجرا شد!
سلب مسئولیت:
این سند با استفاده از سرویس ترجمه هوش مصنوعی Co-op Translator ترجمه شده است. در حالی که ما تلاش میکنیم دقت را حفظ کنیم، لطفاً توجه داشته باشید که ترجمههای خودکار ممکن است شامل خطاها یا نادرستیها باشند. سند اصلی به زبان اصلی آن باید به عنوان منبع معتبر در نظر گرفته شود. برای اطلاعات حساس، توصیه میشود از ترجمه حرفهای انسانی استفاده کنید. ما مسئولیتی در قبال سوء تفاهمها یا تفسیرهای نادرست ناشی از استفاده از این ترجمه نداریم.