Enviar mensagens da cloud para o dispositivo com Hub IoT (iOS)
Hub IoT do Azure é um serviço totalmente gerido que ajuda a permitir comunicações bidirecionais fiáveis e seguras entre milhões de dispositivos e uma solução de back-end.
Este artigo mostra-lhe como:
- Receber mensagens de cloud para dispositivo (C2D) num dispositivo
No final deste artigo, vai executar o seguinte projeto swift iOS:
- sample-device: a aplicação de exemplo do repositório Exemplos de IoT do Azure para a Plataforma IoS, que se liga ao hub IoT e recebe mensagens da cloud para o dispositivo.
Nota
Hub IoT tem suporte do SDK para muitas plataformas e idiomas de dispositivos (incluindo C, Java, Python e JavaScript) através dos SDKs do dispositivo IoT do Azure.
Para saber mais sobre as mensagens da cloud para o dispositivo, consulte Enviar mensagens da cloud para o dispositivo a partir de um hub IoT.
Pré-requisitos
Um hub IoT ativo no Azure.
O exemplo de código dos Exemplos de IoT do Azure para o repositório da Plataforma IoS.
A versão mais recente do XCode, com a última versão do SDK do iOS. Este artigo foi testado com o XCode 9.3 e o iOS 11.3.
A versão mais recente do CocoaPods.
Certifique-se de que a porta 8883 está aberta na firewall. O exemplo de dispositivo neste artigo utiliza o protocolo MQTT, que comunica através da porta 8883. Esta porta pode ser bloqueada em alguns ambientes de rede empresarial e educacional. Para obter mais informações e formas de resolver este problema, veja Ligar ao Hub IoT (MQTT).
Simular um dispositivo IoT
Nesta secção, vai simular um dispositivo iOS a executar uma aplicação Swift para receber mensagens da cloud para o dispositivo a partir do hub IoT.
Instalar CocoaPods
O CocoaPods gere dependências para projetos iOS que utilizam bibliotecas de terceiros.
Numa janela de terminal, navegue para a pasta que contém o repositório que transferiu nos pré-requisitos. Depois, navegue para o projeto de exemplo:
cd quickstart/sample-device
Confirme que XCode está fechado e execute o seguinte comando para instalar os CocoaPods que são declarados no ficheiro podfile:
pod install
Para além de instalar os pods necessários para o projeto, o comando de instalação também criou um ficheiro de área de trabalho do XCode, que já está configurado para utilizar os pods para dependências.
Executar a aplicação de dispositivo de exemplo
Obtenha a cadeia de ligação para o seu dispositivo. Pode copiar esta cadeia do portal do Azure na página de detalhes do dispositivo ou recuperá-la com o seguinte comando da CLI:
az iot hub device-identity connection-string show --hub-name {YourIoTHubName} --device-id {YourDeviceID} --output table
Abra a área de trabalho de exemplo no XCode.
open "MQTT Client Sample.xcworkspace"
Expanda o projeto de Exemplo de Cliente MQTT e, em seguida, a pasta com o mesmo nome.
Abra ViewController.swift para edição no XCode.
Procure a variável connectionString e atualize o valor com a cadeia de ligação do dispositivo que copiou no primeiro passo.
Guarde as alterações.
Execute o projeto no emulador do dispositivo com o botão Build and run (Compilar e executar) ou a combinação de teclas comando + r.
Enviar uma mensagem da cloud para o dispositivo
Está agora pronto para receber mensagens da cloud para o dispositivo. Utilize o portal do Azure para enviar uma mensagem de teste da cloud para o dispositivo para o seu dispositivo IoT simulado.
Na aplicação Exemplo de Aplicação iOS em execução no dispositivo IoT simulado, selecione Iniciar. A aplicação começa a enviar mensagens do dispositivo para a cloud, mas também começa a escutar mensagens da cloud para o dispositivo.
No portal do Azure, navegue para o seu hub IoT.
Na página Dispositivos , selecione o ID do dispositivo para o seu dispositivo IoT simulado.
Selecione Mensagem para Dispositivo para abrir a interface de mensagem da cloud para o dispositivo.
Escreva uma mensagem de texto em texto simples na caixa de texto Corpo da mensagem e, em seguida, selecione Enviar mensagem.
Veja a aplicação em execução no seu dispositivo IoT simulado. Verifica se existem mensagens de Hub IoT e imprime o texto do mais recente no ecrã. O resultado deverá ter o seguinte exemplo:
Passos seguintes
Neste artigo, aprendeu a enviar e receber mensagens da cloud para o dispositivo.
Para saber mais sobre as mensagens da cloud para o dispositivo, consulte Enviar mensagens da cloud para o dispositivo a partir de um hub IoT.
Para saber mais sobre Hub IoT formatos de mensagens, consulte Criar e ler mensagens Hub IoT.