IoT Hub (iOS) ile buluttan cihaza iletiler gönderme
Azure IoT Hub, milyonlarca cihaz ve bir çözüm arka ucu arasında güvenilir ve güvenli çift yönlü iletişimin etkinleştirilmesine yardımcı olan tam olarak yönetilen bir hizmettir.
Bu makale, şunları nasıl yapacağınızı gösterir:
- Cihazda buluttan cihaza (C2D) iletiler alma
Bu makalenin sonunda aşağıdaki Swift iOS projesini çalıştıracaksınız:
- sample-device: IoT hub'ınıza bağlanan ve buluttan cihaza iletileri alan IoS Platformu için Azure IoT Örnekleri deposundaki örnek uygulama.
Not
IoT Hub, Azure IoT cihaz SDK'ları aracılığıyla birçok cihaz platformu ve dili (C, Java, Python ve JavaScript dahil) için SDK desteğine sahiptir.
Buluttan cihaza iletiler hakkında daha fazla bilgi edinmek için bkz. IoT hub'ından buluttan cihaza iletiler gönderme.
Önkoşullar
Azure'da etkin bir IoT hub'ı.
IoS Platformu için Azure IoT Örnekleri deposundaki kod örneği.
En son iOS SDK sürümünü çalıştıran en yeni XCode sürümü. Bu makale XCode 9.3 ve iOS 11.3 ile test edilmiştir.
CocoaPods'un en son sürümü.
Güvenlik duvarınızda 8883 numaralı bağlantı noktasının açık olduğundan emin olun. Bu makaledeki cihaz örneği, 8883 numaralı bağlantı noktası üzerinden iletişim kuran MQTT protokollerini kullanır. Bu bağlantı noktası bazı kurumsal ve eğitim ağ ortamlarında engellenebilir. Bu sorunu çözmenin daha fazla bilgi ve yolları için bkz. IoT Hub 'a bağlanma (MQTT).
IoT cihazının simülasyonunu oluşturma
Bu bölümde, IoT hub'ından buluttan cihaza iletileri almak için Swift uygulaması çalıştıran bir iOS cihazının simülasyonunu oluşturacaksınız.
CocoaPods yükleme
CocoaPods, üçüncü taraf kitaplıkları kullanan iOS projeleri için bağımlılıkları yönetir.
Terminal penceresinde, önkoşullarda indirdiğiniz depoyu içeren klasöre gidin. Ardından örnek projeye gidin:
cd quickstart/sample-device
XCode’un kapalı olduğundan emin olun ve podfile dosyasında bildirilen CocoaPods’u yüklemek üzere aşağıdaki komutu çalıştırın:
pod install
Yükleme komutu, projeniz için gereken podları yüklemeye ek olarak bağımlılıklar için podları kullanacak şekilde önceden yapılandırılmış bir XCode çalışma alanı dosyası da oluşturmuştur.
Örnek cihaz uygulamasını çalıştırma
Cihazınızın bağlantı dizesini alın. Bu dizeyi cihaz ayrıntıları sayfasındaki Azure portal kopyalayabilir veya aşağıdaki CLI komutuyla alabilirsiniz:
az iot hub device-identity connection-string show --hub-name {YourIoTHubName} --device-id {YourDeviceID} --output table
Örnek çalışma alanını XCode'da açın.
open "MQTT Client Sample.xcworkspace"
MQTT İstemci Örneği projesini ve ardından aynı ada ait klasörü genişletin.
XCode’da düzenlemek üzere ViewController.swift dosyasını açın.
connectionString değişkenini arayın ve değeri ilk adımda kopyaladığınız cihaz bağlantı dizesiyle güncelleştirin.
Yaptığınız değişiklikleri kaydedin.
Derle ve çalıştır düğmesi ya da command + r tuş birleşimi ile projeyi cihaz öykünücüsünde çalıştırın.
Buluttan cihaza ileti gönderme
Artık buluttan cihaza iletileri almaya hazırsınız. Simülasyon IoT cihazınıza buluttan cihaza test iletisi göndermek için Azure portal kullanın.
Sanal IoT cihazında çalışan iOS Uygulama Örneği uygulamasında Başlat'ı seçin. Uygulama cihazdan buluta ileti göndermeye başlar, ancak buluttan cihaza iletileri dinlemeye de başlar.
Azure portal IoT hub'ınıza gidin.
Cihazlar sayfasında, sanal IoT cihazınızın cihaz kimliğini seçin.
Buluttan cihaza ileti arabirimini açmak için İletiden Cihaza'ya seçeneğini belirleyin.
İleti gövdesi metin kutusuna düz metin iletisi yazın ve İleti gönder'i seçin.
Sanal IoT cihazınızda çalışan uygulamayı izleyin. IoT Hub gelen iletileri denetler ve ekrandaki en son iletiden gelen metni yazdırır. Çıkışınız aşağıdaki örnekteki gibi görünmelidir:
Sonraki adımlar
Bu makalede, buluttan cihaza ileti göndermeyi ve almayı öğrendiniz.
Buluttan cihaza iletiler hakkında daha fazla bilgi edinmek için bkz. IoT hub'ından buluttan cihaza iletiler gönderme.
IoT Hub ileti biçimleri hakkında daha fazla bilgi edinmek için bkz. IoT Hub iletileri oluşturma ve okuma.