Bu konu, bir M2M iletişim mimarisi oluşturmak için IoT Platform'un konu tabanlı mesaj yönlendirme hizmetinin nasıl kullanılacağını açıklar. Bu konuda, akıllı bir lamba ile bir mobil uygulama arasındaki bağlantı örnek olarak ele alınmıştır.
Arka plan bilgileri
Aşağıdaki şekilde, mobil uygulamayı kullanarak akıllı lambanın nasıl kontrol edileceği gösterilmektedir.

Yordam
-
IoT Platform konsolu nda, örneğinizde akıllı lamba için bir ürün ve bir cihaz oluşturun ve özelliklerini tanımlayın. Daha fazla bilgi için bkz. Ürün oluşturma, Birden çok cihazı aynı anda oluşturma ve Thing Specification Language (TSL) özelliği ekleme.
Bu örnekte, ürünü oluşturmak için aşağıdaki parametreleri ayarlayın: Product Name değerini SmartLamp, node type değerini directly connected device olarak belirleyin. Diğer parametreler için varsayılan değerleri kullanın.
Oluşturduğunuz cihaz için DeviceName değerini light olarak belirleyin.
Bu örnekte, SmartLamp ürününün ProductKey değeri al123456789'dir.
İş gereksinimlerinize göre Thing Specification Language (TSL) özellikleri ekleyebilirsiniz. Örneğin, Switch adlı bir TSL özelliği ekleyin. Akıllı lambanın anahtarını kontrol etmek için veri türünü Boolean (kapalı için 0, açık için 1) olarak belirleyin.
-
Mobil uygulamadan gelen kontrol komutlarını almak için abone izinlerine sahip özel bir konu ekleyin.
Bu örnekte, aşağıdaki konuyu ekleyin:
/al123456789/light/user/set. Daha fazla bilgi için bkz. İletişim için özel konuları kullanma. -
Akıllı lamba cihazını IoT Platform'a bağlanacak şekilde geliştirin ve komutları alıp yürütme mantığını uygulayın.
Bu örnekte, cihaz IoT Platform ile iletişim kurmak için MQTT kullanır. Akıllı lamba cihazının komutları alabilmesi için
/al123456789/light/user/setkonusuna abone olması gerekir. Cihaz bir komut aldığında, bunu yürütmek için gerekli mantığı geliştirmeniz gerekir.Cihaz tarafındaki SDK geliştirme hakkında ayrıntılı bilgi için bkz. Link SDK kullanarak cihazları bağlama.
-
IoT Platform konsolu nda, örneğinizde mobil uygulama için bir ürün ve bir cihaz oluşturun. Daha fazla bilgi için bkz. Ürün oluşturma ve Cihaz oluşturma.
Bu örnekte, ürünü oluşturmak için aşağıdaki parametreleri ayarlayın: Product Name değerini MobileApp, node type değerini directly connected device olarak belirleyin. Diğer parametreler için varsayılan değerleri kullanın.
Cihaz için DeviceName değerini ControlApp olarak belirleyin.
Bu örnekte, MobileApp ürününün ProductKey değeri al987654321'dir.
Mobil uygulama için ürün ve cihazı oluşturduktan sonra uygulamayı IoT Platform'a bağlayabilirsiniz.
Bir mobil uygulama kullanıcısı kayıt olup oturum açtığında, sunucunuz cihaz bilgilerini mobil uygulamaya gönderir. Bu sayede uygulama bir cihaz olarak IoT Platform'a bağlanabilir.
-
Uygulama ve akıllı lamba konuları arasında bir mesaj yönlendirme ilişkisi oluşturmak için CreateTopicRouteTable işlemini çağırın.
SrcTopic parametresini uygulamanın konusuna ayarlayın:
/al987654321/ControlApp/user/update.DstTopics parametresini akıllı lambanın konusuna ayarlayın:
/al123456789/light/user/set.
-
Mobil uygulamayı geliştirin.
Bu örnekte, mobil uygulama IoT Platform ile iletişim kurmak için HTTPS kullanır.
Aşağıdaki kod, mobil uygulamanın özel konu üzerinden akıllı lambaya gönderdiği bir kontrol komutunun yük verisi formatını göstermektedir:
{ "TargetDevice": "light", "Switch": 0, "Timestamp": 1557750407000 }Cihaz tarafındaki SDK geliştirme hakkında ayrıntılı bilgi için bkz. Link SDK kullanarak cihazları bağlama.
-
Mobil uygulama kullanıcısı, uygulamayı akıllı lambayla eşlemek için QR kodunu tarar.
Uygulama sunucuya bir cihaz eşleme isteği gönderdikten sonra sunucu akıllı lambayı eşler ve cihaz adını döndürür. Döndürülen ad, deviceName parametresiyle belirtilir. Bu örnekte cihaz adı light'tır.
-
Mobil uygulama kullanıcısı uygulamadan bir komut gönderir.
-
Uygulama, IoT Platform'daki konuya komutlar gönderir. Bu örnekte konu şudur:
/al987654321/ControlApp/user/update.Yalnızca JSON formatındaki komutlar desteklenir.
IoT Platform, tanımlanan mesaj yönlendirme ilişkisine göre komutları akıllı lamba cihazının konusuna yönlendirir. Konu şudur:
/al123456789/light/user/set.Akıllı lamba cihazı komutları alır ve gerekli işlemleri gerçekleştirir.
NotMobil uygulamayı sunucuya eşlemeyi kaldırma isteği gönderecek şekilde yapılandırabilirsiniz. Bu durumda sunucu, mesaj yönlendirme ilişkisini silmek için IoT Platform'un
işlemini çağırır. Yönlendirme ilişkisi silindikten sonra uygulamayı kullanarak akıllı lambayı kontrol edemezsiniz.
-