Division
03-01-2011, 23:57
با سلام
چند وقت پیش پروژه ای رو کار کردم که بعد اتمام پروژه به نتایج جالبی رسیدم می خوام تو این تاپیک این ایده ی جالب و 100% عملی رو مطرحش کنم .
پروژه ای که من روش کار کردم به این صورت بود که باید چند تا دیوایس از طریق شبکه LAN به هم متصل می کردم و تمامی دیوایس باید از طریق یونیت Central Control هدایت می شدن .
همون طور که مشخصه پروژه تقریباً سنگینی هستش .
ولی چه طوری من باید این روش کنترلی خاص رو پیداده می کردم ؟!
که طرف قرارداد واسط گرافیکی خیلی خوب هم ازم می خواست !
اولش روی هسته های ARM7TDMI کار کردم (پلتفرم های ATMEL و NXP ) که تو قسمت واسط گرافیکی کم آوردم :(
تازشم با مشکلاتی از قبیل سرعت پایین، نبود OS واحد، رم پایین و ... مواجه شدم و کلی وقتم هدر رفت !
در ادامه به ناچار هسته ARM926EJ رو انتخاب کردم و روی پلتفرم معروف شرکت یعنی SUMSONG کار رو دوباره از سر گرفتم .
با به کار بردن برد MINI2240 تونستم به حداقل پارمترهایی که نیاز داشتم برسم .
با استفاده از سیستم عامل محبوبم یعنی لینوکس بالاخره LAN یکی از دیوایس ها رو راه اندازی کردم و تونستم از طریق یونیت Central Control پینگ دیوایسم رو بگیرم .
در ادامه بعد از تعریف آی پی اختصاصی اینترنال برای بقیه دیوایس ها، همه اطلاعات رو با Central Control مچ کردم .
بعد از برنامه نویسی و ارتباط با کرنل باید واسط گرافیکی رو به صورت User-friendly طراحی می کردم. انتخاب های زیادی رو داشتم و من از برنامه نویسی به کمک HTML بهره بردم .
بعد از طراحی صفحات استاتیک با زبان HTML ، این صفحات رو به برنامه ای که برای ارتباط کرنل نوشته بودم متصل کردم .
برای هر کدم از دیوایس ها بر حسب کاربرد صفحه خاصی رو به عنوان یه واسط گرافیکی تحت NET بار کردم .
در این مرحله یونیت Central Control می تونست به هرکدوم از دیوایس ها از طریق شبکه LAN متصل بشه و فرمان خاص خودش رو صادر کنه و اطلاعات لازمه رو از دیوایس ها تحویل بگیره .
البته من تو این پروژه بابد یه حجم بزرگی از دیتا رو هر سه روز یه بار به عنوان Report از دیوایس ها جمع می کردم که اینم به کمک سرعت بالای شبکه LAN و برنامه نویسی به زبان HTMAL حل شد .
فکر کنم زیاد پرحرفی کردم ! من این پروژه رو با تغییراتی که تو صفحات اعمال کردم عکس هاش رو براتون میزرام :
این تصویر برد mini2440 با هسته پردازنده s3c2440 در کلاک کاری 395MHZ هستش :
You can see links before reply
و اینم یه تصویر دیگه :
You can see links before reply
و اینم برنامه نویسی به زبان HTML برای راه اندازی واسط گرافیکی طرف دیوایس و طرف Central Control
You can see links before reply
صفحه نوشته شده به زبان html و نحوه لود کامل آن از طرف واحد کنترل مرکزی :
You can see links before reply
و اینم صفحه ای که نوشتم به منظور روشن خاموش کردن LED های روی برد (البته خودم تغییرش دادم و اصل پروژه خیلی مفصل تر و سفارشی تر از این بود) :
You can see links before reply
کاری که این برنامه انجام میده اینه که شما ز طریق Central Control به دیوایسی که می خواین متصل میشید و فرمان مورد نظرتون رو صادر می کنید و دیوایس هم اون فرمان رو به مرحله اجرا میزاره .
چون توی پروژه اصلی اطلاعات چند تا سنسور رو باید سیستم تحلیل می کرد، من اون قسمت ها رو حذف کردم .
من برای اینکه سرعت نقل انتقال از طریق شبکه رو بتون نشون بدم یه فایلی رو تو دیوایس آپلود کردم بعد هون فایل رو دانلود کردم البته همه این کار ها از طریق واسط گرافیکی انجام گرفته که عکس زیر فکر کنم گویا باشه :
You can see links before reply
نتیجه گیری :
من تونستم که Application تحت شبکه LAN رو با ARM9 و تحت سیستم عامل یونیکس پیاده کنم که البته این Application هم تحت شبکه به خوبی جواب میده و هم می تونه به عنوان یه برنامه تو محیط خود دیوایس اجرا بشه .
در حقیقت من با این سیستمی که طراحی کردم یه شبکه محلی رو پیادش کردم، و دوستانی که اطلاع دارن می دونن که میشه یه سرور محلی رو با اضافه کردن یه سری پارامترهایی به یه سرور واقعی تبدیلش کرد .
این همه داستان تعریف کردم تا برسم به اینجا که :
اگر از طریق ISP یه آی پی اختصاصی روی این سیستم تعریف بشه و نرم افزارهای مدیریت سرور مثل CPANEL روی یونیکس نصب بشن میشه یه سرور واقعی رو راه اندازی کرد .
با اضافه کردن وب سرورهایی مثل آپاچی و یه سری پلاگین ها به لینوکس، میشه کامل ترین سرور رو راش انداخت .
البته همه می دونن مزید اطلاع عرض می کنم منظرو از سرور واقعی اینه که شما بتونید میزبان سایتی که خودتون طراحی می کنید باشد، و سایت شما از بردی که خودتون کانفیگش کردید و جلوی روی شمایت بالا بیاد !!!
اگر یکم دقت کنید متوجه میشید که سروری که با این شیوه بالا بیاد توان مصرفیش همش 1.5 وات هستش ( ولتاژ کاری برد همش 5 ولته) !!!! شما رو نمی دونم ولی من به این میگم یه تحول بزرگ :o
تازشم با این توان مصرفی پایین آپ تایم نگه داشتنش کاری است بس آسان .
با اضافه کردن سخت افزارهایی مثل وایمکس به منظو اتصال به اینترنت به صورت وایرلس، می تونید این سرور رو به صورت پرتابل حملش کنید .
از بابت فضا هم با اضافه کردن یه فلش مثلاً 32 گیگابایتی فضای میتونید سرور رو ارتقاء بدین .
مطالب برای گفتن خیلی زیادن بنابرین من دیگه زیاد روش مانور نمیدم
به نظر من در کنار فعالیت انجمن و کار روی تراشه های AT91SAM7 و LPC2300 و .. میشه روی ادواتی که براحتی بتوان پلاگین های تحت سیستم عامل اجرا کرد، بحث نمود .
حالا نظر شما چیه ؟
سربلند و پیروز باشد :wink:
چند وقت پیش پروژه ای رو کار کردم که بعد اتمام پروژه به نتایج جالبی رسیدم می خوام تو این تاپیک این ایده ی جالب و 100% عملی رو مطرحش کنم .
پروژه ای که من روش کار کردم به این صورت بود که باید چند تا دیوایس از طریق شبکه LAN به هم متصل می کردم و تمامی دیوایس باید از طریق یونیت Central Control هدایت می شدن .
همون طور که مشخصه پروژه تقریباً سنگینی هستش .
ولی چه طوری من باید این روش کنترلی خاص رو پیداده می کردم ؟!
که طرف قرارداد واسط گرافیکی خیلی خوب هم ازم می خواست !
اولش روی هسته های ARM7TDMI کار کردم (پلتفرم های ATMEL و NXP ) که تو قسمت واسط گرافیکی کم آوردم :(
تازشم با مشکلاتی از قبیل سرعت پایین، نبود OS واحد، رم پایین و ... مواجه شدم و کلی وقتم هدر رفت !
در ادامه به ناچار هسته ARM926EJ رو انتخاب کردم و روی پلتفرم معروف شرکت یعنی SUMSONG کار رو دوباره از سر گرفتم .
با به کار بردن برد MINI2240 تونستم به حداقل پارمترهایی که نیاز داشتم برسم .
با استفاده از سیستم عامل محبوبم یعنی لینوکس بالاخره LAN یکی از دیوایس ها رو راه اندازی کردم و تونستم از طریق یونیت Central Control پینگ دیوایسم رو بگیرم .
در ادامه بعد از تعریف آی پی اختصاصی اینترنال برای بقیه دیوایس ها، همه اطلاعات رو با Central Control مچ کردم .
بعد از برنامه نویسی و ارتباط با کرنل باید واسط گرافیکی رو به صورت User-friendly طراحی می کردم. انتخاب های زیادی رو داشتم و من از برنامه نویسی به کمک HTML بهره بردم .
بعد از طراحی صفحات استاتیک با زبان HTML ، این صفحات رو به برنامه ای که برای ارتباط کرنل نوشته بودم متصل کردم .
برای هر کدم از دیوایس ها بر حسب کاربرد صفحه خاصی رو به عنوان یه واسط گرافیکی تحت NET بار کردم .
در این مرحله یونیت Central Control می تونست به هرکدوم از دیوایس ها از طریق شبکه LAN متصل بشه و فرمان خاص خودش رو صادر کنه و اطلاعات لازمه رو از دیوایس ها تحویل بگیره .
البته من تو این پروژه بابد یه حجم بزرگی از دیتا رو هر سه روز یه بار به عنوان Report از دیوایس ها جمع می کردم که اینم به کمک سرعت بالای شبکه LAN و برنامه نویسی به زبان HTMAL حل شد .
فکر کنم زیاد پرحرفی کردم ! من این پروژه رو با تغییراتی که تو صفحات اعمال کردم عکس هاش رو براتون میزرام :
این تصویر برد mini2440 با هسته پردازنده s3c2440 در کلاک کاری 395MHZ هستش :
You can see links before reply
و اینم یه تصویر دیگه :
You can see links before reply
و اینم برنامه نویسی به زبان HTML برای راه اندازی واسط گرافیکی طرف دیوایس و طرف Central Control
You can see links before reply
صفحه نوشته شده به زبان html و نحوه لود کامل آن از طرف واحد کنترل مرکزی :
You can see links before reply
و اینم صفحه ای که نوشتم به منظور روشن خاموش کردن LED های روی برد (البته خودم تغییرش دادم و اصل پروژه خیلی مفصل تر و سفارشی تر از این بود) :
You can see links before reply
کاری که این برنامه انجام میده اینه که شما ز طریق Central Control به دیوایسی که می خواین متصل میشید و فرمان مورد نظرتون رو صادر می کنید و دیوایس هم اون فرمان رو به مرحله اجرا میزاره .
چون توی پروژه اصلی اطلاعات چند تا سنسور رو باید سیستم تحلیل می کرد، من اون قسمت ها رو حذف کردم .
من برای اینکه سرعت نقل انتقال از طریق شبکه رو بتون نشون بدم یه فایلی رو تو دیوایس آپلود کردم بعد هون فایل رو دانلود کردم البته همه این کار ها از طریق واسط گرافیکی انجام گرفته که عکس زیر فکر کنم گویا باشه :
You can see links before reply
نتیجه گیری :
من تونستم که Application تحت شبکه LAN رو با ARM9 و تحت سیستم عامل یونیکس پیاده کنم که البته این Application هم تحت شبکه به خوبی جواب میده و هم می تونه به عنوان یه برنامه تو محیط خود دیوایس اجرا بشه .
در حقیقت من با این سیستمی که طراحی کردم یه شبکه محلی رو پیادش کردم، و دوستانی که اطلاع دارن می دونن که میشه یه سرور محلی رو با اضافه کردن یه سری پارامترهایی به یه سرور واقعی تبدیلش کرد .
این همه داستان تعریف کردم تا برسم به اینجا که :
اگر از طریق ISP یه آی پی اختصاصی روی این سیستم تعریف بشه و نرم افزارهای مدیریت سرور مثل CPANEL روی یونیکس نصب بشن میشه یه سرور واقعی رو راه اندازی کرد .
با اضافه کردن وب سرورهایی مثل آپاچی و یه سری پلاگین ها به لینوکس، میشه کامل ترین سرور رو راش انداخت .
البته همه می دونن مزید اطلاع عرض می کنم منظرو از سرور واقعی اینه که شما بتونید میزبان سایتی که خودتون طراحی می کنید باشد، و سایت شما از بردی که خودتون کانفیگش کردید و جلوی روی شمایت بالا بیاد !!!
اگر یکم دقت کنید متوجه میشید که سروری که با این شیوه بالا بیاد توان مصرفیش همش 1.5 وات هستش ( ولتاژ کاری برد همش 5 ولته) !!!! شما رو نمی دونم ولی من به این میگم یه تحول بزرگ :o
تازشم با این توان مصرفی پایین آپ تایم نگه داشتنش کاری است بس آسان .
با اضافه کردن سخت افزارهایی مثل وایمکس به منظو اتصال به اینترنت به صورت وایرلس، می تونید این سرور رو به صورت پرتابل حملش کنید .
از بابت فضا هم با اضافه کردن یه فلش مثلاً 32 گیگابایتی فضای میتونید سرور رو ارتقاء بدین .
مطالب برای گفتن خیلی زیادن بنابرین من دیگه زیاد روش مانور نمیدم
به نظر من در کنار فعالیت انجمن و کار روی تراشه های AT91SAM7 و LPC2300 و .. میشه روی ادواتی که براحتی بتوان پلاگین های تحت سیستم عامل اجرا کرد، بحث نمود .
حالا نظر شما چیه ؟
سربلند و پیروز باشد :wink: