Olá Habr! Apresento a você a tradução do artigo
Conectando PI de framboesa via Azure IoT: tutorial passo a passo .
Nesta postagem, mostraremos como conectar o Raspberry Pi como um dispositivo periférico para transmitir sinais ao painel de LEDs usando o módulo Azure IoT Edge.
Na maioria das etapas, usaremos a CLI do Azure e o Portal do Azure para iniciar o Azure IoT Edge.
Para fazer isso, precisaremos de:- Raspberry Pi 3 Modelo B + (painel de LED)
- Conta do Microsoft Azure
- Versão mais recente da CLI do Azure
- Extensão da CLI da IoT do Azure (componente)
Instale e configure a IoT do Azure
Agora instalamos a CLI do Azure, criamos um Hub IoT e conectamos nossos dispositivos. Também criaremos um identificador para o Raspberry Pi e usaremos seus parâmetros de acesso para reconhecimento no Hub IoT. Além disso, usamos o recurso adicionar borda para conectar o Raspberry Pi ao Azure IoT Edge.
Para instalar e configurar inicialmente a IoT do Azure, você precisa:
- Instale a versão mais recente da CLI do Azure no seu computador em docs.microsoft.com/en-us/cli/azure/install-azure-cli?view=azure-cli-latest
- Configure a CLI do Azure usando:
$ az extension add --name azure-cli-iot-ext</li>
- Crie um grupo de recursos para o nosso projeto:
$ az group create --name rasp-IoT --location westus
- Crie um gateway para conectar periféricos à IoT do Azure:
$ az iot hub create --resource-group rasp-IoT --name rasp-IoT-Hub --sku S1
- Crie IDs para Raspberry Pi e dispositivo:
$ az iot hub device-identity create --hub-name rasp-IoT-Hub --device-id myPi001 --edge-enabled
Este comando produzirá uma sequência específica que será necessária para conectar o dispositivo. - Copie a sequência de saída para um arquivo ou área de transferência. Nós o usaremos posteriormente para conectar o dispositivo ao Hub IoT.
Conecte o Raspberry Pi
Os módulos do Azure IoT Edge funcionam como contêineres. Para conectar o Raspberry Pi ao Hub IoT do Azure e ao Azure IoT Edge, precisamos:
- Instale o Docker no Raspberry Pi:
$ curl -fsSL get.docker.com -o get-docker.sh && sh get-docker.sh
Você também pode verificar sua versão usando o comando: $ sudo docker version - Instale o Azure IoT Edge Runtime, que funcionará como um daemon em segundo plano:
$ curl -L https://aka.ms/libiothsm-std-linux-armhf-latest -o libiothsm-std.deb && sudo dpkg -i ./libiothsm-std.deb
$ curl -L https://aka.ms/iotedged-linux-armhf-latest -o iotedge.deb && sudo dpkg -i ./iotedge.deb
$sudo apt-get install -f
$ curl -L https://aka.ms/iotedged-linux-armhf-latest -o iotedge.deb && sudo dpkg -i ./iotedge.deb
$sudo apt-get install -f
- Conecte nosso dispositivo ao Hub IoT do Azure usando:
$ az iot hub device-identity create --hub-name rasp-IoT-Hub --device-id myPi001 --edge-enabled
Já usamos esse comando para criar um identificador para o Raspberry Pi. - Abra o arquivo
/etc/iotedge/config.yaml
em qualquer editor e substitua "ADD DEVICE CONNECTION STRING AQUI" por uma linha específica para conectar o dispositivo que anteriormente copiávamos ao arquivo / buffer.

- Reinicie o processo em segundo plano do IoT Edge e verifique seu status:
$ sudo systemctl restart iotedge
$ sudo systemctl status iotedge

Agora podemos instalar o módulo de controle do painel de LED.
Implantando módulos de borda da IoT do Azure
A seguir, é apresentado um exemplo simples que mostra claramente o conceito, implantação e gerenciamento dos módulos do Azure IoT Edge:
- Inicie o Portal do Azure em um navegador.
- Vá para o Hub IoT e, com o Gerenciamento de dispositivos de automação, selecione IoT Edge.

- Em IoT Edge Devices, selecione o dispositivo PI1 e clique em Set Modules.

- Expanda a lista Adicionar e selecione o IoT Edge Module para implantar o módulo personalizado.

Agora usaremos o Portal do Azure para implantar o contêiner como um módulo. Antes disso, precisamos criar uma imagem do docker e salvá-la no Docker Hub como exemplo.
Vá para Módulos personalizados do IoT Edge e siga estas etapas:
- No campo Nome, insira Matrix. Este será o nome do nosso módulo.
- No campo URI da imagem, insira janakiramm / matrix: v1.
- Como você não precisa acessar o barramento I2C local no Raspberry Pi, é necessário executar o contêiner no modo Privilegiado. Para habilitá-lo, nas Opções de Criação de Contêiner, insira a seguinte linha JSON:
{ “HostConfig”: { “Privileged”: true } }
- Deixe as configurações padrão na caixa a seguir.
- Clique em Salvar para confirmar a implantação.

Isso iniciará a implantação de módulos personalizados no dispositivo periférico.
Você também pode verificar a conexão do módulo ao dispositivo usando a CLI iotedge no Raspberry Pi:
$ sudo iotedge list

Assim que o módulo for implantado com sucesso, os diodos no painel conectado ao Raspberry Pi piscarão.

Usando o serviço de nuvem IoT do Azure, você pode criar soluções de IoT muito mais complexas e ricas em recursos. Por exemplo, dimensione instantaneamente desenvolvimentos personalizados em dispositivos periféricos e envie apenas dados atuais para a nuvem, enquanto as principais funções são usadas localmente.
Achamos que isso parece muito promissor.
Chips de descentralização no Azure
Um novo recurso interessante apareceu que distingue a Microsoft de outros provedores de serviços em nuvem e, em nossa opinião, implementa o conceito de descentralização completa do WEB 3.0 de maneira mais completa. Obviamente, queremos dizer tecnologias de registro distribuídas.
No Azure Blockchain Workbench, você pode implementar soluções inovadoras de blockchain em uma plataforma acessível globalmente. Honestamente, pouco pode competir com o “efeito uau” que aplicativos descentralizados profissionais (DApps) causam aos usuários.
E, no entanto, isso se refere não apenas à popularidade gritante de criptografia e hype em torno da OIC. Usando o Azure Blockchain Workbench, os desenvolvedores podem implementar os recursos exclusivos de um registro distribuído em seus projetos, incluindo soluções de IoT. E é isso que agrega valor aos resultados que os clientes recebem.
A tecnologia de registro distribuído promete elevar a entrega de valor a um nível totalmente novo, portanto, mesmo um estudo superficial do serviço de nuvem correspondente (como o mesmo Azure Blockchain Workbench) exigirá uma postagem separada. Obviamente, não nos importamos em “mergulhar” em particular no Azure Blockchain se você também estiver interessado neste tópico.
Fique em contato, fique ligado e fale sobre o que mais você está interessado em ler.