Bir Ahududu Pi Twitter Bot Nasıl İnşa Edilir

  • Brian Curtis
  • 0
  • 3772
  • 831
reklâm

Twitter, söyleyecek hiçbir şeyi olmayan insanlardan gelen kısa mesajların dünyadaki en büyük deposu - ve şimdi de Raspberry Pi'nizin desteklediği otomatik bir Twitter botu ile bu epik projeye katkıda bulunabilirsiniz. Şaka yapıyorum, tabii ki - bazı insanlar gerçekten ilginç şeyleri tweetliyor İlgi Alanınızdaki Mentorları Aramak İçin Twitter Nasıl Kullanılır İlgi Alanınızdaki Mentorları Aramak İçin Twitter Nasıl Kullanılır Gerçek dünyada akıl hocası akıllıca birini destekleyen ve rehberlik eden ve potansiyellerini en üst düzeye çıkarmalarına yardımcı olan öğretmen. Çevrimiçi dünyada, yapacak birini bulmak için çok şanslısınız. Ben onlardan biri değilim, ancak benim madeni utanmaz ürün tanıtımı için ücretsiz materyaller, yarışma girişleri ve kendi Technophilia Podcast'imizin yeni bölümlerini otomatik gönderme karşılığında kullanıyorum. Her neyse - takipçilerim beni seviyor!

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

- Justin Pot (@jhpot) 21 Ağustos 2013

Şimdi bir Raspberry Pi'yi her saat başı otomatik olarak mevcut CPU sıcaklığını ve bir web kamerası resmini tweetleyerek kişisel Twitter akışımın kullanışlılığını artıracağım.!

Başlamak

Bu proje Python kullanır; DIY projeleri için ideal basit bir programlama dili. Twython'u Pi'ye yükleyerek başlayacağız - Twitter ile etkileşime geçmek için bir Python modülü; Twitter ayarlanması “uygulama” bir API anahtarı almak için; sonra bizim için Pi tweet şeyler yapmak gidin. Çok eğlenceli olacak!

Bunu Raspian'da yapıyorum - ama teorik olarak Pi tabanlı herhangi bir Linux işletim sistemi üzerinde çalışmanız gerekir. 11 Ahududu Pi İşletim Sistemini deneyebilirsiniz 11 Ahududu Pi İşletim Sistemini deneyebilirsiniz Ahududu Pi projeniz ne olursa olsun, bir işletim Bunun için sistem. İhtiyaçlarınız için en iyi Raspberry Pi İşletim Sistemini bulmanıza yardımcı oluyoruz. . Henüz yapmadıysanız, SSH'yi kurduğunuzdan emin olun, böylece uzaktan giriş yapabilir ve konsol komutlarını uygulayabiliriz..

Twython Kurulumu

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

sudo apt-get güncelleme sudo apt-get yükseltme sudo apt-get yükleme python-setuptools sudo easy_install pip sudo pip yükleme twython 

Twitter uygulamasını kaydetme

Twitter API'sini kullanmak için - yani, yeni Tweet'leri yayınlamak için kullanacağımız REST arayüzü ve genellikle Twitter web sitesi dışında Twitter ile etkileşimde bulunacağız - yeni bir uygulama kaydetmemiz gerekecek. Bunu bu bağlantıdan yapın - bir geri arama URL'si belirtmeniz gerekmez ve isterseniz bir web sitesi hazırlayın.

İşiniz bittiğinde buna benzeyen bir şey göreceksiniz - bu anahtarlar size özel.

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

Kaydettikten sonra geri gidin. ayrıntılar sekme ve altındaki düğmesine tıklayın OAuth erişim belirteci oluşturmak - Bu, uygulamanıza kendi Twitter hesabınıza erişim izni verir. Yenileyin ve sayfayı daha sonra açık bırakın; bu anahtarların bazılarını bir dakika içinde kopyalamamız gerekir.

Python Projenizi Oluşturun

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

mkdir SillyTweeter cd SillyTweeter sudo nano SillyTweeter.py 

Ne istersen onu arayabilirsin, belli ki..

Görünen metin düzenleyicide, daha önce açık bıraktığımız Twitter uygulama sayfasındaki tüketici anahtarını ilgili anahtarla değiştirerek aşağıdakini kopyalayıp yapıştırın. Her anahtar tek tırnak işareti içine alındığından, bunları kaçırmamaya dikkat edin. Bunu not et ERİŞİM ANAHTARI olarak anılır Erişim belirteci Twitter uygulaması sayfasında.

#! / usr / bin / env python twython içe aktarma sisteminden içe aktarım sistemi Twython 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 (status = sys.argv [1]) 

Ctrl-X tuşlarına basın ve dosyadan çıkmak ve kaydetmek için Y tuşuna basın. Aşağıdaki komutla çalıştırılabilir duruma getirin (başka bir şey seçtiyseniz Python dosya adınızı değiştirerek)

sudo chmod + x SillyTweeter.py 

Şimdi böyle 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

İstediğin her tür saçmalığı gönderebildiğine göre, şu anki CPU sıcaklığını kapmak için uygulamayı ayarlayalım, çünkü dünyanın her saatte bir bilgiye ihtiyacı olmazsa lanetleneceğim.

Os kütüphanesi için başka bir içe aktarma ekleyerek başlayın:

ithal os

Ardından yukarıdaki örnekten önceki api.update_status yerine geçen aşağıdaki satırları ekleyin.

cmd = '/ opt / vc / bin / vcgencmd measure_temp' satırı = os.popen (cmd) .readline (). strip () temp = line.split ('=') [1] .split ("'") [ 0] api.update_status (status = 'Geçerli CPU sıcaklığım' + temp + 'C') 

Bu kodu çok fazla açıklamayacağım, çünkü gerçekten önemli değil - sıcaklığı tutan bir komut çalıştırıyor, ardından sayıyı çıkarmak için çıktıyı bölerek özel bir mesajla tweetliyor. Örnek kodun tamamını burada bulabilirsiniz..

Tweeti Webcam Pics

Şimdi gerçekten yararlı bir şey yapalım; Web kamerası resimlerini tweetleyeceğiz. Neyse ki, Twython şeyleri oldukça basit hale getiren update_status_with_media API işlevini destekliyor.

Bir USB web kamerasını cihazınıza takın ve şu komutla tanındığını kontrol edin:

ls / dev / video *

Eğer görürsen video0, Şanslısın. Playstation 3 PSEye kamera kullandım ve herhangi bir ek ayak izi bırakmadan 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:

pygame al pygame.camera al pygame.locals alma import * pygame.init () pygame.camera.init () kam = pygame.camera.Camera ("/ dev / video0", (640,480)) 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 çekti ve bir jpg olarak kaydettiniz. Uygulamanın her çalıştırılışı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 (media = photo, status = "RPI'm şimdi resimleri tweetliyor =>") 

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

Bunu tekrarlayabilirmisin?

Twitter botu, yalnızca otomatik olarak birden çok kez çalışırsa kullanışlıdır; Her saat başı oraya komuta ederek oturmak istemezsin. Bunu başarmak için, Pi'nin CRON zamanlama özelliğini kullanalım (Bir CRON işi nedir? Basit Kabuk Komut Dosyası ve CRON ile Wordpress Yedeklemenizi Otomatikleştirin Basit Kabuk Komut Dosyası ve CRON ile Wordpress Yedeklemenizi Otomatikleştirin En son Wordpress yedeklemeleri hakkında konuştuk, size nasıl gösterdim? inanılmaz derecede kolay oldu, tüm veritabanınızı ve dosyalarınızı SSH ile birkaç komutla yedeklemeniz kolaydı .. Bu sefer göstereceğim…)

sudo crontab -e

Her saat başı çalıştırmak için bu çizgiye yapıştırın.

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

Şunu değiştir * * * * * Her dakika çalışmasını ve takipçilerini hızlı bir şekilde kaybeden bir Twitter hesabından daha hızlı takipçileri kaybetmeye hazırsanız,.

Bu bugün için. İnternetteki faydasız bayt zenginliğine daha fazla aldatıcılık kattığım için mutluyum ve umarım siz de öyle! Bu eğitim için takdirinizi gösterin tweetleme, ve sonra kendi Twitter botunuzun yorumlarda neyi tweetleyeceğini bize bildirin.

Resim kredisi: adafruit / flickr




Henüz no comments

Modern teknoloji hakkında basit ve uygun fiyatlı.
Modern teknoloji dünyasında rehberiniz. Her gün bizi çevreleyen teknolojileri ve araçları nasıl kullanacağınızı ve Internet'te ilginç şeyleri nasıl keşfedeceğinizi öğrenin.