Sisällysluettelo:

Kuinka hallita oluen käymisen lämpötilaa ja painovoimaa älypuhelimellasi: 4 vaihetta (kuvilla)
Kuinka hallita oluen käymisen lämpötilaa ja painovoimaa älypuhelimellasi: 4 vaihetta (kuvilla)

Video: Kuinka hallita oluen käymisen lämpötilaa ja painovoimaa älypuhelimellasi: 4 vaihetta (kuvilla)

Video: Kuinka hallita oluen käymisen lämpötilaa ja painovoimaa älypuhelimellasi: 4 vaihetta (kuvilla)
Video: Сухой голод. Свами Сат Марга - 27 дней без воды, больше 2-х месяцев без еды Dry fasting for 27 days 2024, Heinäkuu
Anonim
Kuinka hallita oluen käymisen lämpötilaa ja painovoimaa älypuhelimellasi
Kuinka hallita oluen käymisen lämpötilaa ja painovoimaa älypuhelimellasi

Kun olut käy, sinun on seurattava sen painovoimaa ja lämpötilaa päivittäin. Se on helppo unohtaa tehdä, ja mahdotonta, jos olet poissa.

Googlaamisen jälkeen löysin useita ratkaisuja automaattiseen painovoiman seurantaan (yksi, kaksi, kolme). Yksi niistä, erittäin älykäs konsepti, nimeltään Tilt. Kallistus kelluu oluessasi ja mittaa omaa kallistuskulmaa. Tämä kulma riippuu nesteen tiheydestä, ja siksi se voi mitata käyvän oluen painovoiman.

Tiltin mukana tulee mobiilisovellus, joka muodostaa yhteyden siihen ja voi lähettää tietoja mihin tahansa verkkopalveluun. Ongelmana on, että sinun on oltava kaukana Tiltistä voidaksesi tehdä niin. Siellä on myös Raspberry Pi -ohjelma, joka toimii Tiltin kanssa.

Vaihe 1: Kallistusdatan hankkiminen Pythonissa

Kallistusdatan hakeminen Pythonissa
Kallistusdatan hakeminen Pythonissa

Käytän jo Raspberry Pi -laitetta kellarin lämpötilan seuraamiseen ja pilvipalvelupalvelua cloud4rpi.io. Jos Tilt voi puhua Raspberry Pi: n kanssa, pitäisi olla mahdollista yhdistää cloud4rpi siihen. Tilt käyttää langatonta protokollaa, joten tarvitset Raspberry Pi: n langattomalla sirulla (Rasbperry Pi 3 tai Zero W).

Onneksi on olemassa GitHub -repo Tilt -ohjelmistolle, jossa on joitain näytteitä. Tarkastelemalla https://github.com/baronbrew/tilt-scan näet, että Tilt näyttää muille BLE iBeacon -nimisenä, ja”Väri” on koodattu UUID-tunnuksella, ja lämpötila ja painovoima ovat suuria ja pieniä tavuja.

Heidän esimerkkikoodinsa on Node.js, ja minulla on Python-ohjausohjelma, joka perustuu cloud4rpi-malliin

Joten minun on hankittava Tilt -tiedot Pythonista. Googlaamisen jälkeen löysin https://github.com/switchdoclabs/iBeacon-Scanner-- Python iBeacon -skannerin. Tämä on ohjelma, ei kirjasto, joten muutin sitä palauttamaan sanakirjan merkkijonon sijaan. Kirjoitin myös Tilt-spesifisen moduulin saadakseni ensimmäisen löydetyn Tiltin värin, lämpötilan ja painovoiman (minulla on vain yksi) ja yksinkertaisen testiohjelman, joka tarkistaa, näkeekö se Tiltin:

tuonti aika tuonti kallistus

vaikka totta:

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

Suorita ja tarkista, että se toimii. Nyt voin liittää sen ohjausohjelmaan. Minulla on jo python -ohjelma kytketty cloud4rpi.io -palveluun, mutta näytän kuinka se tehdään tyhjästä.

Vaihe 2: Yhdistä laite pilveen

Laitteen yhdistäminen pilveen
Laitteen yhdistäminen pilveen
Laitteen yhdistäminen pilveen
Laitteen yhdistäminen pilveen

Kirjaudu ensin cloud4rpi.io -palveluun ja luo sitten uusi laite.

Saat laitteen tunnuksen ja asennusohjeet. Raspberry Pi: lle seuraa ohjeita täältä https://docs.cloud4rpi.io/start/rpi/-varmista, että järjestelmäsi on ajan tasalla:

sudo apt päivitys && sudo apt päivitys

Asennuksen edellytykset:

sudo apt asentaa git python python-pip

Asenna cloud4rpi python -paketit:

sudo pip asenna cloud4rpi

Hanki sitten näyte python -sovellus Raspberry Pi: lle (ohjauskansioon):

git-klooni

cd -ohjaus

modify control.py - määritä laitetunnus riville

DEVICE_TOKEN = '_YOUR_DEVICE_TOKEN_'

Poista tarpeettomat merkinnät laitteen muuttujailmoituksista, jätä vain CPUTemp testaamaan laiteyhteyttä:

# Laita muuttujailmoitukset tähän muuttujat = {'CPU Temp': {'type': 'numeric', 'bind': rpi.cpu_temp}}

Tee nyt koeajo:

sudo python control.py

Jos kaikki on kunnossa, laitteesi sivu päivitetään välittömästi diagnostiikkatiedoilla.

Vaihe 3: Tietojen lähettäminen pilveen

Tietojen lähettäminen pilveen
Tietojen lähettäminen pilveen

Nyt meidän on muokattava control.py: tä, jotta voimme lukea ja raportoida Tiltin värin, lämpötilan ja painovoiman. Tulos näyttää tältä:

os tuonnista unamefrom pistorasiasta tuonti gethostname tuonti sys tuonti aika tuonti cloud4rpi tuonti rpi tuonti kallistus

# Laita laitteen tunnus tähän. Jos haluat saada tunnuksen, # rekisteröidy osoitteessa https://cloud4rpi.io ja luo laite. DEVICE_TOKEN = '_YOUR_DEVICE_TOKEN_'

# Vakioita

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

majakka = {}

def F2C (astetta F):

paluu (astetta F - 32) / 1.8

def getTemp ():

palauta F2C (int (majakka ['Temp']))), jos majakka muu Ei mitään

def getGravity ():

return beacon ['Gravity'], jos majakka muu Ei mitään

def main ():

# Laita muuttujailmoitukset tähän

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

diagnostiikka = {

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

device = cloud4rpi.connect (DEVICE_TOKEN)

device.declare (muuttujat) device.declare_diag (diagnostiikka)

device.publish_config ()

# Lisää 1 sekunnin viiveen varmistaakseen, että laite muuttuu

time.sleep (1)

yrittää:

data_timer = 0 diag_timer = 0 kun tosi: jos data_ajastin <= 0: yleinen majakka -majakka = tilt.getFirstTilt () device.publish_data () data_timer = DATA_SENDING_INTERVAL

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

time.sleep (POLL_INTERVAL)

diag_timer -= POLL_INTERVAL data_timer -= POLL_INTERVAL

paitsi näppäimistö Keskeytys:

cloud4rpi.log.info ('Näppäimistön keskeytys vastaanotettu. Pysäytetään …')

paitsi poikkeus, kuten e:

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

lopuksi:

sys.exit (0)

jos _name_ == '_main_':

pää ()

Suorita se nyt manuaalisesti nähdäksesi toimiiko se:

sudo python control.py

Jos kaikki on hyvin, näet muuttujasi verkossa.

Jos haluat ajaa control.py järjestelmän käynnistyksen yhteydessä, asenna se palveluna. Cloud4rpi tarjoaa asennuskomentosarjan service_install.sh. Olen sisällyttänyt sen repooni. Jos haluat asentaa control.py palveluksi, suorita

sudo bash service_install.sh control.py

Nyt voit aloittaa | pysäyttää | käynnistää tämän palvelun uudelleen suorittamalla komennon

sudo systemctl käynnistä cloud4rpi.service

Palvelu pitää edellisen tilansa käynnissä, joten jos se oli käynnissä, se toimii uudelleenkäynnistyksen tai virran katkeamisen jälkeen.

Vaihe 4: Lopputulos

Lopullinen tulos
Lopullinen tulos

Tämä on se, nyt Tilt -parametrit lähetetään pilveen, joten voin perustaa mukavan pilvipalvelun. Siirry osoitteeseen https://cloud4rpi.io/control-panels ja luo uusi ohjauspaneeli, lisää widget ja valitse/Gravity ja Beer Temp tietolähteeksi. Nyt voin seurata, mitä tapahtuu, vaikka olen poissa kotoa.

Kopioimani ja kirjoittamani koodi löytyy täältä: https://github.com/superroma/tilt-cloud4rpi. Se on kaukana täydellisestä, se toimii vain yhdellä kallistuksella, se ei välitä laitteen "väristä", mitä se tarkoittaa, enkä ole ollenkaan Python -kaveri, joten korjaukset, ehdotukset tai haarukat ovat tervetulleita !

Suositeltava: