Sisukord:

Õlle käärimise temperatuuri ja raskusastme juhtimine nutitelefonist: 4 sammu (piltidega)
Õlle käärimise temperatuuri ja raskusastme juhtimine nutitelefonist: 4 sammu (piltidega)

Video: Õlle käärimise temperatuuri ja raskusastme juhtimine nutitelefonist: 4 sammu (piltidega)

Video: Õlle käärimise temperatuuri ja raskusastme juhtimine nutitelefonist: 4 sammu (piltidega)
Video: Mõdu valmistamise 2. osa - Kääritamine 2024, Juuli
Anonim
Kuidas kontrollida õlle kääritamistemperatuuri ja raskusastet nutitelefonist
Kuidas kontrollida õlle kääritamistemperatuuri ja raskusastet nutitelefonist

Õlle kääritamisel peaksite iga päev jälgima selle raskusastet ja temperatuuri. Seda on lihtne unustada ja eemal olles võimatu.

Pärast mõningast guugeldamist leidsin automaatse gravitatsiooniseire jaoks mitu lahendust (üks, kaks, kolm). Üks neist väga nutika kontseptsiooniga kutsus Tiltit. Tilt hõljub õlles ja mõõdab oma kaldenurka. See nurk sõltub vedeliku tihedusest ja seetõttu saab mõõta kääritava õlle raskust.

Tilt on kaasas mobiilirakendusega, mis ühendub sellega ja saab andmeid mis tahes veebiteenusele postitada. Probleem on selles, et selleks peate olema Tiltist kaugel. Samuti on olemas programm Raspberry Pi, mis töötab Tiltiga.

Samm: kallutusandmete hankimine Pythonis

Kallutusandmete hankimine Pythonis
Kallutusandmete hankimine Pythonis

Ma kasutan juba keldri temperatuuri jälgimiseks Raspberry Pi ja pilve juhtpaneeli teenust cloud4rpi.io. Kui Tilt saab Raspberry Pi -ga rääkida, peaks olema võimalik cloud4rpi sellega ühendada. Tilt kasutab traadita protokolli, seega vajate juhtmevaba kiibiga Raspberry Pi (Rasbperry Pi 3 või Zero W).

Õnneks on Tilt tarkvara jaoks GitHubi repo koos mõne näidisega. Vaadates aadressi https://github.com/baronbrew/tilt-scan, näete, et Tilt näeb teisi kui BLE iBeacon, mille värv on kodeeritud UUID-ga ning temperatuur ja gravitatsioon on suuremates ja väiksemates baitides.

Nende näidiskood on Node.js jaoks ja mul on Pythoni juhtimisprogramm, mis põhineb cloud4rpi mallil

Seega pean Pythonist hankima Tilt andmed. Pärast mõningast guugeldamist leidsin https://github.com/switchdoclabs/iBeacon-Scanner-- Python iBeacon skanneri. See on programm, mitte teek, seega muutsin seda, et stringide asemel sõnastik tagasi saata. Ja ma kirjutasin ka Tilt-spetsiifilise mooduli, et saada esimese leitud Tilt'i värvi, temperatuuri ja raskusastet (mul on ainult üks), ja lihtsa testimisprogrammi, et kontrollida, kas see näeb minu kallutust:

impordi aegimport kallutus

kuigi tõsi:

res = tilt.getFirstTilt () print res time.sleep (2)

Käivitage ja kontrollige, kas see töötab. Nüüd saan selle oma juhtimisprogrammiga ühendada. Mul on juba pythoniprogramm cloud4rpi.io -ga ühendatud, kuid lubage mul näidata, kuidas seda teha nullist.

Samm: seadme ühendamine pilvega

Seadme ühendamine pilvega
Seadme ühendamine pilvega
Seadme ühendamine pilvega
Seadme ühendamine pilvega

Esmalt logige sisse aadressile cloud4rpi.io, seejärel looge uus seade.

Teile antakse seadme märk ja paigaldusjuhised. Raspberry Pi puhul järgige juhiseid siin https://docs.cloud4rpi.io/start/rpi/-veenduge, et teie süsteem oleks ajakohane:

sudo apt update && sudo apt upgrade

Paigaldamise eeltingimused:

sudo apt install git python python-pip

Installige cloud4rpi pythoni paketid:

sudo pip installige cloud4rpi

seejärel hankige Raspberry Pi jaoks mõeldud python -rakenduse näidis (juhtkausta):

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

cd juhtimine

modify control.py - määrake reas oma seadme tunnus

DEVICE_TOKEN = '_YOUR_DEVICE_TOKEN_'

Eemaldage seadme muutujadeklaratsioonidest mittevajalikud kirjed, jätke seadme ühenduse testimiseks ainult CPUTemp:

# Pane siia muutujadeklaratsioonid muutujad = {'CPU Temp': {'type': 'numbriline', 'bind': rpi.cpu_temp}}

Tehke nüüd proovisõit:

sudo python control.py

Kui kõik on korras, värskendatakse teie seadme lehte kohe diagnostikaandmetega.

Samm: andmete saatmine pilve

Andmete saatmine pilve
Andmete saatmine pilve

Nüüd peame muutma control.py, et lugeda ja teatada Tilt'i värvi, temperatuuri ja gravitatsiooni. Tulemus näeb välja selline:

alates os impordi unamefrom pistikupesast import gethostname import sys importimise aeg import cloud4rpi import rpi import kallutus

# Pange oma seadme tunnus siia. Märgi saamiseks

# registreeruge aadressil https://cloud4rpi.io ja looge seade. DEVICE_TOKEN = '_YOUR_DEVICE_TOKEN_'

# Konstantsed

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

majakas = {}

def F2C (kraadi F):

tagasitulek (kraadF - 32) / 1.8

def getTemp ():

tagasta F2C (int (majakas ['Temp']))), kui majakas muu Puudub

def getGravity ():

tagasimajakas ['Gravity'], kui majakas muu Puudub

def main ():

# Pane siia muutujadeklaratsioonid

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

diagnostika = {

'CPU temp': rpi.cpu_temp, 'IP Address': rpi.ip_address, 'Host': gethostname (), 'Operating System': "".join (uname ())}

seade = cloud4rpi.connect (DEVICE_TOKEN)

device.declare (muutujad) device.declare_diag (diagnostika)

device.publish_config ()

# Lisab 1 -sekundilise viivituse, et tagada seadme muutujate loomine

aeg. uni (1)

proovige:

data_timer = 0 diag_timer = 0 samas tõsi: kui data_timer <= 0: globaalne majakas majakas = tilt.getFirstTilt () device.publish_data () data_timer = DATA_SENDING_INTERVAL

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

time.sleep (POLL_INTERVAL)

diag_timer -= POLL_INTERVAL data_timer -= POLL_INTERVAL

välja arvatud klaviatuur Katkestus:

cloud4rpi.log.info ('Klaviatuuri katkestus vastu võetud. Peatamine …')

välja arvatud erand nagu e:

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

lõpuks:

sys.exit (0)

kui _name_ == '_main_':

peamine ()

Nüüd käivitage see käsitsi, et näha, kas see töötab:

sudo python control.py

Kui kõik on korras, näete oma muutujaid võrgus.

Control.py käivitamiseks süsteemi käivitamisel installige see teenusena. Cloud4rpi pakub selleks installiskripti service_install.sh. Lisasin selle oma reposse. Control.py teenusena installimiseks käivitage

sudo bash service_install.sh control.py

Nüüd saate selle teenuse käivitada | peatada | taaskäivitada, käivitades käsu

sudo systemctl käivitage cloud4rpi.service

Teenus hoiab oma eelmist olekut sisselülitamisel, nii et kui see töötas, töötab see pärast taaskäivitamist või voolukatkestust.

4. samm: lõpptulemus

Lõpptulemus
Lõpptulemus

See on kõik, nüüd saadetakse pilti minu Tilt -parameetrid, nii et saan selle jaoks kena pilve juhtpaneeli seadistada. Minge aadressile https://cloud4rpi.io/control-panels ja looge uus juhtpaneel, lisage vidin ning valige andmeallikaks/Gravity ja Beer Temp. Nüüd saan toimuvat jälgida isegi siis, kui olen kodust eemal.

Kopeeritud ja kirjutatud kood on saadaval siin: https://github.com/superroma/tilt-cloud4rpi. See pole kaugeltki täiuslik, see töötab ainult ühe kallutusega, see ei hooli seadme värvist, mida see ka ei tähendaks, ja ma pole üldse Pythoni tüüp, seega on parandused, soovitused või kahvlid teretulnud !

Soovitan: