Përmbajtje:

Si të kontrolloni temperaturën dhe gravitetin e fermentimit të birrës nga smartphone juaj: 4 hapa (me fotografi)
Si të kontrolloni temperaturën dhe gravitetin e fermentimit të birrës nga smartphone juaj: 4 hapa (me fotografi)

Video: Si të kontrolloni temperaturën dhe gravitetin e fermentimit të birrës nga smartphone juaj: 4 hapa (me fotografi)

Video: Si të kontrolloni temperaturën dhe gravitetin e fermentimit të birrës nga smartphone juaj: 4 hapa (me fotografi)
Video: 自酿红葡萄酒 正规的自酿做法 从此你就是自家的酿酒师 2024, Nëntor
Anonim
Si të kontrolloni temperaturën dhe gravitetin e fermentimit të birrës nga telefoni juaj i mençur
Si të kontrolloni temperaturën dhe gravitetin e fermentimit të birrës nga telefoni juaj i mençur

Kur birra po fermentohet, ju duhet të monitoroni gravitetin dhe temperaturën e saj çdo ditë. Easyshtë e lehtë të harrosh ta bësh këtë, dhe e pamundur nëse je larg.

Pas një kërkimi në googling, gjeta disa zgjidhje për monitorimin e automatizuar të gravitetit (një, dy, tre). Njëri prej tyre, me koncept shumë të zgjuar, i quajtur Tilt. Tilt po noton në birrën tuaj dhe po mat këndin e vet të pjerrësisë. Ky kënd varet nga dendësia e lëngut, dhe për këtë arsye mund të masë gravitetin e birrës që fermenton.

Tilt vjen me një aplikacion celular, që lidhet me të dhe mund të postojë të dhëna në çdo shërbim në internet. Problemi është se ju duhet të jeni jo shumë larg nga Tilt për të qenë në gjendje ta bëni këtë. Ekziston edhe një program Raspberry Pi që punon me Tilt.

Hapi 1: Marrja e të dhënave të pjerrëta në Python

Marrja e të dhënave të pjerrëta në Python
Marrja e të dhënave të pjerrëta në Python

Unë tashmë jam duke përdorur Raspberry Pi për të monitoruar temperaturën e bodrumit dhe një shërbim të panelit të kontrollit cloud cloud4rpi.io. Nëse Tilt mund të flasë me Raspberry Pi, duhet të jetë e mundur të lidhni cloud4rpi me të. Tilt po përdor një protokoll pa tel, kështu që do t'ju duhet Raspberry Pi me një çip pa tel (Rasbperry Pi 3 ose Zero W).

Për fat të mirë, ekziston një repo GitHub për programin Tilt me disa mostra. Duke parë https://github.com/baronbrew/tilt-scan mund të shihni që Tilt u duket të tjerëve si BLE iBeacon, me "Color" të koduar në UUID, dhe temperatura dhe graviteti janë në byte të mëdha dhe të vogla.

Kodi i tyre i mostrës është për Node.js, dhe unë kam një program kontrolli Python të bazuar në modelin cloud4rpi

Kështu që më duhet të marr të dhëna Tilt në Python. Pas disa kërkimeve në Google, gjeta https://github.com/switchdoclabs/iBeacon-Scanner-- skaner Python iBeacon. Ky është një program, jo një bibliotekë, kështu që e modifikova për të kthyer një fjalor në vend të vargut. Dhe unë gjithashtu shkrova modul specifik për Tilt për të marrë ngjyrën, temperaturën dhe gravitetin e Tilt-it të parë të gjetur (kam vetëm një), dhe një program të thjeshtë testimi për të kontrolluar nëse mund të shohë Pjerrësinë time:

importim prirje kohore importuese

ndërsa e vërtetë:

res = tilt.getFirstTilt () printo res res.sleep (2)

Drejtoni dhe kontrolloni që funksionon. Tani mund ta lidh me programin tim të kontrollit. Unë tashmë kam një program python të lidhur me cloud4rpi.io, por më lejoni të tregoj se si ta bëj këtë nga e para.

Hapi 2: Lidhja e pajisjes me renë

Lidhja e pajisjes me cloud
Lidhja e pajisjes me cloud
Lidhja e pajisjes me cloud
Lidhja e pajisjes me cloud

Së pari, regjistrohuni në cloud4rpi.io, pastaj krijoni një pajisje të re.

Do t'ju jepet një shenjë e pajisjes dhe udhëzimet e instalimit. Për Raspberry Pi ndiqni udhëzimet këtu https://docs.cloud4rpi.io/start/rpi/-sigurohuni që sistemi juaj të jetë i përditësuar:

sudo apt update && sudo apt upgrade

Instaloni parakushtet:

sudo apt instaloni git python python-pip

Instaloni paketat cloud4rpi python:

sudo pip instaloni cloud4rpi

pastaj merrni një aplikacion mostër python për Raspberry Pi (në dosjen e kontrollit):

git clone https://github.com/cloud4rpi/cloud4rpi-raspberryp… kontroll

cd kontroll

modifikoni control.py - specifikoni shenjën e pajisjes tuaj në linjë

DEVICE_TOKEN = '_YOUR_DEVICE_TOKEN_'

Hiqni shënimet e panevojshme nga deklaratat e ndryshueshme të pajisjes, lini vetëm CPUTemp për të testuar lidhjen e pajisjes:

# Vendosni deklaratat e ndryshoreve këtu variablat = {'Temp CPU': {'type': 'numeric', 'bind': rpi.cpu_temp}}

Tani bëni një provë:

sudo python control.py

Nëse gjithçka është në rregull, faqja e pajisjes tuaj do të azhurnohet menjëherë me të dhëna diagnostikuese.

Hapi 3: Dërgimi i të dhënave në re

Dërgimi i të dhënave në re
Dërgimi i të dhënave në re

Tani duhet të modifikojmë control.py për të lexuar dhe raportuar ngjyrën, temperaturën dhe gravitetin e Tilt. Rezultati duket kështu:

nga os import unamefrom socket import gethostname import sys import import kohë import cloud4rpi import rpi import tilt

# Vendosni shenjën e pajisjes tuaj këtu. Për të marrë shenjën, # regjistrohuni në https://cloud4rpi.io dhe krijoni një pajisje. DEVICE_TOKEN = '_YOUR_DEVICE_TOKEN_'

# Konstantet

DATA_SENDING_INTERVAL = 60 # sekonda DIAG_SENDING_INTERVAL = 600 # sekonda POLL_INTERVAL = 0.5 # 500 ms

fener = {}

def F2C (gradë F):

kthimi (gradëF - 32) / 1.8

def getTemp ():

ktheje F2C (int (fener ['Temp']))) nëse fener tjetër Asnjë

def getGravity ():

fener kthimi ['Graviteti'] nëse fener tjetër Asnjë

def kryesore ():

# Vendosni deklarata të ndryshueshme këtu

variablat = {'Graviteti': {'type': 'numerike', 'bind': getGravity}, 'Birra Temp': {'type': 'numerike', 'bind': getTemp}}

diagnostifikim = {

'Temp CPU': rpi.cpu_temp, 'Adresa IP': rpi.ip_address, 'Host': gethostname (), 'Operating System': "". Bashkohuni (uname ())}

pajisje = cloud4rpi.connect (DEVICE_TOKEN)

pajisje.deklaro (variablat) pajisje.declare_diag (diagnostifikim)

device.publish_config ()

# Shton një vonesë 1 sekondë për të siguruar krijimin e variablave të pajisjes

koha. gjumi (1)

provo:

data_timer = 0 diag_timer = 0 ndërsa True: nëse data_timer <= 0: global beacon beacon = tilt.getFirstTilt () device.publish_data () data_timer = DATA_SENDING_INTERVAL

nëse diag_timer <= 0: device.publish_diag () diag_timer = DIAG_SENDING_INTERVAL

koha. gjumi (POLL_INTERVAL)

diag_timer -= POLL_INTERVAL kohëzgjatja e të dhënave -= POLL_INTERVAL

përveç KeyboardIntruptrupt:

cloud4rpi.log.info ('Ndërprerja e tastierës u mor. Po ndalet …')

përveç Përjashtimit si e:

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

me ne fund:

sys.exit (0)

nëse _name_ == '_majt_':

kryesore ()

Tani drejtojeni manualisht për të parë nëse funksionon:

sudo python control.py

Nëse gjithçka është mirë, do t'i shihni variablat tuaja në internet.

Për të ekzekutuar control.py në fillimin e sistemit, instalojeni atë si shërbim. Cloud4rpi siguron një script script install_install.sh për ta bërë këtë. E kam përfshirë në repon time. Për të instaluar control.py si shërbim, ekzekutoni

sudo bash service_install.sh control.py

Tani mund të filloni | ndaloni | rinisni këtë shërbim duke ekzekutuar komandën

sudo systemctl start cloud4rpi.service

Shërbimi mban gjendjen e tij të mëparshme të ndezur, kështu që nëse ishte duke funksionuar, do të funksionojë pas rindezjes ose humbjes së energjisë.

Hapi 4: Rezultati Përfundimtar

Rezultati Përfundimtar
Rezultati Përfundimtar

Kjo është ajo, tani kam parametrat e mi të Tilt që dërgohen në re, kështu që unë mund të krijoj një panel të mirë kontrolli cloud për të. Shkoni te https://cloud4rpi.io/control-panels dhe krijoni panel të ri kontrolli, shtoni widget dhe zgjidhni/Gravity and Beer Temp si burim të dhënash. Tani mund të monitoroj se çfarë po ndodh edhe nëse jam larg shtëpisë.

Kodi që kam kopjuar dhe shkruar është i disponueshëm këtu: https://github.com/superroma/tilt-cloud4rpi. Farshtë larg nga e përsosura, funksionon vetëm me një Tilt të vetëm, nuk i intereson "Ngjyra" e pajisjes, çfarëdo që të thotë, dhe unë nuk jam aspak një djalë Python, kështu që rregullimet, sugjerimet ose pirunët janë të mirëseardhura !

Recommended: