Obsah:
- Krok 1: Získanie údajov o naklonení v Pythone
- Krok 2: Pripojenie zariadenia k cloudu
- Krok 3: Odosielanie údajov do cloudu
- Krok 4: Konečný výsledok
Video: Ako ovládať teplotu a gravitáciu kvasenia piva zo svojho smartfónu: 4 kroky (s obrázkami)
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 12:01
Keď pivo kvasí, mali by ste denne monitorovať jeho gravitáciu a teplotu. Je ľahké na to zabudnúť a nemožné, ak ste preč.
Po troche googlovania som našiel niekoľko riešení pre automatizované monitorovanie gravitácie (jedna, dva, tri). Jeden z nich s veľmi chytrým konceptom sa nazýval Tilt. Naklonenie sa vznáša vo vašom pive a meria svoj vlastný uhol sklonu. Tento uhol závisí od hustoty kvapaliny, a preto môže merať gravitáciu kvasiaceho piva.
Tilt je dodávaný s mobilnou aplikáciou, ktorá sa k nej pripája a môže odosielať údaje do akejkoľvek webovej služby. Problém je v tom, že musíte byť ďaleko od Tiltu, aby ste to dokázali. Existuje aj program Raspberry Pi, ktorý pracuje s Tilt.
Krok 1: Získanie údajov o naklonení v Pythone
Raspberry Pi už používam na monitorovanie teploty v pivnici a službu cloudového ovládacieho panela cloud4rpi.io. Ak Tilt môže hovoriť s Raspberry Pi, malo by byť možné k nemu pripojiť cloud4rpi. Tilt používa bezdrôtový protokol, takže budete potrebovať Raspberry Pi s bezdrôtovým čipom (Rasbperry Pi 3 alebo Zero W).
Našťastie existuje softvér GitHub repo pre Tilt s niekoľkými ukážkami. Pri pohľade na stránku https://github.com/baronbrew/tilt-scan vidíte, že Tilt vyzerá pre ostatných ako BLE iBeacon s „farebným“kódom v UUID a teplota a gravitácia sú vo väčších a menších bajtoch.
Ich ukážkový kód je pre Node.js a mám riadiaci program Python založený na šablóne cloud4rpi
Potrebujem teda získať údaje Tilt v Pythone. Po troche googlovania som našiel https://github.com/switchdoclabs/iBeacon-Scanner-- skener iBeacon Python. Toto je program, nie knižnica, takže som ho upravil tak, aby namiesto reťazca vrátil slovník. A tiež som napísal modul špecifický pre náklon, aby som získal farbu, teplotu a gravitáciu prvého nájdeného náklonu (mám iba jeden) a jednoduchý testovací program na kontrolu, či vidí môj náklon:
importovať časový import náklonu
kým je pravda:
res = tilt.getFirstTilt () vytlačiť res time.sleep (2)
Spustite a skontrolujte, či funguje. Teraz ho môžem zapojiť do svojho riadiaceho programu. Už mám program python pripojený k cloud4rpi.io, ale dovoľte mi ukázať, ako to urobiť od začiatku.
Krok 2: Pripojenie zariadenia k cloudu
Najprv sa prihláste na cloud4rpi.io a potom vytvorte nové zariadenie.
Dostanete token zariadenia a pokyny na inštaláciu. Pri Raspberry Pi postupujte podľa pokynov tu https://docs.cloud4rpi.io/start/rpi/-uistite sa, že je váš systém aktuálny:
sudo apt update && sudo apt upgrade
Predpoklady inštalácie:
sudo apt install git python python-pip
Nainštalujte balíky python cloud4rpi:
sudo pip install cloud4rpi
potom získajte vzorovú aplikáciu python pre Raspberry Pi (do riadiaceho priečinka):
git klon https://github.com/cloud4rpi/cloud4rpi-raspberryp… kontrola
ovládanie CD
upraviť control.py - do riadka zadajte token svojho zariadenia
DEVICE_TOKEN = '_YOUR_DEVICE_TOKEN_'
Odstráňte nepotrebné položky z deklarácií premenných zariadení, na testovanie pripojenia zariadenia nechajte iba CPUTemp:
# Sem vložte deklarácie premenných = {'CPU Temp': {'type': 'numeric', 'bind': rpi.cpu_temp}}
Teraz urobte testovaciu jazdu:
sudo python control.py
Ak je všetko v poriadku, stránka vášho zariadenia bude okamžite aktualizovaná diagnostickými údajmi.
Krok 3: Odosielanie údajov do cloudu
Teraz musíme upraviť súbor control.py tak, aby čítal a nahlasoval Tiltovu farbu, teplotu a gravitáciu. Výsledok vyzerá takto:
z os import uname z socket import gethostname import sys import time import cloud4rpi import rpi import tilt
# Sem vložte token svojho zariadenia. Ak chcete získať token, # zaregistrujte sa na https://cloud4rpi.io a vytvorte si zariadenie. DEVICE_TOKEN = '_YOUR_DEVICE_TOKEN_'
# Konštanty
DATA_SENDING_INTERVAL = 60 # s DIAG_SENDING_INTERVAL = 600 # s POLL_INTERVAL = 0,5 # 500 ms
maják = {}
def F2C (stupne F):
návrat (stupne F - 32) / 1,8
def getTemp ():
vrátiť F2C (int (beacon ['Temp'])), ak beacon else None
def getGravity ():
return beacon ['Gravity'] if maják else None
def main ():
# Sem zadajte vyhlásenia o premenných
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 ())}
zariadenie = cloud4rpi.connect (DEVICE_TOKEN)
device.declare (premenné) device.declare_diag (diagnostika)
device.publish_config ()
# Pridá 1sekundové oneskorenie, aby sa zabezpečilo vytváranie premenných zariadenia
time.sleep (1)
skús:
data_timer = 0 diag_timer = 0 while True: if data_timer <= 0: global beacon beacon = tilt.getFirstTilt () device.publish_data () data_timer = DATA_SENDING_INTERVAL
ak diag_timer <= 0: device.publish_diag () diag_timer = DIAG_SENDING_INTERVAL
time.sleep (POLL_INTERVAL)
diag_timer -= POLL_INTERVAL data_timer -= POLL_INTERVAL
okrem prerušenia klávesnice:
cloud4rpi.log.info ('Prijaté prerušenie klávesnice. Zastavovanie …')
okrem výnimky ako e:
chyba = cloud4rpi.get_error_message (e) cloud4rpi.log.error ("CHYBA! %s %s", chyba, sys.exc_info () [0])
konečne:
sys.exit (0)
if _name_ == '_main_':
Hlavná()
Teraz ho spustite ručne a zistite, či funguje:
sudo python control.py
Ak je všetko v poriadku, uvidíte svoje premenné online.
Ak chcete spustiť control.py pri spustení systému, nainštalujte si ho ako službu. Cloud4rpi na to poskytuje inštalačný skript service_install.sh. Zahrnul som to do svojho repo. Ak chcete nainštalovať control.py ako službu, spustite
sudo bash service_install.sh control.py
Teraz môžete spustiť | zastaviť | reštartovať túto službu spustením príkazu
sudo systemctl start cloud4rpi.service
Služba udržiava svoj predchádzajúci stav pri zapnutí, takže ak bola spustená, bude fungovať aj po reštarte alebo výpadku napájania.
Krok 4: Konečný výsledok
To je všetko, teraz sa moje parametre Tilt odosielajú do cloudu, takže preň môžem nastaviť pekný ovládací panel cloudu. Choďte na https://cloud4rpi.io/control-panels a vytvorte nový ovládací panel, pridajte widget a zvoľte/Gravity and Beer Temp ako zdroj dát. Teraz môžem sledovať, čo sa deje, aj keď som mimo domu.
Kód, ktorý som skopíroval a napísal, je k dispozícii tu: https://github.com/superroma/tilt-cloud4rpi. Nie je to ani zďaleka dokonalé, funguje to iba s jediným naklonením, nezaujíma ho „farba“zariadenia, nech to znamená čokoľvek, a ja vôbec nie som človek z Pythonu, takže opravy, návrhy alebo vidlice sú vítané !
Odporúča:
DIY -- Ako vyrobiť robota Spider, ktorý je možné ovládať pomocou smartfónu pomocou Arduino Uno: 6 krokov
DIY || Ako vyrobiť robota Spider, ktorý je možné ovládať pomocou smartfónu pomocou Arduino Uno: Pri vytváraní robota Spider sa dá naučiť veľa vecí o robotike. Rovnako ako výroba robotov je zábavná a náročná. V tomto videu vám ukážeme, ako vyrobiť robota Spider, ktorý môžeme ovládať pomocou nášho smartfónu (Androi
Ako ovládať GoPro Hero 4 pomocou RC vysielača: 4 kroky (s obrázkami)
Ako ovládať GoPro Hero 4 pomocou RC vysielača: Cieľom tohto projektu je umožniť diaľkové ovládanie GoPro Hero 4 pomocou RC vysielača. Táto metóda bude používať vstavanú sieť Wi -Fi a GoPro HTTP API na ovládanie zariadenia & je inšpirovaný PROTOTYPOM: NAJMENŠÍ A LACNÝ
ESP8266 RGB LED STRIP WIFI ovládanie - NODEMCU Ako IR diaľkové ovládanie pre LED pás ovládané cez Wifi - Ovládanie smartfónu RGB LED STRIP: 4 kroky
ESP8266 RGB LED STRIP WIFI ovládanie | NODEMCU Ako IR diaľkové ovládanie pre LED pás ovládané cez Wifi | Ovládanie smartfónu RGB LED STRIP: Ahoj, v tomto návode sa naučíme, ako používať nodemcu alebo esp8266 ako IR diaľkové ovládanie na ovládanie RGB LED pásu a Nodemcu budete ovládať smartfónom cez wifi. V zásade teda môžete RGB LED STRIP ovládať pomocou svojho smartfónu
Ako ovládať základný inteligentný prepínač Sonoff na báze ESP8266 pomocou smartfónu: 4 kroky (s obrázkami)
Ako ovládať základný inteligentný prepínač Sonoff na báze ESP8266 pomocou smartfónu: Sonoff je rad zariadení pre inteligentný domov vyvinutý spoločnosťou ITEAD. Jedným z najflexibilnejších a najlacnejších zariadení z tejto rady je Sonoff Basic. Je to prepínač s podporou Wi-Fi na základe skvelého čipu ESP8266. Tento článok popisuje, ako nastaviť Cl
Opätovné použitie starého smartfónu ako monitora videa: 4 kroky (s obrázkami)
Repurpose Old Smartphone As Video Monitor: Mám svoj starý Samsung S5 ležiaci veky a hoci by slúžil ako skvelá záchranná sieť, keby sa niečo stalo s mojím iPhone, inak to veľmi nevyužije. Nedávno mi priateľ na narodeniny daroval morča a bolo