مرور کلی
اینترنت اشیا یعنی هر چیزی که داده تولید میکند و باید از راه دور پایش یا کنترل شود: شیر برقی سامانه آبیاری، کنتور برق کارخانه، قفل انبار یا ناوگان خودروی یخچالی. اما توسعه اپلیکیشن اینترنت اشیا ساختن یک صفحه با دکمه روشن و خاموش نیست؛ اپ، حلقه آخر یک زنجیره پنجپلهای است: سختافزار و حسگر، رادیو و پروتکل، سرویس دریافت داده، پایگاه داده زمانی و در نهایت رابط کاربر. در داده پرداز مغزهای متفکر دقیقاً همین موضوع پروژه را متمایز میکند: تیمی که هم گوشی را میشناسد و هم برد الکترونیکی را، و اپلیکیشنی تحویل میدهد که با قطع اینترنت، کار تعمیرکار را روی زمین نمیگذارد و بعد از وصل شدن، بیسروصدا داده را همگام میکند.
اپلیکیشن اینترنت اشیا کجای سیستم قرار میگیرد؟
محصول IoT پنج لایه دارد و اپ فقط یکی از آنهاست: دستگاه و حسگرهایش، ارتباط (بلوتوث، وایفای، LoRa، NB-IoT یا یک گیتوی)، سرویس جمعآوری داده، منطق کاربردی و ذخیره تاریخچه، و در آخر رابط کاربری موبایل و وب. بیشتر مشکلات از همانجا شروع میشوند که تیمها رابط کاربری را قراردادی مستقل از بقیه سیستم میدانند؛ ما در جلسه نخست کل زنجیره را نقشه میکنیم و اپ را بر پایه همان طراحی میکنیم. اگر سختافزار هنوز تعریف نشده باشد، همان تیم مسیر توسعه سختافزار اینترنت اشیا و برنامهنویسی سامانه نهفته را هم پیش میبرد و بودجه توان رادیو در مرحله طراحی برد الکترونیکی تعیین میشود.
چه چیزی تحویل میگیرید
- اپلیکیشن همراه دستگاه: جستوجو و جفتسازی، تلهمتری زنده، کنترل از راه دور با تأیید رسیدِ فرمان و صفحه پیکربندی هر دستگاه.
- لایه ارتباطی: سرویسها و مشخصههای بلوتوث کممصرف در قالب یک قرارداد مستند یکپارچهسازی سختافزار و نرمافزار، در کنار انتقال MQTT یا HTTPS با TLS و صف بازیابیشدنی.
- داشبورد و تاریخچه: نمودار، آستانه، مقایسه دورهها و خروجی گزارش، در قالب وباپلیکیشن برای تیم عملیات.
- هشدار و اولویتبندی رخداد: قواعد ارسالی بر اساس شدت، کانال و شیفت کشیک، با ساعت سکوت و ثبت تأیید دریافت.
- رفتار آفلاین: کش محلی، بافر داده و حل تعارض برای تکنسینی که در زیرزمین یا مزرعه کار میکند.
- مدیریت دستگاهها: راهاندازی، چرخش کلیدهای امنیتی، انتقال مالکیت و عیبیابی از راه دور برای تیم پشتیبانی.
- بسته کیفیت و انتشار: بیلد امضاشده، گزارش آزمون روی دستگاههای واقعی در شرایط رادیویی میدانی، آمادهسازی برای انتشار در بازارهای اپ.
فرآیند پروژه، از سیگنال تا صفحه
- تعریف سناریو: گوشی دست کیست، در سی ثانیه چه کاری باید انجام دهد، و اگر دادهای هرگز نرسید چه اتفاقی میافتد.
- قرارداد داده: ساختار پیام، واحد، برچسب زمان، پرچم کیفیت، نرخ نمونهبرداری و بازه نگهداری — پیش از کدنویسی، مکتوب و توافقشده.
- طراحی رابط: طراحی رابط و تجربه کاربری با اولویت خوانایی وضعیت: چه آنلاین است، چه در هشدار است، چه همین حالا به تصمیم نیاز دارد.
- توسعه موازی: فریمور، سرویس دریافت و کلاینت همزمان روی همان قرارداد پیش میروند، با شبیهساز دستگاه تا اپ معطل سختافزار نماند.
- اعتبارسنجی میدانی: آزمون برد، تداخل، شروع سرد، مصرف باتری، قطع شبکه و رفتار حذف بسته در محل واقعی.
- انتشار و پشتیبانی: عرضه تدریجی، پایش نرخ موفقیت پیامها و سپس چرخه مشخص پشتیبانی و بهروزرسانی اپلیکیشن همگام با نسخههای تازه فریمور.
پروتکل، جفتسازی و دشواریهای واقعی
شکستهای جالب پروژههای اینترنت اشیا معمولاً در رابط نیست؛ در جفتسازی است — همان لحظه که کاربر باید گوشی را به دستگاهی بدون نمایشگر و کیبورد وصل کند — و در فرضهای ارتباطی. رویکرد ما: جریان راهاندازی طراحیشده برای کاربری که راهنما نخوانده، شناسه سرویس قابل کشف، مسیر جایگزین با صوت یا QR وقتی بلوتوث خاموش است، و بازخورد وضعیت برای هر گام. در انتخاب انتقال، بلوتوث کممصرف برای پیکربندی محلی و بستههای کوتاه مناسب است، MQTT برای تلهمتری پیوسته با سطوح کیفیت سرویس، و HTTP برای دادههای پراکنده دستگاههای پشت گیتوی؛ خیلی از محصولات واقعاً به دو تا از این سه نیاز دارند. حجم پیام از آنچه تیمها تصور میکنند مهمتر است، چون هر بایت اضافه عمر باتری را کوتاه میکند و در مقیاس ناوگان هم ضرب میشود. امنیت هم الحاقیه نیست: اعتبارنامه یکتای هر دستگاه، احراز هویت متقابل با گواهی و فریمور امضاشده، در همان سند چیدمان صفحهها مشخص میشوند.
پرسشهای متداول
آیا سختافزار را هم شما میسازید یا فقط اپ؟
هر دو ممکن است. بعضی مشتریها با بردی که کار میکند میآیند و فقط اپلیکیشن همراه میخواهند؛ بعضی از ایده شروع میکنند و ما آن را تا الکترونیک، پوسته و فریمور پیش میبریم. نکته مهم این است که پروتکل رادیویی و کلاینت موبایل با هم طراحی شوند، چون اپ هیچوقت از قرارداد مشترکش با دستگاه مطمئنتر نمیشود.
آیا یک اپلیکیشن میتواند چند نوع دستگاه را مدیریت کند؟
بله، و بهتر است همینطور باشد. ما یک لایه انتزاعی با مدل قابلیت میسازیم تا ترموستات، کنتور و ردیاب، صفحههای جستوجو، جفتسازی، مجوز و تاریخچه را مشترک داشته باشند و فقط کنترلهای مخصوص خودشان را نشان دهند. همین تصمیم، رابط را با بزرگتر شدن فهرست محصولات ساده نگه میدارد.
مهمترین عامل هزینه در پروژه اپ IoT چیست؟
وسعت یکپارچهسازی، نه تعداد صفحه. هر پروتکل، هر خانواده دستگاه، هر سرویس ابری و هر الزام آفلاین، ماتریس تست را چند برابر میکند. اپلیکیشن تکدستگاهی در چند هفته آماده میشود، اما پلتفرم ناوگان چندخانواده با هشدار و کنسول سرپرستی یک برنامه مرحلهای است و به همان صورت هم قیمتگذاری میشود.
برای تعیین دامنه یک اپلیکیشن اینترنت اشیا — از جریان جفتسازی تا دریافت ابری داده — با داده پرداز مغزهای متفکر تماس بگیرید و دیتاشیت دستگاه را بفرستید؛ برای دیدن اینکه کدام تخصصهای مهندسی پشت این خدمتاند، فهرست خدمات را ببینید.
فارسی
English