سلام خدمت اساتيد گرامي
دوستان گرامي يه پروژه دارم كه قراره چندين ميكرو كه هر كدوم يك كيبرد دارن رو به يه سرور كامپيوتري متصل كنم با فرستادن كد از ميكرو به سرور ، سرور بررسي كنه كه اگه كد براي ميكرو درست بود (كد رمز درب ورودي) كدي به ميكرو ارسال بشه و اون در و باز كنه با توجه به اينكه رشتم نرم افزاره تو قسمت نرم افزاريش مشكلي ندارم با كد نويسي bascom با ميكرو ها هم خيلي كار كردم
حالا سوالات
1. براي ارتباط بين ميكرو و سيستم از چي استفاده كنم بهتره
2. هر ميكرو جدا به شبكه وصل بشه يا همه به يك ميكرو و اونو به سيستم وصل كنم يعني از شبكه tcp اصلا استفاده نكنم
چيزايي كه برام خيلي مهمه
1. مهمترين چيز اينكه هيچ اطلاعاتي تو شبكه نبايد از بين بره يعني با هر بار وارد كردن كد حتي اگه تو چند تا ميكرو همزمان شد سيستم حتما جواب بده
2. براي مسافتهاي طولاني بتونم راحت راه اندازيش كنم
لطفا اگه ماژول خاصي ميتونه كمك كنه راهنمايي كنيد چون بايد سخت افزاري هم راه اندازيش كنم خودم گشتم ظاهرا ماژول ENC28j60 كه براي ارتباط ميكرو و شبكه است بهترين گزينس ميخوام نظر اساتيد رو هم بدونم ممنون ميشم راهنمايي كنيد
پيشاپيش تشكر از همه
نقل قول: سلام خدمت اساتيد گرامي
دوستان گرامي يه پروژه دارم كه قراره چندين ميكرو كه هر كدوم يك كيبرد دارن رو به يه سرور كامپيوتري متصل كنم با فرستادن كد از ميكرو به سرور ، سرور بررسي كنه كه اگه كد براي ميكرو درست بود (كد رمز درب ورودي) كدي به ميكرو ارسال بشه و اون در و باز كنه با توجه به اينكه رشتم نرم افزاره تو قسمت نرم افزاريش مشكلي ندارم با كد نويسي bascom با ميكرو ها هم خيلي كار كردم
حالا سوالات
1. براي ارتباط بين ميكرو و سيستم از چي استفاده كنم بهتره
2. هر ميكرو جدا به شبكه وصل بشه يا همه به يك ميكرو و اونو به سيستم وصل كنم يعني از شبكه tcp اصلا استفاده نكنم
چيزايي كه برام خيلي مهمه
1. مهمترين چيز اينكه هيچ اطلاعاتي تو شبكه نبايد از بين بره يعني با هر بار وارد كردن كد حتي اگه تو چند تا ميكرو همزمان شد سيستم حتما جواب بده
2. براي مسافتهاي طولاني بتونم راحت راه اندازيش كنم
لطفا اگه ماژول خاصي ميتونه كمك كنه راهنمايي كنيد چون بايد سخت افزاري هم راه اندازيش كنم خودم گشتم ظاهرا ماژول ENC28j60 كه براي ارتباط ميكرو و شبكه است بهترين گزينس ميخوام نظر اساتيد رو هم بدونم ممنون ميشم راهنمايي كنيد
پيشاپيش تشكر از همه
سلام
1-میتونید از پروتکل uart استفاده کنید
با شبکه هم کارتون راه میوفته
با چه میکرویی کار کنید؟
با آرم که به راحتی میتونید درگاه ethernet و راه اندازی کنید ولی در مورد avr نمیدونم امکانش هست یا نه و با avr بنظر بهتره از uart استفاده کنید
2-یک میکرو رو میتونید به چند سیستم شبکه کنید
در مورد نرم افزار سیستم و شبکه زیاد اطلاعات و ندارم
فقط درمورد روش tcp اگه بشه به کمک میکرو و نرم افزار سیستم ،Ip ها رو تفکیک کنید و شرایط رو برای هرکدوم از Ip ها بصورت جداگانه برقرار کنید پیشنهاد میشه
یعنی از همون کیبورد یه عددی رو برای ورود رمز یک سیستم خاص درنظر بگیرید
فرضا عدد 1 رو بزنید و رو سیستم سرور اصلی از طریق ارتباط ethernet به slive1 دستور آماده باش داده بشه و رمز رو از طریق کیبورد و با ارتباط uart ارسال کنید و درصورت تایید رمز از طریق سرور اصلی، دستور دیگه ای از طریق ارتباط شبکه به slive1 مبنی بر فعال سازی خروجی ارسال بشه
به همین طریق با ارسال اعداد دیگری به سروراصلی، slive های دیگه رو هم آماده دریافت اطلاعات کنید
1-منظورتون و در مورد همزمان شدن میکرو زیاد متوجه نشدم
بیشتر توضیح بدید
2- در مورد مسافت دقیق نمیدونم ولی به روش tcp محدودیت تعداد ip دارید و از یه تعداد خاصی نمیتونید شبکه کنید(البته این چیزیه که شنیدم)
خوش باشید.
منظورم از همزماني ميكرو اينه كه چندين ميكرو در درب هاي دور از هم داريم امكان داره دو نفر در دو درب همزمان كد رمز رو بزنن
تو سيستمي كه شما گفتيد كاربر 1 رو بزنه مستقيما به سرور وصل بشه فكر ميكنم مانع از وصل شدن بقيه ميكرو ها بشه و اين يعني همزمان مشكل بوجود مياد درست متوجه شدم ؟؟؟؟
فكر ميكنم tcp/ip تا الان بهترين راه حله
سلام شبکه راه حل خیلی خوبی ولی می تونی روی I2C هم فک کنی چون هم هزینه کمتری داره و هم ساده تره در کل اگه می خوای کارت خیلی سطح بالا باشه بهتره از ARM و اینترانت استفاده کنی و اگه پروژه محدودیه بهتر ه از روش های کم هزینه تر مثل I2C استفاده کنی
با سلام اول مسافت رو مشخص کن
بعد میکرو را مشخص کن
در کل روشهای ارتباطی زیادی وجود داره اما بهترین روشها استفاده از max هست
و تلفیقی بین 485 و 232
باید بهینه کلاینت و سرور را کانفیگ کنی ارتباط با شبکه هم گزینه خوبی هست اما مقرون به صرفه نیست
هم هزینه هم وقت بالا می بره اما 485 و 232 عالی عمل میکنه
برای ارتباط همزمان هم مشکلی پیش نمیاد
این را به خاطر داشته باشید که نباید هر عدد را یک به یک ارسال کنید باید طبق الگریتم و مثلا هر 6 عدد را به همراه کد میکرو ارسال کنید اونوقت داده ها گم نمیشن و مشکلی پیش نمیاد
در سمت سیستم هم برنامه ی انچنان پیچیده ای نیاز نیست با ویبی یا سی یا دلفی حتی با متلب با چند خط میشه راش انداخت مشکلی بود در خدمتن