شبکه ­های حسگر در حالت کلی ماهیت داده-محور[۷] دارند و بنابراین، ساختار ارتباطی بین گره­های حسگر باید طوری طراحی شوند که با ماهیت این شبکه­ ها، هماهنگی داشته باشند. کاربرد­های شبکه ­های حسگر در مواردی است که عملاً امکان اتصال گره­ها به یکدیگر عملی یا مقرون به صرفه نیست، در این گونه شبکه­ ها عموماً از ارتباط بی­سیم استفاده می­ شود و ساختار کلی این شبکه­ ها به این صورت است که تعداد زیادی گره همسان، در محیط پراکنده می­شوند و پس از جمع­آوری اطلاعات مورد نظر، آن را به یک گیرنده مرکزی یا چاهک[۸] ارسال می­ کنند. گیرنده مرکزی، گره­­ای با میزان انرژی بالا و تجهیزات مورد نیاز می­باشد و در واقع واسط بین شبکه حسگر و محیط اطراف می­باشد. در شبکه ­های با وسعت جغرافیایی زیاد، می­توان از چندین گیرنده مرکزی استفاده کرد تا مسیر ارسال داده ­ها به گیرنده­ها، بیش از حد طولانی نگردد.

( اینجا فقط تکه ای از متن درج شده است. برای خرید متن کامل فایل پایان نامه با فرمت ورد می توانید به سایت feko.ir مراجعه نمایید و کلمه کلیدی مورد نظرتان را جستجو نمایید. )

از آنجایی که ارسال مستقیم رادیویی در فواصل زیاد، به انرژی بسیار زیادی نیاز دارد، در شبکه ­های حسگر، از روش‌های انتقال اطلاعات به صورت گام به گام[۹] استفاده می­ شود. علاوه بر این مورد، در اکثر موارد بین بسیاری از گره­ها و گیرنده­های مرکزی، به علت مسایلی مانند فاصله زیاد یا موانع جغرافیایی، ممکن است دید مستقیمی[۱۰] بین گره و گیرنده مرکزی وجود نداشته باشد. در شکل ۱-۱ و شکل ۲-۲ شمایی از معماری ارتباطی در شبکه ­های حسگر، نشان داده شده است.

شکل ‏۱‑۱ : نحوه طبقه بندی گره­ها در شبکه ­های حسگر بی­سیم [۴]

شکل ‏۱‑۲ : معماری ارتباطی شبکه ­های حسگر بی سیم [۴]
اجزای سخت افزاری
با توجه به عملکرد متفاوت شبکه ­های حسگر، هر گره می ­تواند با توجه به وظایف تعریف شده از اجزای متنوعی تشکیل شده باشد. در حالت کلی هر گره از یکسری اجزای کلی تشکیل شده است که عبارتند از واحد پردازش مرکزی[۱۱]، فرستنده-گیرنده رادیویی، منبع تغذیه که می‌تواند از طریق باطری یا سلول­های خورشیدی یا ترکیب هر دو، انرژی مورد نیاز سیستم را فراهم کند، یک یا تعدادی حسگر که داده ­های مورد نظر را جمع آوری می­ کنند، انواع حافظه­های جانبی در صورت نیاز، موقعیت یاب [۱۲]GPSدر صورت نیاز و سایر اجزایی که بسته به کاربردهای متفاوت می‌تواند در هر گره گنجانده شود. در شکل ۱-۳ معماری کلی سخت افزار یک گره حسگر نشان داده شده است.

شکل ‏۱‑۳ : معماری سخت افزار هر گره شبکه‌های حسگر[۴]
کنترلر یا واحد پردازنده مرکزی[۱۳] (CPU):
یکی از فاکتورهای مهم در انتخاب CPU برای استفاده در گره‌های شبکه‌‌های حسگر، میزان توان مصرفی پردازنده و پشتیبانی آن از حالت‌های متنوع کاری (از لحاظ توان مصرفی) می‌باشد. همچنین در گره‌هایی که نیاز به پردازش حجیم اطلاعات دریافتی دارند، میزان توان پردازشی CPU نیز از اهمیت بالایی برخوردار است. یکی دیگر از فاکتورهای مهم میزان تجهیزات جانبی گنجانده شده در میکرو کنترلر است. تجهیزاتی مانند رابط SPI و UART جهت ارتباط با وسایل جانبی و A/D برای بررسی توان مصرفی یا تبدیل اطلاعات حسگرهای دارای خروجی آنالوگ، تقریباً از ملزومات میکرو کنترلر مورد استفاده در گره‌های شبکه‌های حسگر می‌باشند و وجود چنین تجهیزاتی از طرفی موجب کاهش توان مصرفی مدار و از طرف دیگر باعث کاهش هزینه کلی تمام شده برای هر گره‌ می‌شود. نهایتاً قیمت میکرو کنترلر نیز نباید از حد قابل قبولی بالاتر باشد.
یکی از میکرو کنترلرهای مورد استفاده در شبکه‌های حسگر با توجه به موارد مطرح شده در بالا میکرو کنترلر ATMEL 90LS8535‌ می‌باشد که یک میکرو کنترلر AVR از خانواده ATMEGA هشت بیتی است که دارای یک A/D 10 بیتی، یک رابط SPI و UART، دارای چندین مود کاری مصرفی با فرکانس­های کاری مختلف مانند ۳۲KHz برای مود کم مصرف و ۸MHz برای مود پر مصرف می‌باشد. همچنین می‌توان از میکرو کنترلر ATMEGA 16 نیز برای این منظور استفاده کرد که مشابه همین میکرو کنترلر است. جایگزین بهتری که برای میکرو کنترلرهای فوق مطرح شده، میکرو کنترلر MSP430F149 از شرکت TI است که یک میکرو کنترلر ۱۶ بیتی RISC بوده و دارای A/D 16 بیتی و دو عدد پورت سریال است. این میکرو کنترلر نسبت به میکرو کنترلر‌های AVR دارای توان مصرفی و قیمت پایین‌تری می‌باشد.
فرستنده گیرنده-رادیویی
فرستنده-گیرنده رادیویی یکی از اجزای با اهمیت در گره‌های شبکه‌های حسگر می‌باشد و بسته به کاربردهای مختلف، می ­تواند تنوع زیادی داشته باشد. مهم‌ترین مشخصه در انتخاب فرستنده-گیرنده‌ها، برد[۱۴] مورد نیاز برای ارتباط بین گره‌های شبکه است. در شبکه‌هایی با گره‌های نزدیک به هم، می‌توان از فرستنده‌‌های کم مصرف‌ استفاده کرد ولی توان مصرفی در فرستنده-گیرنده‌ها با بردهای بیشتر، به شدت افزایش پیدا می‌کند و باید در آن‏ها از راهکارهای کنترل توان دقیق‌تری استفاده کرد.
یکی از فرستنده-گیرنده‌های مناسب برای بردهای زیاد (در حد چند کیلومتر)۹Xstream Radio محصول شرکت MaxStream می‌باشد که در فرکانس ۹۰۰MHz کار می‌کند. فرستنده-گیرنده‌ دیگر که برای بردهای نسبتاً کوتاه بکار می‌رود TR1000 است که این فرستنده-گیرنده‌، دارای برد کمتری است ولی توان مصرفی آن بسیار کمتر از فرستنده-گیرنده‌ مطرح شده در بالاست. (در حدود ۱۰/۱ کیلومتر). به طور کلی اگر فرستنده-گیرنده‌هایی استفاده کنیم که لایه پیوند داده[۱۵] را به صورت داخلی پشتیبانی کند و عمل تصحیح خطا و سریال و موازی کردن را خودشان انجام دهد، بار پردازشی CPU و پیچیدگی نرم‌افزار کاهش خواهند یافت.
حافظه جانبی
در صورتی که مقدار حافظه موجود در CPU برای نگهداری اطلاعات مورد نظر کافی نباشد که معمولاً این چنین است، می‌توان از حافظه‌های دائمی مانند حافظه Flash استفاده کرد که هم‌ ارزان قیمت است و هم حجم کمی را در مدار اشغال می‌کند. فضای حافظه Flash، به یکسری صفحه با حجم کوچک‌تر تقسیم می‌شود. این صفحات باید به صورت یکجا نوشته یا پاک شوند. معمولاً نوشتن و پاک کردن در فلش‌ها با سرعت نسبتاً پایینی صورت می­گیرد. همچنین تعداد دفعات نوشتن یک حافظه فلش محدود است و باید هنگام استفاده از آن‏ها این نکات را مد نظر قرار داد.
یک نمونه از حافظه‌های موجود، حافظه فلش ATMEL AT45DB041B است که ۴ Mbit ظرفیت دارد و صفحات آن ۲۵۶ بایتی است. نوشتن هر صفحه ۱۴ ms و پاک کردن آن ۸ ms زمان می‌برد ولی چون هنگام پاک کردن در خانه‌های حافظه مقدار ۱ نوشته می‌شود، می‌توان بجای پاک کردن حافظه بر روی قسمت­ های استفاده نشده آن عدد ۱ را نوشت.
انواع حسگر‌ها
حسگر‌ها عمل اصلی در شبکه‌های حسگر یعنی عمل جمع‌ آوری اطلاعات را بر عهده دارند. انواع گوناگونی از حسگرها طراحی شده‌اند که بسیاری از آن‏ها مبدل آنالوگ به دیجیتال داخلی دارند و می‌توانند از طریق رابط I2C به رابط سریال پردازنده متصل شوند.I2C یک پروتکل ارتباط سریال سنکرون[۱۶] است که از طریق آن می‌توان تا ۸ وسیله جانبی را به یک درگاه[۱۷] وصل کرد و در آن هر وسیله یک شناسه­­ی[۱۸] منحصر به فرد را داراست.
در کل با توجه به کاربرد مورد نظر و زمان نمونه­برداری حسگر از محیط و توان مصرفی آن در مقایسه با میکرو کنترلر مرکزی، می‌توان دو معماری متفاوت برای عملکرد گره‌ حسگر ارائه کرد. یکی از این روش‌ها اینست که ما CPU را در حالت عادی به صورت آماده­ به کار[۱۹] درآوریم و با دریافت اطلاعات با اهمیت CPU را فعال کنیم و در روش دیگر می‌توانیم تغذیه حسگر را در حالت عادی قطع کنیم و زمانی که می‌خواهیم از اطلاعات نمونه برداری کنیم تغذیه حسگر را فعال کنیم. این عمل خصوصاً در مواردی که حسگر توان مصرفی بالای دارد، کاملاً ضروری می‌باشد.
منبع تغذیه
معمولاً گره‌‌های شبکه حسگر هنگامی که در محیط قرار می‌گیرند، از دسترس ما خارج می‌شوند به نحوی که با تمام شدن منبع انرژی آن‏ها، عملاً گره‌ها بلا استفاده می‌گردند؛ لذا منبع تغذیه در ساخت گره‌های، شبکه‌های حسگر از اهمیت خاصی برخوردار است. در حالت کلی، از دو نوع منبع تغذیه قابل شارژ و غیر قابل شارژ می‌توان استفاده کرد. در صورتی که شرایط محیطی گره‌ها اجازه بدهد می‌توانیم از انواع انرژی‌ها مانند انرژی حرکتی یا انرژی خورشیدی برای تأمین توان مورد نیاز گره‌ها یا جهت شارژ کردن باطری‌ها استفاده نمود. در تغذیه گره‌های شبکه حسگر می‌توانیم از انواع رگولاتور‌ها و تقویت کننده‌های[۲۰] ولتاژ-جریان استفاده کنیم. عامل اصلی در انتخاب رگولاتورها، باید بازده بالا و دامنه نسبتاً وسیع ولتاژ ورودی باشد تا بتوانیم از منابع انرژی حداکثر استفاده را ببریم. در حالت کلی از دو نوع رگولاتور خطی و سوییچینگ برای این منظور می‌توان استفاده کرد که رگولاتورهای سوییچینگ با توجه به قابلیت افزایش ولتاژ ورودی مناسب‌ترند؛ همچنین از انواع Buck Boost Converters می‌توان برای تأمین جریان‌های بالای کوتاه مدت مانند هنگام قفل کردن GPS استفاده کرد.
باطری‌ها و سلول‌های خورشیدی
در طراحی شبکه‌های حسگر می‌توان از انواع باطری‌ها استفاده کرد. در صورتی که نخواهیم از باطری­های قابل شارژ استفاده کنیم معمولاً باطری­های آلکالاین برای این منظور مناسب هستند. فقط ولتاژ این باطری­ها با گذشت زمان در طول عمر آن‏ها به صورت خطی افت می‌کند و از ۳.۴ ولت به ۱.۸ ولت می‌رسد که این نکته را نیز باید در طراحی منبع تغذیه مناسب آن‏ها در نظر گرفت. در صورت استفاده از باطری­های قابل شارژ می‌توان از باطری­های Li-Ion استفاده کرد که در این صورت باید از سلول‌های خورشیدی یا سایر منابع انرژی جهت شارژ کردن آن‏ها استفاده کرد. مزیت اصلی باطری‌های Li-Ion اینست که در طول بازه فعالیتشان دارای ولتاژ نسبتاً ثابتی هستند و مانند باطری­های آلکالاین[۲۱] دچار افت ولتاژ قابل توجهی نمی‌شوند.
هنگام استفاده از سلول‌های خورشیدی نیز باید این نکته را مد نظر قرار داد که اگر تعدادی سلول خورشیدی را پشت سر هم به صورت سری ببندیم، ممکن است تعدادی از آن‏ها که نور کمتری دریافت می‌کنند، دارای ولتاژ دو سر منفی گردند و توان تولید شده توسط سلول‌های دیگر را مصرف کنند پس باید آرایش مناسبی برای استفاده از چندین سلول خورشیدی در نظر گرفته شود تا به حداکثر بازده ممکن رسید.
اجزای نرم افزاری
با پیچیده­تر شدن عملیات محول شده به هر گره به تدریج پیچیدگی سیستم افزایش پیدا می­ کند و نیاز به یک سیستم عامل ساده که دسترسی به منابع سخت­افزاری در هر گره شبکه حسگر را سهولت بخشد، بیشتر احساس می­ شود. یکی از سیستم عامل‌هایی که تا کنون طراحی شده و در انواع مختلفی از شبکه ­های حسگر پیاده سازی شده است، سیستم عاملTiny OS است که در مورد آن توضیح داده خواهد شد.
سیستم عامل Tiny OS
این سیستم عامل یک سیستم عامل رویداد-‌گرا[۲۲] است و از یک هسته چند ریسمانی بسیار کارآمد تشکیل شده است. همچنین این سیستم عامل یک ساختار برنامه ریزی دو سطحی دارد که اجازه می‌دهد تا مقدار پردازش محدودی بر روی رویدادهای سخت افزاری به صورت ایجاد وقفه در هنگام انجام وظایف طولانی صورت پذیرد.
در طراحی این سیستم­عامل، انرژی مهم‌ترین منبع موجود در نظر گرفته می­ شود و به نظر می­رسد که یکی از راه حل­های بهینه برای استفاده از منابع پردازنده استفاده از روش رویداد-گرا باشد. مجموعه عملکرد­هایی که به یک رویداد نسبت داده شده‌اند به سرعت اجرا می­شوند و در حین اجرای آن‏ها هیچ توقفی اجازه داده نخواهد شد. در حالت خواب، سیکل­های استفاده نشده در CPU جهت انتظار برای رخ دادن هر گونه رویداد قابل توجه، به کار می­روند.
خلاصه
امروزه کاربردهای بسیاری برای شبکه‌های حسگر مطرح شده است و روز به روز هم بر تعداد آن‏ها اضافه می‌شود. از جمله این کاربرد‌ها می‌توان به استفاده در میدان‌های جنگی، شناسایی محیط­های آلوده، نظارت کردن محیط زیست، بررسی و تحلیل وضعیت بناهای ساختمانی، در جاده­ها و بزرگراه‌های هوشمند، کاربردهای مختلف در زمینه پزشکی و دیگر عوامل اشاره کرد.
در طراحی سخت‌افزار برای شبکه‌های حسگر، محدودیت‌هایی وجود دارد که از جمله این محدودیت‌ها می‌توان به عواملی مانند هزینه پایین، حجم کوچک، توان مصرفی پایین، نرخ بیت پایین، خودمختار بودن گره‌ها و نهایتاً به قابلیت تطبیق پذیری با تغییرات محیط اشاره کرد. هر شبکه حسگر از تعداد زیادی گره ارزان قیمت با اندازه کوچک، تشکیل شده است و هر گره نیز از مجموعه‌ای از اجزای سخت‌افزاری تشکیل شده است که در کنار یکدیگر وظایف هر گره را به انجام می‌رسانند. در حال حاضر هر گره حسگر از بهم پیوستن تعدادی قطعات از پیش طراحی شده حاصل می‌شود ولی در آینده می‌توان کلیه مدار‌های مورد نیاز یک حسگر را در یک مدار مجتمع فشرده و در اندازه بسیار کوچک‌تری پیاده‌سازی کرد که کاهش قابل ملاحظه‌ای در اندازه و توان مصرفی هر گره‌ را در بر خواهد داشت.
هر شبکه حسگر از اجزایی مانند واحد پردازنده مرکزی، فرستنده-گیرنده رادیویی، حافظه جانبی، انواع حسگر‌ها از قبیل حسگرGPS، منبع تغذیه که می‌تواند به صورت باطری‌ یا سلول­های خورشیدی باشد و سایر اجزا، بر حسب نیاز تشکیل شده است. کلیه این اجزا باید با توجه به کاربرد‌های مورد نظر و ابعاد شبکه، طراحی و تعبیه شوند.
فصل ۲
تعریف مسئله
در این تحقیق به بررسی خاصیت تحمل­ پذیری خطای الگوریتم­های مسیریابی چند ­مسیره[۲۳] در شبکه ­های حسگر بی­سیم می­پردازیم. در سیستم­هائی که به دلیل اهمیت، به دسترس پذیری[۲۴] بالائی نیاز دارند لازم است خاصیت تحمل پذیری خطا در نظر گرفته شود. خاصیت تحمل پذیری خطا تضمین می­ کند که یک سیستم برای استفاده همیشه در دسترس باشد بدون اینکه وقفه­ای در عملکرد آن ایجاد شود. در ابتدا یکسری پارامترهای لازم را تعریف و در ادامه طرح پیشنهادی تشریح شده است.
دسترس پذیری
احتمال آنکه یک سیستم زمانی که درخواستی برای استفاده از آن وجود دارد به درستی به کار خود ادامه دهد یا به عبارتی احتمال اینکه سیستم خطا نداشته باشد یا در صورت بروز خطا به زیر درخواست­ها جواب مورد نظر را بدهد دسترس پذیری گویند. دسترس پذیری وابسته به دو چیز است :
قابلیت اطمینان[۲۵]
قابلیت نگهداری[۲۶]
دلایل وجود خطا در شبکه ­های حسگر بی­سیم
دلایل وجود خطا در شبکه ­های حسگر بی­سیم را به صورت زیر می­توان تقسیم ­بندی کرد [۶]:
خالی شدن باطری
تخریب بر اثر عوامل محیط
لینک­ها خراب شوند:
منظور از خراب شدن کم شدن کیفیت است که به عواملی مانند نرخ گم شدن بسته­ها[۲۷]، نرخ تحویل بسته­ها[۲۸] بستگی دارد که با گوش دادن به وضعیت کانال بدست می ­آید.
ازدحام[۲۹]
ازدحام نیز می ­تواند به عنوان یک خطا در نظر گرفته شود که قابل تعمیر و بازیابی است، هر چه زمان بر طرف کردن ازدحام کمتر باشد قابلیت تعمیر آن سریع‌تر است که این به خودی خود می ­تواند دسترس پذیری را بالا ببرد و قابلیت تحمل پذیری خطا را در شبکه افزایش دهد.
دلایل نیاز به یک پروتکل با قابلیت تحمل پذیری خطا در شبکه ­های حسگر بی­سیم نسبت به شبکه ­های دیگر
به دلایل زیر شبکه ­های حسگر بی­سیم نسبت به شبکه ­های دیگر بیشتر به یک پروتکل با قابلیت تحمل پذیری خطا نیاز دارند [۶]:

موضوعات: بدون موضوع  لینک ثابت