Ünite 7 / 12

Haberleşme Protokolleri ve Ağ Yığını

Kazanimlar:

  • I2C/SPI/UART ve TCP/IP, MQTT gibi protokollerin çerçeve/paket yapısını AI desteğiyle çözümleyebilme
  • Protokol hatalarını (zamanlama, adresleme, checksum) AI ile hipotez halinde daraltabilme
  • AI'ın protokol yorumunu standart belgesi, analizör (logic/paket) ölçümüyle doğrulayabilme

Protokol, iki cihazın birbirini anlaması için üzerinde anlaştıkları kurallar bütünüdür: hangi hızda, hangi sırayla, hangi biçimde konuşacaklar. Bir sıcaklık sensörünün mikrodenetleyiciyle I2C üzerinden konuşması da, bir cihazın bulut sunucusuyla TCP/IP ve MQTT üzerinden konuşması da bir protokole dayanır. Bu ünitede AI'ı protokol çerçevelerini/paketlerini çözümlemede, protokol hatalarını daraltmada ve haberleşme yığınını (stack: fiziksel katmandan uygulamaya kadar üst üste duran katmanlar) anlamada nasıl kullanacağınızı göreceksiniz. AI protokolleri açıklamada ve hipotez üretmede güçlüdür; ama bir hattın gerçekte ne yaptığı yalnızca analizör ölçümüyle (mantıksal analizör, protokol/paket analizörü) ve standart belgesiyle bilinir.

Gömülü seri protokoller: I2C, SPI, UART

Bir kart üzerindeki yongalar genellikle üç seri protokolle konuşur:

  • UART: İki hat (TX/RX), saat hattı yok; her iki taraf aynı hızda (baud rate) ayarlanmalı. Basit ama senkronizasyon hıza bağlı.
  • SPI: Saat (SCLK), veri giriş/çıkış (MOSI/MISO) ve seçim (CS) hatları; hızlı, tam çift yönlü, ama daha çok pin ister. Saat kutbu/fazı (CPOL/CPHA) iki tarafta uyuşmalı.
  • I2C: İki hat (SDA/SCL), adres tabanlı, çok cihaz aynı hatta; çekme dirençleri (pull-up) ve ortak toprak şart. Yavaş ama pin ekonomik.

AI bu protokollerin nasıl çalıştığını, çerçeve yapısını ve tipik arıza nedenlerini çok iyi açıklar. Bir I2C cihazı yanıt vermediğinde olası nedenleri (yanlış adres, eksik pull-up, hız uyumsuzluğu, ortak toprak yokluğu, hat çekişmesi, kablo uzunluğu/kapasitans) sistematik listeler. Ama bunların hangisinin gerçek olduğu, hattı mantıksal analizörle ölçüp SDA/SCL dalgalarına bakınca anlaşılır; AI hipotez verir, ölçüm karar verir.

İpucu: Bir seri protokol arızasında AI'a "olası nedenleri en olasıdan en olasız'a sırala ve her biri için analizörde ne görürsem doğrulanır" diye sorun. Böylece ölçümü hedefli yaparsınız; her nedeni tek tek denemek yerine analizör görüntüsü sizi doğru dala götürür.

Ağ protokolleri: TCP/IP, UDP, MQTT, CoAP

Cihazlar ağa ve buluta bağlandıkça katmanlı protokoller devreye girer. TCP/IP yığını temelde katmanlıdır: fiziksel/veri bağı (Ethernet, Wi-Fi), ağ (IP: adresleme ve yönlendirme), taşıma (TCP: güvenilir, sıralı, akış kontrollü / UDP: hızlı, güvencesiz) ve uygulama (HTTP, MQTT, CoAP). Anahtar kavramlar:

  • TCP vs UDP: TCP kaybı telafi eder ve sırayı garanti eder ama gecikme ve yük getirir; UDP hızlıdır ama teslim garantisi yoktur (gerçek zamanlı ses/video, telemetride tercih edilir).
  • MQTT: Yayınla-abone ol (publish-subscribe) modeliyle çalışan hafif IoT mesaj protokolü; bir broker üzerinden konular (topic) üzerinden mesajlaşma. QoS seviyeleri teslim güvencesini ayarlar.
  • CoAP: Kısıtlı cihazlar için HTTP benzeri, UDP tabanlı hafif protokol.

AI bu protokollerin çerçeve/paket yapısını çözümler, bir Wireshark (paket analizörü) yakalamasını yorumlamanıza yardım eder ve bir MQTT topic tasarımını gözden geçirir. Ama gerçek trafiğin ne olduğu paket yakalamayla, sunucu davranışı gerçek testle doğrulanır.

Checksum, CRC ve çerçeveleme

Protokollerin çoğu, verinin bozulmadığını kontrol etmek için bir sağlama (checksum) veya CRC (Cyclic Redundancy Check / döngüsel fazlalık denetimi) kullanır: gönderen veriden bir doğrulama değeri hesaplar, alıcı aynı hesabı yapıp karşılaştırır. AI, CRC/checksum hesabını açıklar ve kod yazar, ama polinom seçimi, bit sırası (endianness), başlangıç değeri gibi ayrıntılar standarda özgüdür; AI'ın ürettiği CRC kodu, protokolün resmî tanımıyla birebir karşılaştırılmalı ve bilinen bir test vektörüyle doğrulanmalıdır.

Üç mini vaka

Vaka 1 — Eksik pull-up. Bir ekip, breadboard'da I2C sensörünü çalıştıramaz; cihaz adresini onaylamaz (ACK yok). AI, en olası neden olarak eksik pull-up direncini ve ortak toprağı listeler. Mantıksal analizörle SDA hattına bakınca sinyalin yüksek seviyeye tam çıkamadığı görülür; pull-up dirençleri eklenince haberleşme başlar. Ders: AI en olası nedeni öne çıkardı, analizör onu doğruladı.

Vaka 2 — Yanlış SPI modu. Bir mühendis, SPI cihazından anlamsız veri okur. AI, olası neden olarak saat kutbu/fazı (CPOL/CPHA) uyumsuzluğunu öne sürer. Analizörde saatin cihazın beklediği kenardan farklı örneklediği görülür; mod düzeltilince veri anlamlanır. Ders: SPI'da "veri var ama saçma" belirtisi çoğu zaman mod uyumsuzluğudur; ölçüm bunu netleştirir.

Vaka 3 — MQTT QoS yanlış anlaşılması. Bir stajyer, MQTT ile telemetri gönderir ama bazı mesajların kaybolduğunu görür ve AI'a sorar. AI, QoS 0'ın "en fazla bir kez, teslim garantisiz" olduğunu; teslim garantisi için QoS 1/2 gerektiğini ama bunun yük ve gecikme getirdiğini açıklar. Stajyer telemetri kritikliğine göre QoS 1'e geçer ve broker davranışını gerçek testle doğrular. Ders: AI protokol seçeneğini açıklar; doğru seçim uygulamaya göre yapılır ve testle doğrulanır.

Kopyalanabilir prompt şablonları

PROTOKOL ARIZA DARALTMA ŞABLONU"[I2C/SPI/UART/TCP/MQTT] haberleşmesinde şu belirti var: [belirti].Olası nedenleri EN OLASIDAN en olasız'a sırala. Her neden için:(1) neden bu belirtiyi verir, (2) analizörde/ölçümde ne görürsemDOĞRULANIR, (3) ne görürsem ELENİR. Kesin tanı KOYMA; ölçümledaraltacağım bir karar ağacı çıkar."

ÇERÇEVE/PAKET ÇÖZÜMLEME ŞABLONU"Aşağıdaki [I2C/SPI/UART bayt dizisi / paket yakalaması] içeriğinialanlarına ayır ve her alanı açıkla (adres, komut, veri, checksum/CRC, bayrak). Endianness ve bit sırası konusunda varsayımını açıkçabelirt. Yorumunu protokolün resmî tanımıyla ve bir test vektörüyledoğrulamam gerektiğini not düş. Veri: [yapıştır]."

CRC/CHECKSUM DOĞRULAMA ŞABLONU"[Protokol] için CRC/checksum hesabını açıkla: polinom, başlangıçdeğeri, bit sırası, son XOR. Python'da hesaplayan kod yaz ve bilinenbir test vektörüyle (giriş → beklenen CRC) doğrulayan blok ekle.Parametrelerin protokolün resmî tanımından teyit edilmesi gerektiğinivurgula."

PROTOKOL SEÇİM ŞABLONU"Şu uygulama için taşıma/uygulama protokolü karşılaştırması yap:[gereksinim: teslim garantisi, gecikme, güç, band genişliği, cihazkısıtı]. TCP/UDP ve MQTT/CoAP/HTTP seçeneklerini bu ölçütlerlekarşılaştır. Kesin bir seçim DAYATMA; her seçeneğin dengesini ver veseçimin gerçek testle doğrulanması gerektiğini belirt."

Zayıf prompt / Güçlü prompt

ZAYIF PROMPT:"I2C çalışmıyor, neden?"

GÜÇLÜ PROMPT:"I2C sensörüm ACK vermiyor (adres onaylanmıyor). Olası nedenleri enolasıdan başlayarak sırala: pull-up, ortak toprak, yanlış adres, hız,kablo kapasitansı, çekişme. Her neden için mantıksal analizörde SDA/SCL üzerinde ne görürsem doğrulanır, ne görürsem elenir yaz. Kesintanı verme; ölçümle daraltacağım bir liste istiyorum."

Zayıf prompt tek bir tahmin ürettirir; güçlü prompt ölçümle daraltılabilir, sıralı ve doğrulanabilir bir teşhis haritası verir.

Protokol karşılaştırma tablosu

Protokol

Tip

Güçlü yanı

Doğrulama aracı

UART

Seri, saatsiz

Basit, iki hat

Mantıksal analizör

SPI

Seri, saatli

Hızlı, tam çift yön

Mantıksal analizör (CPOL/CPHA)

I2C

Seri, adresli

Çok cihaz, az pin

Analizör (ACK, pull-up)

TCP

Ağ, taşıma

Güvenilir, sıralı

Paket analizörü (Wireshark)

UDP

Ağ, taşıma

Hızlı, düşük gecikme

Paket analizörü

MQTT

Uygulama

Hafif, pub/sub, QoS

Broker log + paket yakalama

Dikkat: Bir protokol yakalamasını AI'a yorumlatmak hızlıdır ama AI bit sırası veya alan sınırını yanlış varsayabilir. Her çözümlemeyi protokolün resmî tanımıyla ve bilinen bir test vektörüyle doğrulayın.

Sık yapılan hatalar

  • Arıza nedenini ölçmeden AI tahminine göre değiştirmek. Analizör görüntüsü sizi doğru nedene götürür.
  • SPI'da CPOL/CPHA uyumunu göz ardı etmek. "Veri var ama saçma" çoğu zaman mod uyumsuzluğudur.
  • I2C'de pull-up ve ortak toprağı unutmak. En yaygın "hiç çalışmıyor" nedenidir.
  • CRC parametrelerini varsaymak. Polinom, başlangıç, bit sırası standarda özgüdür; test vektörüyle doğrulanır.
  • MQTT QoS'u teslim garantisiyle karıştırmak. QoS 0 garanti vermez; seçim uygulamaya göre yapılır ve test edilir.

Özetle

Bu ünitede AI'ı I2C/SPI/UART ve TCP/IP, MQTT gibi protokolleri açıklamada, çerçeve/paket çözümlemede ve arıza nedenlerini sistematik daraltmada güçlü bir yardımcı olarak kullandınız. Ama protokoller kesin ve standarda bağlıdır: bir hattın gerçekte ne yaptığı mantıksal/paket analizörüyle, bir çözümlemenin doğruluğu resmî tanım ve test vektörüyle, bir arızanın nedeni ölçümle belirlenir. AI'ı "en olası nedeni ve onu doğrulayacak ölçümü" verecek şekilde yönlendirin; kararı analizör ve standart versin.

Uygulama görevi

Bir seri protokol arızası senaryosu seçin (ör. I2C ACK yok). "Protokol arıza daraltma" şablonuyla AI'dan sıralı ve ölçümle doğrulanabilir bir teşhis haritası isteyin. Sonra bir örnek bayt dizisi (ör. bir sensör okuma çerçevesi) alıp "Çerçeve/paket çözümleme" şablonuyla alanlarına ayırtın ve endianness varsayımını not edin. Son olarak "CRC/checksum doğrulama" şablonuyla bir CRC kodunu bilinen bir test vektörüyle doğrulatın.

Kontrol listesi

  • [ ] Arıza nedenini AI tahminiyle değil, analizör ölçümüyle doğruladım.
  • [ ] SPI'da CPOL/CPHA, I2C'de adres/pull-up/ortak toprak kontrolünü listeledim.
  • [ ] Çerçeve/paket çözümlemesini resmî protokol tanımıyla karşılaştırdım.
  • [ ] CRC/checksum parametrelerini test vektörüyle doğruladım.
  • [ ] Taşıma/uygulama protokolü seçimini gereksinime göre yapıp gerçek testle sınadım.
  • [ ] MQTT QoS'un teslim garantisi anlamını doğru yorumladım.