IoT Otomasyon

MQTT ile Akıllı Tarım IoT: Sensörler, Bağlantı ve Mimari

Akıllı tarım IoT için pratik bir rehber: hangi sensörler önemli, Wi-Fi olmayan tarlalar nasıl bağlanır, bir çiftlik için MQTT topic'leri nasıl yapılandırılır ve sistem mevsimler boyunca nasıl çalışır durumda tutulur.

Toprak probları, hava istasyonu, sulama vanaları ve bir MQTT broker'ına veri gönderen LoRaWAN ağ geçidi bulunan akıllı tarım IoT tarlası
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

Akıllı tarım IoT, su, iklim ve hayvanlarla ilgili kararların tahmine değil ölçüme dayanması için tarlalara, seralara ve ahırlara sensörler ve aktüatörler yerleştirmek demektir. Bu rehber hangi sensörlerin kurulmaya değer olduğunu, Wi-Fi veya şebeke elektriği olmayan alanların nasıl bağlanacağını, tüm çiftlik için tek bir MQTT topic yapısının nasıl tasarlanacağını ve sistemin tam bir yetiştirme sezonu boyunca nasıl güvenilir tutulacağını açıklıyor.

Akıllı Tarım IoT Aslında Neyi Ölçer?

Çiftlikler birbirinden farklıdır, ancak faydalı ölçümler birkaç gruba ayrılır. En pahalı sorunuzu yanıtlayan grupla başlayın (genellikle sudur) ve veri yolu çalıştıktan sonra diğerlerini ekleyin.

Alan Tipik sensörler Desteklediği kararlar
Toprak Kapasitif veya TDR nem, toprak sıcaklığı, EC (tuzluluk) Ne zaman ve ne kadar süre sulanacağı, gübreleme zamanlaması
Hava durumu Hava sıcaklığı, nem, yağmur ölçer, rüzgâr, güneş radyasyonu, yaprak ıslaklığı Don uyarıları, ilaçlama pencereleri, evapotranspirasyon tahminleri
Sulama Debimetreler, basınç sensörleri, vana konumu, pompa akımı Kaçak tespiti, suyun gerçekten verildiğinin doğrulanması
Örtü altı yetiştiricilik Sera iklimi, CO2, ışık Havalandırma, ısıtma, sisleme, gölgeleme
Hayvancılık Suluk seviyesi, ahır iklimi, GPS tasmaları, yem silosu seviyesi Hayvan refahı, hırsızlık ve kaçma uyarıları, dolum planlaması
Depolama Tahıl silosu sıcaklığı ve nemi, soğuk oda sıcaklığı Bozulmanın önlenmesi

Yaygın bir hata, her okumanın hangi eylemi tetikleyeceğine karar vermeden büyük bir sensör kiti satın almaktır. Kimsenin harekete geçmediği bir toprak nemi değeri yalnızca bir grafiktir. Önce kararı, ardından ölçümü ve onun gerektirdiği örnekleme aralığını yazın.

Yerleşim, sensörün kendisi kadar önemlidir. Tarlada kumlu ve killi bölgeler varsa tarla başına bir toprak probu size pek bir şey söylemez; kök derinliğinde, temsil edici bir noktaya yerleştirilen sulama bölgesi başına bir prob daha iyi bir başlangıç kuralıdır. Hava istasyonları binalardan ve ağaçlardan uzak açık arazide olmalı, ahır sensörleri ise çatıya yakın değil hayvan yüksekliğinde durmalıdır.

Wi-Fi Olmadan Bağlantı

Tarlalar nadiren Wi-Fi ile kaplıdır ve üzerlerinden kablo çekmek pratik değildir. Telsiz seçimi pil ömrünü, maliyeti ve gönderebileceğiniz payload'ları belirler.

Seçenek Menzil Güç En uygun olduğu yer
Wi-Fi Onlarca metre Yüksek Seralar, ahırlar, binaların yakını
LoRaWAN Açık arazide birkaç kilometre Çok düşük Birkaç dakikada bir küçük okumalar gönderen tarla sensörleri
NB-IoT / LTE-M Operatörün kapsama alanı olan her yer Düşük ila orta Ağ geçidi olmayan uzak alanlar, hareketli varlıklar
Hücresel (4G) router Operatör kapsama alanı Yüksek (şebeke veya büyük güneş paneli) Pompa evleri, ağ geçitleri, kameralar

Çoğu çiftlik için işe yarayan kalıp bir karışımdır: binaların içinde Wi-Fi veya Ethernet, pille çalışan tarla sensörleri için LoRaWAN ve çiftlikte sabit internet yoksa ağ geçidinde bir hücresel router. LoRaWAN payload'ları çok küçüktür (onlarca bayt); bu yüzden cihazlar, bir ağ sunucusunun JSON'a çözdüğü kompakt ikili veri gönderir.

Tüm Çiftlik İçin Tek Broker

Telsiz ne olursa olsun, veri her aracın kullanabileceği tek bir yerde toplanmalıdır. MQTT bu role çok uygundur: cihazlar veya ağ geçitleri yayın yapar; paneller, sulama denetleyicileri, uyarı sistemleri ve depolama birbirinden bağımsız olarak abone olur. Yeni bir tüketici eklemek hiçbir zaman bir sensöre dokunmayı gerektirmez.

 Field sensors --LoRaWAN--> Gateway --> TTN / ChirpStack --+
 Greenhouse ESP32 --Wi-Fi/TLS---------------------------+  |
 Pump controller --4G router---------------------------+|  |
                                                       vvv v
                                               MQTT broker (cloud)
                                                 |    |     |
                                    Node-RED logic  Dashboard  Python logger

LoRaWAN ağ sunucuları kendi MQTT arayüzlerini sunar. Küçük bir köprü oraya abone olur ve çözülmüş okumaları çiftliğinizin topic ağacına yeniden yayınlar; bu, The Things Network MQTT ve ChirpStack eğitimlerinde gösteriliyor. Seradaki bir ESP32 gibi Wi-Fi cihazları doğrudan broker'a yayın yapar.

Bu broker'ı bir çiftlik bilgisayarında kendiniz çalıştırmak, elektrik kesildiğinde onun da kapanması ve uzaktan erişim için port yönlendirme gerekmesi anlamına gelir. Bir bulut MQTT broker'ına ise çiftlik ağını açmadan her tarladan, her telefondan ve her yükleniciden erişilebilir.

Bir Çiftlik İçin Topic Tasarımı

Tutarlı bir hiyerarşi wildcard'ları faydalı kılar ve sistemi yıllar sonra bile anlaşılır tutar. İşe yarayan bir kalıp:

<farm>/<site>/<zone>/<device>/<kind>

greenfield/north/field3/soil-07/telemetry
greenfield/north/field3/soil-07/status
greenfield/north/field3/valve-02/set
greenfield/north/field3/valve-02/state
greenfield/barn/climate/th-01/telemetry
greenfield/barn/trough-2/level-01/telemetry

Bu yapıyla greenfield/north/+/+/telemetry size kuzey alanındaki tüm sensörleri, greenfield/+/+/+/status ise her cihazın çevrimiçi durumunu verir. Payload'ları alan adlarında birimler bulunan veya sabit bir şemaya sahip JSON olarak tutun:

{
  "ts": "2026-10-16T06:15:00Z",
  "moisture_pct": 31.5,
  "soil_temp_c": 14.2,
  "battery_v": 3.71,
  "rssi": -112
}

Her mesaja pil voltajını ve telsiz sinyal gücünü eklemek birkaç bayta mal olur ama saatlerce süren saha ziyaretlerinden kurtarır, çünkü arızalanmakta olan bir sensörü raporlamayı bırakmadan önce görebilirsiniz. Bağlı her cihazdan offline last will ile retained bir status mesajı yayınlayın; böylece paneller hangilerinin kaybolduğunu hemen bilir.

İşletme, tesis, alan ve varlık açısından düşünüyorsanız, bu bir ISA-95 hiyerarşisiyle aynı fikirdir ve ConnectMQ'nun cihazlar görünümü topic'leri bu seviyelere göre otomatik olarak gruplar.

Python ile Minimal Bir Toplayıcı

Veri akmaya başladığında ilk faydalı tüketici genellikle eskimiş veya aralık dışı sensörleri işaretleyen basit bir abonedir. Bu örnek, hemen deneyebilmeniz için benzersiz bir önekle herkese açık test broker'ını kullanır.

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

BROKER = "broker.connectmq.com"
PREFIX = "connectmq/demo/f7q2m1/farm"
STALE_AFTER_S = 3 * 3600
last_seen = {}

def on_connect(client, userdata, flags, reason_code, properties):
    print("connected:", reason_code)
    client.subscribe(f"{PREFIX}/+/+/+/telemetry", qos=1)

def on_message(client, userdata, msg):
    device = "/".join(msg.topic.split("/")[4:7])
    last_seen[device] = time.time()
    try:
        data = json.loads(msg.payload)
    except ValueError:
        print("bad payload from", device)
        return
    if data.get("battery_v", 4.0) < 3.4:
        print(f"LOW BATTERY {device}: {data['battery_v']} V")
    if data.get("moisture_pct", 50) < 20:
        print(f"DRY SOIL {device}: {data['moisture_pct']} %")

client = mqtt.Client(mqtt.CallbackAPIVersion.VERSION2, client_id="farm-agg-f7q2m1")
client.on_connect = on_connect
client.on_message = on_message
client.connect(BROKER, 1883, keepalive=60)
client.loop_start()

while True:
    now = time.time()
    for device, ts in list(last_seen.items()):
        if now - ts > STALE_AFTER_S:
            print(f"STALE {device}: no data for {int((now - ts) / 60)} min")
    time.sleep(300)

mosquitto_pub -h broker.connectmq.com -p 1883 -i t-f7q2m1 -t 'connectmq/demo/f7q2m1/farm/north/field3/soil-07/telemetry' -m '{"moisture_pct":18,"battery_v":3.3}' ile bir test okuması yayınlayın; iki uyarı da ekrana yazılır.

Güç ve Muhafazalar

Saha donanımı yağmur, toz, sıcak ve don altında yaşar. Neredeyse her kuruluma uyan pratik dersler:

  1. Önce güç bütçesini planlayın. Okumalar arasında uyuyan ve LoRaWAN üzerinden ileten bir sensör pillerle uzun süre çalışabilir; sürekli bağlı kalan bir Wi-Fi cihazı çalışamaz. Şarj kontrol cihazlı küçük güneş panelleri ağ geçitleri ve denetleyiciler için uygundur.
  2. Sınıflandırılmış muhafazalar ve kablo rakorları kullanın. Kutunun içindeki yoğuşma, dışarıdaki yağmurdan daha fazla elektronik cihaz öldürür. Nefes alabilen bir havalandırma tıpası ve nem alıcı ekleyin.
  3. Ürün boyunun üstüne ve makine geçiş yollarından uzağa monte edin. Traktörler ve biçme makineleri kablolar ve kazıklar için gerçek bir tehlikedir.
  4. Her cihazı kimliği ve topic'iyle etiketleyin; böylece onu sahada bulan kişi ne olduğunu bilir.
  5. Sezon dışını planlayın. İhtiyaç duyulmayan sensörleri toplayın veya kışa hazırlayın ve sökmeden önce kalibrasyon değerlerini kaydedin.

Güvenlik ve Veri Sahipliği

Çiftlik verisi verimi, uygulamaları ve sahada kimsenin olmadığı zamanları ortaya koyar. Çiftlikten çıkan her bağlantıyı TLS ile şifreleyin, her ağ geçidi veya denetleyici için ayrı kimlik bilgileri kullanın ve gerçek verileri asla herkese açık bir test alanına yayınlamayın. Aktüatörler en fazla özeni hak eder: bir vananın set topic'ine yayın yapabilen herkes onu açabilir. MQTT güvenliği en iyi uygulamaları rehberi temel konuları ele alır; yönetilen bir MQTT broker'ı ise TLS sertifikalarını, kimlik doğrulamayı ve broker'ın güncel tutulmasını üstlenir.

Nereden Başlamalı?

Küçük başlayın: bir toprak sensörü, bir hava okuması, bir broker ve bir panel. Toprak nem sensörü MQTT projesi iyi bir ilk cihazdır; okumalar güvenilir hale geldiğinde otomatik sulama sistemi eğitimi vanaları sürerek döngüyü kapatır. Evler, binalar ve çiftlikler genelinde daha geniş kalıplar için IoT otomasyon rehberi her şeyi bir araya getirir.

Çiftlik Ağınızı ConnectMQ Üzerinde Kurun

ConnectMQ, çiftliğinize TLS'li özel bir MQTT broker'ı, üretilmiş kimlik bilgileri, canlı bir topic gezgini, bir panel ve don veya kuru toprak gibi kritik değerler için eşik uyarı kuralları sunar. app.connectmq.com adresinde kredi kartı gerekmeden ücretsiz bir Serverless broker oluşturun ve ilk tarla sensörünüzü bugün bağlayın.

Sık Sorulan Sorular

Akıllı tarım IoT için LoRaWAN mı yoksa Wi-Fi mı daha iyi?

Tarlalara yayılmış pille çalışan sensörler için LoRaWAN, binaların içindeki veya yakınındaki cihazlar için Wi-Fi. Birçok çiftlik ikisini birden kullanır ve bunları MQTT broker'ında birleştirir.

Çiftlik sensörleri ne sıklıkla rapor vermeli?

Toprak nemi yavaş değişir; bu nedenle 15 ila 60 dakikada bir genellikle yeterlidir. Don ve sera iklimi ise bir ila beş dakikada bir olmak üzere daha sık güncelleme gerektirir.

Çiftlikte bir sunucuya ihtiyacım var mı?

Mutlaka değil. Ağ geçitleri ve denetleyiciler hücresel veya sabit internet üzerinden doğrudan bir bulut broker'ına yayın yapabilir; mantık ise Node-RED veya Python'da, nerede uygunsa orada çalışabilir.

MQTT güvenilmez kırsal bağlantılarda çalışır mı?

Evet. MQTT hafiftir, kalıcı oturumları ve QoS 1 ile yeniden teslimatı destekler ve istemciler otomatik olarak yeniden bağlanır; bu da kesintili hücresel bağlantılara uygundur.

İlgili yazılar

Zigbee2MQTT Kurulum Rehberi: Koordinatörden Panoya

Zigbee2MQTT'yi Docker ile kurun, koordinatörü ve MQTT bağlantısını yapılandırın, cihazları eşleştirip yeniden adlandırın, onları MQTT üzerinden kontrol edin ve durumlarını bir panoda görüntüleyin; önce ücretsiz herkese açık bir broker'da test edin.

7 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.