Ένας εύχρηστος, αποτελεσματικός και ευέλικτος σκελετός UPnP

# GUPnP

GUPnP είναι ένας αντικειμενοστραφής σκελετός ανοικτού λογισμικού για δημιουργία συσκευών UPnP και σημείων ελέγχου, γραμμένος σε C χρησιμοποιώντας GObject και libsoup. Το GUPnP API σκοπεύει να είναι εύχρηστο, αποτελεσματικό και ευέλικτο.

Ο σκελετός GUPnP αποτελείται από τα ακόλουθα συστατικά/πακέτα:

GSSDP: Η υλοποίηση βιβλιοθήκης χαμηλού επιπέδου ανακάλυψης πόρου και ανακοίνωσης στο δίκτυο μέσα από πρωτόκολλο SSDP.

GUPnP: Η βιβλιοθήκη πυρήνα που υλοποιεί την προδιαγραφή UPnP: ανακοίνωση πόρου και ανακάλυψη, περιγραφή, έλεγχο, ειδοποίηση συμβάντος και παρουσίαση (το GUPnP περιλαμβάνει μια βασική λειτουργικότητα εξυπηρετητή ιστού μέσα από libsoup). Το GUPnP δεν περιλαμβάνει βοηθούς για κατασκευή ή έλεγχο των ειδικών τυποποιημένων πόρων (π.χ. MediaServer)· αυτό αφέθηκε για βιβλιοθήκες υψηλότερου επιπέδου χρησιμοποιώντας τον σκελετό GUPnP.

GUPnP A/V: Μικρό εργαλείο βιβλιοθήκης που στοχεύει να διευκολύνει το χειρισμό και την εφαρμογή των κατατομών UPnP ήχου/βίντεο.

GUPnP DLNA: Μία μικρή βοηθητική βιβλιοθήκη που σκοπεύει στη διευκόλυνση των σχετικών με DLNA εργασιών όπως πρόβλεψη κατατομής μέσων, μετατροπή κωδικοποίησης σε μια δεδομένη κατατομή, κλπ.

GUPnP IGD: Μια βιβλιοθήκη για χειρισμό απεικονίσεων θύρας συσκευής πύλης διαδικτύου UPnP.

GUPnP Vala: Οι συνδέσεις Vala για βιβλιοθήκες GUPnP.

Εργαλεία GUPnP: Ελεύθερες αντικαταστάσεις των εργαλείων Intel UPnP, που χρησιμοποιούν GUPnP. Αυτά παρέχουν τα ακόλουθα πλευρικά εργαλεία πελάτη και εξυπηρετητή που ενεργοποιούν εύκολη δοκιμή και αποσφαλμάτωση συσκευών UPnP και σημείων ελέγχου:

Γενικό σημείο ελέγχου: ένα εργαλείο που ενεργοποιεί την ανακάλυψη συσκευών UPnP και υπηρεσιών, ανάκτηση πληροφοριών για αυτές, εγγραφή συμβάντων και κλήση ενεργειών.

Φως δικτύου: ένας εικονικός βολβός φωτός που επιτρέπει τα σημεία ελέγχου να ανάβουν και να σβήνουν, να αλλάζουν το επίπεδο αμυδρότητας και να ρωτούν την τρέχουσα του κατάσταση. Επίσης παρέχει ένα απλό UI για να ελέγχει όλα τα διαθέσιμα φώτα του δικτύου.

Σημείο ελέγχου AV: ένας απλός αναπαραγωγός μέσων UI που ενεργοποιεί την ανακάλυψη και εκτέλεση των διαθέσιμων περιεχομένων πολυμέσων σε δίκτυο. Είναι αυστηρά ένα σημείο ελέγχου και συνεπώς δεν έχει οποιαδήποτε δικιά του ικανότητα αναπαραγωγής και βασίζεται σε εξωτερικές συσκευές UPnP MediaRenderer για ενεργή αναπαραγωγή.

Ανέβασμα: ένα απλό βοήθημα γραμμής εντολών που ανεβάζει αρχεία σε γνωστούς MediaServers. Χρησιμοποιήστε γενικό σημείο ελέγχου για να ανακαλύψετε τους MediaServers.

Ο σκελετός GUPnP γεννήθηκε από την απογοήτευση με το libupnp και το μπέρδεμα του με τα νήματα. Το GUPnP είναι ολότελα μονού νήματος (αν και ασύγχρονο), ενσωματώνεται με τον κύριο βρόχο GLib και παρέχει το ίδιο σύνολο γνωρισμάτων όπως το libupnp ενώ κρύβει τα περισσότερα εσωτερικά του UPnP μέσα από έναν κομψό αντικειμενοστραφή σχεδιασμό.

Το GUPnP είναι ελεύθερο λογισμικό. Όλες οι βιβλιοθήκες εκδίδονται με την GNU LGPL, ενώ τα εργαλεία GUPnP αδειοδοτούνται με GNU GPL.

Θα πρέπει να χρησιμοποιήσετε GUPnP όποτε χρειάζεστε ο κώδικας σας να επικοινωνήσει με οποιεσδήποτε συσκευές UPnP ή DLNA. Παραδείγματα τέτοιων συσκευών περιλαμβάνουν το Sony Playstation 3 και τα μοντέλα τηλεοράσεων Bravia, τηλεοράσεων και τηλεφώνων Samsung, XBox της Microsoft και όλους τους σύγχρονους δρομολογητές κλπ. Η λίστα τέτοιων συσκευών είναι πελώρια και αυξανόμενη.

Πέρα από τη διανομή με υπάρχουσες συσκευές UPnP, το GUPnP μπορεί να χρησιμοποιηθεί πολύ αποτελεσματικά για εύκολη δημιουργία προσαρμοσμένων λύσεων οικιακού δικτύου όπου οι συσκευές/υπηρεσίες μπορούν να ανακαλύψουν και να αλληλεπιδράσουν μεταξύ τους χωρίς οποιαδήποτε ρύθμιση από τον χρήστη.

Για περισσότερες πληροφορίες σχετικά με το GUPnP, επισκεφτείτε τον ιστότοπο του.