PDA

View Full Version : حرفه ای: ارتباط با قطعه الکترونیکی



OMID_BNT
یک شنبه 19 مرداد 1393, 17:24 عصر
سلام




برنامه نویسی سوکت در سی شارپ این طوری هست که یه ای پی و پورت برای برنامه مشخص میکنیم و بین دو تا کامپیوتر تبادل اطلاعات میکنیم یه برنامه طراحی میکنیم که به یه ای پی و پورت وصل شه




نحوه تبادل اطلاعات بین یه وسیله (برد الکترونیکی ) و کامپیوتر مثل برنامه نویسی سوکت در سی شارپ هست؟ میشه لطفا یکم توضیح بدید (این برداشت من بود)


مثلا اگر شخصی یه پرینتر و یا اسکنر طراحی کرد و به ما گفت براش برنامه بنویسید چه طوری این امر میسر هست اگر ما مطابق برنامه سوکت اطلاعات رو بفرستیم و یا بگیریم درسته همه چیز (چه اطلاعاتی رو باید از مشتری بگیریم درمورد دستگاهش)


برنامه در کامپیوتر رو به چه نحو باید نوشت ؟؟؟


برد الکترونیکی رو چه طوری باید طراحی کرد با چه روشی به کامپیوتر وصل کنیم مثلا rg45 , rs232 , usb و چه طوری اطلاعات رو بفرستیم یا بگیریم ایا حتما باید وسیله ادرس ای پی داشته باشه و شماره پورت (تو ic براش ip تعریف شده باشه )
------------------
یه مثال دیگه شما میخواید یه لامپ رو از طریق کامپیوتر روشن کنید
on برای روشن شدن
sos برای چشمک زدن
off برای خاموش شدن
یکی از سه حرف بالا رو بفرستیم بهش از طریق کامپیوتر و برنامه ای که نوشتیم


یعنی مثلا on رو بفرستیم بهش از کامپیوتر یه خروجی دستگاه به ما بده که بگه i am on


ما این پیغام رو از وسیله بگیریم و نشون بدیم به کاربر در برنامه خودمون


این ارسال و دریافت هم تو کامپیوتر و برنامه نویسی ، و هم تو وسیله الکترونیکی ما به چه شکل هست


--------------


هر کس بتونه بهم کمک کنه این مبحث رو بدونم واقعا لطف بزرگی کرده (بیشتر به این موضوع از دید یه برنامه نویس نگاه کنید)

elec60
یک شنبه 19 مرداد 1393, 21:04 عصر
بستگی به نوع ارتباط داره، برای دستگاههای الکترونیکی معمولا ارتباط از طریق پورت سریال هست، مثلا همین دستگاههای دیاگ تعمیرگاههای خودروها با پورت سریال کار میکنن(یه مبدل usb به serial) دارن که پورت usb رو به سریال تبدیل میکنه.
دستگاه الکترونیکی هم باید همون پورت رو با همون پروتکل ساپورت کنه.
ارسال و دریافت اطلاعات از طریق پورت سریال خیلی ساده ست اما سرعت پایینه، و اگه کابل طولش از حدی بیشتر باشه RS232 جواب نمیده. من تو یه پروژه برای ارتباط با یه دستگاه از SerialPort استفاده کردم اگه جزئیات خواستی و یا کد خواستی بگو، البته تو Ubuntu کار میکنم با MonoDevelope که به گرد پای Visual Studio هم نمیرسه ولی بدک نیست، یه سری از قابلیتهای SerialPort مثل ایونت DataRecieved تو mono پیاده سازی نشدن که مجبور شدم خودم پیاده سازی انجام بدم.
پروتکل USB هم خیلی پیچیده تره و متاسفانه هنوز کار زیادی روش انجام ندادم.

elec60
یک شنبه 19 مرداد 1393, 21:24 عصر
این که چه دیتایی بفرستی بستگی داره به برنامه ای که تو دستگاه الکترونیکی و command هایی که قبلا واسش نوشته شده، مثلا تو دستگاه من دستور ?monch,0,volt از دستگاه تقاضا میکنه که ولتاژ یه جای خاصی رو بخونه و جواب رو بفرسته و اگه جواب مثلا ۱۲.۵ ولت باشه دستگاه پاسخ میده: get:monch,0,12.5\r

systam
یک شنبه 19 مرداد 1393, 23:04 عصر
سلام
اینا رو نگاه کن ببین چطوره
1111111111111111111111 (http://www.fadakbook.ir/product/1455/%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D9%86%D9%88%DB%8C%D8%B3%DB%8C-%D8%A8%D9%87-%D8%B2%D8%A8%D8%A7%D9%86-C-%D8%A8%D8%B1%D8%A7%DB%8C-%D8%AF%D8%A7%D9%86%D8%B4%D8%AC%D9%88%DB%8C%D8%A7%D 9%86-%D8%A7%D9%84%DA%A9%D8%AA%D8%B1%D9%88%D9%86%DB%8C%D A%A9-%D9%88-%D8%B3%D8%AE%D8%AA-%D8%A7%D9%81%D8%B2%D8%A7%D8%B1-Embedded-C)
2222222222222222222222 (http://www.picpars.com/)
3333333333333333333333 (http://alemishop.mihanblog.com/)
4444444444444444444444 (http://sadmonew.blogfa.com/)