فهرست مطالب:

نحوه کنترل دما و جاذبه تخمیر آبجو از طریق تلفن هوشمند خود: 4 مرحله (همراه با تصاویر)
نحوه کنترل دما و جاذبه تخمیر آبجو از طریق تلفن هوشمند خود: 4 مرحله (همراه با تصاویر)

تصویری: نحوه کنترل دما و جاذبه تخمیر آبجو از طریق تلفن هوشمند خود: 4 مرحله (همراه با تصاویر)

تصویری: نحوه کنترل دما و جاذبه تخمیر آبجو از طریق تلفن هوشمند خود: 4 مرحله (همراه با تصاویر)
تصویری: حرکات زشت سحر قریشی در باشگاه مردانه در دبی#سحرقریشی #امیرتتلو #تتلو #سحر_قریشی 2024, جولای
Anonim
چگونه می توان دما و جاذبه تخمیر آبجو را از طریق تلفن هوشمند خود کنترل کرد
چگونه می توان دما و جاذبه تخمیر آبجو را از طریق تلفن هوشمند خود کنترل کرد

هنگامی که آبجو در حال تخمیر است ، باید وزن و دمای آن را روزانه کنترل کنید. فراموش کردن این کار آسان است و در صورت نبودن غیرممکن است.

پس از کمی جستجوی گوگل ، چندین راه حل برای نظارت خودکار گرانش (یک ، دو ، سه) پیدا کردم. یکی از آنها ، با مفهوم بسیار هوشمندانه ، Tilt نام دارد. شیب در آبجو شما شناور است و زاویه شیب خود را اندازه گیری می کند. این زاویه به چگالی مایع بستگی دارد و بنابراین می تواند گرانش آبجو را تخمیر کند.

Tilt دارای یک برنامه تلفن همراه است که به آن متصل می شود و می تواند داده ها را به هر سرویس وب ارسال کند. مشکل این است که شما باید تا Tilt فاصله نداشته باشید تا بتوانید این کار را انجام دهید. همچنین یک برنامه Raspberry Pi وجود دارد که با Tilt کار می کند.

مرحله 1: دریافت داده های Tilt در پایتون

دریافت داده های Tilt در پایتون
دریافت داده های Tilt در پایتون

من در حال حاضر از Raspberry Pi برای نظارت بر دمای زیرزمین و سرویس کنترل صفحه ابر cloud4rpi.io استفاده می کنم. اگر Tilt بتواند با Raspberry Pi صحبت کند ، باید cloud4rpi را به آن متصل کرد. Tilt از پروتکل بی سیم استفاده می کند ، بنابراین به Raspberry Pi با تراشه بی سیم (Rasbperry Pi 3 یا Zero W) نیاز دارید.

خوشبختانه یک GipHub برای نرم افزار Tilt با برخی نمونه ها وجود دارد. با نگاهی به https://github.com/baronbrew/tilt-scan می توانید متوجه شوید که Tilt از نظر دیگران BLE iBeacon است ، با "Color" در UUID کدگذاری شده است ، و دما و جاذبه در بایت های اصلی و جزئی هستند.

کد نمونه آنها برای Node.js است و من یک برنامه کنترل پایتون بر اساس قالب cloud4rpi https://github.com/cloud4rpi/cloud4rpi-raspberrypi-python/blob/master/control.py دارم.

بنابراین باید داده های Tilt را در پایتون دریافت کنم. پس از کمی جستجوی گوگل ، https://github.com/switchdoclabs/iBeacon-Scanner-- اسکنر Python iBeacon را پیدا کردم. این یک برنامه است ، نه یک کتابخانه ، بنابراین من آن را تغییر دادم تا یک دیکشنری را به جای رشته برگرداند. و همچنین ماژول مخصوص Tilt را برای بدست آوردن رنگ ، دما و گرانش اولین Tilt پیدا شده (فقط یک مورد دارم) و یک برنامه آزمایشی ساده برای بررسی اینکه آیا می تواند Tilt من را ببیند ، نوشتم:

وارد کردن زمان وارد کردن شیب

در حالی که True:

res = tilt.getFirstTilt () چاپ زمان res.sleep (2)

اجرا کنید و بررسی کنید که کار می کند. حالا می توانم آن را به برنامه کنترل خود وصل کنم. من قبلاً یک برنامه پایتون دارم که به cloud4rpi.io متصل است ، اما اجازه دهید نحوه انجام این کار را از ابتدا نشان دهم.

مرحله 2: اتصال دستگاه به ابر

اتصال دستگاه به ابر
اتصال دستگاه به ابر
اتصال دستگاه به ابر
اتصال دستگاه به ابر

ابتدا وارد cloud4rpi.io شوید ، سپس یک دستگاه جدید ایجاد کنید.

توکن دستگاه و دستورالعمل نصب به شما داده می شود. برای Raspberry Pi دستورالعمل های اینجا را دنبال کنید https://docs.cloud4rpi.io/start/rpi/-مطمئن شوید سیستم شما به روز است:

sudo apt update && sudo apt upgrade

نصب پیش نیازها:

sudo apt git python python-pip را نصب کنید

نصب بسته های پایتون cloud4rpi:

sudo pip را نصب کنید cloud4rpi

سپس یک نمونه برنامه پایتون برای Raspberry Pi (در پوشه کنترل) دریافت کنید:

git clone https://github.com/cloud4rpi/cloud4rpi-raspberryp… کنترل

کنترل سی دی

modify control.py - توکن دستگاه خود را در خط مشخص کنید

DEVICE_TOKEN = '_YOUR_DEVICE_TOKEN_'

ورودی های غیر ضروری را از اعلان های متغیر دستگاه حذف کنید ، فقط CPUTemp را برای آزمایش اتصال دستگاه بگذارید:

# اعلان های متغیر را در اینجا قرار دهید متغیرها = {'CPU Temp': {'type': 'numeric'، 'bind': rpi.cpu_temp}}

حالا یک آزمایش آزمایشی انجام دهید:

sudo python control.py

اگر همه چیز خوب است ، صفحه دستگاه شما بلافاصله با داده های تشخیصی به روز می شود.

مرحله 3: ارسال داده ها به ابر

ارسال داده ها به ابر
ارسال داده ها به ابر

اکنون باید کنترل.py را برای خواندن و گزارش رنگ ، دما و گرانش Tilt تغییر دهیم. نتیجه به این شکل است:

از واردات os unamefrom از سوکت وارد کنید gethostname import sys واردات زمان واردات cloud4rpi واردات rpi وارد کردن شیب

# نشان دستگاه خود را در اینجا قرار دهید. برای دریافت نشان ،

# در https://cloud4rpi.io ثبت نام کنید و یک دستگاه ایجاد کنید. DEVICE_TOKEN = '_YOUR_DEVICE_TOKEN_'

# ثابت ها

DATA_SENDING_INTERVAL = 60 # ثانیه DIAG_SENDING_INTERVAL = 600 # ثانیه POLL_INTERVAL = 0.5 # 500 میلی ثانیه

چراغ = {}

def F2C (درجه F):

بازگشت (درجه F - 32) / 1.8

def getTemp ():

F2C (int (beacon ['Temp'])) را برگردانید در صورتیکه فاقد چراغ باشد هیچکدام

def getGravity ():

return beacon ['گرانش'] if beacon else هیچکدام

def main ():

# اظهارات متغیر را در اینجا قرار دهید

variables = {'Gravity': {'type': 'numeric'، 'bind': getGravity}، 'Beer Temp': {'type': 'numeric'، 'bind': getTemp}}

تشخیص = {

"CPU Temp": rpi.cpu_temp ، "آدرس IP": rpi.ip_address ، "host": gethostname () ، "سیستم عامل": "". پیوستن (uname ())}

دستگاه = cloud4rpi.connect (DEVICE_TOKEN)

device.declare (متغیرها) device.declare_diag (تشخیص)

device.publish_config ()

# تأخیر 1 ثانیه ای را برای اطمینان از ایجاد متغیرهای دستگاه اضافه می کند

زمان خواب (1)

تلاش كردن:

data_timer = 0 diag_timer = 0 while True: if data_timer <= 0: global beacon beacon = tilt.getFirstTilt () device.publish_data () data_timer = DATA_SENDING_INTERVAL

if diag_timer <= 0: device.publish_diag () diag_timer = DIAG_SENDING_INTERVAL

time.sleep (POLL_INTERVAL)

diag_timer -= POLL_INTERVAL data_timer -= POLL_INTERVAL

به جز KeyboardIntruptrupt:

cloud4rpi.log.info ("وقفه صفحه کلید دریافت شد. توقف …")

به استثنای e:

error = cloud4rpi.get_error_message (e) cloud4rpi.log.error ("ERROR!٪ s٪ s"، error، sys.exc_info () [0])

سرانجام:

sys.exit (0)

اگر _name_ == '_main_':

اصلی ()

حالا آن را به صورت دستی اجرا کنید تا ببینید آیا کار می کند:

sudo python control.py

اگر همه چیز خوب باشد ، متغیرهای خود را بصورت آنلاین مشاهده خواهید کرد.

برای اجرای control.py در هنگام راه اندازی سیستم ، آن را به عنوان یک سرویس نصب کنید. برای انجام این کار ، Cloud4rpi یک script script service_install.sh ارائه می دهد. من آن را در رپو خود قرار دادم برای نصب control.py به عنوان سرویس ، اجرا کنید

sudo bash service_install.sh control.py

اکنون می توانید این سرویس را | stop | راه اندازی مجدد با اجرای فرمان انجام دهید

sudo systemctl شروع به کار cloud4rpi.service

سرویس حالت قبلی خود را روشن نگه می دارد ، بنابراین اگر کار می کرد ، پس از راه اندازی مجدد یا قطع برق کار می کند.

مرحله 4: نتیجه نهایی

نتیجه نهایی
نتیجه نهایی

این تمام است ، در حال حاضر پارامترهای Tilt من به ابر ارسال می شوند ، بنابراین می توانم یک پانل کنترل ابر خوب برای آن تنظیم کنم. به https://cloud4rpi.io/control-panels بروید و کنترل پنل جدیدی ایجاد کنید ، ویجت را اضافه کنید و/Gravity and Beer Temp را به عنوان منبع داده انتخاب کنید. اکنون می توانم آنچه را که اتفاق می افتد کنترل کنم ، حتی اگر دور از خانه باشم.

کدی که من کپی و نوشتم در اینجا موجود است: https://github.com/superroma/tilt-cloud4rpi. بسیار عالی است ، فقط با یک Tilt کار می کند ، به "رنگ" دستگاه ، هر چه که باشد اهمیت نمی دهد ، و من اصلاً یک پسر پایتون نیستم ، بنابراین از اصلاحات ، پیشنهادات یا چنگال ها استقبال می شود !

توصیه شده: