Obsah:
- Krok 1: Získání dat náklonu v Pythonu
- Krok 2: Připojení zařízení ke cloudu
- Krok 3: Odesílání dat do cloudu
- Krok 4: Konečný výsledek
Video: Jak ovládat teplotu a gravitaci piva pomocí smartphonu: 4 kroky (s obrázky)
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:24
Když pivo kvasí, měli byste denně sledovat jeho gravitaci a teplotu. Je snadné na to zapomenout a nemožné, pokud jste pryč.
Po nějakém googlování jsem našel několik řešení pro automatické monitorování gravitace (jedna, dvě, tři). Jeden z nich, s velmi chytrým konceptem, se jmenoval Tilt. Tilt se ve vašem pivu vznáší a měří svůj vlastní úhel náklonu. Tento úhel závisí na hustotě kapaliny, a proto může měřit gravitaci kvasícího piva.
Tilt je dodáván s mobilní aplikací, která se k němu připojuje a může odesílat data do jakékoli webové služby. Problém je v tom, že musíte být kousek od Tiltu, abyste to dokázali. Existuje také program Raspberry Pi, který pracuje s Tilt.
Krok 1: Získání dat náklonu v Pythonu
Ke sledování teploty ve sklepě již používám Raspberry Pi a službu cloudového ovládacího panelu cloud4rpi.io. Pokud Tilt může mluvit s Raspberry Pi, mělo by být možné k němu připojit cloud4rpi. Tilt používá bezdrátový protokol, takže budete potřebovat Raspberry Pi s bezdrátovým čipem (Rasbperry Pi 3 nebo Zero W).
Naštěstí existuje GitHub repo pro software Tilt s několika vzorky. Při pohledu na https://github.com/baronbrew/tilt-scan můžete vidět, že Tilt vypadá ostatním jako BLE iBeacon s „Color“kódovaným v UUID a teplota a gravitace jsou ve velkých a menších bajtech.
Jejich ukázkový kód je pro Node.js a mám řídicí program Pythonu založený na šabloně cloud4rpi
Potřebuji tedy získat data Tilt v Pythonu. Po chvilce googlování jsem našel https://github.com/switchdoclabs/iBeacon-Scanner-- skener Python iBeacon. Toto je program, ne knihovna, takže jsem ho upravil tak, aby místo řetězce vrátil slovník. A také jsem napsal modul specifický pro náklon, abych získal barvu, teplotu a gravitaci prvního nalezeného náklonu (mám pouze jeden) a jednoduchý testovací program pro kontrolu, zda vidí můj náklon:
importovat naklonění časového importu
zatímco pravda:
res = tilt.getFirstTilt () tisk res time.sleep (2)
Spusťte a zkontrolujte, zda funguje. Nyní jej mohu připojit k mému řídicímu programu. Už mám program python připojený k cloud4rpi.io, ale dovolte mi ukázat, jak to udělat od začátku.
Krok 2: Připojení zařízení ke cloudu
Nejprve se přihlaste na cloud4rpi.io a poté vytvořte nové zařízení.
Dostanete token zařízení a pokyny k instalaci. Pro Raspberry Pi postupujte podle pokynů zde https://docs.cloud4rpi.io/start/rpi/-ujistěte se, že je váš systém aktuální:
sudo apt update && sudo apt upgrade
Nainstalujte předpoklady:
sudo apt install git python python-pip
Nainstalujte balíčky python cloud4rpi:
sudo pip install cloud4rpi
pak získejte ukázkovou aplikaci python pro Raspberry Pi (do ovládací složky):
git clone https://github.com/cloud4rpi/cloud4rpi-raspberryp… ovládání
ovládání CD
Upravit control.py - do řádku zadejte token svého zařízení
DEVICE_TOKEN = „_YOUR_DEVICE_TOKEN_“
Odstraňte nepotřebné položky z deklarací proměnných zařízení, ponechte pouze CPUTemp pro testování připojení zařízení:
# Sem vložte deklarace proměnných = {'CPU Temp': {'type': 'numeric', 'bind': rpi.cpu_temp}}
Nyní proveďte zkušební provoz:
sudo python control.py
Pokud je vše v pořádku, stránka vašeho zařízení bude okamžitě aktualizována diagnostickými daty.
Krok 3: Odesílání dat do cloudu
Nyní musíme upravit control.py, aby četl a hlásil Tiltovu barvu, teplotu a gravitaci. Výsledek vypadá takto:
z os import uname z socket import gethostname import sys import time import cloud4rpi import rpi import tilt
# Sem vložte token svého zařízení. Chcete -li získat token, # zaregistrujte se na https://cloud4rpi.io a vytvořte zařízení. DEVICE_TOKEN = '_YOUR_DEVICE_TOKEN_'
# Konstanty
DATA_SENDING_INTERVAL = 60 # s DIAG_SENDING_INTERVAL = 600 # s POLL_INTERVAL = 0,5 # 500 ms
maják = {}
def F2C (stupně F):
návrat (stupně F - 32) / 1,8
def getTemp ():
vrátit F2C (int (beacon ['Temp'])), pokud beacon else None
def getGravity ():
return beacon ['Gravity'] if beacon else None
def main ():
# Sem vložte deklarace proměnný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 ())}
zařízení = cloud4rpi.connect (DEVICE_TOKEN)
device.declare (proměnné) device.declare_diag (diagnostika)
device.publish_config ()
# Přidá 1sekundové zpoždění k zajištění vytváření proměnných zařízení
time.sleep (1)
Snaž se:
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
if diag_timer <= 0: device.publish_diag () diag_timer = DIAG_SENDING_INTERVAL
time.sleep (POLL_INTERVAL)
diag_timer -= POLL_INTERVAL data_timer -= POLL_INTERVAL
kromě KeyboardInterrupt:
cloud4rpi.log.info ('Bylo přijato přerušení klávesnice. Zastavování …')
kromě výjimky jako e:
chyba = cloud4rpi.get_error_message (e) cloud4rpi.log.error ("CHYBA! %s %s", chyba, sys.exc_info () [0])
Konečně:
sys.exit (0)
if _name_ == '_main_':
hlavní()
Nyní spusťte ručně, abyste zjistili, zda funguje:
sudo python control.py
Pokud je vše v pořádku, uvidíte své proměnné online.
Chcete -li spustit control.py při spuštění systému, nainstalujte jej jako službu. Cloud4rpi k tomu poskytuje instalační skript service_install.sh. Zařadil jsem to do svého repo. Chcete -li nainstalovat control.py jako službu, spusťte
sudo bash service_install.sh control.py
Nyní můžete spustit | zastavit | restartovat tuto službu spuštěním příkazu
sudo systemctl start cloud4rpi.service
Služba udržuje svůj předchozí stav při zapnutí, takže pokud byla spuštěna, bude spuštěna po restartu nebo ztrátě napájení.
Krok 4: Konečný výsledek
To je ono, teď mám své parametry Tilt odesílané do cloudu, takže pro to mohu nastavit pěkný cloudový ovládací panel. Přejděte na https://cloud4rpi.io/control-panels a vytvořte nový ovládací panel, přidejte widget a jako zdroj dat vyberte/Gravity and Beer Temp. Nyní mohu sledovat, co se děje, i když jsem mimo domov.
Kód, který jsem zkopíroval a napsal, je k dispozici zde: https://github.com/superroma/tilt-cloud4rpi. Není to zdaleka dokonalé, funguje to pouze s jediným náklonem, nezáleží mu na „barvě“zařízení, ať už to znamená cokoli, a já nejsem žádný Python, takže opravy, návrhy nebo vidlice jsou vítány !
Doporučuje:
DIY -- Jak vyrobit robot Spider, který lze ovládat pomocí smartphonu pomocí Arduino Uno: 6 kroků
DIY || Jak vyrobit robota Spider, který lze ovládat pomocí smartphonu pomocí Arduino Uno: Při výrobě robota Spider se člověk může naučit tolik věcí o robotice. Stejně jako vytváření robotů je zábavné a náročné. V tomto videu vám ukážeme, jak vyrobit robota Spider, kterého můžeme ovládat pomocí smartphonu (Androi
Jak ovládat GoPro Hero 4 pomocí RC vysílače: 4 kroky (s obrázky)
Jak ovládat GoPro Hero 4 pomocí RC vysílače: Cílem tohoto projektu je umět dálkově ovládat GoPro Hero 4 pomocí RC vysílače. Tato metoda bude používat integrovanou Wifi & HTTP API pro ovládání zařízení & je inspirován PROTOTYPEM: NEJMENŠÍ A NEJLACNĚJŠÍ
Pomocí Raspberry Pi vyhodnoťte vlhkost a teplotu pomocí SI7006: 6 kroků
Pomocí Raspberry Pi vyhodnoťte vlhkost a teplotu pomocí SI7006: Protože jsme nadšenci pro Raspberry Pi, uvažovali jsme o dalších velkolepých experimentech s ním. V této kampani budeme měřit teplotu a vlhkost, které je třeba ovládat, pomocí Raspberry Pi a SI7006, Snímač vlhkosti a teploty
Jak ovládat základní inteligentní přepínač Sonoff na bázi ESP8266 pomocí smartphonu: 4 kroky (s obrázky)
Jak ovládat základní inteligentní přepínač Sonoff na bázi ESP8266 pomocí smartphonu: Sonoff je řada zařízení pro inteligentní domácnost vyvinutá společností ITEAD. Jedním z nejflexibilnějších a nejlevnějších zařízení z této řady je Sonoff Basic. Jedná se o přepínač s podporou Wi-Fi založený na skvělém čipu ESP8266. Tento článek popisuje, jak nastavit Cl
Jak vyrobit RC auto s vlastním ovládáním pomocí smartphonu: 8 kroků (s obrázky)
Jak vyrobit RC auto s vlastním ovládáním pomocí smartphonu: Ahoj, lidi! V tomto tutoriálu vyrobím RC auto na smartphonu na bázi Arduina. Toto auto bylo možné ovládat přes Bluetooth pomocí jakéhokoli telefonu nebo tabletu Android. To je úžasný projekt. jeho výroba je jednoduchá, programování a také