PDA

View Full Version : ارسال آنلاین اطلاعات سنسور بر روی یک وبسایت



smt1383
شنبه 05 اسفند 1391, 09:03 صبح
با سلام
من یک سنسور دما دارم که از طریق پورت سریال اطلاعات آنرا در یک کامپیوتر دریافت می کنم. می خواهم این اطلاعات را به صورت آنلاین بر روی یکی از label های وبسایتم نمایش بدهم. می خواستم ببینم چه راههایی برای این کار وجود دارد؟
با تشکر

aliblue
شنبه 05 اسفند 1391, 11:27 صبح
به نظر من بهترین راه اینه که وبسایتت دما رو از دیتابیس بخونه.
حالا یه برنامه هم باید بنویسی که روی کامپیوترت اجرا بشه و دمای سنسور رو بخونه و به دیتابیس هاست وصل بشه و دما رو بروز رسانی کنه.
اینطوری اگه کامپیوترت دائم روشن نباشه یا به اینترنت وصل نباشه هم میتونی آخرین دما رو نشون بدی.
میشه یه فیلد تاریخ هم به جدولت اضافه کنی که زمانی آخرین بروز رسانی دما رو نشون بده.

koorosh-soft
شنبه 05 اسفند 1391, 14:11 عصر
میشه یه Post / Get Request درست کنی بعد با تایمر یا هرجور که دوست داری با یه httpwebrequest دیتا رو Post/Get کنی رو اون صفحه ! یا اگر میخوای Log کنی باید از Database یا File استفاده کنی که پیشنهاد میکنم از یه فایل XML استفاده کنی

smt1383
شنبه 05 اسفند 1391, 14:14 عصر
ممنون از پاسخ شما. آیا روش دیگری وجود ندارد که اطلاعات را مستقیم به روی وب سایت بفرستیم؟

smt1383
شنبه 05 اسفند 1391, 14:34 عصر
میشه یه Post / Get Request درست کنی بعد با تایمر یا هرجور که دوست داری با یه httpwebrequest دیتا رو Post/Get کنی رو اون صفحه ! یا اگر میخوای Log کنی باید از Database یا File استفاده کنی که پیشنهاد میکنم از یه فایل XML استفاده کنی

ببخشید من در برنامه نویسی asp.net کاملاً تازه وارد هستم. میشه یک کم بیشتر توضیح بدهید

aliblue
شنبه 05 اسفند 1391, 17:27 عصر
شما اگه یه برنامه ساده تحت ویندوز بتونی بنویسی که دما رو مثلا توی یه لیبل نشان بده بقیه ش خیلی ساده س و من میتونم انجامش بدم.

smt1383
یک شنبه 06 اسفند 1391, 09:29 صبح
شما اگه یه برنامه ساده تحت ویندوز بتونی بنویسی که دما رو مثلا توی یه لیبل نشان بده بقیه ش خیلی ساده س و من میتونم انجامش بدم.

دوست عزیز منظورتان را متوجه نشدم. شوخی بود یا جدی؟! :افسرده:

aliblue
یک شنبه 06 اسفند 1391, 10:30 صبح
شوخی چیه جدی گفتم بابا.
یه برنامه ساده تحت ویندوز(یعنی روی کامپیوتر خودت اجرا بشه) که دما رو از پورت سریال بتونه بخونه و نمایش بده میتونی بنویسی؟(ترجیحا با سی شارپ)

smt1383
یک شنبه 06 اسفند 1391, 11:11 صبح
آره. خیلی کار راحتیه. مشکل من در ارسال به یک صفحه وب به صورت آنلاینه. اصلاً پورت سریال رو بی خیالش شو. فکر کن یک برنامه تحت ویندوز داریم که در فواصل زمانی مشخص مثلاً هر 1 دقیقه یک عدد رندم تولید می کنه حالا می خواهیم این عدد رندم را روی یک label در وبسایتمون نمایش بدیم.

aliblue
یک شنبه 06 اسفند 1391, 11:30 صبح
خوب تا حالا با دیتابیس کار کردی؟فقط کافیه یک فیلد از یک جدول دیتابیس(که مربوط به دما هست) رو update کنی.یعنی باید با برنامه تحت ویندوز به دیتابیس که روی هاست قرار داره وصل بشی.اینم کار راحتیه اگه بلد نیستی بگم.

betisa
یک شنبه 06 اسفند 1391, 11:51 صبح
شما برای انجام این کار میتونید از تکنولوژی جدید مایکروسافت به نام asp.net SignalR استفاده کنی.
یک لینک (http://www.dotnettips.info/post/849/signalr) آموزشی

smt1383
یک شنبه 06 اسفند 1391, 12:30 عصر
خوب تا حالا با دیتابیس کار کردی؟فقط کافیه یک فیلد از یک جدول دیتابیس(که مربوط به دما هست) رو update کنی.یعنی باید با برنامه تحت ویندوز به دیتابیس که روی هاست قرار داره وصل بشی.اینم کار راحتیه اگه بلد نیستی بگم.

1. برای اتصال به دیتابیس روی هاست فقط کافیه در connection String عبارت Server را برابر IP هاست قرار بدم؟ درسته؟
2. برای نمایش آنلاین مقادیر باید صفحه وبسایتم خودبخود مثلاْ هر یک دقیقه رفرش بشه تا اطلاعات جدید رو از دیتابیس بگیره؟ منظور شما اینه؟

aliblue
یک شنبه 06 اسفند 1391, 14:19 عصر
1. برای اتصال به دیتابیس روی هاست فقط کافیه در connection String عبارت Server را برابر IP هاست قرار بدم؟ درسته؟
Data Source=ip,port;Initial Catalog=DataBaseName;Persist Security Info=True;User ID=userName;Password=pass

2. برای نمایش آنلاین مقادیر باید صفحه وبسایتم خودبخود مثلاْ هر یک دقیقه رفرش بشه تا اطلاعات جدید رو از دیتابیس بگیره؟ منظور شما اینه؟
شما از هر راهی که استفاده کنی ، برای این که جدید ترین مقدار نشان داده بشه باید صفحه یا بخشی از صفحه(Ajax)رفرش بشه.که می تونی از UpdatePanel استفاده کنی.

smt1383
یک شنبه 06 اسفند 1391, 14:37 عصر
ممنون از راهنماییت. :لبخندساده:

betisa
یک شنبه 06 اسفند 1391, 14:37 عصر
دوستان عزیز رفرش کردن صفحه و یا درخواست Ajax به صورت منظم بار زیادی رو روی سرور قرار می ده در ضمن این که اگر قصد مونیتور کردن دما و یا هر چیز دیگر به صورت Real time باشه ممکن است بخشی از داده رو در بین ریفش کردن ها از دست بدهیم مثلا
اگر داریم دمای کوره رو مونیتور میکنیم و نباید دمای کوره از حدی بالا تر بره و ما ریفرش کردن رو 2 دقیقه یک بار گذاشته باشیم ممکن هست که در ثانه 10 از دوره زمانی ما دمای کوره از حد بحرانی بگذره و ما تا دقیقه 2 متوجه اون نشیم و این یعنی فاجعه