(İmaj kredisi: Tom’un Donanımı)
IFTTT Uygulaması oluşturuldu, ancak henüz web kancası URL’sine sahip değiliz. Bu URL, Raspberry Pi Pico W’dan IFTTT hizmetimize sıcaklık verilerini gönderen şeydir. URL, tetikleyicimizi (Post_Tweet) ve IFTTT erişiminin kilidini açan bir API anahtarı gerektirir.
1.Ziyaret etmek bu bağlantı yeni bir tarayıcı sekmesinde / penceresinde.
2. Bir POST yap veya web isteği al bağlantısını not defterine veya bir metin düzenleyiciye kopyalayın. Metniniz, güvenlik nedeniyle metni düzenlediğimiz için doğru bir API anahtarı gösterecektir.
https://maker.ifttt.com/trigger/event/json/with/key/YOUR API KEY HERE
3. /json’u kaldırın ve event öğesini Post_Tweet olarak değiştirin.
https://maker.ifttt.com/trigger/Post_Tweet/with/key/YOUR API KEY HERE
Artık Raspberry Pi Pico W’nizi IFTTT aracılığıyla Twitter’a bağlayacak geçerli bir web kancası URL’niz var.
Raspberry Pi Pico W’yi Kurma
Raspberry Pi Pico W ürünümüz bir veri toplama cihazı görevi görmektedir. Wi-Fi’ımıza bağlanır ve her saat bir sıcaklık ölçümü alır. Bu daha sonra özel bir web kancası URL’si kullanılarak IFTTT’ye gönderilir. IFTTT daha sonra az önce oluşturduğumuz uygulamaya göre mesajı Twitter’a gönderir.
Şimdi hedefimiz Raspberry Pi Pico W için en son MicroPython ürün yazılımı sürümünü yüklemek, ardından Wi-Fi’ımıza bağlanmak için birkaç satır MicroPython kodu yazmak, sıcaklık okuması yapmak ve ardından bu verileri IFTTT’ye göndermek.
1. Takip et bu kılavuz MicroPython ürün yazılımını indirip yüklemek ve Thonny’yi kurmak için.
2. Thonny’yi açın ve yeni bir dosya oluşturun.
3. Üç kod modülünü içe aktarın. Ağ, Pico W’nin bir Wi-Fi ağına bağlanmasını sağlar. Urequests, MicroPython için web verileriyle çalışmanın bir yolu olan isteklerin bir sürümüdür. DHT, projede kullanılan DHT11 sıcaklık sensörünü ifade eder.
import network
import urequests
import dht
4. Diğer iki kod modülünü içe aktarın. Zaman modülünden uyku fonksiyonunu içe aktarın, bunu projeye bir duraklama eklemek için kullanacağız. Makine modülü içe aktarma Pininden bu, kodumuzun GPIO ile etkileşime girmesini sağlar.
from time import sleep
from machine import Pin
5. Kodumuzu GPIO aracılığıyla bağlanan DHT11’e bağlayan bir “sensör” nesnesi oluşturun. Bu nesne, sıcaklık verilerini sorgulayarak Pin 2’ye bağlı sensörle etkileşime girmemizi sağlar.
sensor = dht.DHT11(Pin(2))
6. Bir “wlan” nesnesi oluşturun ve kodu Raspberry Pi Pico W’daki Wi-Fi’ye bağlamak için kullanın, ardından Wi-Fi’yi açın.
wlan = network.WLAN(network.STA_IF)
wlan.active(True)
7. SSID ve parolasını kullanarak Pico W’nizi Wi-Fi erişim noktanıza bağlayın.
wlan.connect("SSID","PASSWORD")
8. Devam etmeden önce beş saniye duraklayın. Önceki Wi-Fi bağlantısı, bağlanacak veya başarısız olacak ve ardından bloğu serbest bırakacak bir engelleme çağrısı olduğundan, bu kesinlikle gerekli değildir. Bu duraklama, biraz daha fazla hareket alanı sağlamak için mevcuttur.
sleep(5)
9. Wi-Fi bağlantısının mevcut durumunu yazdırın. Bu, başarılı bir bağlantı için Doğru veya bağlanamadıysa Yanlış olacaktır.
print(wlan.isconnected())
10. Aşağıdaki kodu sürekli olarak çalıştırmak için bir döngü ekleyin. Bir while True döngüsü, Pico W kapatılana kadar kodu sürekli olarak çalıştırır. Bu satırı izleyen kodun, döngünün bir parçası olduğunu göstermek için girintili olduğuna dikkat edin.
while True:
11. DHT11 ile bir okuma yapın . Ham verileri elde etmek için bunu yapmamız gerekiyor.
sensor.measure()
12. Mevcut sıcaklığı bir nesneye, sıcaklığa kaydedin.
temperature = sensor.temperature()
13. Sıcaklığı Python Shell’e (REPL) yazdırın. Bu, herhangi bir sorunda hata ayıklamak için kullanışlıdır. Döngü her yinelendiğinde sıcaklığı göstermelidir.
print(temperature)
14. Daha önce oluşturduğumuz benzersiz web kancası URL’sini saklamak için bir nesne, mesaj oluşturun. URL’nin sonuna ?değer1= ekleyin ve bunun tırnak işaretleri arasında ” ” olduğundan emin olun. . Benzersiz IFTTT API anahtarınızı eklemeyi unutmayın.
message = "https://maker.ifttt.com/trigger/Post_Tweet/with/key/YOUR IFTTT API KEY HERE?value1="
15. Aynı satıra, “sıcaklık” nesnesinde depolanan mevcut sıcaklığı ekleyin. str() işlevini kullanarak sıcaklığı bir tamsayı/şamandıradan bir dizgeye dönüştürmemiz gerektiğini unutmayın. Mesaj satırınız şimdi aşağıdaki gibi okunmalıdır.
message = "https://maker.ifttt.com/trigger/Post_Tweet/with/key/YOUR IFTTT API KEY HERE?value1="+str(temperature)
16. Mesajı urequests.post kullanarak Twitter’a gönderin. Bu aslında verileri web kancası URL’si aracılığıyla IFTTT’ye gönderir ve ardından IFTTT bunu Twitter’a gönderir.
urequests.post(message)
17. Döngünün tekrar etmesine izin vermeden önce kodu bir saat (3600 saniye) duraklatın. IFTTT’nin günde 25 tweet’lik bir hız limiti vardır, bu nedenle sabit bir veri akışına sahip olmak için tweet’leri saatte bir ile sınırlamamız gerekir. Bu sınırı aşarsanız, IFTTT bir sonraki güne kadar uygulamayı devre dışı bırakır.
sleep(3600)
18. Kodu Raspberry Pi Pico W’nize tweet_temp.py olarak kaydedin
Komple Kod Listeleme
import network
import urequests
import dht
from time import sleep
from machine import Pin
sensor = dht.DHT11(Pin(2))
wlan = network.WLAN(network.STA_IF)
wlan.active(True)
wlan.connect("SSID","PASSWORD")
sleep(5)
print(wlan.isconnected())
while True:
sensor.measure()
temperature = sensor.temperature()
print(temperature)
message = "https://maker.ifttt.com/trigger/Post_Tweet/with/key/YOUR IFTTT API KEY HERE?value1="+str(temperature)
urequests.post(message)
sleep(3600)
Kodu Test Etme ve Çalıştırma
Projeyi düzgün bir şekilde dağıtmadan önce kodun çalışıp çalışmadığını test etmemiz gerekiyor.
1. Thonny’nin sol üst köşesinde bulunan Çalıştır düğmesine tıklayın.
2. Çıkışı kontrol edin. Wi-Fi’ye bağlı olduğumuzu onaylayan True’yu görmelisiniz. Sonra sıcaklık görünmelidir.
3. Twitter hesabınızı ziyaret edin ve mesajın gönderildiğini kontrol edin. Bunun görünmesi yaklaşık 10 – 20 saniye sürer.
4. Çalışan kodu durdurmak için Durdur’a tıklayın.
Kod başarıyla test edildiğinde, artık kodu Raspberry Pico W önyüklendiğinde otomatik olarak çalışacak şekilde ayarlayabiliriz.
1. Kodu Raspberry Pi Pico W’nize main.py olarak kaydedin. MicroPython (herhangi bir cihazda), açıldığında main.py’yi arayacaktır. Varsa, bu dosyanın içindeki kod otomatik çalıştırmadır.
2. Mikro USB kablosunu Pico W’dan çıkarın, ardından yeniden başlatmaya zorlamak için yeniden takın.
3. İlgili tweet için Twitter hesabınızı kontrol edin.