Mündəricat:
- Addım 1: Pythonda əyilmə məlumatı əldə edin
- Addım 2: Cihazı Buluda Bağlamaq
- Addım 3: Məlumatları Buluda Göndərin
- Addım 4: Son nəticə
Video: Smartfonunuzdan Pivə Fermentasiyasının Temperaturunu və Ağırlığını Nəzarət Edin: 4 Adım (Şəkillərlə birlikdə)
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:48
Pivə mayalanarkən gündəlik çəkisini və temperaturunu izləməlisiniz. Bunu unutmaq asandır və uzaqda olsanız mümkün deyil.
Bir az googling etdikdən sonra, avtomatik çəkisi izləmə üçün bir neçə həll yolu tapdım (bir, iki, üç). Onlardan biri, çox ağıllı bir anlayışla Tilt adlanır. Tilt pivənizdə üzür və öz əyilmə bucağını ölçür. Bu bucaq mayenin sıxlığından asılıdır və buna görə də mayalanan pivənin çəkisini ölçə bilər.
Tilt, ona qoşulan və istənilən veb xidmətinə məlumat göndərə bilən bir mobil tətbiq ilə gəlir. Problem ondadır ki, bunu etmək üçün Tiltdən çox da uzaqda olmamalısan. Tilt ilə işləyən bir Raspberry Pi proqramı da var.
Addım 1: Pythonda əyilmə məlumatı əldə edin
Zirzəmilərdəki temperaturu və cloud4rpi.io bulud idarəetmə paneli xidmətini izləmək üçün artıq Raspberry Pi istifadə edirəm. Tilt Raspberry Pi ilə danışa bilirsə, cloud4rpi -ni ona bağlamaq mümkün olmalıdır. Tilt simsiz protokoldan istifadə edir, buna görə simsiz çipli Rasbberry Pi (Rasbperry Pi 3 və ya Zero W) lazımdır.
Xoşbəxtlikdən, bəzi nümunələri olan Tilt proqramı üçün bir GitHub repo var. Https://github.com/baronbrew/tilt-scan saytına baxanda Tilt-in başqalarına BLE iBeacon kimi göründüyünü, UUID kodlu "Rəng" ilə, temperatur və cazibənin böyük və kiçik baytlarda olduğunu görə bilərsiniz.
Onların nümunə kodu Node.js üçündür və məndə cloud4rpi şablonuna əsaslanan bir Python nəzarət proqramı var
Buna görə Pythonda Tilt məlumatlarını almalıyam. Bir az googling etdikdən sonra https://github.com/switchdoclabs/iBeacon-Scanner-- Python iBeacon skanerini tapdım. Bu kitabxana deyil, bir proqramdır, buna görə simli əvəzinə bir lüğət qaytarmaq üçün dəyişdirdim. Həm də Tilt-a xüsusi bir modul yazdım ki, ilk Tiltin rəngini, temperaturunu və cazibəsini əldə edim (yalnız birim var) və Tiltimi görə biləcəyini yoxlamaq üçün sadə bir test proqramı:
idxal vaxtı
Doğru halda:
res = tilt.getFirstTilt () çap res vaxt.yuxu (2)
Çalışın və işlədiyini yoxlayın. İndi nəzarət proqramına qoşa bilərəm. Artıq cloud4rpi.io ilə əlaqəli bir python proqramım var, amma bunu sıfırdan necə edəcəyimi göstərim.
Addım 2: Cihazı Buluda Bağlamaq
Əvvəlcə cloud4rpi.io -ya daxil olun, sonra yeni bir cihaz yaradın.
Sizə cihaz nişanı və quraşdırma təlimatları veriləcək. Raspberry Pi üçün https://docs.cloud4rpi.io/start/rpi/ təlimatlarına əməl edin-sisteminizin güncəl olduğundan əmin olun:
sudo apt update && sudo apt upgrade
Ön şərtləri quraşdırın:
sudo apt install git python python-pip yükləyin
Cloud4rpi python paketlərini quraşdırın:
sudo pip cloud4rpi quraşdırın
sonra Raspberry Pi üçün nümunə bir python tətbiqini əldə edin (nəzarət qovluğuna):
git klonu https://github.com/cloud4rpi/cloud4rpi-raspberryp… nəzarət
cd nəzarət
modify control.py - cihaz nişanını sətirdə göstərin
DEVICE_TOKEN = ‘_SİZİN_DİVANE_TOKEN_’
Cihaz dəyişən bəyannamələrindən lazımsız girişləri silin, cihaz bağlantısını sınamaq üçün yalnız CPUTemp buraxın:
# Dəyişən bəyannamələri bura qoyun dəyişənlər = {'CPU Temp': {'type': 'numeric', 'bind': rpi.cpu_temp}}
İndi bir test çalışması edin:
sudo python control.py
Hər şey qaydasındadırsa, cihaz səhifəniz dərhal diaqnostik məlumatlar ilə yenilənəcək.
Addım 3: Məlumatları Buluda Göndərin
İndi Tilt -in rəngini, temperaturunu və çəkisini oxumaq və bildirmək üçün control.py -ni dəyişdirməliyik. Nəticə belə görünür:
os idxaldan unamefoketdən idxal gethostname idxal sys idxal vaxtı idxal bulud4rpi idxal rpi idxal tilt
# Cihaz nişanını bura qoy. Nişanı əldə etmək üçün, # https://cloud4rpi.io saytına daxil olun və bir cihaz yaradın. DEVICE_TOKEN = '_YOUR_DEVICE_TOKEN_'
# Sabitlər
DATA_SENDING_INTERVAL = 60 # saniyə DIAG_SENDING_INTERVAL = 600 # saniyə POLL_INTERVAL = 0,5 # 500 ms
mayak = {}
def F2C (dərəcə F):
qayıt (dərəcəF - 32) / 1.8
def getTemp ():
qaytar F2C (int (mayak ['Temp']))) əgər başqa mayak yoxdursa
def getGravity ():
geri mayak ['Cazibə qüvvəsi'] əgər başqa mayak yoxdursa
def main ():
# Dəyişən bəyannamələri bura qoy
dəyişənlər = {'Cazibə qüvvəsi': {'növ': 'sayısal', 'bağlama': getGravity}, 'Bira Temp': {'növ': 'rəqəmsal', 'bağlama': getTemp}}
diaqnostika = {
'CPU Temp': rpi.cpu_temp, 'IP Adresi': rpi.ip_address, 'Host': gethostname (), 'Əməliyyat Sistemi': "".join (uname ())}
cihaz = cloud4rpi.connect (DEVICE_TOKEN)
device.declare (dəyişənlər) device.declare_diag (diaqnostika)
device.publish_config ()
# Cihaz dəyişənlərinin yaradılmasını təmin etmək üçün 1 saniyə gecikmə əlavə edir
vaxt.yuxu (1)
cəhd edin:
data_timer = 0 diag_timer = 0 Doğru isə: data_timer <= 0: qlobal mayak işarəsi = tilt.getFirstTilt () device.publish_data () data_timer = DATA_SENDING_INTERVAL
əgər diag_timer <= 0: device.publish_diag () diag_timer = DIAG_SENDING_INTERVAL
vaxt.yuxu (POLL_INTERVAL)
diag_timer -= POLL_INTERVAL data_timer -= POLL_INTERVAL
KeyboardInterrupt istisna olmaqla:
cloud4rpi.log.info ('Klaviatura kəsilməsi alındı. Durdurulur …')
istisna istisna olmaqla e:
error = cloud4rpi.get_error_message (e) cloud4rpi.log.error ("ERROR! %s %s", səhv, sys.exc_info () [0])
nəhayət:
sys.exit (0)
əgər _ adı_ == '_ əsas_' olarsa:
əsas ()
İndi işlədiyini görmək üçün əl ilə işləyin:
sudo python control.py
Hər şey yaxşıdırsa, dəyişənlərinizi onlayn olaraq görəcəksiniz.
Sistem başlanğıcında control.py faylını işə salmaq üçün onu xidmət olaraq quraşdırın. Cloud4rpi bunu etmək üçün service_install.sh quraşdırma skriptini təqdim edir. Bunu repouma daxil etdim. Control.py -ni bir xidmət olaraq qurmaq üçün işə salın
sudo bash service_install.sh control.py
İndi başlaya bilərsiniz | dayandır | əmri işlədərək bu xidməti yenidən başladın
sudo systemctl cloud4rpi.service başladın
Xidmət əvvəlki vəziyyətini gücdə saxlayır, buna görə də işləyərsə, yenidən başladıqdan və ya güc itkisindən sonra işləyəcək.
Addım 4: Son nəticə
Budur, indi Tilt parametrlərimi buluda göndərirəm, buna görə gözəl bir bulud idarəetmə paneli qura bilərəm. Https://cloud4rpi.io/control-panels səhifəsinə keçin və yeni idarəetmə paneli yaradın, widget əlavə edin və/Gravity və Beer Temp məlumat mənbəyi olaraq seçin. İndi evdən kənarda olsam da nə baş verdiyini izləyə bilərəm.
Kopyaladığım və yazdığım kod burada mövcuddur: https://github.com/superroma/tilt-cloud4rpi. Mükəmməllikdən uzaqdır, yalnız bir Tilt ilə işləyir, cihazın "Rəngi" nə əhəmiyyət vermir və mən ümumiyyətlə Python adamı deyiləm, buna görə düzəlişlər, təkliflər və ya çəngəllər xoş gəlir !
Tövsiyə:
Pivə Batareyası: 7 addım
Pivə Batareyası: Elvisin bir birə qabdan hazırladığı elektrik işlərində rəqs edək. Bu, kartof batareyasından bir addım yuxarıdır. Elektrolit olaraq sirkə və daha böyük mis və alüminium səthlərdən istifadə edir. Bunlar daha çox cərəyanla nəticələnməlidir və bəlkə də əldə etmək üçün kifayətdir
Pivə Sequencer: 7 addım
Pivə Sequencer: Cos'èIl Bira Sequencer və ardıcıllıqla bir addım addım tramite dei pesi. FSR (qüvvə algılayıcı rezistor) istifadə edildikdə, hər hansı bir problemin həlli mümkün deyil. Variantlar
Smartfonunuzdan Blynk App və Raspberry Pi ilə Ev Alətlərini idarə edin: 5 addım (şəkillərlə)
Smartfonunuzdan Blynk App və Raspberry Pi ilə Məişət Cihazlarını İdarə Edin: Bu layihədə, məişət texnikasını (Qəhvə hazırlayıcı, Lamp, Pəncərə pərdəsi və s. Avadanlıq komponentləri: Raspberry Pi 3 Relay Lamp Breadboard Wires Software proqramları: Blynk A
Şəxsi pivə spikeri: 5 addım
Şəxsi Bira Dinamik: Bu hər hansı bir səs cihazı üçün hazırlanmış bir dinamik cihazıdır. EX.: İPod. Hazırlanması göründüyü qədər sadə deyil. Bu yaradılış üçün köhnə bir radiodan çıxardığım iki dinamikdən istifadə etdim. Gördüyünüz kimi, bu spikeri pivə qutusundan düzəltdim. Bağlanmanı təhlükəsiz etmək üçün
Kompüterinizlə Elektrik Əşyalarına Nəzarət Edin: 10 Adım (Şəkillərlə birlikdə)
Elektrik Əşyalarını Kompüterinizlə İdarə Edin: Klaviatura işıqlarınızla nəzarət işıqlarını (və ya hər hansı bir elektrik cihazını) idarə edin. heç bir qıcıqlandırıcı mikro nəzarətçi olmadan !!!! Əvvəlcə demək istəyirəm ki, bu mənim ilk təlimatımdır və çoxlu fotoşəkil çəkməmişəm, həm də bu fikri aldım: USB idarə olunan mini