0%
إنترنت الأشياء على Azure

إنترنت الأشياء على Azure

اكتشف خدمات إنترنت الأشياء (IoT) في Azure من خلال أمثلة عملية.

I

InSkillCoach

· دقيقة

إنترنت الأشياء على Azure

اكتشف أهم خدمات إنترنت الأشياء (IoT) في Azure من خلال أمثلة عملية.

Azure IoT Hub

يُعدّ Azure IoT Hub الخدمة المركزية لإدارة أجهزة إنترنت الأشياء.

إعداد IoT Hub

from azure.iot.hub import IoTHubRegistryManager

# إنشاء مدير السجل
registry_manager = IoTHubRegistryManager("<connection_string>")

# إنشاء جهاز
device = registry_manager.create_device_with_sas(
    device_id="mon-appareil",
    primary_key="<primary_key>",
    secondary_key="<secondary_key>",
    status="enabled"
)

# إنشاء سياسة وصول
policy = registry_manager.create_shared_access_policy(
    hub_name="mon-hub",
    policy_name="mon-policy",
    permissions=["RegistryWrite", "ServiceConnect", "DeviceConnect"]
)

إرسال الرسائل

from azure.iot.device import IoTHubDeviceClient

# إنشاء العميل
client = IoTHubDeviceClient.create_from_connection_string("<connection_string>")

# إرسال رسالة
message = {
    "temperature": 25.6,
    "humidity": 60,
    "timestamp": "2024-03-22T10:00:00Z"
}
client.send_message(str(message))

Azure IoT Edge

يتيح Azure IoT Edge المعالجة المحلية على أجهزة إنترنت الأشياء.

إعداد وحدة Edge

from azure.iot.edge import EdgeModuleClient

# إنشاء عميل Edge
client = EdgeModuleClient.create_from_environment()

# تعريف دالة رد النداء الخاصة بالرسائل
async def message_handler(message):
    print(f"Message reçu: {message.data}")

# بدء تشغيل العميل
client.on_message_received = message_handler
await client.connect()

نشر وحدة

from azure.iot.hub import IoTHubRegistryManager

# إنشاء إعدادات الوحدة
module_config = {
    "id": "mon-module",
    "image": "mon-image:latest",
    "createOptions": {
        "HostConfig": {
            "PortBindings": {
                "8080/tcp": [{"HostPort": "8080"}]
            }
        }
    }
}

# نشر الوحدة
registry_manager.create_module(
    device_id="mon-appareil",
    module_id="mon-module",
    managed_by="iotEdge",
    properties=module_config
)

Azure IoT Central

Azure IoT Central هي منصة متكاملة لإنترنت الأشياء.

إنشاء تطبيق

from azure.iot.central import IoTCentralClient

# إنشاء العميل
client = IoTCentralClient(
    application_url="<application_url>",
    api_token="<api_token>"
)

# إنشاء قالب جهاز
device_template = {
    "name": "Capteur Environnemental",
    "capabilities": {
        "telemetry": [
            {
                "name": "temperature",
                "schema": "double"
            },
            {
                "name": "humidity",
                "schema": "double"
            }
        ]
    }
}

# إنشاء القالب
template = client.create_device_template(device_template)

تسجيل جهاز

# إنشاء جهاز
device = client.create_device(
    device_id="mon-capteur",
    template_id=template.id,
    display_name="Capteur 1"
)

# الحصول على معلومات الاتصال
connection_info = client.get_device_connection_info(device.id)

Azure Digital Twins

تتيح خدمة Azure Digital Twins إنشاء نماذج رقمية.

إنشاء توأم رقمي

from azure.digitaltwins.core import DigitalTwinsClient

# إنشاء العميل
client = DigitalTwinsClient(
    endpoint="<endpoint>",
    credential=AzureKeyCredential("<key>")
)

# إنشاء نموذج
model = {
    "@id": "dtmi:com:example:Building;1",
    "@type": "Interface",
    "contents": [
        {
            "@type": "Property",
            "name": "temperature",
            "schema": "double"
        }
    ]
}

# إنشاء النموذج
client.create_models([model])

# إنشاء توأم
twin = {
    "$metadata": {
        "$model": "dtmi:com:example:Building;1"
    },
    "temperature": 22.5
}

# إنشاء التوأم
client.upsert_digital_twin("building-1", twin)

Azure Time Series Insights

خدمة Azure Time Series Insights مخصصة لتحليل البيانات الزمنية.

إعداد البيئة

from azure.mgmt.timeseriesinsights import TimeSeriesInsightsClient

# إنشاء العميل
client = TimeSeriesInsightsClient(
    credential=AzureKeyCredential("<key>"),
    subscription_id="<subscription_id>"
)

# إنشاء بيئة
environment = {
    "location": "westeurope",
    "sku": {
        "name": "S1_1",
        "capacity": 1
    },
    "dataRetentionTime": "P30D"
}

# إنشاء البيئة
client.environments.create_or_update(
    resource_group_name="mon-groupe",
    environment_name="mon-env",
    parameters=environment
)

أفضل الممارسات

  1. الأمان

    • استخدام شهادات X.509
    • تطبيق المصادقة
    • تأمين الاتصالات
  2. الأداء

    • تحسين الرسائل
    • استخدام المعالجة على دفعات
    • تخزين البيانات مؤقتًا
  3. المراقبة

    • تتبّع المقاييس
    • إعداد التنبيهات
    • تحليل السجلات
  4. قابلية التوسع

    • التخطيط للنمو
    • استخدام الأقسام (partitions)
    • تحسين الموارد

الخلاصة

أهم النقاط التي يجب تذكّرها:

  • خدمات إنترنت الأشياء متكاملة
  • إمكانية المعالجة على الحافة (Edge)
  • تكامل جيد
  • قابلية التوسع

التوصيات:

  • البدء بـ IoT Hub
  • استخدام IoT Edge للمعالجة المحلية
  • إعداد نظام مراقبة
  • اتباع أفضل الممارسات
  • التكوّن عبر Microsoft Learn
InSkillCoach

نبذة عن InSkillCoach

خبير في التدريب والتقنيات

مدرّب متخصص في التقنيات المتقدمة والذكاء الاصطناعي، تدعمه شركة GNeurone Inc.

الشهادات:

  • AWS Certified Solutions Architect – Professional
  • شهادات Google Cloud
  • Microsoft Certified: DevOps Engineer Expert
  • Certified Kubernetes Administrator (CKA)
  • CompTIA Security+
1.7k
205

التعليقات

التعليقات مدعومة عبر GitHub Discussions

سجّل الدخول باستخدام GitHub للمشاركة في النقاش

تم نسخ الرابط!