Satura rādītājs:
- 1. darbība: noliekt datus Python
- 2. darbība. Ierīces pievienošana mākonim
- 3. darbība: datu sūtīšana uz mākoni
- 4. solis: gala rezultāts
Video: Kā kontrolēt alus fermentācijas temperatūru un gravitāciju no viedtālruņa: 4 soļi (ar attēliem)
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:58
Kad alus fermentējas, jums katru dienu jāuzrauga tā smagums un temperatūra. To ir viegli aizmirst, un neiespējami, ja esat prom.
Pēc nelielas googlēšanas es atradu vairākus risinājumus automatizētai gravitācijas uzraudzībai (viens, divi, trīs). Viens no tiem ar ļoti gudru koncepciju sauca Tilt. Slīpums peld jūsu alā un mēra savu slīpuma leņķi. Šis leņķis ir atkarīgs no šķidruma blīvuma, un tāpēc var izmērīt fermentācijas alus smagumu.
Tilt ir aprīkota ar mobilo lietotni, kas ar to izveido savienojumu un var publicēt datus jebkurā tīmekļa pakalpojumā. Problēma ir tāda, ka jums ir jāatrodas tālu no Tilt, lai to varētu izdarīt. Ir arī programma Raspberry Pi, kas darbojas ar Tilt.
1. darbība: noliekt datus Python
Es jau izmantoju Raspberry Pi, lai uzraudzītu pagraba temperatūru, un mākoņa vadības paneļa pakalpojumu cloud4rpi.io. Ja Tilt var sarunāties ar Raspberry Pi, ir jābūt iespējai tam pieslēgt cloud4rpi. Tilt izmanto bezvadu protokolu, tāpēc jums būs nepieciešams Raspberry Pi ar bezvadu mikroshēmu (Rasbperry Pi 3 vai Zero W).
Par laimi, ir GitHub repo programmatūrai Tilt ar dažiem paraugiem. Aplūkojot vietni https://github.com/baronbrew/tilt-scan, jūs varat redzēt, ka Tilt citiem izskatās kā BLE iBeacon ar “Color” kodu UUID, un temperatūra un gravitācija ir lielākos un mazākos baitos.
Viņu parauga kods ir paredzēts Node.js, un man ir Python vadības programma, kuras pamatā ir cloud4rpi veidne
Tāpēc man ir jāiegūst Tilt dati Python. Pēc nelielas googlēšanas es atradu https://github.com/switchdoclabs/iBeacon-Scanner-- Python iBeacon skeneri. Šī ir programma, nevis bibliotēka, tāpēc es to pārveidoju, lai virknes vietā atgrieztu vārdnīcu. Un es arī uzrakstīju modulim Tilt specifisku modeli, lai iegūtu pirmā atrastā Tilt krāsu, temperatūru un smagumu (man ir tikai viens), kā arī vienkāršu testa programmu, lai pārbaudītu, vai tā var redzēt manu Tilt:
importa laika importa slīpums
kamēr taisnība:
res = tilt.getFirstTilt () drukāt res time.sleep (2)
Palaidiet un pārbaudiet, vai tas darbojas. Tagad es varu to pievienot savai vadības programmai. Man jau ir python programma, kas savienota ar cloud4rpi.io, bet ļaujiet man parādīt, kā to izdarīt no nulles.
2. darbība. Ierīces pievienošana mākonim
Vispirms pierakstieties vietnē cloud4rpi.io, pēc tam izveidojiet jaunu ierīci.
Jums tiks dots ierīces marķieris un uzstādīšanas instrukcijas. Raspberry Pi izpildiet norādījumus šeit https://docs.cloud4rpi.io/start/rpi/-pārliecinieties, vai jūsu sistēma ir atjaunināta:
sudo apt atjauninājums && sudo apt jauninājums
Instalēšanas priekšnoteikumi:
sudo apt instalēt git python python-pip
Instalējiet cloud4rpi python paketes:
sudo pip instalēt cloud4rpi
pēc tam iegūstiet Raspberry Pi python lietotnes paraugu (kontroles mapē):
git klons https://github.com/cloud4rpi/cloud4rpi-raspberryp… kontrole
cd kontrole
modificēt control.py - norādiet ierīces marķieri rindā
DEVICE_TOKEN = '_YOUR_DEVICE_TOKEN_'
Noņemiet nevajadzīgos ierakstus no ierīces mainīgo deklarācijām, atstājiet tikai CPUTemp, lai pārbaudītu ierīces savienojumu:
# Ievietojiet šeit mainīgo deklarācijas mainīgie = {'CPU Temp': {'type': 'numeric', 'bind': rpi.cpu_temp}}
Tagad veiciet testa braucienu:
sudo python control.py
Ja viss ir kārtībā, jūsu ierīces lapa tiks nekavējoties atjaunināta ar diagnostikas datiem.
3. darbība: datu sūtīšana uz mākoni
Tagad mums ir jāmaina control.py, lai lasītu un ziņotu par Tilt krāsu, temperatūru un gravitāciju. Rezultāts izskatās šādi:
no os importēt uname no kontaktligzdas importēt gethostname importēt sys importēšanas laiku importēt cloud4rpi importēt rpi importēt slīpumu
# Ievietojiet šeit ierīces marķieri. Lai iegūtu marķieri, # reģistrējieties vietnē https://cloud4rpi.io un izveidojiet ierīci. DEVICE_TOKEN = '_YOUR_DEVICE_TOKEN_'
# Konstantes
DATA_SENDING_INTERVAL = 60 # sekundes DIAG_SENDING_INTERVAL = 600 # s POLL_INTERVAL = 0.5 # 500 ms
bāka = {}
def F2C (grādi F):
atgriešanās (grādiF - 32) / 1.8
def getTemp ():
atgriezt F2C (int (bāka ['Temp']))), ja bāksignāls cits Nav
def getGravity ():
atgriešanās bāka ['Gravity'], ja signālugunis cits Nav
def main ():
# Ievietojiet šeit mainīgās deklarācijas
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': "". Pievienoties (uname ())}
device = cloud4rpi.connect (DEVICE_TOKEN)
device.declare (mainīgie) device.declare_diag (diagnostika)
device.publish_config ()
# Pievieno 1 sekundes aizkavi, lai nodrošinātu ierīces mainīgo izveidi
laiks. miegs (1)
pamēģini:
data_timer = 0 diag_timer = 0, kamēr patiess: ja data_timer <= 0: globālā bākas bāka = tilt.getFirstTilt () device.publish_data () data_timer = DATA_SENDING_INTERVAL
ja diag_timer <= 0: device.publish_diag () diag_timer = DIAG_SENDING_INTERVAL
time.sleep (POLL_INTERVAL)
diag_timer -= POLL_INTERVAL data_timer -= POLL_INTERVAL
izņemot tastatūruPārtraukums:
cloud4rpi.log.info ("Saņemts tastatūras pārtraukums. Tiek apturēta …")
izņemot izņēmumu, piemēram:
error = cloud4rpi.get_error_message (e) cloud4rpi.log.error ("KĻŪDA! %s %s", kļūda, sys.exc_info () [0])
beidzot:
sys.exit (0)
ja _name_ == '_main_':
galvenais ()
Tagad palaidiet to manuāli, lai redzētu, vai tas darbojas:
sudo python control.py
Ja viss ir kārtībā, jūs redzēsit savus mainīgos tiešsaistē.
Lai sistēmas startēšanas laikā palaistu control.py, instalējiet to kā pakalpojumu. Lai to izdarītu, Cloud4rpi nodrošina instalēšanas skriptu service_install.sh. Es to iekļāvu savā repo. Lai instalētu control.py kā pakalpojumu, palaidiet
sudo bash service_install.sh control.py
Tagad jūs varat sākt | apturēt | restartēt šo pakalpojumu, palaižot komandu
sudo systemctl sākt cloud4rpi.service
Pakalpojums ieslēdz iepriekšējo stāvokli, tāpēc, ja tas darbojās, tas darbosies pēc pārstartēšanas vai strāvas zuduma.
4. solis: gala rezultāts
Tas tā ir, tagad man ir Tilt parametri, kas tiek nosūtīti uz mākoni, lai es varētu tam izveidot jauku mākoņa vadības paneli. Dodieties uz vietni https://cloud4rpi.io/control-panels un izveidojiet jaunu vadības paneli, pievienojiet logrīku un kā datu avotu atlasiet/Gravity and Beer Temp. Tagad es varu uzraudzīt notiekošo, pat ja esmu prom no mājām.
Kods, ko nokopēju un uzrakstīju, ir pieejams šeit: https://github.com/superroma/tilt-cloud4rpi. Tas ir tālu no perfekta, tas darbojas tikai ar vienu slīpumu, tam nerūp ierīces krāsa, lai ko tas nozīmētu, un es nemaz neesmu Python puisis, tāpēc labojumi, ieteikumi vai dakšas ir laipni gaidīti !
Ieteicams:
Stikla akmens LED caurule (WiFi kontrolēta, izmantojot viedtālruņa lietotni): 6 soļi (ar attēliem)
Stikla akmens LED caurule (WiFi kontrolēta, izmantojot viedtālruņa lietotni): Sveiki kolēģi veidotāji! Šajā pamācībā es parādīšu, kā izveidot WiFi vadāmu LED cauruli, kas ir piepildīta ar stikla akmeņiem, lai iegūtu jauku izkliedes efektu. Gaismas diodes ir individuāli adresējamas, un tāpēc ir iespējami daži jauki efekti
Bluetooth pedāļa slēdzis viedtālruņa kamerai: 13 soļi (ar attēliem)
Bluetooth pedāļu slēdzis viedtālruņa kamerai: šajās dienās es daru instrukcijas, YouTube videoklipus un emuāra ziņas. Lai emuāra ziņa būtu produktīva, ir svarīgi uzņemt pēc iespējas detalizētākus attēlus. Tas nav tik vienkārši izdarāms, jo cilvēkam ir tikai divas rokas. Man vajag
Augšanas kamera ar zemu gravitāciju: 4 soļi
Augšanas kamera ar zemu gravitāciju: Es esmu izstrādājis šo augšanas kameru izmantošanai kosmosā. Tas izmanto fusion 360, ko es izmantoju kā students. tas ietver gaismu, kas vienmērīgi izvietota visā kamerā, lai augs izaugtu par visu pieejamo telpu, lai būtu vairāk augu
Kontrolēt temperatūru mājās ar PID un Labview: 4 soļi
Kontroles temperatūra mājās ar PID un Labview: PID merupakan suatu system pengontrolan yang biasa digunakan pada dunia indusri yang telah bukti keandalannya disini kita akan mengimplementasikan kontrolloer PID pada pengatur suhu ruangan menggunakan labview
ESP8266: Kā kontrolēt temperatūru un mitrumu: 12 soļi
ESP8266: Kā uzraudzīt temperatūru un mitrumu: Šodienas apmācībā DHT22 sensora temperatūras un mitruma rādījumiem mēs izmantosim ESP-01, kas ir ESP8266 konfigurācijā 01 (tikai ar 2 GPIO). Es jums parādīšu elektrisko shēmu un ESP programmēšanas daļu ar Arduino