جدول المحتويات:
- الخطوة 1: الحصول على بيانات الإمالة في Python
- الخطوة 2: توصيل الجهاز بالسحابة
- الخطوة 3: إرسال البيانات إلى السحابة
- الخطوة 4: النتيجة النهائية
فيديو: كيفية التحكم في درجة حرارة تخمير البيرة وجاذبيتها من هاتفك الذكي: 4 خطوات (بالصور)
2024 مؤلف: John Day | [email protected]. آخر تعديل: 2024-01-30 07:41
عندما تخمر البيرة ، يجب أن تراقب جاذبيتها ودرجة حرارتها يوميًا. من السهل أن تنسى فعل ذلك ، ومن المستحيل أن تكون بعيدًا.
بعد بعض البحث في googling ، وجدت عدة حلول لمراقبة الجاذبية الآلية (واحد ، اثنان ، ثلاثة). واحد منهم ، بمفهوم ذكي للغاية ، يسمى Tilt. الإمالة تطفو في البيرة الخاصة بك وتقوم بقياس زاوية الميل الخاصة بها. تعتمد هذه الزاوية على كثافة السائل ، وبالتالي يمكنها قياس جاذبية الجعة المخمرة.
يأتي Tilt مع تطبيق جوال يتصل به ويمكنه نشر البيانات إلى أي خدمة ويب. تكمن المشكلة في أنك بحاجة إلى ألا تكون بعيدًا عن Tilt لتتمكن من القيام بذلك. يوجد أيضًا برنامج Raspberry Pi الذي يعمل مع Tilt.
الخطوة 1: الحصول على بيانات الإمالة في Python
أستخدم Raspberry Pi بالفعل لمراقبة درجة حرارة القبو وخدمة لوحة التحكم السحابية cloud4rpi.io. إذا كان بإمكان Tilt التحدث إلى Raspberry Pi ، فمن الممكن توصيل cloud4rpi به. يستخدم Tilt بروتوكولًا لاسلكيًا ، لذا ستحتاج إلى Raspberry Pi بشريحة لاسلكية (Rasbperry Pi 3 أو Zero W).
لحسن الحظ ، يوجد GitHub repo لبرنامج Tilt مع بعض العينات. بالنظر إلى https://github.com/baronbrew/tilt-scan ، يمكنك أن ترى أن Tilt ينظر إلى الآخرين على أنه BLE iBeacon ، مع "اللون" المشفر في UUID ، ودرجة الحرارة والجاذبية بالبايتات الرئيسية والثانوية.
نموذج الكود الخاص بهم هو Node.js ، ولدي برنامج تحكم Python يعتمد على قالب cloud4rpi
لذلك أحتاج إلى الحصول على بيانات Tilt في Python. بعد بعض البحث على googling ، وجدت https://github.com/switchdoclabs/iBeacon-Scanner- - Python iBeacon scanner. هذا برنامج ، وليس مكتبة ، لذلك قمت بتعديله لإرجاع قاموس بدلاً من سلسلة. وكتبت أيضًا وحدة خاصة بالإمالة للحصول على اللون ودرجة الحرارة والجاذبية لأول مرة تم العثور عليها (لدي واحدة فقط) ، وبرنامج اختبار بسيط للتحقق مما إذا كان بإمكانه رؤية الإمالة الخاصة بي:
استيراد وقت الاستيراد
احيانا صحيح:
res = tilt.getFirstTilt () print res time.sleep (2)
قم بتشغيله وتحقق من أنه يعمل. الآن يمكنني توصيله ببرنامج التحكم الخاص بي. لدي بالفعل برنامج python متصل بـ cloud4rpi.io ، لكن دعني أوضح كيفية القيام بذلك من البداية.
الخطوة 2: توصيل الجهاز بالسحابة
أولاً ، سجّل الدخول إلى cloud4rpi.io ، ثم أنشئ جهازًا جديدًا.
سيتم إعطاؤك رمز الجهاز وإرشادات التثبيت. بالنسبة إلى Raspberry Pi ، اتبع الإرشادات هنا https://docs.cloud4rpi.io/start/rpi/ - تأكد من تحديث نظامك:
تحديث sudo apt && sudo apt Upgrade
متطلبات التثبيت:
sudo apt install git python python-pip
تثبيت حزم python cloud4rpi:
تثبيت sudo pip cloud4rpi
ثم احصل على نموذج لتطبيق python لـ Raspberry Pi (في مجلد التحكم):
بوابة استنساخ https://github.com/cloud4rpi/cloud4rpi-raspberryp… control
السيطرة على القرص المضغوط
تعديل control.py - حدد رمز جهازك في السطر
DEVICE_TOKEN = "_YOUR_DEVICE_TOKEN_"
قم بإزالة الإدخالات غير الضرورية من الإعلانات المتغيرة للجهاز ، واترك CPUTemp فقط لاختبار اتصال الجهاز:
# ضع تعريفات المتغيرات هنا المتغيرات = {'CPU Temp': {'type': 'numeric'، 'bind': rpi.cpu_temp}}
الآن قم بإجراء اختبار:
sudo python control.py
إذا كان كل شيء على ما يرام ، فسيتم تحديث صفحة جهازك على الفور ببيانات التشخيص.
الخطوة 3: إرسال البيانات إلى السحابة
نحتاج الآن إلى تعديل control.py لقراءة لون Tilt ودرجة الحرارة والجاذبية والإبلاغ عنه. النتيجة تبدو كالتالي:
من نظام التشغيل استيراد unamefrom socket استيراد gethostname استيراد النظام وقت الاستيراد استيراد 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):
العودة (درجات فهرنهايت - 32) / 1.8
def getTemp ():
إرجاع F2C (int (منارة ['Temp'])) إذا كان منارة أخرى لا شيء
def getGravity ():
عودة منارة ['Gravity'] إذا كان منارة أخرى لا شيء
def main ():
# ضع التصريحات المتغيرة هنا
المتغيرات = {'Gravity': {'type': 'numeric'، 'bind': getGravity}، 'Beer Temp': {'type': 'numeric'، 'bind': getTemp}}
التشخيص = {
'CPU Temp': rpi.cpu_temp، 'IP Address': rpi.ip_address، 'Host': gethostname ()، 'Operating System': "".join (uname ())}
الجهاز = cloud4rpi.connect (DEVICE_TOKEN)
device.declare (المتغيرات) device.declare_diag (التشخيص)
device.publish_config ()
# يضيف تأخيرًا لمدة ثانية واحدة لضمان إنشاء متغيرات الجهاز
time.sleep (1) الوقت
محاولة:
data_timer = 0 diag_timer = 0 بينما True: if data_timer <= 0: global beacon beacon = tilt.getFirstTilt () device.publish_data () data_timer = DATA_SENDING_INTERVAL
إذا كان diag_timer <= 0: device.publish_diag () diag_timer = DIAG_SENDING_INTERVAL
time.sleep (POLL_INTERVAL)
diag_timer - = POLL_INTERVAL data_timer - = POLL_INTERVAL
باستثناء لوحة المفاتيح المقاطعة:
cloud4rpi.log.info ("تم تلقي مقاطعة لوحة المفاتيح. جارٍ الإيقاف …")
باستثناء الاستثناء كـ e:
خطأ = cloud4rpi.get_error_message (e) cloud4rpi.log.error ("ERROR!٪ s٪ s" ، خطأ ، sys.exc_info () [0])
أخيرا:
sys.exit (0)
إذا _name_ == "_الرئيسية_":
الأساسية()
الآن قم بتشغيله يدويًا لمعرفة ما إذا كان يعمل:
sudo python control.py
إذا كان كل شيء جيدًا ، فسترى متغيراتك عبر الإنترنت.
لتشغيل control.py عند بدء تشغيل النظام ، قم بتثبيته كخدمة. يوفر Cloud4rpi برنامج تثبيت نصي service_install.sh للقيام بذلك. لقد أدرجته في الريبو الخاص بي. لتثبيت control.py كخدمة ، قم بتشغيل
sudo bash service_install.sh control.py
يمكنك الآن بدء | إيقاف | إعادة تشغيل هذه الخدمة عن طريق تشغيل الأمر
sudo systemctl يبدأ cloud4rpi.service
تحافظ الخدمة على حالتها السابقة قيد التشغيل ، لذلك إذا كانت قيد التشغيل ، فستعمل بعد إعادة التشغيل أو فقدان الطاقة.
الخطوة 4: النتيجة النهائية
هذا هو ، الآن لديّ معلمات Tilt الخاصة بي يتم إرسالها إلى السحابة ، حتى أتمكن من إعداد لوحة تحكم سحابية لطيفة لها. انتقل إلى https://cloud4rpi.io/control-panels وأنشئ لوحة تحكم جديدة وأضف عنصر واجهة مستخدم وحدد / Gravity و Beer Temp كمصدر بيانات. الآن يمكنني مراقبة ما يحدث حتى لو كنت بعيدًا عن المنزل.
الكود الذي نسخته وكتبته متاح هنا: https://github.com/superroma/tilt-cloud4rpi. إنه بعيد عن الكمال ، فهو يعمل فقط مع إمالة واحدة ، ولا يهتم بـ "لون" الجهاز ، أيًا كان ما يعنيه ، ولست من رجال Python على الإطلاق ، لذا نرحب بالإصلاحات أو الاقتراحات أو الشوكات !
موصى به:
IOT ThermoGun - ميزان حرارة ذكي لقياس درجة حرارة الجسم بالأشعة تحت الحمراء - Ameba Arduino: 3 خطوات
IOT ThermoGun - ميزان حرارة ذكي يعمل بالأشعة تحت الحمراء للجسم - Ameba Arduino: مع استمرار COVID-19 في إحداث فوضى على مستوى العالم ، مما تسبب في آلاف الوفيات ، والملايين في المستشفى ، فإن أي جهاز طبي مفيد مطلوب بشكل كبير ، خاصة الأجهزة الطبية المنزلية مثل ميزان الحرارة غير المتصل بالأشعة تحت الحمراء ؟؟ . عادة ما يكون مقياس الحرارة المحمول قيد التشغيل
استخدام الهاتف الذكي كمقياس حرارة لا يلامس / ميزان حرارة محمول: 8 خطوات (بالصور)
استخدام الهاتف الذكي كمقياس حرارة غير متصل / ميزان حرارة محمول: قياس درجة حرارة الجسم بدون تلامس / بدون تلامس مثل مسدس حراري. لقد أنشأت هذا المشروع لأن Thermo Gun الآن مكلف للغاية ، لذلك يجب أن أحصل على بديل لصنع DIY. والغرض من ذلك هو إصدار الميزانية المنخفضة. العرض MLX90614Ardu
ESP8266 مراقبة درجة حرارة Nodemcu باستخدام DHT11 على خادم ويب محلي - احصل على درجة حرارة الغرفة ورطوبتها على متصفحك: 6 خطوات
ESP8266 مراقبة درجة حرارة Nodemcu باستخدام DHT11 على خادم ويب محلي | احصل على درجة حرارة الغرفة ورطوبتها على متصفحك: مرحبًا يا شباب اليوم سنصنع الرطوبة & amp؛ نظام مراقبة درجة الحرارة باستخدام ESP 8266 NODEMCU & amp؛ جهاز استشعار درجة الحرارة DHT11. سيتم الحصول على درجة الحرارة والرطوبة من مستشعر DHT11 & amp؛ يمكن رؤيته على متصفح أي صفحة ويب ستتم إدارتها
كيفية صنع مقياس درجة حرارة مخصص DIY باستخدام الرسم البياني الشريطي و Atmega328p: 3 خطوات (بالصور)
كيفية صنع مقياس درجة حرارة مخصص DIY باستخدام رسم بياني شريطي و Atmega328p: في هذا المنشور سأوضح لك كيفية عمل مقياس درجة الحرارة باستخدام Bar Graph & amp؛ Atmega328p. سيتضمن المنشور جميع التفاصيل مثل مخطط الدائرة وتصنيع ثنائي الفينيل متعدد الكلور والترميز والتجميع والتجميع. اختبارات. لقد قمت أيضًا بتضمين مقطع فيديو يحتوي على جميع
ميزان حرارة للطهي بمسبار درجة الحرارة ESP32 NTP مع تصحيح Steinhart-Hart وإنذار درجة الحرارة: 7 خطوات (بالصور)
ميزان حرارة للطهي بمسبار درجة الحرارة ESP32 NTP مع تصحيح Steinhart-Hart وإنذار درجة الحرارة: لا يزال في رحلة لإكمال & quot؛ المشروع القادم & quot ؛، & quot؛ ESP32 NTP ميزان حرارة للطهي بمسبار درجة الحرارة مع تصحيح Steinhart-Hart وإنذار درجة الحرارة & quot؛ هو Instructable يوضح كيف يمكنني إضافة مسبار درجة حرارة NTP ، بيزو ب