top of page
Eğitim Paneli

Raspberry Pi'ye kablo bağlı, MAVLink hiç akmıyor

8 Eyl
2 dakikada okunur

Raspberry Pi'yi Pixhawk'ın telemetri portuna bağladın, kablolar doğru renklerde, güç geliyor. Python kodunu çalıştırdın, bağlantı kuruldu yazıyor. Ama ekranda konum yok, irtifa yok, parametre listesi boş.

Tek gelen şey birkaç saniyede bir tekrar eden bir sinyal. Gerisi sessiz. Kablo sorunu gibi görünüyor ama değil.



Neden Oluyor

Pixhawk bağlantı kurulur kurulmaz yalnızca kendini tanıtan bir sinyal gönderir. Konum, irtifa, batarya gibi telemetri bilgileri ve parametre listesi otomatik gelmez. Bunları göndermesi için otopilotun açıkça istenmesi gerekir; istek gitmediyse otopilot da bir şey saklamıyor, sen de istemedin.

Bu davranış hem gerçek donanımda hem SITL üzerinde birebir aynı çalışır; protokol seviyesinde bir kural, kablo ya da port meselesi değil.



Bağlantı Sonrası Ne Otomatik Gelir



En sık yapılan hata: bağlantı kurulduktan hemen sonra konum ya da parametre okumaya çalışmak. İstek gönderilmeden otopilot hiçbir şey göndermez; kod "bağlandı" der ama veri hiç gelmez.


Çözüm

Bağlantıdan sonra iki isteği açıkça gönder: parametreler için PARAM_REQUEST_LIST, telemetri için REQUEST_DATA_STREAM (ya da güncel SET_MESSAGE_INTERVAL). İkisi de gönderilmeden ekran boş kalır.




Doğrulama

Bu kodu bugün ArduPilot Copter SITL üzerinde çalıştırdık. İstek gönderilmeden 6 saniye boyunca yalnızca tanıtım sinyali geldi; PARAM_REQUEST_LIST gönderilince 4 saniyede 1369 parametre, stream isteği gönderilince 4 saniyede 318 telemetri mesajı aktı.


6 sn istek yok  -> 0 parametre, 0 telemetri mesajı
PARAM_REQUEST_LIST -> 4 sn'de 1369 PARAM_VALUE
REQUEST_DATA_STREAM -> 4 sn'de 318 telemetri mesajı


Hata Mesajları ve Anlamları

Birebir kaynakta geçen mesaj tipi adları ve forumlarda bildirilen semptomlar:



Yalnızca tanıtım sinyali geliyor, başka mesaj yok

Bağlantı ve protokol doğru ama hiçbir istek gönderilmemiş. Forumda birebir aynı semptom: "Companion computer receives only heartbeat messages." Yardımcı bilgisayar yalnızca tanıtım sinyalini görüyor, geri kalan stream'ler istek gönderilene kadar hiç gelmiyor.



recv_match() hep None dönüyor

pymavlink ile bağlanıp beklenen mesaj tipini beklerken sürekli None dönmesi de aynı kökten: mesaj hiç akmadığı için yakalanacak bir şey yok. Forumda "PyMavlink no Message Output" başlığı bu durumu anlatıyor.



Parametre isteği zaman aşımına uğruyor

mavp2p ya da mavlink-router gibi bir ara katman kullanıyorsan PARAM_REQUEST_LIST bazen kayboluyor; forumda "Getting Heartbeat but Param requests hang" bu senaryoyu anlatıyor.



Kursla Devam Et

Bu konuyu SITL doğrulamasıyla, kaynak kod kanıtıyla ve saha vakalarıyla birlikte İHA Haberleşme Teknolojileri eğitiminde anlattık.


İNDİRİM KUPONU

Kupon kodu: SOFTIVATION15

Eğitimi alırken ödeme ekranındaki "Kupon kodu" kutusuna bu kodu yaz, %15 iner.

Yorumlar


bottom of page