Mundarija:

Smartfondan pivo fermentatsiyasining harorati va tortishish kuchini qanday boshqarish mumkin: 4 qadam (rasmlar bilan)
Smartfondan pivo fermentatsiyasining harorati va tortishish kuchini qanday boshqarish mumkin: 4 qadam (rasmlar bilan)

Video: Smartfondan pivo fermentatsiyasining harorati va tortishish kuchini qanday boshqarish mumkin: 4 qadam (rasmlar bilan)

Video: Smartfondan pivo fermentatsiyasining harorati va tortishish kuchini qanday boshqarish mumkin: 4 qadam (rasmlar bilan)
Video: #3. Обеспечение использования тренажера «Тренажера для подготовки к PISA» 2024, Iyul
Anonim
Smartfondan pivo fermentatsiyasining harorati va tortishish kuchini qanday boshqarish mumkin
Smartfondan pivo fermentatsiyasining harorati va tortishish kuchini qanday boshqarish mumkin

Pivo achitganda, siz har kuni uning tortish kuchi va haroratini kuzatib borishingiz kerak. Buni unutish oson, va uzoqda bo'lmaganda imkonsizdir.

Biroz googlingdan so'ng, men tortishishning avtomatlashtirilgan monitoringi uchun bir nechta echim topdim (bir, ikki, uch). Ulardan biri, juda aqlli tushuncha bilan, Tilt deb nomlangan. Tilt sizning pivoingizda suzadi va o'z burilish burchagini o'lchaydi. Bu burchak suyuqlikning zichligiga bog'liq va shuning uchun achituvchi pivoning tortish kuchini o'lchashi mumkin.

Tilt mobil ilovasi bilan birga keladi, u unga ulanadi va har qanday veb -xizmatga ma'lumotlarni joylashtirishi mumkin. Muammo shundaki, buni amalga oshirish uchun siz Tiltdan unchalik uzoq bo'lmasligingiz kerak. Tilt bilan ishlaydigan Raspberry Pi dasturi ham mavjud.

1 -qadam: Python -da tilt ma'lumotlarini olish

Python -da tilt ma'lumotlarini olish
Python -da tilt ma'lumotlarini olish

Men allaqachon er osti haroratini kuzatish uchun Raspberry Pi va bulutli boshqaruv paneli cloud4rpi.io xizmatidan foydalanmoqdaman. Agar Tilt Raspberry Pi bilan gaplasha olsa, unga cloud4rpi ni ulash mumkin. Tilt simsiz protokoldan foydalanadi, shuning uchun sizga simsiz chipli Raspberry Pi kerak bo'ladi (Rasbperry Pi 3 yoki Zero W).

Yaxshiyamki, Tilt dasturiy ta'minoti uchun GitHub repo -si mavjud, ba'zi namunalar. Https://github.com/baronbrew/tilt-scan ga qarangki, Tilt boshqalarga BLE iBeacon sifatida qaraydi, UUIDda "Rang" yozilgan, harorat va tortishish katta va kichik baytlarda.

Ularning namuna kodi Node.js uchun va menda cloud4rpi shabloniga asoslangan Python boshqaruv dasturi bor

Shunday qilib, Pythonda Tilt ma'lumotlarini olishim kerak. Biroz googlingdan so'ng, men https://github.com/switchdoclabs/iBeacon-Scanner- Python iBeacon skanerini topdim. Bu kutubxona emas, dastur, shuning uchun uni satr o'rniga lug'atni qaytarish uchun o'zgartirdim. Men, shuningdek, Tilt-ga xos modul yozdim, u birinchi Tiltning rangini, haroratini va tortishishini (menda faqat bittasi bor) va mening Tilt-ni ko'rishi mumkinligini tekshirish uchun oddiy test dasturini yozdi:

import vaqtini import qilish

rost bo'lsa:

res = tilt.getFirstTilt () chop etish vaqti. uyqu (2)

Ishga tushiring va uning ishlashini tekshiring. Endi men uni boshqaruv dasturiga ulashim mumkin. Menda allaqachon cloud4rpi.io ga ulangan python dasturi bor, lekin buni noldan qanday qilishni ko'rsatib beray.

2 -qadam: qurilmani bulutga ulash

Qurilmani bulutga ulash
Qurilmani bulutga ulash
Qurilmani bulutga ulash
Qurilmani bulutga ulash

Birinchidan, cloud4rpi.io -ga kiring, so'ngra yangi qurilma yarating.

Sizga qurilma belgisi va o'rnatish ko'rsatmalari beriladi. Raspberry Pi uchun bu erdagi ko'rsatmalarga amal qiling https://docs.cloud4rpi.io/start/rpi/-tizimingiz yangilanganligiga ishonch hosil qiling:

sudo apt update && sudo apt upgrade

Old shartlarni o'rnating:

sudo apt install git python python-pip ni o'rnating

Cloud4rpi python paketlarini o'rnating:

sudo pip cloud4rpi -ni o'rnatadi

keyin Raspberry Pi uchun namuna python ilovasini oling (boshqaruv papkasida):

git klon https://github.com/cloud4rpi/cloud4rpi-raspberryp… nazorat

CD nazorati

modify control.py - satrda qurilmangiz tokenini ko'rsating

DEVICE_TOKEN = "_SIZNING_DEVICE_TOKEN_"

Qurilma o'zgaruvchilarining deklaratsiyalaridan keraksiz yozuvlarni olib tashlang, qurilma ulanishini tekshirish uchun faqat CPUTemp qoldiring:

# O'zgaruvchilar deklaratsiyasini bu erga qo'ying o'zgaruvchilar = {'CPU harorati': {'turi': 'raqamli', 'bog'lash': rpi.cpu_temp}}

Endi sinovdan o'ting:

sudo python control.py

Agar hamma narsa tartibda bo'lsa, qurilmangiz sahifasi darhol diagnostika ma'lumotlari bilan yangilanadi.

3 -qadam: ma'lumotlarni bulutga yuborish

Ma'lumotni bulutga yuborish
Ma'lumotni bulutga yuborish

Endi biz Tiltning rangi, harorati va tortishishini o'qish va xabar berish uchun control.py -ni o'zgartirishimiz kerak. Natija shunday ko'rinadi:

os import unamefrom dan soket import gethostname import sys import vaqti import cloud4rpi import rpi import tilt

# Qurilmangiz tokenini bu erga qo'ying. Belgini olish uchun, # https://cloud4rpi.io saytida ro'yxatdan o'ting va qurilma yarating. DEVICE_TOKEN = '_YOUR_DEVICE_TOKEN_'

# Doimiylar

DATA_SENDING_INTERVAL = 60 # soniya DIAG_SENDING_INTERVAL = 600 # soniya POLL_INTERVAL = 0,5 # 500 ms

mayoq = {}

def F2C (daraja F):

qaytish (darajaF - 32) / 1.8

def getTemp ():

qaytarish F2C (int (mayoq ['Temp']))) agar boshqa mayoq Yo'q

def getGravity ():

qaytaring mayoq ['Gravitatsiya'], agar boshqa mayoq Yo'q

def main ():

# O'zgaruvchan deklaratsiyalarni bu erga qo'ying

o'zgaruvchilar = {'Gravity': {'type': 'numeric', 'bind': getGravity}, 'Pivo harorati': {'type': 'numeric', 'bind': getTemp}}

diagnostika = {

'CPU harorati': rpi.cpu_temp, 'IP -manzil': rpi.ip_address, 'Xost': gethostname (), 'Operatsion tizim': "".join (uname ())})

qurilma = cloud4rpi.connect (DEVICE_TOKEN)

device.declare (o'zgaruvchilar) device.declare_diag (diagnostika)

device.publish_config ()

# Qurilma o'zgaruvchilari yaratilishini ta'minlash uchun 1 soniya kechikish qo'shiladi

uyqu (1)

harakat qilib ko'ring:

data_timer = 0 diag_timer = 0 rost bo'lsa: agar data_timer <= 0: global mayoq mayoq = tilt.getFirstTilt () device.publish_data () data_timer = DATA_SENDING_INTERVAL

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

vaqt. uxlash (POLL_INTERVAL)

diag_timer -= POLL_INTERVAL data_timer -= POLL_INTERVAL

KeyboardInterruptdan tashqari:

cloud4rpi.log.info ("Klaviatura uzilishi qabul qilindi. To'xtatilmoqda …")

istisnolardan tashqari:

xato = cloud4rpi.get_error_message (e) cloud4rpi.log.error ("ERROR! %s %s", xato, sys.exc_info () [0])

nihoyat:

sys.exit (0)

agar _name_ == "_main_" bo'lsa:

asosiy ()

Endi uni ishlayotganini ko'rish uchun qo'lda ishga tushiring:

sudo python control.py

Agar hamma narsa yaxshi bo'lsa, siz o'zgaruvchilaringizni Internetda ko'rasiz.

Tizim ishga tushganda control.py -ni ishga tushirish uchun uni xizmat sifatida o'rnating. Cloud4rpi buning uchun service_install.sh skriptini o'rnatadi. Men buni repo -ga kiritdim. Control.py -ni xizmat sifatida o'rnatish uchun ishga tushiring

sudo bash service_install.sh control.py

Endi siz boshlashingiz mumkin | to'xtatish | bu xizmatni qayta ishga tushirish buyrug'i bilan

sudo systemctl cloud4rpi.service -ni ishga tushiring

Xizmat avvalgi holatini yoqadi, shuning uchun agar u ishlayotgan bo'lsa, u qayta yoqilganda yoki quvvat yo'qolganda ishlaydi.

4 -qadam: Yakuniy natija

Yakuniy natija
Yakuniy natija

Mana, endi men Tilt parametrlarini bulutga yuboraman, shuning uchun men bulutli boshqaruv panelini sozlay olaman. Https://cloud4rpi.io/control-panels-ga o'ting va yangi boshqaruv panelini yarating, vidjet qo'shing va/Gravity va Pivo harorati ma'lumot manbai sifatida tanlang. Endi men uydan uzoqda bo'lsam ham nima bo'layotganini kuzata olaman.

Men nusxa ko'chirgan va yozgan kod bu erda mavjud: https://github.com/superroma/tilt-cloud4rpi. Bu mukammallikdan yiroq, u faqat bitta qiyshayish bilan ishlaydi, u qurilmaning "rangi" haqida qayg'urmaydi, nima bo'lishidan qat'iy nazar, va men umuman Pythonchi emasman, shuning uchun tuzatishlar, takliflar yoki vilkalar qabul qilinadi. !

Tavsiya: