Sisällysluettelo:
- Vaihe 1: Kallistusdatan hankkiminen Pythonissa
- Vaihe 2: Yhdistä laite pilveen
- Vaihe 3: Tietojen lähettäminen pilveen
- Vaihe 4: Lopputulos
Video: Kuinka hallita oluen käymisen lämpötilaa ja painovoimaa älypuhelimellasi: 4 vaihetta (kuvilla)
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:03
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
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
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
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
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:
Kuinka hallita BLDC -moottoria Arduinolla ja ohjaussauvalla: 6 vaihetta
Kuinka hallita BLDC -moottoria Arduinolla ja ohjaussauvalla: Hei ystävät tässä opetusohjelmassa Näytän sinulle, kuinka hallita harjatonta tasavirtamoottoria eli BLDC -moottoria Arduinolla ja ohjaussauvalla
Kuinka hallita 4dof suuritehoista suurikokoista robottivartta Arduinon ja Ps2 -kaukosäätimen avulla?: 4 vaihetta
Kuinka ohjata 4dof suuritehoista suurikokoista robottivartta Arduino- ja Ps2 -kauko -ohjaimella?: Tämä sarja käyttää suuritehoista moottoria mg996, se tarvitsee suurta virtaa, olemme testanneet paljon virransyöttöä. Vain 5v 6a -sovitin toimii. Ja arduino -levytyöskentely myös 6dof -robottivarressa. pää: kirjoita osta SINONING DIY -lelun myymälä
DuvelBot - ESP32 -CAM -oluen tarjoilurobotti: 4 vaihetta (kuvilla)
DuvelBot - ESP32 -CAM -oluen tarjoilurobotti: Vaikean työpäivän jälkeen mikään ei ole lähellä siemailla suosikkioluttasi sohvalla. Minun tapauksessani se on belgialainen vaalea ale "Duvel". Kuitenkin lopulta romahtamisen jälkeen kohtaamme vakavimman ongelman: jääkaappi
Kuinka hallita lamppua käyttämällä Arduino UNO: ta ja yksikanavaista 5 V: n puolijohderelemoduulia: 3 vaihetta
Kuinka ohjata lamppua käyttämällä Arduino UNO: ta ja yksikanavaista 5 V: n puolijohderelemoduulia: Kuvaus: Verrattuna perinteiseen mekaaniseen releeseen, SSD: llä (Solid State Relay) on monia etuja: sillä on pidempi käyttöikä ja paljon suurempi käynnistys/ nopeus pois päältä ja ei melua. Lisäksi se kestää paremmin tärinää ja mekaanista
Hallitse kodinkoneita älypuhelimellasi Blynk -sovelluksella ja Raspberry Pi: 5 vaihetta (kuvilla)
Hallitse kodinkoneita älypuhelimellasi Blynk -sovelluksella ja Raspberry Pi: Tässä projektissa aiomme oppia käyttämään Blynk -sovellusta ja Raspberry Pi 3: ta kodinkoneiden ohjaamiseen (kahvinkeitin, lamppu, ikkunaverho ja paljon muuta) Laitteistokomponentit: Raspberry Pi 3 Relay Lamp Breadboard -langat Ohjelmistosovellukset: Blynk A