Διαφήμιση
Το Twitter είναι το μεγαλύτερο παγκόσμιο αποθετήριο σύντομων μηνυμάτων από άτομα με τίποτα να πούμε - και τώρα μπορείτε επίσης συμβάλλετε σε αυτό το επικό έργο με ένα αυτοματοποιημένο bot Twitter, το οποίο υποστηρίζεται από το Raspberry Pi. Αστειεύομαι, φυσικά – ορισμένοι άνθρωποι κάνουν tweet ενδιαφέροντα πράγματα Πώς να χρησιμοποιήσετε το Twitter για να αναζητήσετε μέντορες στην περιοχή που σας ενδιαφέρειΣτον πραγματικό κόσμο, ένας μέντορας είναι ένας σοφός δάσκαλος που υποστηρίζει και καθοδηγεί κάποιον και τους βοηθά να μεγιστοποιήσουν τις δυνατότητές τους. Στον διαδικτυακό κόσμο, θα ήσασταν πολύ τυχεροί που θα βρείτε κάποιον που θα ... Διαβάστε περισσότερα . Ωστόσο, δεν είμαι ένας από αυτούς - χρησιμοποιώ τη δική μου για την αναίσχυντη προώθηση προϊόντων σε αντάλλαγμα δωρεάν πράγματα, συμμετοχές σε διαγωνισμούς και αυτόματη ανάρτηση νέων επεισοδίων του δικού μας Technophilia Podcast. Οτιδήποτε - οι οπαδοί μου με αγαπούν!
@ w0lfiesmith Μισώ το λογαριασμό σας στο Twitter. Τόσο πολύ.
- Justin Pot (@jhpot) 21 Αυγούστου 2013
Τώρα πρόκειται να προσθέσω στη χρησιμότητα της προσωπικής μου ροής Twitter, έχοντας ένα Raspberry Pi να κάνει tweet αυτόματα την τρέχουσα θερμοκρασία CPU κάθε ώρα και μια εικόνα κάμερας web!
Ξεκινώντας
Αυτό το έργο χρησιμοποιεί Python. μια απλή γλώσσα προγραμματισμού ιδανική για έργα DIY. Θα ξεκινήσουμε εγκαθιστώντας Twython στο Pi - a Python module για διασύνδεση με το Twitter. δημιουργία μιας εφαρμογής Twitter για λήψη κλειδιού API. μετά πηγαίνετε για να φτιάξετε τα tweet πράγματα για λογαριασμό μας Θα είναι πολύ διασκεδαστικό!
Το κάνω αυτό στο Raspian - αλλά θα πρέπει θεωρητικά να λειτουργεί σε οποιοδήποτε Λειτουργικό σύστημα Linux που έχετε στο Pi 11 Λειτουργικά συστήματα που εκτελούνται στο Raspberry PiΌποιο κι αν είναι το έργο Raspberry Pi, υπάρχει ένα λειτουργικό σύστημα για αυτό. Σας βοηθάμε να βρείτε το καλύτερο Raspberry Pi OS για τις ανάγκες σας. Διαβάστε περισσότερα . Εάν δεν το έχετε κάνει ήδη, βεβαιωθείτε ότι έχετε ρυθμίσει το SSH, ώστε να μπορούμε να συνδεθούμε και να εκτελέσουμε εντολές κονσόλας από απόσταση.
Εγκατάσταση του Twython
Είναι καλή ιδέα να εκτελείτε ενημερώσεις πρώτα. Αντιγράψτε και επικολλήστε τις ακόλουθες εντολές μία κάθε φορά - οι περισσότερες απαιτούν επιβεβαίωση.
sudo apt-get ενημέρωση. sudo apt-get αναβάθμιση. sudo apt-get εγκαταστήστε python-setuptools. sudo easy_install pip. sudo pip εγκαταστήστε το twython.
Εγγραφή μιας εφαρμογής Twitter
Προκειμένου να χρησιμοποιήσουμε το Twitter API - δηλαδή, τη διεπαφή REST που θα χρησιμοποιούμε για να δημοσιεύουμε νέα Tweets και γενικά να αλληλεπιδρούμε με το Twitter έξω από τον ιστότοπο του Twitter - θα πρέπει να καταχωρήσουμε μια νέα εφαρμογή. Κάνε αυτό από αυτόν τον σύνδεσμο - δεν χρειάζεται να καθορίσετε μια διεύθυνση URL επιστροφής κλήσης και απλώς δημιουργήστε έναν ιστότοπο αν θέλετε.
Θα δείτε κάτι που μοιάζει με αυτό μόλις τελειώσετε - αυτά τα κλειδιά είναι μοναδικά για εσάς.
Από προεπιλογή, η εφαρμογή έχει ρυθμιστεί μόνο για ανάγνωση, επομένως δεν θα μπορούμε να δημοσιεύουμε tweets χωρίς να το αλλάξουμε Διάβασε και γράψε. Μεταβείτε στην καρτέλα Ρυθμίσεις και αλλάξτε το Τύπος αίτησης.
Μόλις αποθηκευτεί, επιστρέψτε στο Λεπτομέριες και κάντε κλικ στο κουμπί στο κάτω μέρος για να δημιουργήστε ένα διακριτικό πρόσβασης OAuth - Αυτό δίνει στην εφαρμογή σας πρόσβαση στον δικό σας λογαριασμό Twitter. Ανανεώστε και αφήστε τη σελίδα ανοιχτή για αργότερα - θα χρειαστεί να αντιγράψετε επικολλήστε μερικά από αυτά τα κλειδιά σε ένα λεπτό.
Δημιουργήστε το έργο Python
Ξεκινήστε κάνοντας έναν νέο κατάλογο για να φιλοξενήσετε το έργο Tweet και, στη συνέχεια, δημιουργήστε ένα νέο αρχείο.
mkdir SillyTweeter. cd SillyTweeter. sudo nano SillyTweeter.py.
Προφανώς, μπορείτε να το ονομάσετε ό, τι θέλετε.
Στο πρόγραμμα επεξεργασίας κειμένου που εμφανίζεται, αντιγράψτε και επικολλήστε τα ακόλουθα, αντικαθιστώντας το κλειδί καταναλωτή με το σχετικό κλειδί από τη σελίδα εφαρμογής Twitter που αφήσαμε ανοιχτό νωρίτερα. Κάθε κλειδί περιβάλλεται από μεμονωμένα εισαγωγικά, οπότε μην ξεχάσετε να τα χάσετε. Σημειώστε ότι ΚΛΕΙΔΙ ΠΡΟΣΒΑΣΗΣ αναφέρεται ως Διακριτικό πρόσβασης στη σελίδα της εφαρμογής Twitter.
#! / usr / bin / env python. εισαγωγή sys. από twython εισαγωγή Twython. CONSUMER_KEY = '*************** ΣΤΟΙΧΕΙΑ ΣΑΣ *****************' CONSUMER_SECRET = '*************** ΣΤΟΙΧΕΙΑ ΣΑΣ *****************' ACCESS_KEY = '*************** ΣΤΟΙΧΕΙΑ ΣΑΣ *****************' ACCESS_SECRET = '*************** ΣΤΟΙΧΕΙΑ ΣΑΣ *****************' api = Twython (CONSUMER_KEY, CONSUMER_SECRET, ACCESS_KEY, ACCESS_SECRET) api.update_status (κατάσταση = sys.argv [1])
Πατήστε Ctrl-X και πατήστε Y για έξοδο και αποθήκευση του αρχείου. Κάντε το εκτελέσιμο με την ακόλουθη εντολή (αντικαθιστώντας το όνομα αρχείου Python εάν επιλέξατε κάτι άλλο)
sudo chmod + x SillyTweeter.py.
Τώρα θα πρέπει να μπορείτε να δοκιμάσετε την ικανότητά σας να δημοσιεύετε tweet έτσι:
python SillyTweeter.py "Γεια σε όλους, αυτό είναι το Raspberry Pi μου που σας στέλνει περισσότερες ανοησίες"
Tweeting Temp CPU σας
Τώρα που μπορείτε να δημοσιεύσετε όποια ανοησία θέλετε, ας προσαρμόσουμε την εφαρμογή για να τραβήξετε την τρέχουσα θερμοκρασία της CPU, γιατί θα είμαι καταδικασμένος αν ο κόσμος δεν χρειάζεται να το γνωρίζει κάθε ώρα.
Ξεκινήστε προσθέτοντας μια άλλη εισαγωγή για βιβλιοθήκη os:
εισαγωγή os
Στη συνέχεια, προσθέστε τις ακόλουθες γραμμές, αντικαθιστώντας το προηγούμενο api.update_status από το παραπάνω παράδειγμα.
cmd = '/ opt / vc / bin / vcgencmd μέτρο_temp' line = os.popen (cmd) .readline (). strip () temp = line.split ('=') [1] .split ("'" ") [0] api.update_status (κατάσταση = 'Η τρέχουσα θερμοκρασία της CPU μου είναι' + temp + 'C')
Δεν θα εξηγήσω αυτόν τον κώδικα πάρα πολύ γιατί δεν έχει σημασία - τρέχει μια εντολή που αρπάζει η θερμοκρασία, στη συνέχεια χωρίζει την έξοδο για να εξαγάγει τον αριθμό και κάνει tweets με ένα έθιμο μήνυμα. Μπορείτε να βρείτε το πλήρες παράδειγμα κώδικα εδώ.
Tweeting Webcam Pics
Τώρα ας κάνουμε κάτι πραγματικά χρήσιμο. θα κάνουμε tweet φωτογραφίες κάμερας. Ευτυχώς, το Twython υποστηρίζει τη λειτουργία API update_status_with_media, κάτι που καθιστά τα πράγματα αρκετά απλά.
Συνδέστε μια κάμερα web USB στη συσκευή σας και ελέγξτε αν έχει αναγνωριστεί με την εντολή:
ls / dev / βίντεο *
Άμα δεις βίντεο0είσαι τυχερός. Χρησιμοποίησα μια κάμερα Playstation 3 PSEye και λειτούργησε μια χαρά χωρίς κανένα επιπλέον έργο.
Θα χρησιμοποιήσουμε επίσης το pygame βιβλιοθήκες για να τραβήξετε μια φωτογραφία. προσθέστε τις ακόλουθες γραμμές αμέσως μετά τις υπάρχουσες δηλώσεις εισαγωγής:
εισαγωγή pygame. εισαγωγή pygame.camera. από pygame.locals import * pygame.init () pygame.camera.init () cam = pygame.camera. Κάμερα ("/ dev / video0", (640,480)) cam.start () εικόνα = cam.get_image () pygame.image.save (εικόνα, 'webcam.jpg')
Εν ολίγοις, έχετε αρχικοποιήσει την κάμερα web σε μια συγκεκριμένη ανάλυση (ίσως χρειαστεί να ρυθμίσετε ότι είναι μια πραγματικά παλιά κάμερα), τραβήξατε μια φωτογραφία και την αποθηκεύσατε ως jpg. Απλώς θα αντικαταστήσουμε την ίδια κάμερα web.jpg κάθε φορά που εκτελείται η εφαρμογή.
Τέλος, προσαρμόστε τη γραμμή update_status για να διαβάσετε:
φωτογραφία = άνοιγμα ('webcam.jpg', 'rb') api.update_status_with_media (πολυμέσα = φωτογραφία, κατάσταση = "Το RPi μου κάνει tweet εικόνες τώρα =>")
Φυσικά, μπορείτε να αλλάξετε ξανά το κείμενο κατάστασης στην τρέχουσα θερμοκρασία CPU, αν θέλετε. Ο πλήρης κωδικός για αυτό παράδειγμα είναι εδώ.
Μπορείτε να το επαναλάβετε?
Ένα bot Twitter είναι χρήσιμο μόνο εάν εκτελείται πολλές φορές αυτόματα. δεν θέλετε να κάθεστε εκεί εκτελώντας την εντολή κάθε ώρα. Για να το επιτύχουμε, ας χρησιμοποιήσουμε τη δυνατότητα προγραμματισμού του Pi CRON (Τι είναι η δουλειά CRON; Αυτοματοποιήστε τη δημιουργία αντιγράφων ασφαλείας Wordpress με απλή Shell Scripting & CRONΤην τελευταία φορά που μιλήσαμε για αντίγραφα ασφαλείας του Wordpress, σας έδειξα πόσο απίστευτα εύκολο ήταν να δημιουργήσετε αντίγραφα ασφαλείας ολόκληρης της βάσης δεδομένων και των αρχείων σας μέσω SSH με λίγες μόνο εντολές. Αυτή τη φορά, θα δείξω ... Διαβάστε περισσότερα )
sudo crontab -e
Επικολλήστε σε αυτήν τη γραμμή, για να εκτελείται κάθε ώρα.
* / 60 * * * * python /home/pi/SillyTweeter/SillyTweeter.py
Αλλάξτε το σε * * * * * αν θέλετε να εκτελείται κάθε λεπτό και να είστε έτοιμοι να χάσετε τους ακόλουθους πιο γρήγορα από έναν λογαριασμό Twitter που χάνει γρήγορα τους ακόλουθους.
Αυτό είναι για σήμερα. Είμαι ευτυχής που συνέβαλα περισσότερο ανόητα στον τεράστιο πλούτο άχρηστων bytes στο Διαδίκτυο και ελπίζω να το κάνετε και εσείς! Δείξτε την εκτίμησή σας για αυτό το σεμινάριο από το tweetκαι, στη συνέχεια, ενημερώστε μας για το τι θα κάνει tweet στο δικό σας bot στο σχόλιο.
Πιστωτική εικόνα: adafruit / flickr
Ο James έχει πτυχίο Τεχνητής Νοημοσύνης και είναι πιστοποιημένο με CompTIA A + και Network +. Είναι ο κύριος προγραμματιστής του MakeUseOf και περνά τον ελεύθερο χρόνο του παίζοντας VR paintball και boardgames. Δημιουργεί υπολογιστές από τότε που ήταν παιδί.