Orodha ya maudhui:

Jinsi ya Kudhibiti Joto la Uchimbaji wa Bia na Mvuto Kutoka kwa Smartphone Yako: Hatua 4 (na Picha)
Jinsi ya Kudhibiti Joto la Uchimbaji wa Bia na Mvuto Kutoka kwa Smartphone Yako: Hatua 4 (na Picha)

Video: Jinsi ya Kudhibiti Joto la Uchimbaji wa Bia na Mvuto Kutoka kwa Smartphone Yako: Hatua 4 (na Picha)

Video: Jinsi ya Kudhibiti Joto la Uchimbaji wa Bia na Mvuto Kutoka kwa Smartphone Yako: Hatua 4 (na Picha)
Video: JIFUNZE NAMNA YAKUSAFISHA UKE WAKO(K)‼️ 2024, Julai
Anonim
Jinsi ya Kudhibiti Joto la Fermentation ya Bia na Mvuto Kutoka kwa Smartphone Yako
Jinsi ya Kudhibiti Joto la Fermentation ya Bia na Mvuto Kutoka kwa Smartphone Yako

Wakati bia inakera, unapaswa kufuatilia mvuto na joto lake kila siku. Ni rahisi kusahau kufanya hivyo, na haiwezekani ikiwa uko mbali.

Baada ya googling kadhaa, nilipata suluhisho kadhaa za ufuatiliaji wa mvuto wa kiotomatiki (moja, mbili, tatu). Mmoja wao, na dhana ya ujanja sana, inayoitwa Tilt. Tilt ni yaliyo katika bia yako na ni kupima angle yake mwenyewe Tilt. Pembe hii inategemea wiani wa kioevu, na kwa hivyo inaweza kupima mvuto wa bia inayochacha.

Tilt inakuja na programu ya rununu, inayounganisha nayo na inaweza kutuma data kwa huduma yoyote ya wavuti. Shida ni kwamba unahitaji kuwa mbali na Tilt ili uweze kufanya hivyo. Kuna pia programu ya Raspberry Pi inayofanya kazi na Tilt.

Hatua ya 1: Kupata Tilt Data katika Python

Kupata Tilt Takwimu katika Python
Kupata Tilt Takwimu katika Python

Tayari ninatumia Raspberry Pi kufuatilia joto la pishi, na huduma ya jopo la kudhibiti wingu cloud4rpi.io. Ikiwa Tilt inaweza kuzungumza na Raspberry Pi, inapaswa kuungana na cloud4rpi kwake. Tilt ni kutumia itifaki isiyo na waya, kwa hivyo utahitaji Raspberry Pi na chip isiyo na waya (Rasbperry Pi 3 au Zero W).

Kwa bahati nzuri, kuna repit ya GitHub ya programu ya Tilt na sampuli kadhaa. Kuangalia https://github.com/baronbrew/tilt-scan unaweza kuona kwamba Tilt inaonekana kwa wengine kama BLE iBeacon, na "Rangi" iliyowekwa katika UUID, na joto na mvuto ziko katika ka kuu na ndogo.

Nambari yao ya mfano ni ya Node.js, na nina mpango wa kudhibiti Python kulingana na templeti ya cloud4rpi

Kwa hivyo ninahitaji kupata Tilt data katika Python. Baada ya kuzunguka kidogo, nilipata https://github.com/switchdoclabs/iBeacon-Scanner- - skana ya Python iBeacon. Huu ni mpango, sio maktaba, kwa hivyo niliibadilisha ili kurudisha kamusi badala ya kamba. Na pia niliandika moduli maalum ya Tilt kupata rangi, joto na mvuto wa Tilt ya kwanza iliyopatikana (nina moja tu), na programu rahisi ya kujaribu kuangalia ikiwa inaweza kuona Tilt yangu:

kuagiza upeanaji wa muda wa kuagiza

wakati Kweli:

res = tilt.getFirstTilt () saa ya kuchapisha. kulala (2)

Endesha na angalia kuwa inafanya kazi. Sasa naweza kuziba kwenye mpango wangu wa kudhibiti. Tayari nina programu ya chatu iliyounganishwa na cloud4rpi.io, lakini wacha nionyeshe jinsi ya kufanya hivyo kutoka mwanzoni.

Hatua ya 2: Kuunganisha Kifaa kwenye Wingu

Kuunganisha Kifaa kwenye Wingu
Kuunganisha Kifaa kwenye Wingu
Kuunganisha Kifaa kwenye Wingu
Kuunganisha Kifaa kwenye Wingu

Kwanza, ingia kwenye cloud4rpi.io, kisha unda kifaa kipya.

Utapewa ishara ya kifaa na maagizo ya usanikishaji. Kwa Raspberry Pi fuata maagizo hapa https://docs.cloud4rpi.io/start/rpi/ - hakikisha mfumo wako umesasishwa:

sasisho la apt apt && sudo apt kuboresha

Sakinisha mahitaji ya kwanza:

Sudo apt kufunga git python python-pip

Sakinisha vifurushi vya chatu cha cloud4rpi:

Sudo pip kufunga cloud4rpi

kisha pata sampuli ya programu ya chatu ya Raspberry Pi (kwenye folda ya kudhibiti):

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

Udhibiti wa cd

rekebisha kudhibiti.py - taja ishara ya kifaa chako kwenye laini

DEVICE_TOKEN = '_YAKO_YA_KUTOKA_'

Ondoa viingilio visivyo vya lazima kutoka kwa matamko anuwai ya kifaa, acha CPUTemp tu ili kujaribu unganisho la kifaa:

# Weka matamko yanayobadilika hapa anuwai = {'CPU Temp': {'type': 'numeric', 'bind': rpi.cpu_temp}}

Sasa fanya mtihani:

udhibiti wa chatu ya sudo.py

Ikiwa kila kitu ni sawa, ukurasa wa kifaa chako utasasishwa mara moja na data ya uchunguzi.

Hatua ya 3: Kutuma Takwimu kwenye Wingu

Kutuma Takwimu kwenye Wingu
Kutuma Takwimu kwenye Wingu

Sasa tunahitaji kurekebisha kudhibiti.py kusoma na kuripoti rangi, joto na mvuto wa Tilt. Matokeo yanaonekana kama hii:

kutoka os kuagiza unamefrom tundu kuagiza gethostname kuagiza sys kuagiza muda kuagiza cloud4rpi kuagiza rpi kuagiza tilt

# Weka ishara ya kifaa chako hapa. Ili kupata ishara, # jiandikishe kwa https://cloud4rpi.io na unda kifaa. DEVICE_TOKEN = '_YAKO_YA_KUTOKA_'

# Mara kwa mara

DATA_SENDING_INTERVAL = sekunde # #UCHUZI_UJITUMIA_UINGILIANO = Sekta 600 # POLL_INTERVAL = 0.5 # 500 ms

taa = {}

def F2C (digrii F):

kurudi (digriiF - 32) / 1.8

def GetTemp ():

kurudi F2C (int (beacon ['Temp'])) ikiwa taa nyingine Hakuna

def kupata Mvuto ():

kurudi beacon ['Gravity'] ikiwa beacon mwingine Hakuna

def kuu ():

# Weka maazimio yanayobadilika hapa

vigeugeu = {'Mvuto': {'aina': 'nambari', 'funga': getGravity}, 'Beer Temp': {'type': 'numeric', 'bind': getTemp}}

uchunguzi = {

'CPU Temp': rpi.cpu_temp, 'Anwani ya IP': rpi.ip_address, 'Host': gethostname (), 'Mfumo wa Uendeshaji': "". Ungana (uname ())}

kifaa = cloud4rpi.connect (DEVICE_TOKEN)

kifaa.declare (vigeuzi) kifaa.declare_diag (uchunguzi)

kifaa. chapisha_config ()

# Inaongeza ucheleweshaji wa sekunde 1 kuhakikisha vigeuzi vya vifaa vimeundwa

saa. kulala (1)

jaribu:

data_timer = 0 diag_timer = 0 wakati kweli

ikiwa diag_timer <= 0: kifaa.publish_diag () diag_timer = DIAG_SENDING_INTERVAL

saa. kulala (POLL_INTERVAL)

diag_timer - = POLL_INTERVAL data_timer - = POLL_INTERVAL

isipokuwa KeyboardInterrupt:

cloud4rpi.log.info ('Kibodi inakatiza imepokelewa. Inasimamisha…')

isipokuwa Isipokuwa kama e:

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

mwishowe:

tembea (0)

ikiwa _name_ == '_main_':

kuu ()

Sasa endesha kwa mikono ili uone ikiwa inafanya kazi:

udhibiti wa chatu ya sudo.py

Ikiwa kila kitu ni nzuri, utaona anuwai zako mkondoni.

Ili kuendesha kudhibiti.py wakati wa kuanza kwa mfumo, isanikishe kama huduma. Cloud4rpi hutoa huduma ya kufunga script_install.sh kufanya hivyo. Nimeijumuisha kwenye repo yangu. Ili kufunga control.py kama huduma, endesha

Sudo bash service_install.sh kudhibiti.py

Sasa unaweza kuanza | simama | kuanzisha tena huduma hii kwa kutumia amri

Sudo systemctl kuanza cloud4rpi.service

Huduma inaweka hali yake ya awali juu ya umeme, kwa hivyo ikiwa ilikuwa ikiendesha, itakuwa ikiendesha baada ya kuwasha tena au kupoteza nguvu.

Hatua ya 4: Matokeo ya Mwisho

Matokeo ya Mwisho
Matokeo ya Mwisho

Hii ndio, sasa nina vigezo vyangu vya Tilt vinavyopelekwa kwenye wingu, kwa hivyo ninaweza kuweka paneli nzuri ya kudhibiti wingu kwa hiyo. Nenda kwa https://cloud4rpi.io/control-panels na uunda jopo jipya la kudhibiti, ongeza wijeti na uchague / Mvuto na Tempu ya Bia kama chanzo cha data. Sasa ninaweza kufuatilia kinachoendelea hata ikiwa siko nyumbani.

Nambari niliyoiga na kuandika inapatikana hapa: https://github.com/superroma/tilt-cloud4rpi. Sio kamilifu, inafanya kazi tu na Tilt moja, haijali "Rangi" ya kifaa, iwe inamaanisha nini, na mimi sio mtu wa Python kabisa, kwa hivyo marekebisho, mapendekezo au uma zinakaribishwa !

Ilipendekeza: