Bağlantı Zamanı: TCP İstemcileri ve Sunucuları Oluşturma
RAiV, bağımsız bir cihaz olarak tasarlanmış olsa da, onu diğer cihazlara bağlamak isteyebilirsiniz. Bu yazıda, Python SDK'mızdan qCU_Net Python Modülünü kullanarak hem TCP istemci hem de sunucu uygulamalarını nasıl oluşturabileceğinizi anlatacağız.
qCU_Net modülünün gerçekleştirilmesi sırasında, Python'ın yerel socket modülünü kullandık. Bu nedenle, Python SDK'mızı kullanmadan kendi özel iletişim modülünüzü de yazabilirsiniz.
Giriş
qCU_Net Python Modülü, sadelik ve esneklik için tasarlanmıştır. 4 Baytlık Başlık ve JSON içeren mesaj prototipini kullanır. Yük Verisi:
Özel uygulamalarınız için, Python veri yapılarınızı (listeler ve sözlükler gibi) JSON dizesine dönüştürebilir ve JSON Yük Verisi olarak atayabilirsiniz.
Python kod örneklerimizde, aşağıdaki RAiV kablolu ağ ve PC ağ arayüzü yapılandırmalarını kullandık:
| IP | 192.168.10.55 |
| Netmask | 255.255.255.0 |
| Gateway | 192.168.10.1 |
| IP | 192.168.10.2 |
| Netmask | 255.255.255.0 |
| Gateway | 192.168.10.1 |
RAiV TCP İstemcisi Olarak
Python Kodunuzu Hazırlayın ve Yükleyin
qCU_Net modülünü kullanarak, aşağıdaki kod satırlarıyla bir TCP mesajı gönderebilirsiniz:
import qCU_Net
def main():
print("**** TCP Client ****")
# Define Payload of the TCP message
payload = {
"text": "Hello Net Comm"
}
# Send the Payload (the message header is computed inside the function)
qCU_Net.send_data_to_server("192.168.10.2", 12345, payload)
if __name__ == "__main__":
main()
Yukarıdaki kodu kopyalayın ve user_main.py dosyasına kaydedin. Ardından, önceki yazımızda açıklandığı gibi dosyayı RAiV'e yükleyin.
Sunucu tarafı Python uygulaması için, Github Depomuzdan örnek TCP sunucu uygulamasını kullanın ve PC'de çalıştırın.
Canlı Sunum
user_main.py dosyasının kontrolleri tamamlanır tamamlanmaz, Python dosyası çalıştırılır. Console Output ve/veya PC tarafı örneğini kontrol edebilirsiniz.
Uyarı: TCP sunucusu yoksa veya sunucuya ağ bağlantısı yoksa, Python yorumlayıcısının hata mesajı Console Output'da görüntülenir.
RAiV TCP Sunucusu Olarak
Python Kodunuzu Hazırlayın ve Yükleyin
qCU_Net modülü ile RAiV'de TCP sunucusu oluşturmak da basittir. Tek eklemeniz gereken özel json_handler'ınızdır. qCU_Net mesajları json yükü kullandığı için, sunucunun gelen yükü ayrıştırmak için bir Python fonksiyonuna sahip olması gerekir.
TCP sunucusuna hiçbir json işleyici sağlanmazsa, varsayılan olarak qCU_Net modülü gelen json dizesini yazdırır.
Örnek bir json işleyici de dahil olmak üzere eksiksiz TCP sunucu kodu aşağıda verilmiştir:
# Module for TCP communication
import qCU_Net
# Sample implementation of a json payload handler
def sample_json_handler(client_socket, json_payload, client_address):
print(f"Custom handler called for client {client_address}")
print(f"Received payload: {json_payload}")
def main():
print("**** TCP Server ****")
# Start the TCP server with sample json handler
qCU_Net.start_tcp_server(host='192.168.10.55', port=12345, json_handler=sample_json_handler)
if __name__ == "__main__":
main()
Yukarıdaki kodu kopyalayın ve user_main.py dosyasına kaydedin. Ardından dosyayı önceki yazımızda açıklandığı gibi RAiV'e yükleyin.
İstemci tarafı Python uygulaması için, Github Depomuzdan örnek TCP istemci uygulamasını kullanın ve PC'de çalıştırın.
Canlı Sunum
user_main.py dosyasının kontrolleri tamamlanır tamamlanmaz, Python dosyası çalıştırılır. Gelen mesajlar için Console Output'u kontrol edebilirsiniz.
Sırada Ne Var?
İlk stereo görüntünüzü yakalamak için:
Çekimi Yapın: İlk Stereo Görüntünüzü YakalayınPython SDK'mızı inceleyin:
RAiV Python SDKÖrnek Kodlar İçin Github Depomuzu Kontrol Edin:
Github Depomuz