İçindekiler:
- Adım 1: Python'da Eğim Verilerini Alma
- 2. Adım: Cihazı Buluta Bağlama
- 3. Adım: Verileri Buluta Gönderme
- 4. Adım: Nihai Sonuç
Video: Akıllı Telefonunuzdan Bira Fermantasyon Sıcaklığı ve Yerçekimi Nasıl Kontrol Edilir: 4 Adım (Resimlerle)
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:21
Bira mayalanırken, ağırlığını ve sıcaklığını günlük olarak izlemelisiniz. Bunu unutmak kolaydır ve uzaktaysanız imkansızdır.
Biraz googling yaptıktan sonra, otomatik yerçekimi izleme için birkaç çözüm buldum (bir, iki, üç). Bunlardan biri, çok zekice bir konsepte sahip, Tilt adında. Eğim biranızda yüzüyor ve kendi eğim açısını ölçüyor. Bu açı sıvının yoğunluğuna bağlıdır ve bu nedenle fermente biranın ağırlığını ölçebilir.
Tilt, kendisine bağlanan ve herhangi bir web hizmetine veri gönderebilen bir mobil uygulama ile birlikte gelir. Sorun şu ki, bunu yapabilmek için Tilt'ten çok uzakta olmamanız gerekiyor. Ayrıca Tilt ile çalışan Raspberry Pi programı da bulunmaktadır.
Adım 1: Python'da Eğim Verilerini Alma
Zaten mahzen sıcaklığını izlemek için Raspberry Pi ve bir bulut kontrol paneli hizmeti cloud4rpi.io kullanıyorum. Tilt, Raspberry Pi ile konuşabiliyorsa, cloud4rpi'yi ona bağlamak mümkün olmalıdır. Tilt kablosuz bir protokol kullanıyor, bu nedenle kablosuz çipli (Rasbperry Pi 3 veya Zero W) Raspberry Pi'ye ihtiyacınız olacak.
Neyse ki, Tilt yazılımı için bazı örnekler içeren bir GitHub deposu var. https://github.com/baronbrew/tilt-scan adresine baktığınızda, Tilt'in diğerlerine UUID'de “Renk” kodlu BLE iBeacon olarak göründüğünü ve sıcaklık ve yerçekiminin büyük ve küçük baytlarda olduğunu görebilirsiniz.
Örnek kodları Node.js içindir ve cloud4rpi şablonunu temel alan bir Python kontrol programım var
Bu yüzden Python'da Tilt verilerini almam gerekiyor. Biraz googling yaptıktan sonra https://github.com/switchdoclabs/iBeacon-Scanner- - Python iBeacon tarayıcı buldum. Bu bir program, kitaplık değil, bu yüzden onu dize yerine sözlük döndürecek şekilde değiştirdim. Ayrıca, bulunan ilk Tilt'in rengini, sıcaklığını ve ağırlığını elde etmek için Tilt'e özgü modül (sadece bir tane var) ve Tilt'imi görüp göremediğini kontrol etmek için basit bir test programı yazdım:
içe aktarma zamanı içe aktarma eğimi
Doğru iken:
res = tilt.getFirstTilt() baskı res time.sleep(2)
Çalıştırın ve çalışıp çalışmadığını kontrol edin. Şimdi onu kontrol programıma bağlayabilirim. Zaten cloud4rpi.io'ya bağlı bir python programım var, ancak bunun nasıl yapılacağını sıfırdan göstereyim.
2. Adım: Cihazı Buluta Bağlama
Önce cloud4rpi.io'da oturum açın, ardından yeni bir cihaz oluşturun.
Size bir cihaz belirteci ve kurulum talimatları verilecektir. Raspberry Pi için buradaki talimatları izleyin https://docs.cloud4rpi.io/start/rpi/ - sisteminizin güncel olduğundan emin olun:
sudo apt güncelleme && sudo apt yükseltme
Önkoşulları yükleyin:
sudo apt git python python-pip'i kurun
cloud4rpi python paketlerini kurun:
sudo pip cloud4rpi yükleyin
sonra Raspberry Pi için örnek bir python uygulaması edinin (kontrol klasörüne):
git klon https://github.com/cloud4rpi/cloud4rpi-raspberryp… kontrol
cd kontrolü
control.py'yi değiştir - satırda cihaz jetonunuzu belirtin
DEVICE_TOKEN = '_SİZİN_CİHAZINIZ_TOKEN_'
Cihaz değişkeni bildirimlerinden gereksiz girişleri kaldırın, cihaz bağlantısını test etmek için yalnızca CPUTemp'i bırakın:
# Değişken bildirimlerini buraya koyun değişkenler = { 'CPU Temp': { 'type': 'numeric', 'bind': rpi.cpu_temp } }
Şimdi bir test çalıştırması yapın:
sudo python kontrolü.py
Her şey yolundaysa, cihaz sayfanız hemen teşhis verileriyle güncellenecektir.
3. Adım: Verileri Buluta Gönderme
Şimdi, Tilt'in rengini, sıcaklığını ve yerçekimini okumak ve raporlamak için control.py'yi değiştirmemiz gerekiyor. Sonuç şöyle görünür:
işletim sisteminden uname'den soketi içe aktarma gethostname içe aktarma sys içe aktarma zamanı içe aktarma cloud4rpi içe aktarma rpi içe aktarma eğimi
# Cihazınızın jetonunu buraya koyun. Simgeyi almak için, # https://cloud4rpi.io adresinden kaydolun ve bir cihaz oluşturun. DEVICE_TOKEN = '_SİZİN_CİHAZINIZ_TOKEN_'
# Sabitler
DATA_SENDING_INTERVAL = 60 # saniye DIAG_SENDING_INTERVAL = 600 # saniye POLL_INTERVAL = 0,5 # 500 ms
işaret = {}
def F2C(dereceF):
dönüş (dereceF - 32) / 1.8
def getTemp():
dönüş F2C(int(beacon['Temp'])) eğer işaret ise Yok
tanım getGravity():
geri dönüş işareti['Yerçekimi'] işaretçi değilse Yok
tanım ana():
# Değişken bildirimlerini buraya koyun
değişkenler = { 'Yerçekimi': { 'tür': 'sayısal', 'bağlama': getGravity }, 'Bira Sıcaklığı': { 'tür': 'sayısal', 'bağlama': getTemp } }
teşhis = {
'CPU Temp': rpi.cpu_temp, 'IP Adresi': rpi.ip_address, 'Host': gethostname(), 'İşletim Sistemi': " ".join(uname()) }
cihaz = cloud4rpi.connect(DEVICE_TOKEN)
device.declare(değişkenler) device.declare_diag(teşhis)
device.publish_config()
# Cihaz değişkenlerinin oluşturulmasını sağlamak için 1 saniyelik bir gecikme ekler
zaman.uyku(1)
denemek:
data_timer = 0 diag_timer = 0 iken 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
zaman.uyku(POLL_ARALIK)
diag_timer -= POLL_INTERVAL data_timer -= POLL_INTERVAL
KeyboardInterrupt hariç:
cloud4rpi.log.info('Klavye kesmesi alındı. Duruyor…')
e olarak İstisna hariç:
hata = cloud4rpi.get_error_message(e) cloud4rpi.log.error("HATA! %s %s", hata, sys.exc_info()[0])
nihayet:
sistem.çıkış(0)
eğer _name_ == '_main_':
ana()
Şimdi çalışıp çalışmadığını görmek için manuel olarak çalıştırın:
sudo python kontrolü.py
Her şey yolundaysa, değişkenlerinizi çevrimiçi olarak göreceksiniz.
Control.py'yi sistem başlangıcında çalıştırmak için bir hizmet olarak yükleyin. Cloud4rpi, bunu yapmak için service_install.sh kurulum komut dosyasını sağlar. Repoma dahil ettim. Control.py'yi hizmet olarak yüklemek için şunu çalıştırın:
sudo bash service_install.sh control.py
Şimdi komutu çalıştırarak bu hizmeti başlatabilir|durdurabilir|yeniden başlatabilirsiniz.
sudo systemctl cloud4rpi.service'i başlat
Hizmet, açılışta önceki durumunu korur, bu nedenle çalışıyorsa, yeniden başlatma veya güç kaybından sonra çalışır.
4. Adım: Nihai Sonuç
İşte bu, şimdi buluta gönderilen Tilt parametrelerim var, böylece bunun için güzel bir bulut kontrol paneli kurabilirim. https://cloud4rpi.io/control-panels adresine gidin ve yeni kontrol paneli oluşturun, widget ekleyin ve veri kaynağı olarak /Gravity ve Beer Temp'i seçin. Artık evden uzakta olsam bile neler olup bittiğini izleyebiliyorum.
Kopyaladığım ve yazdığım kod burada mevcut: https://github.com/superroma/tilt-cloud4rpi. Mükemmel olmaktan çok uzak, sadece tek bir Eğim ile çalışıyor, cihazın “Rengi” ne olursa olsun umurunda değil ve ben bir Python adamı değilim, bu yüzden düzeltmeler, öneriler veya çatallar açığız !
Önerilen:
160A Fırçalı Elektronik Hız Kontrol Cihazı ve Servo Test Cihazı Kullanılarak DC Dişli Motor Nasıl Kontrol Edilir: 3 Adım
160A Fırçalı Elektronik Hız Kontrol Cihazı ve Servo Test Cihazı Kullanılarak DC Dişli Motor Nasıl Kontrol Edilir: Özellikler: Voltaj: 2-3S Lipo veya 6-9 NiMH Sürekli akım: 35A Patlama akımı: 160A BEC: 5V / 1A, lineer mod Modlar: 1. ileri &ters; 2. ileri &fren; 3. ileri & fren & ters Ağırlık: 34g Boyut: 42*28*17mm
Drone Quadcopter Fırçasız DC Motor (3 Telli Tip) HW30A Motor Hız Kontrol Cihazı ve Arduino UNO Kullanılarak Nasıl Kontrol Edilir: 5 Adım
Drone Quadcopter Fırçasız DC Motor (3 Telli Tip) HW30A Motor Hız Kontrol Cihazı ve Arduino UNO Kullanılarak Nasıl Kontrol Edilir: Açıklama: HW30A Motor Hız Kontrol Cihazı 4-10 NiMH/NiCd veya 2-3 hücreli LiPo pil ile kullanılabilir. BEC, 3 adede kadar LiPo hücresiyle işlevseldir. Fırçasız DC motorun (3 telli) maksimum 12Vdc'ye kadar hızını kontrol etmek için kullanılabilir.Özel
Akıllı Telefonla ESP8266 Tabanlı Sonoff Temel Akıllı Anahtar Nasıl Kontrol Edilir: 4 Adım (Resimlerle)
Akıllı Telefonla ESP8266 Tabanlı Sonoff Temel Akıllı Anahtar Nasıl Kontrol Edilir: Sonoff, ITEAD tarafından geliştirilen Akıllı Ev için bir cihaz hattıdır. Bu hattaki en esnek ve ucuz cihazlardan biri Sonoff Basic. Harika bir çip olan ESP8266'yı temel alan Wi-Fi özellikli bir anahtardır. Bu makale, Cl'nin nasıl kurulacağını açıklar
Ev Aletlerini Blynk Uygulaması ve Raspberry Pi ile Akıllı Telefonunuzdan Kontrol Edin: 5 Adım (Resimlerle)
Blynk App ve Raspberry Pi ile Akıllı Telefonunuzdan Ev Aletlerini Kontrol Edin: Bu projede, ev aletlerini (Kahve makinesi, Lamba, Pencere perdesi ve daha fazlası) kontrol etmek için Blynk uygulamasını ve Raspberry Pi 3'ü nasıl kullanacağımızı öğreneceğiz… .Donanım bileşenleri: Raspberry Pi 3 Röle Lambası Breadboard WiresYazılım uygulamaları: Blynk A
PDA'nızdan / Cep Telefonunuzdan Şekerli Logo Nasıl Kaldırılır: 4 Adım (Resimlerle)
PDA'nızdan / Şekerli Cep Telefonunuzdan Logo Nasıl Kaldırılır: Telefonunuzu hafif bir tehlikeye atmaktan emin değilseniz lütfen bunu denemeyin… Telefonları tamir edemiyorum… (Herhangi bir hasar olmamasına rağmen) oldukça kolay olduğu için) güncellemeNOT: Bu, plastik kapaklarla çalışmaz! Şeker scrat bırakacak