İçindekiler:
- Adım 1: Akıllı Tavşanların Kısa Tarihi
- 2. Adım: Nabaztag 2.0
- Adım 3: Tavşan Pirzolası
- Adım 4: Konuşma ve Dinleme
- Adım 5: Tavşan Gibi Okumak
- Adım 6: Ne Söyleyin?
- Adım 7: RabbitPi için bir ŞAPKA
- 8. Adım: Kamera ve İnce Ayarlar
- Adım 9: Cookin' Doc Nedir? IFTTT Tarifleri
- Adım 10: Montaj ve Test
- Adım 11: Hazır Tavşan?
- Adım 12: Nabaztag Geri Döndü
Video: RabbitPi - Alexa Etkin, IFTTT Bağlantılı, Kulak Kıpırdatan IoT Asistanı: 12 Adım
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:20
Bu, bir Raspberry Pi 3 ve bir Adafruit Motor HAT kullanarak modern bir IoT Asistanına dönüştürdüğüm, eski bir 2005 Nabaztag "akıllı tavşanı". düğmesi, Amazon'un Alexa ses hizmetini kullanarak sesli komutları başlattı ve yanıtları entegre hoparlör aracılığıyla okudu. Sesli komutlar ayrıca, akıllı prizler ve cep telefonları gibi internete bağlı diğer cihazlarla etkileşim kurmak için IFTTT (Bu O Zaman Oysa) tariflerini tetiklemek için kullanılır. Yeterli değil? IFTTT olaylarını tetiklemenin yanı sıra, e-posta, metin mesajları ve örneğin polen uyarıları veya bir ev güvenlik kamerasından gelen bildirimler gibi diğer bildirimleri okumak için Ivona metinden konuşmaya motorunu kullanarak bunları Gmail üzerinden alır. LED'ler ve motorlu kulaklarla görsel geri bildiriminiz var mı? Ah ve karnında Twitter'a sesle etkinleştirilen özçekimler yüklemek için bir V2 Raspberry Pi Kamerası var. RabbitPi'nin sevimliliğini kelimelerle anlatmak zor, çalışırken görmek için videoyu izleyin!
Adım 1: Akıllı Tavşanların Kısa Tarihi
Orijinal Nabaztag "ilk akıllı tavşan" 2005'te piyasaya sürüldü, bir ortam ev asistanı olarak faturalandırıldı (tanıdık geliyor Amazon ve Google?) - muhtemelen ilk "Nesnelerin İnterneti" olayıydı ve birçok yönden zamanının ötesindeydi, Hemen bir tane aldım. Günlük hava durumu tahminlerini ve ara sıra bildirimleri okuyan şöminemizin üzerine oturdu, ancak metinden konuşmaya (TTS) hizmetlerini sağlamak için bir WEP wi-fi bağlantısına ve tescilli yazılıma ve sunuculara güvenerek hiçbir zaman çok fazla yeteneğe sahip olmadı. Şimdi hayal etmek zor ama o zamanlar bağlanabileceği çok şey yoktu, sosyal medya neredeyse hiç yoktu, Nokia akıllı telefon dünyasına hükmediyordu ve LED ampuller pahalı bir yenilikti.
Sonraki yıllarda, Nabaztag:Tag ve Karotz'un iki versiyonu daha geldi, her ikisi de gelişmiş işlevsellik sundu, ancak hiçbiri pazardaki yerini bulamadı, sonuçta donanım ve yazılım sınırlamaları yüzünden hayal kırıklığına uğradı. Utanç, destekleyici sunucular kapatılır kapatılmaz, daha önce akıllı tavşanların süs eşyalarından biraz daha fazlası haline gelmesiydi. Birkaç topluluk projesi "resmi" sunucuların hizmetlerini değiştirmeye çalıştı ve bir süre "OpenKarotz" kullandık, ancak bu da bir veya iki yıl önce öldü ve tavşanlarımı hoparlörlerimin üzerinde sessiz ve hareketsiz bıraktı.
Neyse tarih dersi bitti! Sonuç olarak, oturma odamızda Nabaztag'ın varlığını sevgiyle hatırlıyoruz ve onu geri istedim, ancak uygun bir modern IoT cihazı olarak.
2. Adım: Nabaztag 2.0
Mart ayında Amazon Alexa ses hizmetinin Raspberry Pi'ye sunulduğunu okuduğumda, sonunda RabbitPi'yi başlatmak için ilham aldım - anahtar, "dinlemeyi" etkinleştirmek için bir düğmenin gerekli olmasıydı - bu, Nabaztag ile mükemmel bir uyum içindeydi., parlak küçük kafasının üst kısmıyla aynı hizada bir basma düğmesine sahip olduğu için. Tavşanımı söktüm ve kısa süre sonra Sam Machin'in mükemmel AlexaPi kodunu Pi 3'ümde çalıştırdım, tavşan düğmesine basılarak etkinleştirildi. Bu noktada AlexaPhone'u yaparak tamamen dikkatim dağıldı, ancak biter bitmez doğrudan akıllı tavşan deliğinden aşağı atladım. Yeni geliştirilmiş Nabaztag'ımın en az orijinali kadar akıllı olmasına ihtiyacım vardı, bu yüzden şunu istedim:
Sesli arama yapın ve sonuçları okuyun
Bildirimleri oku
Kulaklarını hareket ettir ve LED'leri yak
Fotoğraf çekin ve uzaktan izlemeye izin verin
Akıllı prizler, ampuller vb. ile etkileşim kurun
Adım 3: Tavşan Pirzolası
İlk iş, Nabaztag'ı sökmek ve hangi parçaların yeniden kullanılabileceğini görmekti. Kulaklar değiştirilebilir ve sadece mıknatıslarla tutulacak şekilde tasarlanmıştır, bu yüzden bu kolaydı ve ana kapak sadece iki (tuhaf üçgen) vidayla tutuldu. Bu, merkezi bir plastik sütunun etrafına inşa edilmiş tüm devreleri ve bileşenleri ortaya çıkardı. Bir tarafta ana devre ve LED'ler, diğer tarafta bir hoparlör ve üst kısımdaki sütuna gömülü motorlar/düğme bulunur.
Sadece motorları tutmayı planladığım için kabloların çoğunu kestim ve vidaları çıkarmaya başladım. Bu noktada gerçek bir sürprizim var! Tavşanın "beyin" devresinin arkasında, sütunun tüm yüksekliği boyunca uzanan ve eski dizüstü bilgisayarlarda kullanacağınız türden tam boyutlu bir PCMCIA wi-fi kartı içeren bir yuva vardı. Sanırım o zamanlar bir tasarım veya uyumluluk taviziydi, ancak boyut olarak modern bir USB dongle ile karşılaştırmak, 10 yıllık alanda teknolojinin ne kadar küçüldüğünü gerçekten eve getirdi.
Geri kalan parçalar kolayca çıkarıldı, sadece çıplak plastik destek direğinin etrafında kesinlikle bol miktarda boşluk kaldı mı?
Adım 4: Konuşma ve Dinleme
Hoparlör ve mikrofon olmadan sesle kontrol edilen konuşan bir tavşana sahip olamazsınız, bu yüzden ilk sıraladığım şeyler bunlardı. Gerçekten çok fazla çabalamama gerek yoktu, Pi, USB mikrofonlar konusunda çok esnek görünüyor ve giriş için eski bir MSI StarCam Clip web kamerası kullandım, Pi ses ayarlarında ses seviyesini Max olarak ayarladım. Yer kazanmak için kamera merceğini ve kasayı atarak web kamerasını söktüm. Mikrofonun geçmesi için tabanda bir delik açtım ve kabloları olabildiğince düzgün bir şekilde çalıştırarak Pi'nin USB'sine bağladım.
Gerçekten etkili olduğunu kanıtladığı için AlexaPhone'da KitSound MiniBuddy hoparlörü kullandım, ancak bu proje için bir tane almaya gittiğimde tasarımın değiştirildiğini ve artık bir mikro-usb konektörü kullanarak şarj etmediklerini gördüm! Benzer bir şey aradım ve el bombası benzeri küçük bir ünite olan Philips SoundShooter'ı buldum. Sökmeden çantaya sığacağını ummuştum ama çok büyüktü, bu yüzden sökmek için tornavida çıktı. Bu sırada hoparlör kablolarını tutturmayı başardım, bu yüzden yeniden bağlanmayı kolaylaştırmak için bazı atlama kablolarına lehimledim. Bu hoparlör parçası, orijinal hoparlörle aynı yerde, devre ve pil altındaki küçük rafa sabitlenmiş olarak kasaya sıcak yapıştırılmıştı.
Geriye dönüp baktığımda, hoparlörü şarj etmek zorunda kalmak ideal olmadığından, bunun yerine şebekeden güç alan bir hoparlör yuvası veya başka bir şeyin cesaretini kullanmış olmayı dilerdim - yine de gerçekten uzun sürüyor ve kulağa harika geliyor ve ana kapak olarak kolayca kalkıyor, bu gerçekten şovu durduran bir sorun değil.
Adım 5: Tavşan Gibi Okumak
Artık Alexa kısmı çalıştığına göre, bir sonraki sorunu çözmeye geçtim, tavşanın bildirimleri okumasını nasıl sağlayabilirim? Orijinal Nabaztag'ın metin okuması şaşırtıcı derecede iyiydi, ancak kısa mesaj imzalarımı (MM) her zaman "Milimetre" ve eşimin (CM) "Santimetre" olarak okuduğunu hatırlıyorum - modern ve "&" sembolü gibi şeyleri doğru yorumlayacak ve:) gibi basit ifadeleri anlayacak doğal sese sahip bir motor.
Raspberry Pi'deki her şeyde olduğu gibi, orada birçok farklı seçenek var ve Alexa hizmeti tarafından kullanılan aynı temel motor gibi görünen Ivona'ya karar vermeden önce birkaçını inceledim. Bir dizi kullanılabilir ses ve yapılandırma seçeneği olduğundan benim için en iyi seçenek buydu - ayrıca Zachary Bears'ın Pyvona hizmeti için uygun bir Python sarmalayıcısı sunmuş olması da büyük bir artıydı.
Ivona'yı kullanmaya başlamak için önce bir geliştirici hesabı oluşturmanız, ardından tıpkı Alexa kurulumunda olduğu gibi uygulamanızda kullanmanız için kimlik bilgileri, bu durumda bildirimleri okumak için bir komut dosyası oluşturmanız gerekir. Bu hesaplardan biriyle ayda 50.000 arama izniniz var, ki bu benim için kesinlikle yeterli.
Pyvona kurulumu gerçekten basitti, birkaç dakika içinde, verilen örnekten, yazdığım herhangi bir ifadeyi okuyacak bir Python betiği oluşturdum. Ancak bu, elbette, yalnızca kısmen çözümdü - Ivona'nın sabit kodlanmış okumasını istemedim. metin ancak dinamik gelen bildirimler.
Adım 6: Ne Söyleyin?
Bu yüzden artık konuşabilen bir tavşanım (bankın her yerinde parçalar halinde) vardı, ancak bildirimleri almak ve bunları okunmak üzere Ivona servisine iletmek için bir mekanizmaya ihtiyacı vardı. Bir çevrimiçi hizmet veya SIM kart adaptörü aracılığıyla metin mesajı ve ayrıca metin dizeleri/dosyaları iletmek için Twitter ve Dropbox aracılığıyla metin mesajlaşma olasılığına baktım, ancak sonunda IMAP e-posta hesaplarıyla etkileşime geçmek için Python tabanlı bir araç olan imaplib'i kullanmaya karar verdim. Bu seçeneğe karar verdim çünkü IFTTT hizmetiyle iyi bir şekilde entegre oldu, bildirim e-postalarının biçimlendirilmesinde gerçekten yaratıcı olabilirsiniz. Ayrıca, yüksek sesle okunmak üzere doğrudan RabbitPi'ye e-posta gönderebileceğim anlamına geliyordu.
Çevrimiçi olarak pek çok imaplib python örneğine baktım ve bitleri ve parçaları birleştirip imaplib belgeleri üzerinde çalıştıktan sonra, Gmail'i okunmamış iletiler için düzenli aralıklarla kontrol eden ve içeriğine bağlı olarak ekranda farklı metinler yazdıran bir komut dosyası elde etmeyi başardım. mesaj konusu. Bu gerçekten kullanışlıydı, çünkü koddaki bir "IF" ifadesini yalnızca e-posta kendimden geldiğinde çalışacak şekilde uyarlayabilir ve ardından Ivona hizmetini çağıran kod için "Yazdır" eylemini değiştirebilirim.
E-postaların gövdesini okumak için imaplib & Pyvona kodunu uyarlamaya çalışırken oldukça zaman harcadım ama bunun son derece karmaşık olduğu ortaya çıktı - kısa sürede temel e-posta alanlarının (Kimden, Kime, Konu vb.) çok basit bir şekilde biçimlendirildiğini öğrendim, ancak bu e-posta gövde metni birçok farklı şekilde yapılandırılabilir. Sonunda gerçekten önemli değildi, bildirim metninin okunacağı alan olarak E-posta Konusunu kullanarak ihtiyacım olanı elde edebildim.
Daha sonra imaplib kod örneğini uyarladım, böylece her e-posta kontrolünden sonra durmak yerine sonsuz döngüde olacak, e-postaları dakikada birkaç kez kontrol edecek ve yenilerini hemen hemen geldikleri gibi okuyacak. Bu, test için faydalıydı, ancak pratikte muhtemelen biraz daha az kontrol etmesini sağlardım. Ayrıca, komut dosyasının parolayı düz metin olarak sakladığını ve bu nedenle bir noktada eklenen bazı şifrelemeye ihtiyaç duyacağını belirtmekte fayda var.
Bunun Python'da çok daha zarif ve verimli bir şekilde elde edilebileceğinden %100 eminim, ancak onu çalıştırmak eğlenceli ve zorlayıcıydı - bu hafta kütüphaneden "Python for Kids" ödünç aldım, bu yüzden kodum umarım gelişecektir daha fazlasını öğrendikçe.
Temel bir e-posta al ve oku komut dosyası çalışırken, tavşanın kulaklarını hareket ettirecek ve bildirimleri okurken LED'lerin yanmasını sağlayacak fazladan kod parçaları ekledim. Kullandığım kod GitHub'da ama lütfen şu anki python cesaret eksikliğimi unutmayın!
Adım 7: RabbitPi için bir ŞAPKA
Nabaztag ile ilgili en ikonik şeylerden biri, bir bildirim geldiğinde kulaklarını hareket ettirme şekliydi. Elle hareket ettirilerek veya kontrol yazılımı kullanılarak bir konum ayarlanarak belirli bir yöne ayarlanabiliyorlardı - amacım şuydu: sadece onları hareket ettirmek için.
Daha önce Raspberry Pi ile motor kullanmamıştım, bu yüzden bu benim için yeni bir araştırma konusuydu - önce ne tür motorlarla uğraştığımı bulmam gerekiyordu, tek bildiğim, her biri 2 kablolu 2 motor olduğuydu. Çevrimiçi olarak okuduğumda, bunların step motorlar yerine basit DC motorlar olması gerektiği sonucuna vardım; bu, bir ay önce okumak isterdim, Liana_B'nin bu fevkalade yararlı öğretici "Nabaztag'ı Hackleyin" tarafından doğrulanan bir gerçek.
Yine Pi'nin esnekliği sayesinde motorları kontrol etmenin birçok farklı yolu var ama ben Adafruit DC ve Step Motor HAT kartı kullanmaya karar verdim. Adafruit ekranlarını ve biblolarını daha önce kullandım ve standart olarak gelen ayrıntılı talimatları ve örnekleri seviyorum.
HAT (Donanım Üste Takılı) standardına sahip bir kart kullanmak, motor kontrolörünün Pi'nin üzerine düzenli bir şekilde sığması ve minimum yer kaplaması anlamına geliyordu ve I2C arayüzünü kullandığı için Alexa/Clap için ihtiyaç duyduğum GPIO pinlerini boş bıraktı düğme ve LED'ler.
Beklendiği gibi, HAT'ı birlikte lehimlemek gerçekten kolaydı ve kısa süre sonra onu PI'ye monte ettim ve iki kulak motoruna bağladım. Motorları bir usb güç bankasından çalıştırmayı planlamıştım, böylece sadece tek bir elektrik fişine ihtiyaç duyacaktım, ancak bunun yeterli homurtu olmadığı ortaya çıktı, HAT üzerindeki "Çalışıyor" ledini bile yakmayacaktı. HAT'ı ve kulakları çalıştırmak için bir DC güç adaptörü kullanmaya karar verdim, değiştirilebilir uçlara sahip evrensel olanlardan birini kullanışlı buldum. Sahip olmadığım şey, adaptörü HAT'a bağlamak için bir DC soketiydi. Nabaztag'ın orijinal güç kablosunun standart bir DC fişi olduğunu söktüğümde hatırladığımda (tekrar) Norwich Maplin'e gitmek üzereydim - bu nedenle orijinal elektrik prizini HAT'a yeniden bağlayabilirdim - temiz! Sonunda, doğru miktarda güç sağladığı için orijinal Nabaztag güç kaynağını da yeniden kullandım.
Her şey bağlıyken ve makul bir voltaj seçiliyken, farklı kontrol seçeneklerini göstermek için motorun hızını ve yönünü sürekli değiştiren örnek kod olan DC Motor Şapkası ile birlikte verilen python örneğini geçici olarak çalıştırdım. İlk Pi kontrollü motorum çalıştığında çok heyecanlandım! Ama sonra bir şey fark ettim - gerçekten yüksek, tiz bir inilti, sanki biri ıslak parmağını bir şarap kadehinin etrafında gezdiriyormuş gibi. Bu hiç iyi olmadı, bildirimler okunurken kulakları oynatmak istedim ve sağır edici olmasa da sızlanma gerçekten fark ediliyordu. Farklı voltajlar denedim ama değişiklik olmadı. Google'a dönerek bunun PWM (darbe genişliği modülasyonu) nedeniyle olabileceğini ve bir çarenin motor terminalleri boyunca küçük kapasitörleri lehimlemek olabileceğini öğrendim. Motorlara bakıldığında bunlar zaten yerindeydi. Ayrıca PWM frekansını değiştirmeyi de denedim ama yine de değişiklik olmadı. Bazı deneylerden sonra, uğultu sadece motorun hızı kod tarafından düşükten yükseğe değiştirilirken gerçekleştiğini fark ettim - bu yüzden sabit bir yüksek hıza ayarlamak sızlanmayı tamamen ortadan kaldırdı - vay!
Adafruit örneklerini temel alan birkaç test python betiği oluşturdum, biri bildirimler sırasında hareket için, diğeri ise kulakların başlangıçta tam bir "devre" gerçekleştirmesini sağlamak için, çalışma kodunu bunlardan işlemek için kullanılan ana betiklere kopyalamayı amaçladım. Alexa ve Gmail/Ivona etkileşimleri.
8. Adım: Kamera ve İnce Ayarlar
Montaja başlamadan önce her şeyi test ettim. Bu yapıda mümkün olan her yerde, bireysel bileşenleri birbirine bağlamak için atlama kabloları kullandım, eğer geçmiş yapılar bana bir şey öğrettiyse, o da gelecekteki sökümü planlamaktır! Ayrıca hangi renk kabloların nereye gittiğini gösteren bir bağlantı şeması çizmeye de dikkat ettim, atlama kabloları mükemmel ama bazen bileşenleri dar alanlara sıkıştırırken kolayca yerinden çıkıyor!
Bir Pi Kamera modülünü de dahil etmeye oldukça karar verdim, 8MP sürüm 2 henüz piyasaya sürüldü ve benim için yeni bir şey olarak bunun iyi bir ekleme olacağını düşündüm. Karotz tavşanının en son sürümü midesine bir web kamerası yerleştirmişti ama bu hiçbir zaman o kadar iyi çalışmadı, Pi kamerasının sesle etkinleştirilen özçekimler için eğlenceli olacağını düşündüm ve hatta Pi, kodu çalıştırmayı başarabilirse uzaktan izleme bile olabilir. diğer her şeyle aynı zamanda.
Kamera için plastik kaplı meccanodan bir braket yaptım ve önce kasaya yerleştirdim, sonra kasada havşa deliği açmam gereken yeri çok dikkatli bir şekilde ölçtüm. Yanlış yerde bir delik bir felaket olacağından, bu kesinlikle bir "bir kez kesilen iki kez ölçün" bir durumdu. Neyse ki ölü merkezden çıktı ve biraz fazla yüksek, bu yüzden kamera braketi ile taban arasına pul ekleyerek telafi edebildim.
Bu noktada bir Pimoroni Çift Mikro USB Güç Kablosu da ekledim - bu bana kasanın arkasında güzel bir mikro usb soketi verdi ve ikinci bir elektrik fişi sağladı. Hoparlörün pilini şarj etmek için ekstra fişi kullanmayı amaçladım ve şarjı kontrol etmek için Nabaztag'ın orijinal "sessiz" anahtarına bağlanabilmem için fişe girdim.
Adım 9: Cookin' Doc Nedir? IFTTT Tarifleri
Şu anda bir IoT cihazı oluşturmanın olağanüstü yanı, mevcut web hizmetlerinin çok sayıda olmasıdır ve IFTTT (Bu O Zaman Oysa) hizmeti, bunların hepsini basit ve işlevsel bir pakette bir araya getirerek harika bir iş çıkarır. Henüz kullanmadıysanız, bu çevrimiçi bir hizmettir ve kaydolduktan sonra Gmail, Facebook, Twitter ve (tahmin ettiniz) Amazon Alexa gibi diğer tüm web tabanlı şeylerinizi buna bağlayabilirsiniz. Ampuller, termostatlar ve prizler gibi akıllı cihazlar için kontrol seçenekleri de dahil olmak üzere, aralarından seçim yapabileceğiniz toplam bir hizmet seçeneği vardır.
IFTTT kuralları "tariflerde" kurulur - SQL veya Visual Basic'teki bir Outlook kuralı veya bir EĞER ifadesi gibi, örneğin, "Birisi beni Facebook'ta bir fotoğrafta etiketlerse SONRA bana bir e-posta gönder" yazan bir tarifim var. Konu ile " Kutsal guacamole, [kişinin adını etiketlemek] az önce bir facebook fotoğrafında sizi etiketledi" - bu bana kendi adresimden gönderildiği için RabbitPi daha sonra Konu Metni'ni okur.
IFTTT'nin bir başka harika kullanımı da Alexa ses hizmetidir - bir tarifin EĞER kısmı için bir cümle kurabilirsiniz, örneğin "lazer" ve daha sonra Alexa'ya "Lazeri tetikle" derseniz, isteği iletir. Tarifin THEN kısmını ateşleyecek olan IFTTT, bu durumda bir disko lazere bağlı bir uzak soketi etkinleştirir.
Hatta "akıllı şeylerin" ötesine geçer - telefonunuzda IFTTT yüklüyse (benimki Android sürümüdür), o zaman onunla her iki yönde de etkileşimde bulunabilirsiniz, videoda kullanılan bir tarif: "Eğer "Trigger Chas & Dave" den Alexa'ya, SONRA android telefonumda belirli bir "Tavşan" şarkısını çal. Aynı zamanda tersi de çalışır - telefonumdaki AnyMote evrensel uzaktan kumanda uygulaması özelleştirilebilir, böylece belirli bir düğme "IF" bölümünü tetikler Bu yüzden ekranımda RabbitPi'yi bir selfie çekip Twitter'a yüklemesini tetikleyen bir düğmem var.
Başka bir işlev RabbitPi'nin metin mesajlarımı okumasını sağlar, telefonumda bir tarifim var "Eğer yeni bir SMS mesajı alırsam SONRA kendime şu konulu bir e-posta gönder "Hey! [metin gönderen], [metin mesajı gövdesi] diyor"
Kullanımı kolay, çok eğlenceli ve iyi çalışıyor, bildirimler çok hızlı bir şekilde iletiliyor, özellikle de sahip olduğum WeMo Insight anahtarına, ki bu hemen hemen anında. IFTTT ve RabbitPi'ye sahip olmak, şeyleri ve hizmetleri gerçekten basitleştirir.
Adım 10: Montaj ve Test
Şimdi zor kısım geldi - tüm bileşenleri kasaya sıkıştırmak! Her şeyin sığacağından oldukça emindim ama asıl montaj gerçekten zahmetliydi, küçük boşluklardan kabloları sokmak için bazı cerrahi aletleri ve cımbızları iyi kullandım.
Her şey güvenli bir şekilde takıldıktan sonra, birçok kablonun düzenli bir şekilde bir araya getirilebilmesi için kendinden yapışkanlı bazı kablo bağı tabanları ekledim - bu, kasayı tekrar bir araya getirirken yanlışlıkla herhangi birinin fişini çekmek istemediğim için bu gerçekten önemliydi.
Adım 11: Hazır Tavşan?
Artık tüm fiziksel yapı tarafı yapıldıktan sonra, "kabloyu kesmenin" zamanı gelmişti, RabbitPi'yi ethernet kablosunun, monitörün ve klavyenin rahatlığından atölyede çıkararak kodu SSH aracılığıyla başka bir yerde bitirebildim (Kablosuz sinyali orada gerçekten zayıf!)
Ofisimdeki masanın üzerine yerleşerek tavşanı çalıştırdım ve - wi-fi bağlantısı yok, hiçbir şey yok. Telefonum iyi çalıştığı için bir sinyal olması gerektiğini biliyordum - Pi 3'teki ağ bağdaştırıcısında duymadığım bir sorun mu vardı? Hızlı bir arama, Pi 3'ün yalnızca yönlendirici 1-11 kanallarında yayın yapıyorsa bir wi-fi sinyali bulacağını bildirdi - benimki kanal 13'e ayarlandı! Birkaç ince ayardan sonra birbirimize bağlandık, rahat bir nefes aldık.
Ardından çeşitli senaryoları sıralamak geldi. İlk olarak, AlexaPi kodunun main.py betiğini değiştirdim, fazladan satırlar ekledim, böylece RabbitPi başlangıçta LED'lerini yanıp sönmesinin yanı sıra güzel bir kulak kıpırdatma yapacaktı. Ayrıca eğlence için standart "Merhaba" mesajını eğlenceli bir "boing" ses efektiyle değiştirdim.
İkinci komut dosyası tavşan.py (SWIDT?) olarak adlandırılır ve gmail mesajlarını almak ve bunları Pyvona ile okumak için tüm kodu içerir. Ayrıca Raspberry Pi "Tweeting Babbage" eğitiminden uyarladığım bazı Twython kodlarını da ekleyerek RabbitPi'nin bir fotoğraf çekmesini ve bunu Twitter hesabına (@NabazPi) yüklemesini sağladım. Fotoğraf çekilmek üzereyken size adil bir uyarı vermek için biraz kulak hareketi ve LED flaşlar ekledim, ayrıca bir deklanşör sesi ve Pyvona tarafından okunan tweet onayı.
Son olarak, imaplib gmail koduna bir IF ifadesi ekledim, böylece e-posta konusu "selfie" olsaydı, o zaman RabbitPi kendi selfie işini yapar, ancak aksi takdirde e-posta konusunu normal olarak okurdu.
Kullandığım kod GitHub'da mevcut - lütfen ReadMe dosyasını okuyun!
Son bir dokunuş olarak, şeffaf kağıda bir Raspberry Pi logosu yazdırdım ve bunu RabbitPi kasasının içine yapıştırdım, böylece beyaz karın LED'i görüntüyü yarı saydam derisiyle aydınlatacaktı.
Adım 12: Nabaztag Geri Döndü
Her şey yapıldıktan sonra geriye sadece yapılması gereken video kaldı. RabbitPi'yi kamera üzerinde ilerletmek çok eğlenceliydi, tek dezavantajı daha sonra yaşlı dizüstü bilgisayarımda HD görüntüleri düzenlemekti. Bazı bildirimler için (çoğunlukla korkunç Vodafone sinyalim nedeniyle kısa mesajlar) eylem ve bildirim arasındaki duraklamaları azalttım, yoksa uzun ve sıkıcı bir video olurdu, ancak çoğu gerçek yanıt hızını gösteriyor.
Alexa hizmetini tetiklemek için bir alkış sensörü kullanmayı denedim (Snap to it Alexa videosunda görüldüğü gibi), ancak arka plan gürültüsü olduğunda yeterince güvenilir olmadığı için son yapının dışında bıraktım. Diğer tamircilerin IR uzaktan kumandalar, wii kontrol cihazları ve hatta AlexaPi koduyla aktif dinleme üzerinde çalıştığını biliyorum, bu nedenle gelecek için birçok seçenek var.
Karın LED'ini değiştirmek için bir adafruit neopiksel halkası eklemeyi umuyorum, çünkü bu çok daha iyi görsel bildirimler sağlar, ayrıca geceleri sesli bildirimleri "sessizleştirme"yi de hesaba katmak isterim. Çocuklarım da bazı harika önerilerde bulundular ve artık Python ile biraz daha rahat olduğum için, örneğin selfie onay metninin rastgele bir değerler listesinden alınması için bildirimlerin aralığını genişletmek için birlikte çalışacağız. ve böylece tavşana kulakları ve LED'leri ile makarena dansı yapması talimatı verilebilir.
Burada başka bir Nabaztag ve daha sonraki bir Karotz tavşanım var, bu yüzden onlarla başka bir şey inşa edebilirim - her türlü uzaktan izleme ve sensörle denemeler yapmak cazip geliyor! Mükemmel boyutlu kasası, motorları ve düğmesi ile Pi için ideal bir donanım platformudur. Orijinal üreticilerin Atari çöp sahası gibi bir yerde satılmamış Nabaztag stoğu olup olmadığını merak ediyorum. Elbette kamerayı ve PI'yi monte etmek için 3d baskılı bir iyilik ve motorları, LED'leri ve sesi çalıştırmak için özel bir HAT ile ideal bir Raspberry Pi yapım kiti yapacaklar, her kodlama kulübünde bir tane olmalı!
Bu projeyi beğendiyseniz ve daha fazlasını görmek istiyorsanız, bit.ly/OldTechNewSpec adresindeki devam eden proje güncellemeleri için web siteme göz atabilir, Twitter @OldTechNewSpec'e katılabilir veya bit.ly/oldtechtube adresinde büyüyen YouTube kanalına abone olabilirsiniz - ver Eski Teknolojinizden bazıları Yeni Bir Özellik!
2016 Nesnelerin İnterneti Yarışmasında İkincilik
Önerilen:
Kulak Çınlaması İşitme Kaybı için LLLT LED Kırmızı Işık Tedavisi: 4 Adım
Kulak Çınlaması İşitme Kaybı için LLLT LED Kırmızı Işık Tedavisi: Hatırlayabildiğim kadarıyla şiddetli Tinnitus (kulaklarımda çınlama) yaşadım. Dolayısıyla, "hızlı düzeltme" yapılmadı; hafifletmeye yardımcı oluyor gibi görünüyor. Bazı insanlar Tinnitus'un antibiyotiklere tepki, steroidlere tepki, hassasiyet olabileceğini düşünüyor
IoT Hava Durumu Monitörü E-Kağıt Ekranı - İnternet Bağlantılı ESP8266: 7 Adım
IoT Hava Durumu Monitörü E-Kağıt Ekranı | İnternet Bağlantılı ESP8266: E-Kağıt ekranı, OpenWeatherMap API (WiFi üzerinden) ile senkronize edilmiş hava durumu bilgilerini görüntüler. Projenin kalbi ESP8266/32'dir. Hey, naber beyler? Akarsh burada CETech'ten. Bugün hava durumu monitörü olan bir proje yapacağız
IoT Etkin Kahve Makinesi: 9 Adım (Resimlerle)
IoT Etkin Kahve Makinesi: Bu talimat, IoT yarışmasına girildi - Beğendiyseniz, lütfen oy verin! GÜNCELLENDİ: Artık 2 yönlü iletişimi ve OTA güncellemelerini destekliyor Bir süredir bir Jura kahve makinem vardı ve her zaman istedim bir şekilde otomatikleştirmek için
ESP8266 ve PubNub ile IoT Etkin Sensör Veri Toplama Merkezi: 9 Adım (Resimlerle)
ESP8266 ve PubNub ile IoT Etkin Sensör Veri Toplama Merkezi: ESP8266'daki eğitimlerin çoğu ya acemi seviyesinde (uzaktan bir led yanıp sönüyor) ya da led yanıp sönme becerilerini geliştirmek ve yükseltmek için bir şeyler arayan biri için çok karmaşık. Instructable, bu boşluğu oluşturmak için köprülemeyi amaçlıyor
Kulak İçi Kulaklıkları İyileştirin (Kulak Tomurcukları): 6 Adım
Kulak İçi Kulaklıkları Geliştirin (Kulak Tomurcukları): Bu kulak içi kulaklıklar asla kulaklarıma sığmaz. Ama bunun basit bir çözümü var