Internet de las cosas en Azure
Descubre los servicios IoT de Azure con ejemplos prácticos.
InSkillCoach
Internet de las cosas en Azure
Descubre los principales servicios IoT de Azure con ejemplos prácticos.
Azure IoT Hub
Azure IoT Hub es el servicio central para la gestión de dispositivos IoT.
Configuración de IoT Hub
from azure.iot.hub import IoTHubRegistryManager
# Créer le gestionnaire de registre
registry_manager = IoTHubRegistryManager("<connection_string>")
# Créer un appareil
device = registry_manager.create_device_with_sas(
device_id="mon-appareil",
primary_key="<primary_key>",
secondary_key="<secondary_key>",
status="enabled"
)
# Créer une politique d'accès
policy = registry_manager.create_shared_access_policy(
hub_name="mon-hub",
policy_name="mon-policy",
permissions=["RegistryWrite", "ServiceConnect", "DeviceConnect"]
)
Envío de mensajes
from azure.iot.device import IoTHubDeviceClient
# Créer le client
client = IoTHubDeviceClient.create_from_connection_string("<connection_string>")
# Envoyer un message
message = {
"temperature": 25.6,
"humidity": 60,
"timestamp": "2024-03-22T10:00:00Z"
}
client.send_message(str(message))
Azure IoT Edge
Azure IoT Edge permite el procesamiento local en los dispositivos IoT.
Configuración de un módulo Edge
from azure.iot.edge import EdgeModuleClient
# Créer le client Edge
client = EdgeModuleClient.create_from_environment()
# Définir le callback pour les messages
async def message_handler(message):
print(f"Message reçu: {message.data}")
# Démarrer le client
client.on_message_received = message_handler
await client.connect()
Despliegue de un módulo
from azure.iot.hub import IoTHubRegistryManager
# Créer la configuration du module
module_config = {
"id": "mon-module",
"image": "mon-image:latest",
"createOptions": {
"HostConfig": {
"PortBindings": {
"8080/tcp": [{"HostPort": "8080"}]
}
}
}
}
# Déployer le module
registry_manager.create_module(
device_id="mon-appareil",
module_id="mon-module",
managed_by="iotEdge",
properties=module_config
)
Azure IoT Central
Azure IoT Central es una plataforma IoT completa.
Creación de una aplicación
from azure.iot.central import IoTCentralClient
# Créer le client
client = IoTCentralClient(
application_url="<application_url>",
api_token="<api_token>"
)
# Créer un modèle d'appareil
device_template = {
"name": "Capteur Environnemental",
"capabilities": {
"telemetry": [
{
"name": "temperature",
"schema": "double"
},
{
"name": "humidity",
"schema": "double"
}
]
}
}
# Créer le template
template = client.create_device_template(device_template)
Registro de un dispositivo
# Créer un appareil
device = client.create_device(
device_id="mon-capteur",
template_id=template.id,
display_name="Capteur 1"
)
# Obtenir les informations de connexion
connection_info = client.get_device_connection_info(device.id)
Azure Digital Twins
Azure Digital Twins permite crear modelos digitales.
Creación de un gemelo digital
from azure.digitaltwins.core import DigitalTwinsClient
# Créer le client
client = DigitalTwinsClient(
endpoint="<endpoint>",
credential=AzureKeyCredential("<key>")
)
# Créer un modèle
model = {
"@id": "dtmi:com:example:Building;1",
"@type": "Interface",
"contents": [
{
"@type": "Property",
"name": "temperature",
"schema": "double"
}
]
}
# Créer le modèle
client.create_models([model])
# Créer un jumeau
twin = {
"$metadata": {
"$model": "dtmi:com:example:Building;1"
},
"temperature": 22.5
}
# Créer le jumeau
client.upsert_digital_twin("building-1", twin)
Azure Time Series Insights
Azure Time Series Insights sirve para el análisis de datos temporales.
Configuración del entorno
from azure.mgmt.timeseriesinsights import TimeSeriesInsightsClient
# Créer le client
client = TimeSeriesInsightsClient(
credential=AzureKeyCredential("<key>"),
subscription_id="<subscription_id>"
)
# Créer un environnement
environment = {
"location": "westeurope",
"sku": {
"name": "S1_1",
"capacity": 1
},
"dataRetentionTime": "P30D"
}
# Créer l'environnement
client.environments.create_or_update(
resource_group_name="mon-groupe",
environment_name="mon-env",
parameters=environment
)
Buenas prácticas
-
Seguridad
- Utilizar certificados X.509
- Implementar la autenticación
- Proteger las comunicaciones
-
Rendimiento
- Optimizar los mensajes
- Utilizar el procesamiento por lotes
- Almacenar los datos en caché
-
Monitorización
- Seguir las métricas
- Configurar alertas
- Analizar los logs
-
Escalabilidad
- Planificar el crecimiento
- Utilizar particiones
- Optimizar los recursos
Conclusión
Puntos clave que recordar:
- Servicios IoT completos
- Procesamiento en Edge posible
- Buena integración
- Escalabilidad
Recomendaciones:
- Empezar por IoT Hub
- Utilizar IoT Edge para el procesamiento local
- Implantar una supervisión
- Seguir las buenas prácticas
- Formarse en Microsoft Learn
Acerca de InSkillCoach
Experto en formación y tecnologías
Coach especializado en tecnologías avanzadas e IA, impulsado por GNeurone Inc.
Certificaciones:
- AWS Certified Solutions Architect – Professional
- Certificaciones de Google Cloud
- Microsoft Certified: DevOps Engineer Expert
- Certified Kubernetes Administrator (CKA)
- CompTIA Security+
Comentarios
Los comentarios funcionan con GitHub Discussions
Inicia sesión con GitHub para participar en la discusión