You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
IoT-For-Beginners/translations/fa/2-farm/lessons/1-predict-plant-growth/single-board-computer-temp-...

5.0 KiB

انتشار دما - سخت‌افزار مجازی IoT و رزبری پای

در این بخش از درس، شما مقادیر دمایی که توسط رزبری پای یا دستگاه مجازی IoT شناسایی شده‌اند را از طریق MQTT منتشر می‌کنید تا بعداً بتوان از آنها برای محاسبه GDD استفاده کرد.

انتشار دما

پس از خواندن دما، می‌توان آن را از طریق MQTT به کدی که نقش 'سرور' را دارد ارسال کرد تا مقادیر را بخواند و ذخیره کند و آماده استفاده برای محاسبه GDD باشد.

وظیفه - انتشار دما

دستگاه را برنامه‌ریزی کنید تا داده‌های دما را منتشر کند.

  1. اگر پروژه اپلیکیشن temperature-sensor باز نیست، آن را باز کنید.

  2. مراحل انجام شده در درس ۴ برای اتصال به MQTT و ارسال داده‌های تله‌متری را تکرار کنید. شما از همان بروکر عمومی Mosquitto استفاده خواهید کرد.

    مراحل این کار عبارتند از:

    • افزودن بسته pip مربوط به MQTT
    • افزودن کد برای اتصال به بروکر MQTT
    • افزودن کد برای انتشار داده‌های تله‌متری

    ⚠️ به دستورالعمل‌های اتصال به MQTT و دستورالعمل‌های ارسال تله‌متری از درس ۴ در صورت نیاز مراجعه کنید.

  3. مطمئن شوید که client_name نام این پروژه را منعکس می‌کند:

    client_name = id + 'temperature_sensor_client'
    
  4. برای تله‌متری، به جای ارسال مقدار نور، مقدار دمای خوانده شده از سنسور DHT را در یک ویژگی از سند JSON به نام temperature ارسال کنید:

    _, temp = sensor.read()
    telemetry = json.dumps({'temperature' : temp})
    
  5. نیازی نیست مقدار دما خیلی زود به زود خوانده شود - در مدت زمان کوتاه تغییر زیادی نمی‌کند، بنابراین time.sleep را به ۱۰ دقیقه تنظیم کنید:

    time.sleep(10 * 60);
    

    💁 تابع sleep زمان را به ثانیه می‌گیرد، بنابراین برای خواندن آسان‌تر، مقدار به صورت نتیجه یک محاسبه ارسال می‌شود. ۶۰ ثانیه در یک دقیقه وجود دارد، بنابراین ۱۰ ضربدر (۶۰ ثانیه در یک دقیقه) تأخیر ۱۰ دقیقه‌ای ایجاد می‌کند.

  6. کد را به همان روشی که کد بخش قبلی تکلیف را اجرا کردید، اجرا کنید. اگر از یک دستگاه مجازی IoT استفاده می‌کنید، مطمئن شوید که اپلیکیشن CounterFit در حال اجرا است و سنسورهای رطوبت و دما روی پین‌های صحیح ایجاد شده‌اند.

    pi@raspberrypi:~/temperature-sensor $ python3 app.py
    MQTT connected!
    Sending telemetry  {"temperature": 25}
    Sending telemetry  {"temperature": 25}
    

💁 شما می‌توانید این کد را در پوشه code-publish-temperature/virtual-device یا پوشه code-publish-temperature/pi پیدا کنید.

😀 شما با موفقیت دما را به عنوان تله‌متری از دستگاه خود منتشر کردید.

سلب مسئولیت:
این سند با استفاده از سرویس ترجمه هوش مصنوعی Co-op Translator ترجمه شده است. در حالی که ما تلاش می‌کنیم دقت را حفظ کنیم، لطفاً توجه داشته باشید که ترجمه‌های خودکار ممکن است شامل خطاها یا نادرستی‌ها باشند. سند اصلی به زبان اصلی آن باید به عنوان منبع معتبر در نظر گرفته شود. برای اطلاعات حساس، توصیه می‌شود از ترجمه حرفه‌ای انسانی استفاده کنید. ما مسئولیتی در قبال سوء تفاهم‌ها یا تفسیرهای نادرست ناشی از استفاده از این ترجمه نداریم.