Γρήγορη μετάβαση

    Raspberry Pi – XBMC – αξιώθηκα κι εγώ…

    Πριν από αρκετό καιρό (1 χρόνο για την ακρίβεια) «ψήθηκα» κι εγώ από το ωραίο άρθρο του lykman και ψώνισα ένα Raspberry Pi (model b, με ethernet, 2 usb και 512MB Ram). Τότε έψαχνε ένας συνάδελφος για ένα media player για να ακούει τη μουσικούλα του στο σπίτι και ήθελε να μπορεί να το χειριστεί μέσω του smartphone του, οπότε το pi με την official xbmc remote εφαρμογούλα του, έδειχνε πολύ καλή περίπτωση. Και για να του κάνω λοιπόν παρέα στην αγορά 🙂 , είπα να ψωνίσω κι εγώ. Φυσικά, επειδή είχα ήδη media players (ένα Popcornhour C-200 στο σαλόνι και ένα Ac-Ryan PlayON!HD στην κρεββατοκάμαρα), κυρίως για να παίξω λίγο μαζί του ήταν η αγορά… Τέλη του ’13, λοιπόν, παρελήφθη από την Αγγλία το μικρούλι , μαζί  με ένα case και μια SD κάρτα , έπαιξα μαζί του για μερικές ημέρες και μετά μπήκε στο συρτάρι…. Το πλήρωμα του χρόνου όμως έφτασε για να χρησιμοποιηθεί..

    Πως αποφασίστηκε η χρήση του Pi

    Ο κύριος λόγος ήταν ο ακόλουθος:

    Το  Ac-Ryan που είχα στην κρεββατοκάμαρα είχε ενσωματωμένο σκληρό δίσκο. Τον τελευταίο καιρό παρατηρούσα ότι κάποια επεισόδια που του έριχνα γινόταν corrupt, με αποτέλεσμα να διακόπτεται η αναπαραγωγή στη μέση. Ευτυχώς, επειδή το Popcornhour έχει και NFS server και ο σκληρός του δίσκος είχε μέσα τα ίδια ακριβώς περιεχόμενα με αυτόν του Ac-Ryan, αν παρουσιαζόταν πρόβλημα, έπαιζα το επεισόδιο μέσω NFS από το Popcornhour (στο σπίτι χρησιμοποιώ homeplugs 500Mbps, οπότε όλα τα δωμάτια έχουν επικοινωνία μεταξύ τους μέσω δικτύου). Φυσικά η όλη διαδικασία κατάντησε ολίγον εκνευριστική. Κάποια στιγμή λοιπόν, βρήκα χρόνο και άλλαξα τον σκληρό δίσκο του Ac-Ryan (για να αποκλείσω την περίπτωση να φταίει αυτός) αλλά το θέμα συνεχίστηκε. Προφανώς κάτι έφταιγε στο software του media player. Παρεμπιπτόντως, το λειτουργικό του Ac-Ryan δεν ήταν το «μαμίσιο» αλλά μια πολύ καλή και απείρως σταθερότερη παραλλαγή φτιαγμένη από κάποιους Ρώσους developers (Η ίδια η AC-Ryan ποτέ δεν κατάφερε να φτιάξει κάποιο σταθερό firmware…). Μια επανεγκατάσταση του firmware ίσως να διόρθωνε το πρόβλημα, αλλά δεν θέλησα να μπω στη διαδικασία… Αποφάσισα να δοκιμάσω να παίζω τις σειρές μου στο Ac-Ryan μέσω δικτύου.

    Έτσι, μιας και είχα και ένα WD MyBook World Edition που καθόταν, το έβαλα πίσω από την τηλεόραση στην κρεββατοκάμαρα καθώς και ένα 10/100 switch για να επικοινωνεί με την καλύτερη δυνατή ταχύτητα με το media player. Ολα καλά, κανένα κόλλημα στις σειρές μου, καμία διακοπή στην αναπαραγωγή. Μέχρι που αποφάσισα να παίξω ταινία 1080p.. Στο μεγαλύτερο μέρος της ταινίας ήταν όλα ΟΚ, αλλά σε κάποιες γρήγορες σκηνές η αναπαραγωγή υπέφερε από «χοντρά» κολλήματα. O δικτυακός δίσκος έχει Gigabit ethernet (μην περιμένετε ταχύτητες 100MB/sec – απλά η «μόδα» των κατασκευαστών είναι να ονομάζει Gigabit ό,τι πετυχαίνει ταχύτητες πάνω από 150Mbps), οπότε ο «αδύναμος κρίκος» ήταν, για ακόμη μια φορά, το AC-Ryan. Άρα είχα πλέον δύο επιλογές.. Να μην βλέπω ταινίες 1080p ή να αλλάξω το AC-Ryan. Κάπου εκεί, λοιπόν, αποφάσισα να …θάψω το Ac-Ryan και να ξεθάψω το Raspberry Pi….

    Επί τω έργω…

    Βγήκε το AC-Ryan λοιπόν από πίσω από την τηλεόρασή μου και μπήκε το RaspberryPi. Σύνδεση με το switch για δίκτυο, με το hdmi της τηλεόρασης και με έναν φορτιστή καλής ποιότητας (υποτίθεται).Με το που άνοιξε το openelec με ειδοποίησε για update. H διαδικασία πολύ απλή – όλα μόνο του τα κάνει – και μετά από λίγη ώρα είχε κάνει  update στο τελευταίο openelec, με XBMC Gotham 13.2.  Τηλεχειρισμός μέσω hdmi CEC  με το τηλεκοντρόλ της LG (32LS5600).  Μία ώρα μετά είχα κάνει δημιουργία και μιας Movie/TV Series library.

    Κόλλησα λίγο σε κάποιες σειρές που δεν αναγνώριζε σωστά (κάποιες που υπήρχε και ίδιος τίτλος στο παρελθόν) και μου πήρε κάμποση ώρα για να βρώ πως θα το διορθώσω. Η διόρθωση έγινε κατά λάθος, στην ουσία… Έβαλα στο κινητό μου την εφαρμογή για το android, απλά για να τη δοκιμάσω,  και διαπίστωσα ότι κάποια κουμπιά δεν υπήρχαν διαθέσιμα στο τηλεκοντρόλ της τηλεόρασης. Π.χ. το κουμπί Title στη λειτουργία Remote Control της εφαρμογής, το οποίο ανοίγει το context menu. Μέσω του context menu είδα επιπλέον επιλογές και μπόρεσα να κάνω edit τις σειρές που δεν είχαν αναγνωριστεί σωστά. Το επόμενο λογικό βήμα ήταν να μπορέσω να «αναθέσω» στο τηλεκοντρόλ της τηλεόρασης τα επιπλέον κουμπιά που θα εκτελούσαν τις λειτουργίες  που έλειπαν. Και επειδή όσο ψάχνεις, βρίσκεις, βρήκα ένα addon που λέγεται keymap editor και σε διευκολύνει να κάνεις assign εύκολα κάποια κουμπιά του τηλεκοντρόλ σε συγκεκριμένες λειτουργίες. Η όλη επιχείρηση, όμως δεν στέφθηκε από επιτυχία, καθώς τελικά αποδείχτηκε ότι το Simplink της LG είναι επιεικώς ΓΤΠ – μόνο 5-6 κουμπιά είναι προς χρήση. Έτσι δεν μένουν αρκετά κουμπιά για όλες τις λειτουργίες. Είναι μια χαρά για σκέτη αναπαραγωγή, αλλά μέχρι εκεί. Οπότε παρήγγειλα και ένα τηλεκοντρόλ για το Pi, έτσι για να υπάρχει. (Η σύζυγος θέλει όταν βλέπει κάποιο επεισόδιο μετά να το σβήνει. Της εξήγησα ότι το xbmc σημειώνει τα επεισόδια που έχεις δει και επίσης ότι μπορεί κάλλιστα να χρησιμοποιεί το κινητό της για επιπλέον λειτουργίες. Δεν της πολυάρεσε το workaround…)

    Επιπλέον, αποφάσισα ότι είναι πιο λειτουργικό να του δώσω ρεύμα από το usb της τηλεόρασης, ώστε όταν ανοίγει η τηλεόραση να ανοίγει και αυτό, μιας και δεν έχει διακόπτη on/off. Θα μπορούσα, βέβαια, να φτιάξω κι εγώ ένα διακοπτάκι, αλλά είναι σχεδόν σίγουρο ότι θα έβριζα κάθε φορά, καθώς πρώτα θα ξάπλωνα και μετά θα έπρεπε να ξανασηκωθώ για να το ανοίξω.. 😛 . Εναλλακτικά, θα μπορούσα να μην το σβήνω, αλλά προτιμάω να είναι ανοιχτό όταν το θέλω μόνο.

    Λίγο customization…

    Καλό το RaspberryPi με το xbmc από τη «μάνα» του, αλλά άμα δεν το «τσιγκλήσεις» λιγάκι δεν έχει πολύ γούστο… Το προεπιλεγμένο skin, λοιπόν, πήρε την …άγουσα και στη θέση του μπήκε το Amber. Skins υπάρχουν παααααρα πολλά για το xbmc, αλλά πρέπει να λάβουμε και υπόψη μας ότι το Pi δεν είναι πολύ δυνατό. Το Amber skin, λοιπόν, είναι πολύ όμορφο, με μεγάλες δυνατότητες customization και επιπλέον δεν «γονατίζει» τον αδύναμο Arm που «τρέχει» στα 700MΗz. Μάλιστα, από τις καθ…όλου επαγγελματικές δοκιμές μου, διαπίστωσα ότι ίσως είναι πιο γρήγορο και από το προεπιλεγμένο skin. H χρήση του επεξεργαστή παρέμεινε το ίδιο χαμηλή, ίσως και 1-2% χαμηλότερη.

    Kαι μιας και μιλάμε για τον επεξεργαστή, δεν μπορούσε να ξεφύγει από λίγο overclocking. Η αλήθεια βέβαια είναι, ότι έχει γίνει πολύ καλή δουλειά στο τελευταίο XBMC, δουλειά που οδήγησε στην πολύ ομαλότερη κύλιση των μενού ειδικά στα Raspberry Pi. Μάλιστα αποκόμισα τόσο καλή εντύπωση που το overclocking δεν το θεώρησα απαραίτητο – απλά ήθελα να το κάνω.  Βέβαια για αυτούς που θέλουν πραγματικά γρήγορες επιδόσεις, πέρα από το overclocking υπάρχει και η επιλογή μετακίνησης του storage partition σε ένα γρήγορο usb stick, αλλά αποφάσισα για αρχή να μείνω σε ένα απλό overclocking της CPU. Διαβάζοντας δεξιά-αριστερά γενικώς για τις διανομές με XBMC για το  Pi, είδα σε ένα άρθρο ότι το Xbian έχει από προεπιλογή λίγο (20%) αναβασμένο το χρονισμό του επεξεργαστή. Καθώς αυτό υποδηλώνει ότι δεν έχει κανένα πρόβλημα με τις θερμοκρασίες είπα να το κάνω κι εγώ. H διαδικασία είναι αρκετά απλή..

      1. Μέσα από τις ρυθμίσεις του openelec ενεργοποιούμε το SSH
      2. Κάνουμε login στο openelec μέσω ssh (default username/password: root/openelec)
      3. Το αρχείο που θέλουμε να πειράξουμε είναι το config.txt που βρίσκεται μέσα στο /flash. (Σε παλιότερες εκδόσεις του xbmc δεν υπήρχε το αρχείο, οπότε το δημιουργούσες εσύ, στην τελευταία έκδοση είδα ότι όχι μόνο υπάρχει, αλλά έχει και αρκετά παραδείγματα για διάφορες παραμέτρους που μπορούμε να πειράξουμε.)
      4. Επειδή το /flash είναι readonly, για να μπορέσουμε να γράψουμε στο config.txt θα χρειαστεί να δώσουμε την ακόλουθη εντολή για να κάνουμε mount με δικαιώματα read-write: mount /flash -o remount,rw
      5. Κατόπιν μπαίνουμε στο /flash και προσθέτουμε μέσα στο αρχείο τις εξής 2 γραμμές:
    arm_freq=840
    core_freq=275

    Τέλος, σώνουμε το αρχείο και κάνουμε reboot. Αυτό ήταν! Τώρα ο επεξεργαστής του pi θα «τρέχει» στα 840MHz.

    Πάντως, πραγματικά, ίσως και να μη χρειαζόταν η αύξηση, γιατί ήδη δεν θεωρούσα την πλοήγηση στο μενού αργή. Και όπως ανέφερα, θεωρώ ότι προβλήματα θερμοκρασίας δεν θα έχει (και όντως πάνω από 55-56 βαθμούς δεν έχει πάει ακόμη και μετά από ταινία 1080p.) Όπως και να’ χει, πάντως, παρήγγειλα από το ebay ένα σετ χάλκινες ψύκτρες για να είμαι εξασφαλισμένος. Και επειδή πριν πάρεις κάτι, καλό είναι να διαβάζεις, είδα, κατόπιν εορτής ότι ο lykman προτείνει αλουμινένιες, οπότε πήρα και μια μερίδα αλουμινένιες μετά τη κατάλληλη …μούντζα στην αφεντομουτσουνάρα μου… Δεν πειράζει –  3 ευρώ είχαν, θα τις κάνω δώρο..

    Εντυπώσεις – προβλήματα

    Σε γενικές γραμμές το Raspberry είναι εντυπωσιακό. Δεν μιλάω αυτό καθαυτό αλλά το συνολικό πακέτο hardware-software. Και το XBMC είναι απλά τρομερό. Το scraping είναι εντυπωσιακά ακριβές και μόνο κάποιες σειρές που δεν είχαν την ημερομηνία στον τίτλο το μπέρδευαν, στην περίπτωση που παλιότερα είχε βγει η ίδια σειρά. Αλλά και αυτό λύνεται πολύ εύκολα, μέσα σε 5 λεπτά. Κατάφερα να φτιάξω μέχρι και κάποιες Ελληνικές σειρές. Στην ουσία το μόνο που χρειάζεται είναι να υπάρχεουν καταχωρημένες στο tvdb. Βέβαια βοήθησε και το γεγονός ότι τα ονόματα των επεισοδίων μου είναι πάντα όλα φτιαγμένα με τη λογική Όνομα Σειράς 1×01 – Τίτλος Επεισοδίου.mp4. Όσον αφορά στις ταινίες, τις βρήκε όλες όπως έπρεπε. Εκεί δεν έκανα το παραμικρό. Και όσον αφορά στην αναπαραγωγή, ταινίες fullHD 1080p παίζουν χωρίς κανένα πρόβλημα μέσω δικτύου. 

    Το μόνο πραγματικό πρόβλημα που έχω είναι ότι κάποιες φορές κάνει ένα περίεργο θόρυβο κατά τη διάρκεια του επεισοδίου (σαν ένα ξξξτ στιγμιαίο) και οι υπότιτλοι ξεκινούν και δείχνουν σαν τεραγωνάκια. Σταμάτημα και ξεκίνημα από το ίδιο σημείο λύνει σχεδόν πάντα το πρόβλημα, αλλά πρέπει να λυθεί μόνιμα γιατί καταντάει εκνευριστικό – (σε συγκεκριμένους υπότιτλους μάλλον περιορίζεται, αλλά συμβαίνει 3-4 φορές στη διάρκεια του επεισοδίου).
    Με λίγο ψάξιμο, κάποιοι λένε ότι ίσως να θέλει αύξηση το  gpu_mem. Με τον ίδιο τρόπο που γίνεται το overclocking, πας στο config.txt και του γράφεις  gpu_mem=192 ( από το 128 που έχει προεπιλογή). Το πρόβλημα όμως ξαναπαρουσιάζεται. Θα δοκιμάσω και με gpu_mem=256 και βλέπουμε… (Update 12/12/2014: Η λύση που φαίνεται να δούλεψε, είναι να βάλω το gpu_mem σε 256. Τις 2 τελευταίες ημέρες δεν ξαναπαρουσιάστηκε πρόβλημα..!) Και σαν τελική λύση θα το ξανασυνδέσω στο φορτιστή του, μήπως τυχόν το usb της τηλεόρασης δεν δίνει αρκετό ρεύμα και γι’ αυτό παρουσιάζεται το πρόβλημα. (Update 12/12/2014: Τελικά δοκίμασα να το συνδέσω ξανά με το φορτιστή του, αλλά το πρόβλημα παρουσιάστηκε και πάλι… Στην προκειμένη περίπτωση, λοιπόν, δεν έφταιγε το γεγονός ότι τροφοδοτούταν από το USB της τηλεόρασης..) Και κάποιοι άλλοι που το έχουν αντιμετωπίσει πάντως, δείχνει να τους προέκυψε τώρα τελευταία. Υπάρχει δηλαδή περίπτωση να φταίει και κάποιο bug στο τελευταίο openelec. Θα δούμε, όπως και να’ χει και θα κάνω ενημέρωση του άρθρου..

    Επίλογος

    Μετά από μια εβδομάδα χρήσης του Pi με XBMC, η μοναδική απορία είναι γιατί το είχα στο συρτάρι τόσο καιρό;  Δοκιμάστε το – είναι απλά πολύ καλό για τα λεφτά του και για τον ελάχιστο κόπο που θα χρειαστείτε για να το φέρετε στα μέτρα σας … Προτείνεται ανεπιφύλακτα…Τώρα μάλιστα κυκλοφορεί και το model B+ που είναι καλύτερο στα σημεία: χαμηλότερες θερμοκρασίες λειτουργίας και – βασικό – 2 επιπλέον usb.

    One Response to “Raspberry Pi – XBMC – αξιώθηκα κι εγώ…”