Embedded Academy – Telegram
Embedded Academy
3.95K subscribers
798 photos
118 videos
241 files
250 links
📢 All About Embedded in Persian and English

Embedded Systems
IoT
AI
Machie Vision

در سایر شبکه ها:
aparat.com/embedded
instagram.com/embedded_ir
Twitter.com/embedded_ir

Admin: @embeded
Download Telegram
#آموزش قدم به قدم #آردوینو
#قسمت_سوم_آردوینو_قدم_به_قدم


برنامه نویسی:
1- مقدمات سی
2- آموزش برنامه نویسی آردوینو
اولین قدم برای نوشتن طرح (sketch) خودتان بر روی آردوینو نیاز است ابتدا از منوی file/new پروزه جدید خود را تعریف نمایید پس شروع کنید !
با ایجاد یک پروژه جدید کد های زیر را مشاهده خواهید کرد:
void setup() {
// put your setup code here, to run once:
}
void loop() {
// put your main code here, to run repeatedly:
}
اگر قبلا بازبان برنامه نویسی c آشنا بوده باشید به شباهت بسیار زیاد برنامه نویسی آردوینو با سی پی خواهید برد، همانطور که مشاهده میکنید شما باید برنامه و طرح خودتان را داخل دو تابع setup و loop بنویسید. در اینجا بشرح کارکرد توابع setup و loop میپردازیم:
• Setup
در این قسمت کدهایی که نیاز است تا یکبار اجرا بشوند و همچنین تعریف پین های برد در این قسمت قرار می گیرند.
• Loop
کدهایی از برنامه در این قسمت نوشته میشوند که می بایست دایما در حال تکرار باشند .
البته پیش از این دو تابع هم می توان کدنویسی کرد ؛ فراخوانی توابع کتابخانه ای آردوینو و همچنین تعریف ثابت ها و متغییر ها می تواند پیش از تابع setup() قرار گیرد.

در زیر نمونه ای از برنامه های آردوینو را مشاهده میکنید:

const int ledPin = 13; // LED connected to digital pin 13
// The setup() method runs once, when the sketch starts
void setup()
{
pinMode(ledPin, OUTPUT); // initialize the digital pin as an output
}
// the loop() method runs over and over again,
void loop()
{
digitalWrite(ledPin, HIGH); // turn the LED on
delay(1000); // wait a second
digitalWrite(ledPin, LOW); // turn the LED off
delay(1000); // wait a second
}



البته این را به خاطر داشته باشید که در صورتی که نیاز باشد تا به تابع کتابخانه ای دسترسی داشته باشیم میبایست در ابتدای برنامه با دستور #include تابع مورد نظر را فراخوانی کنیم.
همانطور که در خط اول برنامه مشاهده می نمایید یک مقدار ثابت را تعریف نموده ایم و در ادامه در قسمت setup پین مورد نظر راتعریف کرده ایم و همچنین در قسمت loop نوع عملکرد مورد نظرمان که همان چشمک زدن است را با قرار دادن تاخیر برای فاصله میان روشن و خاموش بودن ال ای دی تعریف نموده ایم.
#WSN
#آشنایی_با_شبکه_های_حسگر_بیسیم
قسمت 1:

شبکه حسگر بی سیم چیست؟
شبکه حسگر متشکل از تعداد زیادی گره‌های حسگر است که در یک محیط به طور گسترده پخش شده و به جمع‌آوری اطلاعات از محیط می‌پردازند. لزوماً مکان قرار گرفتن گره‌های حسگر، از قبل‌تعیین‌شده و مشخص نیست. چنین خصوصیتی این امکان را فراهم می‌آورد که بتوانیم آنها را در مکان‌های خطرناک و یا غیرقابل دسترس رها کنیم.
#WSN
#آشنایی_با_شبکه_های_حسگر_بیسیم

قسمت 2 :

کار برد های شبکه های حسگر بی سیم

باتوجه به نوبودن فناوری شبکه های حسگر بی سیم و هم چنین در حال گسترش و پیشرفت بودن فناوری شبکه های حسگر بی سیم بدون شک به کاربرد های بیشمار احتمالی و قطعی این فناوری پی نبرده شده و یا کمتر به آن توجه شده است ، بنابراین در آینده ای نه چندان دور با قابلیت ها و کاربردهای فراوان شبکه های حسگر بیسیم در زمینه های مختلف در صحنه تئوری و عمل مشاهده خواهیم کرد. دراین مقاله سعی شده است به بررسی اجمالی برای کاربردهای این فناوری بپردازیم.

پیشتر از این فناوری در بعضی از کشورهای پیشرفته دنیا به عنوان سیستم های تشخیص و مراقبت رفتار های هسته ای و رادیو اکتیو استفاده شده است که سامانه حسگر قادر است ...

از کاربردهای دیگر می توان به استفاده از این شبکه ها برای کاربردهای پزشکی اشاره نمود که عمدتا برای اجرا از سنسورهای با ابعاد کم و قابلیت جای گیری د بدن انسان استفاده می نمایند و پزشک می تواند در هر لحظه از وضعیت بیمار آگاهی پیدا نماید.


• کاربردهای نظامی
- سامانه مانیتورینگ نفوذ
- مانیتورینگ نیروهای خودی و تجهیزات
- مانیتورینگ نقاط حساس عملیاتی
- نظارت و پایش محیط در گیری
- هدف گیری و تشخیص موقعیت دقیق هدف
- تشخیص خسارت جنگی
- کنترل نیروهای انسانی
- ردیابی نیروهای متخاصم
- سامانه ها تشخیص حملات هسته ای ، رادیو اکتیو و شیمیایی
- و...
• کاربردهای کشاورزی و محیط زیست
- Microclimates
- سامانه اعلام و تشخیص حریق جنگل و مراتع
- استفاده در سامانه های هواشناسی
- سامانه اعلام و تشخیص سیل و رخداد های آبی
- سامانه حفاظت از گونه های زیستی
- استفاده های کشاورزی
- و...
• کاربردهای پزشکی و سلامت
-
• کاربردهای خانگی
• کاربردهای تجاری
#WSN
#آشنایی_با_شبکه_های_حسگر_بیسیم

قسمت3:



سیستم عامل های wsn ها:
سیستم*عامل برای گره*های شبکه ارتباطی گیرنده بی سیم به نوعی پیچیدگی اش کمتر از اهداف کلی سیستم*عامل است. هردو به دلیل احتیاجات خاص و درخواست شبکه ارتباطی خاص و به دلیل اضطرار یا تحمیل منبع در پایگاه سخت*افزاری شبکه گیرنده است برای مثال کاربرد استفاده شبکه گیرنده معمولاً همکاری متقابل مثل یک کامپیوتر نیست. به همین علت، سیستم*عامل احتیاجی به پشتیبانی کاربرد ندارد علاوه برآن تحمیل یا اضطرار منبع در دوره حافظه و نقشه حافظه سخت*افزار را پشتیبانی می*کند و ساختمانی می*سازد مثل حافظه مجازی که هردو غیر ضروری و غیر ممکن برای انجام دادن هستند. شبکه ارتباطی گیرنده بی سیم، سخت*افزارهایش فرقی با سیستم*های سنتی تعبیه شده ندارد و بنابراین استفاده از سیستم*عامل تعبیه شده ممکن است مثل ecos یا VC/OS برای گیرنده شبکه ارتباطی و اگرچه مثل سیستم*عامل طراحی شده*اند با خواص بی*درنگ و برخلاف سیستم*عامل تعبیه شده سنتی اگر، سیستم*عامل هدف مخصوص شبکه*های ارتباطی گیرنده است. اغلب پشتیبانی بی*درنگ ندارد. Tiny Os شاید اولین سیستم*عاملی باشد که مخصوصا طراحی شده برای شبکه ارتباطی گیرنده بر خلاف بیشتر سیستم*عامل*های دیگر Tiny Os براساس برنامه کامپیوتری یا فرایندی که هر مرحله اجرا مربوط به تحمیلات خارجی است برنامه نویسی می*کند و مدل را به جای طرح برنامه*ای که بیش از یک مسیر منطقی استفاده می*کند و هر مسیر هم*زمان اجرا می*شود که می*گوییم (multithread).

TinyOs برنامه دستوری که تشکیل شده از گرا و کارهایی که تداوم پیدا می*کند در تکامل معنایی زمانی که پیشامد خارجی رخ می*دهد و مانند وارد شدن اطلاعات و خواندن گیرنده.

TinyOs خبر می*دهد از گرای مناسبی که اتفاقات را شرح می*دهد گرا می*تواند ارسال کند کارهایی را که برنامه ریزی شده با هسته اصلی TinyOs در زمانی عقب*تر. هردوی سیستم TinyOsو برنامه نوشته شده برای TinyOs که آنها نوشته شده*اند با برنامه نویسی C است. Nesc طراحی شده برای یافتن Race-Condition (حالت نا معینی که به هنگام عملکرد هم*زمان دستورالعمل*های دو کامپیوتر به وجود می*آید و امکان شناخت این مسئله که کدام یک از آنها ابتدا تمام خواهد شد وجود ندارد) بین وظایف و گراها.

و همچنین سیستم*های عاملی هستند که اجازه برنامه نویسی در C را می*دهند مثل سیستم*عامل*هایی شامل Contiki و MANTIS و BT nut و SOS و Nano-RK.

Contiki طراحی شده*اند برای پشتیبانی و اندازه*گیری بارگیری در شبکه و پشتیبانی زمان اجرای بارگیری در استاندارد فایلهای ELF. هسته Contiki را برنامه کامپیوتری یا فرایند کامپیوتری است که هر مرحله اجرا مربوطه به عملیات خارجی است Event-driven اما سیستم پشتیبانی می*کنند از (طرح برنامه*ای که بیش از یک مسیر منطقی است و هر سیر هم*زمان اجرا می*شود) Multithread در زمینه پیش درخواست*ها – علاوه بر آن شامل خطوط برجسته*ای که فراهم می*کند خطوطی را که مثل برد برنامه نویسی اما با حافظه خیلی کوچک در بالای سر.

برخلاف Event-driven، هسته Contiki و MANTIS و Nano-RK هسته*هایی که بر اساس قبضه*ای انحصاری Multithread است. با قبضه*ای انحصاری Multithread که کاربرها صراحتاً احتیاجی به ریز پردازنده برای دیگر پردازش*ها ندارند. در عوض هسته زمان را تقسیم می*کند به پردازش*های فعال و تصمیم می*گیرد که کدام پردازش می*تواند کار کند ولی می*تواند استفاده از برنامه نویسی را راحت کند.

شبکه ارتباطی و گیرنده مثل TinyOs و Contiki و SOS و Even-driven سیستم*عاملی است که ترکیب اولی SOS که پشتیبانی برای ظرفیت بارگیری. سیستم*عامل کامل ساخته شده از ظرفیت*های کوچک*تر و سریع SOS همچنین تمرکز در پشتیبانی برای مدیریت حافظه دینامیک است.
#WSN
#آشنایی_با_شبکه_های_حسگر_بیسیم


قسمت 4:
#امنیت WSN
ازجمله مباحث پراهمیت تو این زمینه {از زمینه های امنیت سخت افزاری و امنیت سامانه های نهفته}
توجه به ساختار داخلی wsn ها و ویژگی های خاص مربوط به آنهاست.

از جمله ویژگی های wsn ها بدین شرح اند :
1) Limited Memory and Storage Space | رم و فضای ذخیره سازی محدود :
پس برای داشتن یه مکانیزم دفاعی و امنیتی مناسب نیاز هستش تا
برنامه و کد ها مون بسیار کوتاه و کم حجم باشند.

برای مثال یک نوع از همین سنسورها دارای مشخصات زیر هستش:
-16bit, 8 MHz RISC CPU with only 10K
RAM, 48K program memory, and 1024K flash storage
بنابراین باید الگوریتم و کد امنیتی که نوشته بسیار بسیار کوتاه باید باشد.
که اینجا هنر برنامه نویس آشکار خواهد شد...

نکته : فضای اشغال شده توسطTinyOS سیستم عامل این wsn ها حدود 4k هستش!!
— هسته برنامه 178 بایت است.
#WSN
#آشنایی_با_شبکه_های_حسگر_بیسیم



ویژگی بعدی که باید در زمینه تامین امنیت wsn ها مورد توجه قرا بگیرد :

2) Power Limitation | منابع محدود انرژی

سنسور های بی سیم عمدتا برای استفاده های بیسیم و در فواصل دور و استفاده های طولانی مدت به کار برده می شوند. که می بایست همه این سنسور های در شبکه حسگر بیسیم باهم در ارتباط باشند و در کل به گره مرکزی یا sink متصل بشوند.
بنابر این نیاز به انرژی بالایی برای مصرف دارند و هم چنین بدلیل کوچک بودن امکان استفاده از منبه تغذیه حجیم وجود ندارد وباید تا حد ممکن بسیار کوچک باشد...

اما نکته مورد نطر برای تامین امنیت چیست ؟
— باید توجه داشته باشیم برای در نظر گرفتن الگوریتم خاصی در زمینه رمز نگاری و یا استفاده از پروتکل مشخص امنیتی برای تامین ارتباط بین نود(node) ها مصرف باتری بالا می رود وبا مشکل مواجه خواهیم بود.
پس در طراحی سیتم امنیتی مناسب باید این نکته را مد نظر قرار داد که منابع انرژی محدودند و استفاده از سرویس های مختلف امنیتی نباید نیاز به مصرف انرژی زیادی داشته باشند..
#دانلود #کتاب کاربردهای #WSN
#دانلود #کتاب #پردازش_تصویر_دیجیتال #گنزالز معروفترین کتاب در زمینه پردازش تصویر دیجیتال ! دانلود ویرایش سوم از کانال @embedded
#دانلود #فیلم_آموزشی #fpga و توسعه آن با برد BASYS
#دانلود #کتاب آموزش زبان #وریلاگ #VERILOG نوشته ی ابراهیم جهاندار - دانشگاه اصفهان
دانلود کتاب طراحی پروسسور
#دانلود_کتاب " روند های امنیتی برای FPGA " | شیوه های عملیاتی برای حفظ امنیت FPGA ها و جلوگیری از حملات کانال جانبی و ...
#دانلود_کتاب #آموزشی " پردازش تصویر با متلب " | #IMAGEPROCESSING #MATLAB