3.7 KiB
Sıcaklık Yayınlama - Sanal IoT Donanımı ve Raspberry Pi
Bu dersin bu bölümünde, Raspberry Pi veya Sanal IoT Cihazı tarafından algılanan sıcaklık değerlerini MQTT üzerinden yayınlayacaksınız, böylece bu değerler daha sonra GDD hesaplaması için kullanılabilir.
Sıcaklığı Yayınlama
Sıcaklık okunduktan sonra, MQTT üzerinden bir 'sunucu' koduna yayınlanabilir. Bu kod, değerleri okuyacak ve GDD hesaplaması için kullanılmaya hazır bir şekilde saklayacaktır.
Görev - Sıcaklığı yayınlama
Cihazı, sıcaklık verilerini yayınlayacak şekilde programlayın.
-
temperature-sensor
uygulama projesini henüz açmadıysanız açın. -
MQTT'ye bağlanmak ve telemetri göndermek için ders 4'te yaptığınız adımları tekrarlayın. Aynı genel Mosquitto broker'ını kullanacaksınız.
Bu adımlar şunlardır:
- MQTT pip paketini ekleyin
- MQTT broker'ına bağlanmak için kodu ekleyin
- Telemetri yayınlamak için kodu ekleyin
⚠️ Gerekirse MQTT'ye bağlanma talimatlarına ve telemetri gönderme talimatlarına ders 4'ten başvurun.
-
client_name
in bu projenin adını yansıttığından emin olun:client_name = id + 'temperature_sensor_client'
-
Telemetri için, bir ışık değeri göndermek yerine, DHT sensöründen okunan sıcaklık değerini JSON belgesinde
temperature
adlı bir özellik olarak gönderin:_, temp = sensor.read() telemetry = json.dumps({'temperature' : temp})
-
Sıcaklık değeri çok sık okunmak zorunda değil - kısa bir süre içinde çok fazla değişmeyecektir, bu yüzden
time.sleep
i 10 dakikaya ayarlayın:time.sleep(10 * 60);
💁
sleep
fonksiyonu zamanı saniye cinsinden alır, bu yüzden okunabilirliği artırmak için değer bir hesaplama sonucu olarak geçirilir. Bir dakikada 60 saniye olduğundan, 10 x (bir dakikadaki 60 saniye) 10 dakikalık bir gecikme sağlar. -
Kodu, ödevin önceki bölümündeki kodu çalıştırdığınız şekilde çalıştırın. Eğer bir sanal IoT cihazı kullanıyorsanız, CounterFit uygulamasının çalıştığından ve nem ve sıcaklık sensörlerinin doğru pinlerde oluşturulduğundan emin olun.
pi@raspberrypi:~/temperature-sensor $ python3 app.py MQTT connected! Sending telemetry {"temperature": 25} Sending telemetry {"temperature": 25}
💁 Bu kodu code-publish-temperature/virtual-device klasöründe veya code-publish-temperature/pi klasöründe bulabilirsiniz.
😀 Cihazınızdan sıcaklığı telemetri olarak başarıyla yayınladınız.
Feragatname:
Bu belge, AI çeviri hizmeti Co-op Translator kullanılarak çevrilmiştir. Doğruluğu sağlamak için çaba göstersek de, otomatik çevirilerin hata veya yanlışlık içerebileceğini lütfen unutmayın. Belgenin orijinal dili, yetkili kaynak olarak kabul edilmelidir. Kritik bilgiler için profesyonel insan çevirisi önerilir. Bu çevirinin kullanımından kaynaklanan yanlış anlamalar veya yanlış yorumlamalar için sorumluluk kabul etmiyoruz.