فهرست مطالب:
- مرحله 1: دریافت داده های Tilt در پایتون
- مرحله 2: اتصال دستگاه به ابر
- مرحله 3: ارسال داده ها به ابر
- مرحله 4: نتیجه نهایی
تصویری: نحوه کنترل دما و جاذبه تخمیر آبجو از طریق تلفن هوشمند خود: 4 مرحله (همراه با تصاویر)
2024 نویسنده: John Day | [email protected]. آخرین اصلاح شده: 2024-01-30 08:57
هنگامی که آبجو در حال تخمیر است ، باید وزن و دمای آن را روزانه کنترل کنید. فراموش کردن این کار آسان است و در صورت نبودن غیرممکن است.
پس از کمی جستجوی گوگل ، چندین راه حل برای نظارت خودکار گرانش (یک ، دو ، سه) پیدا کردم. یکی از آنها ، با مفهوم بسیار هوشمندانه ، Tilt نام دارد. شیب در آبجو شما شناور است و زاویه شیب خود را اندازه گیری می کند. این زاویه به چگالی مایع بستگی دارد و بنابراین می تواند گرانش آبجو را تخمیر کند.
Tilt دارای یک برنامه تلفن همراه است که به آن متصل می شود و می تواند داده ها را به هر سرویس وب ارسال کند. مشکل این است که شما باید تا Tilt فاصله نداشته باشید تا بتوانید این کار را انجام دهید. همچنین یک برنامه Raspberry Pi وجود دارد که با Tilt کار می کند.
مرحله 1: دریافت داده های 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 کار می کند ، به "رنگ" دستگاه ، هر چه که باشد اهمیت نمی دهد ، و من اصلاً یک پسر پایتون نیستم ، بنابراین از اصلاحات ، پیشنهادات یا چنگال ها استقبال می شود !
توصیه شده:
لوله LED Glass Stone (فای کنترل شده از طریق برنامه تلفن هوشمند): 6 مرحله (همراه با تصاویر)
لوله LED Glass Stone (فای کنترل شده از طریق برنامه تلفن هوشمند): سلام به سازندگان محترم! در این مقاله آموزشی به شما نشان خواهم داد که چگونه یک لوله LED با فای کنترل شده که با سنگ های شیشه ای پر شده است را برای یک اثر پخش خوب نشان دهید. LED ها به صورت جداگانه قابل آدرس دهی هستند و بنابراین برخی از جلوه های خوب در
Android Home (خانه خود را از طریق تلفن خود کنترل کنید): 4 مرحله
Android Home (خانه خود را از طریق تلفن خود کنترل کنید): برنامه نهایی من این است که خانه را در جیبم داشته باشم ، کلیدهای آن ، سنسورها و امنیت. و سپس خودکار آن را جفت کنید معرفی: سلام ایچ بن زکریا و این & quot؛ خانه اندروید & quot؛ پروژه من است ، این پروژه ابتدا از چهار دستورالعمل آینده است ، در
ESP8266 RGB LED STRIP WIFI کنترل - NODEMCU به عنوان یک کنترل از راه دور IR برای نوار LED کنترل شده بر روی Wifi - کنترل تلفن هوشمند RGB LED STRIP: 4 مرحله
ESP8266 RGB LED STRIP WIFI کنترل | NODEMCU به عنوان یک کنترل از راه دور IR برای نوار LED کنترل شده بر روی Wifi | RGB LED STRIP Smartphone Control: سلام بچه ها در این آموزش می آموزیم که چگونه از nodemcu یا esp8266 به عنوان ریموت IR برای کنترل نوار LED RGB استفاده کنید و Nodemcu توسط تلفن هوشمند از طریق وای فای کنترل می شود. بنابراین اساساً می توانید RGB LED STRIP را با تلفن هوشمند خود کنترل کنید
نحوه کنترل سوئیچ هوشمند پایه Sonoff ESP8266 با تلفن هوشمند: 4 مرحله (همراه با تصاویر)
نحوه کنترل کلید اصلی Sonoff ESP8266 با تلفن هوشمند: Sonoff یک خط دستگاه برای خانه هوشمند است که توسط ITEAD توسعه یافته است. یکی از انعطاف پذیرترین و ارزان ترین دستگاه های آن خط Sonoff Basic است. این یک سوئیچ فعال Wi-Fi است که بر اساس یک تراشه عالی ، ESP8266 ساخته شده است. این مقاله نحوه تنظیم Cl
کنترل آردوینو با استفاده از تلفن هوشمند از طریق USB با برنامه Blynk: 7 مرحله (همراه با تصاویر)
کنترل آردوینو با استفاده از تلفن هوشمند از طریق USB با برنامه Blynk: در این آموزش ، ما قصد داریم نحوه استفاده از برنامه Blynk و Arduino را برای کنترل لامپ یاد بگیریم ، این ترکیب از طریق پورت سریال USB انجام می شود. هدف از این دستورالعمل نشان دادن ساده ترین راه حل-کنترل از راه دور Arduino یا c