إنترنت الأشياء على Azure
اكتشف خدمات إنترنت الأشياء (IoT) في Azure من خلال أمثلة عملية.
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
)
أفضل الممارسات
-
الأمان
- استخدام شهادات X.509
- تطبيق المصادقة
- تأمين الاتصالات
-
الأداء
- تحسين الرسائل
- استخدام المعالجة على دفعات
- تخزين البيانات مؤقتًا
-
المراقبة
- تتبّع المقاييس
- إعداد التنبيهات
- تحليل السجلات
-
قابلية التوسع
- التخطيط للنمو
- استخدام الأقسام (partitions)
- تحسين الموارد
الخلاصة
أهم النقاط التي يجب تذكّرها:
- خدمات إنترنت الأشياء متكاملة
- إمكانية المعالجة على الحافة (Edge)
- تكامل جيد
- قابلية التوسع
التوصيات:
- البدء بـ IoT Hub
- استخدام IoT Edge للمعالجة المحلية
- إعداد نظام مراقبة
- اتباع أفضل الممارسات
- التكوّن عبر Microsoft Learn
نبذة عن InSkillCoach
خبير في التدريب والتقنيات
مدرّب متخصص في التقنيات المتقدمة والذكاء الاصطناعي، تدعمه شركة GNeurone Inc.
الشهادات:
- AWS Certified Solutions Architect – Professional
- شهادات Google Cloud
- Microsoft Certified: DevOps Engineer Expert
- Certified Kubernetes Administrator (CKA)
- CompTIA Security+
التعليقات
التعليقات مدعومة عبر GitHub Discussions
سجّل الدخول باستخدام GitHub للمشاركة في النقاش