İlan

Twitter, söyleyecek bir şeyi olmayan insanlardan gelen kısa mesajların dünyanın en büyük deposudur - ve şimdi siz de yapabilirsiniz Raspberry Pi'niz tarafından desteklenen otomatik bir Twitter bot ile bu destansı projeye katkıda bulunun. Şaka yapıyorum elbette – bazı insanlar aslında ilginç şeyleri tweetliyor İlgi Alanınızdaki Mentorları Aramak İçin Twitter Nasıl KullanılırGerçek dünyada, akıl hocası, birini destekleyen ve yönlendiren ve potansiyellerini en üst düzeye çıkarmasına yardımcı olan akıllı bir öğretmendir. Çevrimiçi dünyada, bulabileceğiniz birini bulduğunuz için çok şanslısınız ... Daha fazla oku . Ben de onlardan biri değilim - ücretsiz şeyler, yarışma girişleri ve kendi Technophilia Podcast'imizin yeni bölümlerini otomatik olarak yayınlamak için benim utanmaz ürün tanıtımı için kullanıyorum. Her neyse - takipçilerim beni seviyor!

@ w0lfiesmith Twitter hesabınızdan nefret ediyorum. Çok fazla.

- Justin Pot (@jhpot) Instagram Profilini Görüntüle 21 Ağustos 2013

Şimdi bir Raspberry Pi'nin mevcut CPU sıcaklığını her saat otomatik olarak tweetleyerek ve bir web kamerası resmiyle kişisel Twitter akışımın kullanışlılığına katkıda bulunacağım!

instagram viewer

Başlangıç

Bu proje Python kullanıyor; DIY projeleri için ideal basit bir programlama dili. Yükleyerek başlayacağız Twython Pi - Twitter ile arayüz oluşturmak için bir Python modülü; bir API anahtarı almak için bir Twitter “uygulaması” ayarlama; sonra bizim adımıza Pi tweet şeyler yapmak devam. Çok eğlenceli olacak!

Bunu Raspian üzerinde yapıyorum - ancak teorik olarak herhangi bir Pi'de sahip olduğunuz Linux tabanlı işletim sistemi Raspberry Pi'nizde Çalışan 11 İşletim SistemiRaspberry Pi projeniz ne olursa olsun, bunun için bir işletim sistemi vardır. İhtiyaçlarınız için en iyi Raspberry Pi işletim sistemini bulmanıza yardımcı oluyoruz. Daha fazla oku . Henüz yapmadıysanız, uzaktan oturum açabilmemiz ve konsol komutları yapabilmemiz için SSH'yi ayarladığınızdan emin olun.

Twython Kurulumu

İlk olarak güncellemeleri çalıştırmak iyi bir fikirdir. Aşağıdaki komutları birer birer kopyalayıp yapıştırın - çoğu onay gerektirir.

sudo apt-get güncellemesi. sudo uygun-yükseltme. sudo apt-get kurulum python-setuptools. sudo easy_install pip. sudo pip yükleme twython. 

Bir Twitter uygulamasını kaydetme

Twitter API'yı (yani, yeni Tweet göndermek için kullanacağımız ve genellikle Twitter web sitesi dışında Twitter ile etkileşimde bulunacağımız REST arayüzü) kullanmak için yeni bir uygulama kaydetmemiz gerekecek. Yap bunu bu linkten - bir geri arama URL'si belirtmeniz gerekmez ve isterseniz bir web sitesi oluşturmanız yeterlidir.

Yeni-twitter-app

İşiniz bittiğinde buna benzeyen bir şey görürsünüz - bu anahtarlar size özeldir.

twitter-app

Varsayılan olarak, uygulama salt okunur olarak ayarlanmıştır, bu nedenle tweeti şu şekilde değiştirmeden yayınlayamayız Oku ve yaz. Ayarlar sekmesine gidin ve Uygulama türü.

readwrite erişimli

Kaydettikten sonra, ayrıntılar sekmesini tıklayın ve alttaki düğmeyi tıklayın. OAuth erişim belirteci oluşturma - Bu, uygulamanızın kendi Twitter hesabınıza erişmesini sağlar. Yenileyin ve sayfayı daha sonra kullanmak üzere bırakın; bu anahtarlardan bazılarını bir dakika içinde kopyalayıp yapıştırmamız gerekir.

erişim belirteci

Python Projenizi Oluşturun

Tweet projenizi barındırmak için yeni bir dizin oluşturarak başlayın, ardından yeni bir dosya oluşturun.

mkdir SillyTweeter. cd SillyTweeter. sudo nano SillyTweeter.py. 

Açıkçası, ne istersen diyebilirsin.

Görüntülenen metin düzenleyicisinde, tüketici anahtarını daha önce açık bıraktığımız Twitter uygulama sayfasındaki ilgili anahtarla değiştirerek aşağıdakileri kopyalayıp yapıştırın. Her anahtar tek tırnaklarla çevrilidir, bu yüzden bunları kaçırmamaya dikkat edin. Bunu not et ERİŞİM ANAHTARI olarak adlandırılır Erişim kodu Twitter uygulama sayfasında.

#! / usr / bin / env python. ithalat sistemi. ithalat twython dan. CONSUMER_KEY = 'VERİLERİNİZ *************** *****************' CONSUMER_SECRET = 'VERİLERİNİZ *************** *****************' ACCESS_KEY = '*************** VERİLERİNİZ *****************' ACCESS_SECRET = '*************** VERİLERİNİZ *****************' api = Twython (CONSUMER_KEY, CONSUMER_SECRET, ACCESS_KEY, ACCESS_SECRET) api.update_status (durum = sys.argv [1])

Dosyadan çıkmak ve kaydetmek için Ctrl-X tuşlarına basın ve Y tuşuna basın. Aşağıdaki komutla yürütülebilir olmasını sağlayın (başka bir şey seçtiyseniz Python dosya adınızı değiştirme)

sudo chmod + x SillyTweeter.py. 

Artık şu şekilde tweet gönderme yeteneğinizi test edebilmelisiniz:

python SillyTweeter.py 'Herkese merhaba, bu benim ahududu Pi'm seni daha saçma tweetliyor'

CPU Sıcaklığınızı Tweetleme

Artık istediğiniz herhangi bir saçmalık yayınlayabileceğinize göre, uygulamayı mevcut CPU sıcaklığını yakalayacak şekilde ayarlayalım, çünkü dünyanın bunu her saat bilmesine gerek yoksa lanetleneceğim.

OS kütüphanesine başka bir içe aktarma ekleyerek başlayın:

ithalat os

Ardından, yukarıdaki örnekte yer alan önceki api.update_status yerine aşağıdaki satırları ekleyin.

cmd = '/ opt / vc / bin / vcgencmd ölçü_temp' line = os.popen (cmd) .readline (). şerit () temp = line.split ('=') [1] .split ("'") [0] api.update_status (status = 'Mevcut CPU sıcaklığım' + temp + 'C')

Bu kodu çok fazla açıklamayacağım çünkü gerçekten önemli değil - yakalayan bir komut çalıştırıyor sıcaklık, daha sonra numarayı çıkarmak için çıktıyı böler ve özel bir İleti. Komple bulabilirsiniz örnek kod buraya.

Tweet Fotoğraflarını Pics

Şimdi bir şeyi gerçekten kullanışlı hale getirelim; tweet webcam resimlerine gidiyoruz. Neyse ki, Twython API işlevini destekliyor update_status_with_mediabu da işleri basitleştiriyor.

Cihazınıza bir USB web kamerası takın ve komutla tanınıp tanınmadığını kontrol edin:

ls / dev / video *

Eğer görürsen video0, şanslısın. Bir Playstation 3 PSEye kamera kullandım ve herhangi bir ek ayak olmadan gayet iyi çalıştı.

Biz de kullanacağız pygame resim çekmek için kütüphaneler; varolan içe aktarma ifadelerinden hemen sonra aşağıdaki satırları ekleyin:

ithalat pygame. ithalat pygame.camera. pygame.locals sitesinden import * pygame.init () pygame.camera.init () cam = pygame.camera. Kamera ( "/ dev / video0", (640480)) cam.start () image = cam.get_image () pygame.image.save (resim, 'webcam.jpg')

Kısacası, web kamerasını belirli bir çözünürlükte başlattınız (bunun gerçekten eski bir kamera olduğunu ayarlamanız gerekebilir), bir resim çektiniz ve bir jpg olarak kaydettiniz. Uygulama her çalıştırıldığında aynı webcam.jpg dosyasının üzerine yazacağız.

Son olarak, update_status satırını okumak için ayarlayın:

photo = open ('webcam.jpg', 'rb') api.update_status_with_media (medya = fotoğraf, durum = 'RPi'lerim şimdi tweet atıyor =>')

İsterseniz, durum metnini tekrar mevcut CPU sıcaklığınızla değiştirebilirsiniz. Bunun için tam kod örnek burada.

Bunu tekrarlayabilirmisin?

Bir Twitter botu yalnızca birden çok kez otomatik olarak çalışıyorsa kullanışlıdır; her saat komuta çalışarak orada oturmak istemezsiniz. Bunu başarmak için Pi’nin CRON zamanlama özelliğini kullanalım (CRON işi nedir? Basit Kabuk Betikleme ve CRON ile Wordpress Yedeklemenizi OtomatikleştirinWordpress yedeklemeleri hakkında en son konuştuğumuzda, size sadece birkaç komutla SSH olsa da tüm veritabanınızı ve dosyalarınızı yedeklemenin ne kadar kolay olduğunu gösterdim. Bu sefer göstereceğim ... Daha fazla oku )

sudo crontab -e

Her saat çalıştırmak için bu satıra yapıştırın.

* / 60 * * * * python /home/pi/SillyTweeter/SillyTweeter.py

Bunu olarak değiştir * * * * * her dakika çalışmasını istiyorsanız ve takipçileri hızlı bir şekilde kaybeden bir Twitter hesabından daha hızlı kaybetmeye hazır olun.

Bugün için. İnternetteki işe yaramaz baytların zenginliğine daha fazla saçmalık kattığım için mutluyum ve umarım siz de yaparsınız! Bu eğitici için minnettarlığınızı gösterin tweetlemekve ardından yorumlarda kendi Twitter bot'unuzun ne hakkında tweet atacağını bize bildirin.

Resim kredisi: adafruit / flickr

James Yapay Zeka alanında lisans derecesine sahiptir ve CompTIA A + ve Network + sertifikalıdır. MakeUseOf'un baş geliştiricisi ve boş zamanlarını VR paintball ve boardgames oynayarak geçiriyor. Çocukluğundan beri bilgisayar yapıyor.