Raspberry Pi

MQTT ile 10 Raspberry Pi 5 IoT Projesi (Sensör Merkezlerinden Yapay Zeka Kameralarına)

Mesajlaşma için MQTT kullanan on pratik Raspberry Pi 5 IoT projesi; her biri için donanım, topic düzeni ve başlangıç kodu, ev sensör merkezinden yapay zeka kamerasına ve fabrika ağ geçidine kadar.

Sensörler, bir kamera ve bir pano ekranıyla çevrili Raspberry Pi 5; MQTT ile Raspberry Pi 5 IoT projelerini gösteren illüstrasyon
Bunu kendi MQTT broker’ınızda çalıştırınFree planla özel, yönetilen bir MQTT broker alın ve hazır kod örnekleriyle başlayın.
Ücretsiz deneyin Kod örnekleri Kart gerekmez

Bu Raspberry Pi 5 IoT projeleri, en yeni Pi'nin neyi iyi yaptığını gösteriyor: daha fazla işlemci kapasitesi, hızlı NVMe depolama, iki kamera konnektörü ve isteğe bağlı bir yapay zeka hızlandırıcı; üstelik hepsi önceki Python ve Node-RED araçlarını çalıştırmaya devam eden bir kartta. Aşağıdaki on projenin her biri mesajlaşma için MQTT kullanır; böylece parçalar birbirleriyle, panolarla ve telefonunuzla konuşabilir. Her birini özel kimlik bilgilerine taşımadan önce broker.connectmq.com adresindeki ücretsiz broker'da deneyebilirsiniz.

Raspberry Pi 5 IoT İçin Neyi Değiştiriyor?

Pi 5, sürekli açık kalan projeler için Pi 4'e göre önemli bir sıçramadır. Dört çekirdekli Cortex-A76 işlemcisi, yerel veritabanları, bilgisayarlı görü ve birden fazla protokol köprüsü gibi daha ağır iş yüklerini aynı anda çalıştırır. Bir PCIe konnektörü M.2 HAT+ üzerinden NVMe SSD'leri kabul eder; bu da SD kartı bir güvenilirlik zayıf noktası olmaktan çıkarır. Kart; gerçek zamanlı saat (pil konnektörüyle), güç düğmesi ve iki adet dört şeritli kamera/ekran konnektörü ekler. GPIO yeni RP1 G/Ç denetleyicisine taşındı; pinleri sürmek için lgpio arka ucuyla gpiozero gibi güncel kütüphanelerin tercih edilmesinin nedeni budur.

Bunun bedelleri güç ve ısıdır: Pi 5, USB çevre birimlerini tam akımla çalıştırmak için 5 V 5 A USB-C güç kaynağı ister ve sürekli yük altında Active Cooler'dan fayda görür. Pille çalışan sensör düğümleri için okumalar arasında uyuyup yalnızca yayın yapmak için uyandıklarından, genellikle bir Pico W veya ESP32 daha iyi bir seçimdir; Pi 5 ise merkez görevi görür.

Ortak Bir Topic Düzeni

On projenin hepsi aynı topic kuralını kullanır; böylece daha sonra hiçbir şeyi yeniden adlandırmadan bunları birleştirebilirsiniz:

connectmq/demo/<your-id>/<project>/<device>/<measurement>
connectmq/demo/<your-id>/<project>/<device>/status          (retained, Last Will)
connectmq/demo/<your-id>/<project>/<device>/<output>/set    (commands, not retained)

Ve her projenin genişlettiği aynı minimal yayıncı:

import json, time, uuid
import paho.mqtt.client as mqtt

PREFIX = "connectmq/demo/p5x9m3"
client = mqtt.Client(mqtt.CallbackAPIVersion.VERSION2, client_id=f"pi5-{uuid.uuid4().hex[:8]}")
client.will_set(f"{PREFIX}/hub/pi5/status", "offline", qos=1, retain=True)
client.connect("broker.connectmq.com", 1883, keepalive=30)
client.loop_start()
client.publish(f"{PREFIX}/hub/pi5/status", "online", qos=1, retain=True)

while True:
    with open("/sys/class/thermal/thermal_zone0/temp") as f:
        cpu_c = int(f.read()) / 1000
    client.publish(f"{PREFIX}/hub/pi5/cpu_temp", json.dumps({"value": cpu_c, "ts": int(time.time())}), qos=1)
    time.sleep(10)

Bir Bakışta 10 Proje

# Proje Temel donanım Zorluk
1 Ev sensör merkezi BME280, DS18B20 Başlangıç
2 Enerji izleyici Modbus enerji sayacı veya CT pens ADC Orta
3 Nesne olayları üreten yapay zeka kamerası Camera Module 3 veya AI Camera, AI Kit İleri
4 Çok protokollü ağ geçidi BLE, LoRa, Modbus Orta
5 Duvara monte MQTT panosu Dokunmatik ekran Başlangıç
6 Yerel zaman serisi yığını NVMe SSD Orta
7 Akıllı sulama denetleyicisi Röleler, toprak nem sensörleri Orta
8 Hava kalitesi istasyonu PM2.5 ve CO2 sensörleri Başlangıç
9 Makine izleme ağ geçidi Modbus TCP veya CAN İleri
10 Filo sağlığı izleyici Ek donanım yok Başlangıç

1. Ev Sensör Merkezi

I2C üzerinden bir BME280 (sıcaklık, nem, basınç) ve one-wire üzerinden birkaç DS18B20 probu bağlayın, ardından panoların değerleri hemen göstermesi için her ölçümü dakikada bir retained mesajlarla yayınlayın. Pi 5'in aynı kartta Node-RED veya Home Assistant çalıştıracak kapasitesi de vardır. DS18B20 probları su geçirmezdir; bu da onları tanklar, buzdolapları ve dış ortam ölçümleri için uygun kılar.

2. Enerji İzleyici

Bir USB-RS485 adaptörüyle Modbus RTU üzerinden DIN raylı bir enerji sayacını okuyun veya CT pensler ve bir ADC HAT ile akımı ölçün. Gücü birkaç saniyede bir, enerji toplamlarını ise dakikada bir yayınlayın. Güç tüketimine yönelik eşik alarmları, bir cihaz açık unutulduğunda sizi uyarabilir. Dağıtım panosunun içine takılacak her şeyi yetkili bir elektrikçiye yaptırın.

3. Nesne Olayları Üreten Yapay Zeka Kamerası

Pi 5'in parladığı yer burasıdır. Camera Module 3'ü Hailo tabanlı AI Kit veya AI HAT+ ile ya da modeli sensörün kendisinde çalıştıran Raspberry Pi AI Camera'yı kullanın. Algılamayı yerelde çalıştırın ve video değil, olay yayınlayın: .../camera/front/detections üzerinde {"label": "person", "confidence": 0.91, "zone": "driveway"} gibi küçük bir JSON mesajı. Görüntüleri Pi'de tutun veya ayrı olarak yükleyin; MQTT meta verileri taşır. MQTT ile kamera hareket algılama eğitimi, yapay zeka içermeyen iyi bir başlangıç noktasıdır.

4. Çok Protokollü Ağ Geçidi

Bluetooth sensörlerini, bir LoRa radyosunu ve bir Modbus cihazını tek bir Pi 5'te birleştirin; her biri kendi servisi olarak çalışıp tek bir topic ağacına yayın yapsın. Ek çekirdekler, üç köprünün de işlemci için yarışmadan çalışmasını sağlar. Bluetooth tarafı için Raspberry Pi BLE'den MQTT'ye köprü rehberini izleyin, ardından diğerlerini birer birer ekleyin.

5. Duvara Monte MQTT Panosu

Resmi dokunmatik ekranı takın, tam ekran bir tarayıcıyla açılış yapın ve 8084 portunda güvenli WebSocket üzerinden abone olan bir pano gösterin. Pi 5 web sayfalarını akıcı biçimde işlediği için grafikler ve canlı göstergeler hızlı tepki vermeye devam eder. Evin başka yerlerindeki ışıklar veya röleler için .../set topic'lerine komut yayınlayan düğmeler ekleyin.

6. Yerel Zaman Serisi Yığını

M.2 HAT+ üzerine bir NVMe SSD takın ve Telegraf, InfluxDB ile Grafana'yı çalıştırın. Telegraf, MQTT topic'lerinize normal bir istemci olarak abone olup InfluxDB'ye yazar; Grafana da geçmişi grafiğe döker. SSD, sürekli yazma işlemlerini bir SD karttan çok daha iyi kaldırır. Kurulum Raspberry Pi üzerinde Grafana ve InfluxDB rehberinde anlatılıyor.

7. Akıllı Sulama Denetleyicisi

Bir ADC üzerinden kapasitif toprak nem sensörleri, vanalar için bir röle kartı ve küçük bir betikle çekilen hava tahmini: Pi ne zaman sulanacağına karar verir ve her kararı yayınlar. Komutları retained olmayan mesajlar olarak gönderin ve kodda vana başına maksimum çalışma süresi ekleyin; böylece kopan bir bağlantı suyu asla açık bırakmaz.

8. Hava Kalitesi İstasyonu

Seri bağlantılı bir PM2.5 partikül sensörü ve I2C üzerinden bir NDIR CO2 sensörü, iç mekan havası hakkında faydalı bir tablo sunar. Her ikisini de 30 saniyede bir yayınlayın ve CO2 yükseldiğinde alarm verin; bu, bir odayı havalandırmak için pratik bir hatırlatmadır. İlk ölçümlere güvenmeden önce sensörlerin birkaç dakika ısınmasına izin verin.

9. Makine İzleme Ağ Geçidi

Bir atölyede veya küçük bir fabrikada Pi 5, bir PLC'yi Modbus TCP üzerinden sorgulayabilir veya bir makinenin CAN veri yolunu dinleyebilir, ardından durumları ve sayaçları site1/workshop/line1/press2/state gibi ISA-95 tarzı bir yol altında yayınlayabilir. Bu yapı bir Unified Namespace'i besler ve tesis hiyerarşilerini anlayan araçlarla çalışır. Pano içi kurulumlar için 24 V beslemeli ve DIN raya monte edilebilen, endüstriyel Compute Module tabanlı bir cihazı değerlendirin.

10. Filo Sağlığı İzleyici

Birden fazla Pi çalıştırıyorsanız her birinin dakikada bir işlemci sıcaklığını, kısma (throttling) bayraklarını, disk alanını ve çalışma süresini, ayrıca retained bir Last Will durumunu yayınlamasını sağlayın. Böylece tek bir pano her cihazın sağlığını gösterir ve dolan bir disk veya aşırı ısınma kesintiye yol açmadan önce alarmlar tetiklenir. Yukarıdaki minimal yayıncı zaten ilk adımdır: shutil.disk_usage("/") ile disk kullanımını ve vcgencmd get_throttled çıktısını ekleyin.

Herhangi Bir Projeyi Üretime Hazır Hale Getirmek

Yukarıdaki her proje, deneyler için mükemmel olan ama herkes tarafından okunabilen ücretsiz genel MQTT broker üzerinde başlar. Bir projeye güvenmeden önce şu listeyi tamamlayın:

  1. 8883 portunda TLS ve cihaz başına kimlik bilgileriyle özel bir broker'a geçin.
  2. Her betiği otomatik yeniden başlatmalı bir systemd servisi olarak çalıştırın.
  3. SD kart yerine NVMe veya USB SSD'den önyükleme yapın.
  4. Ağ kesintileri sırasında ölçümleri yerelde tamponlayın.
  5. SSH'yi sıkılaştırın, güvenlik duvarını etkinleştirin ve işletim sistemini güncel tutun.
  6. Bir cihazın ne zaman durduğunu bilmek için heartbeat ve Last Will yayınlayın.

Raspberry Pi güvenilirlik ipuçları 2 ile 4 arasındaki maddeleri ayrıntılı ele alıyor; Pi'de MQTT sizin için yeniyse başlangıç noktası Raspberry Pi MQTT eğitimidir. Resmi Raspberry Pi 5 dokümantasyonu kartın konnektörlerini ve güç gereksinimlerini listeler.

Bir bulut MQTT broker on projeyi bir araya getirir: evdeki sensörler, atölyedeki ağ geçidi ve telefonunuzdaki pano, port yönlendirmesi olmadan aynı broker'a dışarı doğru bağlanır. ConnectMQ tam olarak bunu, portala yerleşik canlı topic gezgini, eşik alarmları ve cihaz görünümüyle yönetilen bir hizmet olarak sunar.

Bir Sonraki Pi 5 Projenizi ConnectMQ Üzerinde Kurun

app.connectmq.com adresinde kredi kartı gerekmeden ücretsiz bir ConnectMQ Serverless broker oluşturun; birkaç dakika içinde TLS kimlik bilgilerinize sahip olursunuz. Bu projelerden herhangi birini ona yönlendirin ve Pi bağlanır bağlanmaz topic'lerinizin tarayıcıda belirdiğini izleyin.

Sık Sorulan Sorular

Raspberry Pi 5 basit IoT projeleri için fazla mı?

Tek bir sensör için çoğu zaman evet; bir Pico W veya Zero 2 W daha ucuzdur ve daha az güç tüketir. Pi 5, tek bir cihaz birkaç servis, bir veritabanı veya bilgisayarlı görü çalıştırdığında kendini amorti eder.

Pi 4 projeleri Pi 5'te çalışır mı?

Çoğu çalışır. Başlıca istisna, Pi 5'i desteklemeyen RPi.GPIO için yazılmış GPIO kodudur; gpiozero veya lgpio'ya geçin.

Pi 5'te hangi MQTT kütüphanesini kullanmalıyım?

Python için standart tercih paho-mqtt 2.x'tir; akış tabanlı projelerde Node-RED'in yerleşik MQTT düğümleri iyi çalışır. Her ikisi de Pi 5'te değişiklik yapılmadan çalışır.

Birden fazla proje tek bir broker'ı paylaşabilir mi?

Evet. Her projeye kendi topic dalını ve her cihaza kendi client ID'sini verin; planınızın bağlantı limitleri dahilinde tek bir broker hepsine hizmet edebilir.

İlgili yazılar

RC522 Okuyucu ile Raspberry Pi RFID MQTT Erişim Kaydı

Bir RC522 RFID okuyucuyu Raspberry Pi'ye bağlayın, etiketleri Python ile okuyun, yerel bir izin listesiyle karşılaştırın ve her erişim denemesini kayıt araçlarının, panellerin ve uyarı araçlarının tüketebileceği bir MQTT olayı olarak yayınlayın.

6 dk okuma

Tüm yazılar →

Özel MQTT broker’ınız birkaç tık uzağınızda

Hesabınızı oluşturun, broker kimlik bilgilerinizi alın ve ilk cihazınızı bağlayın — kurulacak, yamalanacak ya da ölçeklendirilecek sunucu yok.