İçindekiler:
2025 Yazar: John Day | [email protected]. Son düzenleme: 2025-01-13 06:58
Bu eğitici, kullanıcıya Android Uygulamasını AWS IOT sunucusuna nasıl bağlayacağını ve bir Kahve Makinesini kontrol eden ses tanıma API'sini anlamayı öğretir.
Uygulama, Kahve Makinesini Alexa Ses Hizmeti aracılığıyla kontrol eder, her Uygulamanın bileşeni ve sesli komutları, AWS IOT konularında yayınlayarak AWS'de oluşturulan farklı becerileri tetikler.
Gereksinimler:
- Temel kodun bu eğitime eklendiği göz önüne alındığında, Android geliştirme hakkında temel bilgiler, ancak kullanıcının hesabına ve bazı parametrelere uyum sağlamak için bazı değişiklikler yapılması gerekiyor.
- Etkin bir AWS hesabı.
Bu proje 2 adıma ayrılmıştır: Android Studio Uygulaması ile ortamın hazırlanması ve AWS IOT sunucusu ile iletişimin sağlanması ve Ses Tanıma İşlevselliğinin Anlaşılması.
Adım 1: Android Studio Uygulaması ile Ortamı Hazırlama ve AWS IOT Sunucusu ile İletişim
Bu adım, bu eğiticiye eklenmiş, önceden yapılandırılmış bir Android Uygulaması kodunu kullanır, ancak Android Studio aracını yükleyip yapılandırmanız gerekir. İndirmek için bu bağlantıya tıklayın ve resmi belgeler tarafından sağlanan talimatları izleyin.
Kendi başınıza bir Android Studio Uygulaması oluşturmak ve AWS IOT sunucusuna bağlanmak için lütfen bu Eğitilebilir Tabloyu kontrol edin.
Şimdi, burada bulunan kaynak kodunu kullanmak için lütfen şu adımları izleyin:
- Bu adımın sonunda bulunan kahve makinesi kodunu indirin.
- Android Studio Aracını açın.
- "Projeyi içe aktar (Eclipse ADT, Gradle, vb.)" üzerine tıklayın.
- İlk konudan indirilen kodu seçin.
Uygulamayı değiştirmek ve AWS IOT iletişimini etkinleştirmek için:
- Pencerenin sol üst tarafındaki yapı seçeneğinden Android'i seçin.
- Bu yolda bulunan "AWS Connection" dosyasını açın: app/java/cafeteira.com.cafeteira/Controller.
- Şu değişkenleri arayın: CUSTOMER_SPECIFIC_ENDPOINT, COGNITO_POOL_ID, AWS_IOT_POLICY_NAME ve MY_REGION.
- Amazon Cognito ile kimlik havuzunu ayarladıktan sonra bunları AWS hesabınıza göre ayarlayın.
Uygulamanın AWS IOT sunucusu ile iletişimi, iletişim kanalı olarak çalışan konular üzerinden yapılır. Bu konularda, farklı türdeki IOT cihazlarının durumunu kontrol etmek ve izlemekten sorumlu olan abonelikler ve yayınlar oluşur. Bu örnekte uygulama, "Constants" dosyasında (app/java/cafeteira.com.cafeteira/Controller) bulunan aşağıdaki konulara abone olur ve yayınlar: TOPIC_TURN_ON_OFF, TOPIC_SHORT_COFFE, TOPIC_LONG_COFFE, TOPIC_LEVEL_COFFEE, TOPIC_LEVEL_COFFEE, TOPIC_LEVEL_TOPRIC, TOPIC_LEVEL_TOPRIC, TOPIC_LEVEL_TOPRIC, TOPIC_TURN_ON_OFF.
Bu örnekte konular bir kahve makinesini kontrol eder ve izler.
Adım 2: Ses Tanıma İşlevini Anlama
Ses tanıma işlevi, kullanıcının sesli komutlarını metne dönüştürmek ve AWS IOT sunucusuna göndermekle ilgilidir. Bu dönüştürme işlevi, SpeechRecognizer adlı bir Google API tarafından sağlanır. Bunu kullanmak için SpeechRecognizer sınıfını içe aktarmak gerekir (buradaki belgeler). Bu sınıf, Adım 1'deki kaynak kodda zaten içe aktarılmıştır.
Ses tanıma, görüntü düğmesi mSpeechButton tarafından referans alınan bir konuşma düğmesine (mikrofon görüntüsü) basılarak etkinleştirilir.
Komutun tedavisi, kullanıcının sesini alan, metne dönüştüren ve ardından hangi bileşenin etkinleştirileceğini seçen onActivityResult olayında bulunur. Bu örnekte: kullanıcı "Kahve makinesini aç" dediğinde, uygulama kahve makinesinin gücünü kontrol eden anahtarı etkinleştirir, etkinleştirerek uygulama AWS IOT konusuna bir mesaj yayınlar("1"). kahve makinesi açık olmalıdır.
3. Adım: Sonuç
Bu adımlardan sonra uygulama, AWS IOT'a bağlanmaya, sesli komutlar ve UI bileşenleri aracılığıyla konuları yayınlamaya ve abone olmaya hazırdır.
Sertifikalar veya uygulama hakkında herhangi bir şüpheniz varsa, lütfen aşağıdaki bağlantıları kontrol edin:
- AWS IOT Android SDK'sı
- AWS IOT Sertifikaları