صفحه 1 از 2 12 آخرینآخرین
نمایش نتایج: از 1 به 10 از 15
Like Tree8 لایک

موضوع: درخواست راه کار برای زمانی که میکرو یا رادیو یا سنسور هنگ میکند!!؟

Hybrid View

magmagmary این که داری با nrf دیتا... 10-29-2016, 05:21 AM
feredy2011 سلام مهندس اگه میشه یه... 11-03-2016, 07:17 AM
magmagmary این رو ببین ... 11-05-2016, 05:19 AM
feredy2011 اونو دیدم سر در نیاوردم :)... 11-06-2016, 08:35 AM
feredy2011 سلام ممنون مهندس ولی من... 11-10-2016, 04:47 PM
feredy2011 ممنونم دوست عزیز بابت کمکت 11-11-2016, 03:54 PM
  1. #1
    Senior Member
    تاریخ عضویت
    Nov 2014
    نوشته ها
    255

    درخواست راه کار برای زمانی که میکرو یا رادیو یا سنسور هنگ میکند!!؟

    سلام دوستان خوبید؟ میخواستم ببینم چه راه کارهایی برای وقتی که یه سنسور بی سیم شامل (اردوینو ، رادیو nrf و سنسور حالا حرکتی یا دما یا....) هنگ میکنه وجود داره ؟ مثلا واسه خود اردوینو واچ داگ استفاده بشه ولی اگه رادیو یا سنسور هنگ یا گیر کنه باید چکار کنیم ؟

  2. #2
    مدیر گروه
    تاریخ عضویت
    Nov 2013
    محل سکونت
    ایران
    نوشته ها
    4,064
    این که داری با nrf دیتا میقرستی خودش یه نقطه قوته ماجراست

    چرا که میتونی جوری کد نویسی کنی که موقع ارسال و ردیافت منتظر بمونه داده تمام و کمال که رفت و او مد بره سراغ کارهای بعدی . همین تا درصد خیلی بالایی از هنگ کردنش جلوگیری می کنه .

    نکته دیگه اینه که سنسوها هنگ نمی کنن بلکه پردازنده قاطی میکنه
    بنابراین با گذاشتن واچ داگ مشکل سنسورهاتون حل میشه


    و اما یه نکته
    اگر مدل هنگ گردن و زمان هنگ کردناتون داره تکرار میشه مشکل از کد نویسیه
    ممکنه یه بافر سرریز بشه یا تایمر استفاده کرده باشید و لازم باشه کدتون رو بهینه کنید و الی آخر
    لایک کردن

  3. #3
    Senior Member
    تاریخ عضویت
    Nov 2014
    نوشته ها
    255
    سلام مهندس اگه میشه یه کتابخونه درست حسابی واسه واچ داگ بهم بدید. واسه اردوینو نانو.خودم چندجا دیدم از این کتابخونه استفاده کرده بودن "#include <avr/wdt.h>" ولی هرچی گشتم همچین کتابخونه ای واسه دانلود پیدا نکردم. اگر بهم یه لینک بدید ممنون میشم.

    از یه متغیر unsigned long استفاده کردم با تابع millis که هر 30 ثانیه یه کاری کنه . حالا تا چند ثانیه میتونه بشماره ؟ وقتی تموم بشه به مشکل میخورم یا خودش ریست میکنه دوباره از 0 میشماره ؟

  4. #4
    مدیر گروه
    تاریخ عضویت
    Nov 2013
    محل سکونت
    ایران
    نوشته ها
    4,064
    نقل قول نوشته اصلی توسط feredy2011 نمایش پست ها
    سلام مهندس اگه میشه یه کتابخونه درست حسابی واسه واچ داگ بهم بدید. واسه اردوینو نانو.خودم چندجا دیدم از این کتابخونه استفاده کرده بودن "#include <avr/wdt.h>" ولی هرچی گشتم همچین کتابخونه ای واسه دانلود پیدا نکردم. اگر بهم یه لینک بدید ممنون میشم.

    از یه متغیر unsigned long استفاده کردم با تابع millis که هر 30 ثانیه یه کاری کنه . حالا تا چند ثانیه میتونه بشماره ؟ وقتی تموم بشه به مشکل میخورم یا خودش ریست میکنه دوباره از 0 میشماره ؟
    این رو ببین

    https://github.com/adafruit/Adafruit_SleepyDog

    میتونی خودت نرم افزاری بعد از مدتی ریست کنی تا مطمئن بشی مشکلی پیش نمیاد.

  5. #5
    Senior Member
    تاریخ عضویت
    Nov 2014
    نوشته ها
    255
    اونو دیدم سر در نیاوردم اون avr/wdt چیه ؟ کتابخونش از کجا پیدا کنم ؟
    کلا یه کد ساده و عملی وایه واچ داگ باشه...


    اون یکی بحث هم فقط گفتم هر 30 ثانیه مثلا یه کد بفرست. یعنی ممکنه مشکل ایجاد کنه ؟ نرم افزاری چطوری باید ریست کنم ؟ :|

  6. #6
    مدیر گروه
    تاریخ عضویت
    Nov 2013
    محل سکونت
    ایران
    نوشته ها
    4,064
    نقل قول نوشته اصلی توسط feredy2011 نمایش پست ها
    اونو دیدم سر در نیاوردم اون avr/wdt چیه ؟ کتابخونش از کجا پیدا کنم ؟
    کلا یه کد ساده و عملی وایه واچ داگ باشه...


    اون یکی بحث هم فقط گفتم هر 30 ثانیه مثلا یه کد بفرست. یعنی ممکنه مشکل ایجاد کنه ؟ نرم افزاری چطوری باید ریست کنم ؟ :|
    سریال نرم افزاری به این صورته

    two ways to reset arduino in software
    لایک کردن

  7. #7
    مدیر گروه
    تاریخ عضویت
    Nov 2013
    محل سکونت
    ایران
    نوشته ها
    4,064
    نقل قول نوشته اصلی توسط feredy2011 نمایش پست ها
    اونو دیدم سر در نیاوردم اون avr/wdt چیه ؟ کتابخونش از کجا پیدا کنم ؟
    کلا یه کد ساده و عملی وایه واچ داگ باشه...


    اون یکی بحث هم فقط گفتم هر 30 ثانیه مثلا یه کد بفرست. یعنی ممکنه مشکل ایجاد کنه ؟ نرم افزاری چطوری باید ریست کنم ؟ :|

    اینجا هم یه مثال واسه واچ داگ
    https://bigdanzblog.wordpress.com/20...-example-code/
    لایک کردن

  8. #8
    مدیر ویژه
    تاریخ عضویت
    Mar 2014
    نوشته ها
    586
    سلام
    پیشنهاد من اینه که ریست رو به صورت سخت افزاری انجام بدید.
    لینک زیر رو ببینید:
    555 Timer/Oscillator Tutorial

    به این ترتیب با ای سی 555 زمانبندی مورد نیازتون رو می کنید مدت زمان 0 بودن و مدت زمان 1 بودن مثلا مدت زمان 1 بودن 1 ثانیه و مدت زمان 0 بودن 86400 ثانیه
    بهتر هست بجای آی سی 555 آی سی 7555 بذارید.
    من عملا بستم و جواب گرفتم
    فقط نکته ای که میمونه باید تعدادی مقاومت در رنج مگا اهم ری کنید تا به زمان بیشتری دسترسی پیدا کنید ....

    ماژول های توی فروشگاه کمترین سیکلشون 0.6 هرتز هست
    اگر بتونید اول مدار ماژول رو بفهمید بعد مقادیرش رو تغییر بدید شاید بتونید به این هدف برسید.

    تنها راه کار برای ریست 24 تا 72 ساعت بیشتر یا کمتر همون آی سی 555 یا 7555 هست ...
    لایک کردن

  9. #9
    Senior Member
    تاریخ عضویت
    Nov 2014
    نوشته ها
    255
    نقل قول نوشته اصلی توسط shobeir90 نمایش پست ها
    سلام
    پیشنهاد من اینه که ریست رو به صورت سخت افزاری انجام بدید.
    لینک زیر رو ببینید:
    555 Timer/Oscillator Tutorial

    به این ترتیب با ای سی 555 زمانبندی مورد نیازتون رو می کنید مدت زمان 0 بودن و مدت زمان 1 بودن مثلا مدت زمان 1 بودن 1 ثانیه و مدت زمان 0 بودن 86400 ثانیه
    بهتر هست بجای آی سی 555 آی سی 7555 بذارید.
    من عملا بستم و جواب گرفتم
    فقط نکته ای که میمونه باید تعدادی مقاومت در رنج مگا اهم ری کنید تا به زمان بیشتری دسترسی پیدا کنید ....

    ماژول های توی فروشگاه کمترین سیکلشون 0.6 هرتز هست
    اگر بتونید اول مدار ماژول رو بفهمید بعد مقادیرش رو تغییر بدید شاید بتونید به این هدف برسید.

    تنها راه کار برای ریست 24 تا 72 ساعت بیشتر یا کمتر همون آی سی 555 یا 7555 هست ...
    سلام ممنون مهندس ولی من میخوام اصلا خودمو درگیر مدار بستن و... نکنم . فقط ماژول. یه راه بهتر سراغ ندارید که ساده رو همون اردوینو پیاده کنم ؟

  10. #10
    مدیر ویژه
    تاریخ عضویت
    Mar 2014
    نوشته ها
    586
    چون کد نویسی به هر حال تحت اجرای cpu هست
    از طرفی ما میخوایم با ریست کردن cpu رو اگر هنگ کرده باشه ریست کنیم ...

    توی بعضی بردهایی که سیستم لاگر داره میان یک بخش میذارن که سایر بخش ها رو تست می کنه.
    می تونید یک آردوینو نانو رو به این ترتیب جهت مانیتورینگ cpu استفاده کنید که اگر هر یک ثانیه یا هر یک ساعت ... از آردوینو اصلی پالس یا کامند مشخصی دریافت نکرد مستقیما ریست آردوینو اصلی رو یک1-0-1 کنه تا ریست شه ... همینطور آردوینو نانو رو با اردوینو اصلیتون
    ...
    برای کد نویسیش به این زبان تسلط ندارم اما این شیوه قطعا جواب میده.
    دوتا آردوینو که ناظر هم باشن و به محضی هنگ کردن یکی دومی اون رو ریست کنه ...

    http://shop.aftabrayaneh.com/Arduino...earch=نانو
    لایک کردن

صفحه 1 از 2 12 آخرینآخرین

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •  

SEO by vBSEO