اطلاعیه

Collapse
No announcement yet.

راه اندازی ماژول های hm-r و hm-t

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    #16
    پاسخ : راه اندازی ماژول های hm-r و hm-t

    من هم عرض نکردم که نمیشه ساخت. ماژول های HM فقط شامل لایه ی فیزیکی هستند. بقیه کارهاشو باید خودت به صورت نرم افزاری انجام بدی. برای مثال عبارت Wireless_UART_protocol رو جست و جو کن تا هزار تا روش برات بیاره. فقط ماژول های HM نیستن که نیاز به پیاده سازی پروتکل ارتباطی دارند. شما هر آی سی فرستنده/گیرنده از هر شرکت دیگری رو که بخوای باهاش کار کنی نیاز به یک پروتکل درست و حسابی داری. آی سی های پدر مادر دار سری ADF از شرکت Analog Device و سری CC1000 از Texas هم فقط شامل لایه فیزیکی هستند. اگر خیلی اصرار به استفاده از HM داری میتونی به Application Note های این دو دسته که گفتم مراجعه کنی. ایده هایی خوبی بهت میدن.
    ولی در مورد بلوتوث شما به راحتی با استفاده از آنتن مناسب تا هزار متر جواب میگیری. من بدون آنتن تا 60-70 متر کار کردم و با یک آنتن خیلی معمولی سه هزار تومنی بردش تا 200 متر هم افزایش پیدا کرد. صد متر که دیگه چیزی نیست. گذشته از این ها وقتی شما از یک ماژول بلوتوث استفاده می کنی، تمام مسائل مربوط به Frequency Hopping و Security و Attenuation و عدم تداخل و و و و در اون در نظر گرفته شده و شما فقط داده ی خودتو ارسال/دریافت می کنی. البته در پایین ترین سطح یک ماژول بلوتوث باز هم یک تراشه ی مخابراتی مثل CC2500 هستش که کار ارسال/دریافت رو انجام میده و در کنار اون یک میکروی قوی مثل ARM قرار داده شده که همه ی کارهای لازم رو انجام میده.
    ماژول های بلوتوث زیادی داخل بازار هستند. ارزون ترینش مدل Parani-BCD-100 از شرکت Sena هستش که هر کدومش حدود سی هزار تومن قیمت داره. برو داخل سایتش اطلاعات و نرم افزاراشو ببین.
    من هم برای یه پروژه نیاز به ارتباط بی سیم داشتم. وقتی ماژول های HM و قیمت ارزونشونو دیدم حسابی سرشوق اومدم و 3 تا HM-T و 3 تا HM-R و 2 تا HM-TR خریدم و گفتم دیگه اینا رو وصل می کنم به پورت UART میکروکنترلر و خلاص! ولی دو ماه علاف شدم و نتونستم اونطور که باید داده ی بدون خطا دریافت کنم. وقتی بلوتوث رو دیدم و اینکه چقدر راحت تر میشه باهاش کار کرد هرچی بد و بیراه بود به HM دادم! ماژول بلوتوث رو کافیه فقط متصل کنی به پورت UART میکروکنترلر یا هر چیز دیگه ای و یک بار Config کنی و حالشو ببری. البته ماژول BCD100 پورت های دیگه ای مثل USB هم داره. خوبیش اینه که حتی می تونی از روی لپ تاپ هم دستگاهتو کنترل کنی! البته اگر بلوتوث داشته باشه! این ماژول ها حداقل دو تا کانال انتقال صوت هم جدای از کانال داده دارن. و از همه مهم تر سرعت انتقال اطلاعاته که با بلوتوث اگر از UART استفاده کنید میشه تا 1Mbit per second داده منتقل کنید در صورتی که با HM ها بیشتر از 36400 بیت در ثانیه نمیشه منتقل کرد و کارکرد بهینه اونها در 9600 بیت در ثانیه هستش.
    اگر کارت فقط روشن و خاموش کردن چند تا سوییچ هستش، می تونی برای هر کدوم یک بایت در نظر بگیری و در فرستنده برای هر کلید، مثلا 10 بار اون بایت رو ارسال کنی و در گیرنده بگی اگر فلان بایت 6 بار پشت سر هم رسید برو فلان کار رو انجام بده. در این حد ماژول های HM می تونن جواب بدن. چون محاله که 2 بایت داده های رندومی که گیرنده دریافت می کنه مثل هم باشن ولی برای اطمینان بالاتر از 3 تا دریافت کن و در فرستنده هم تعداد بالا بفرست. ولی اگر بخوای یک Stream از داده رو انتقال بدی نیاز به همون چیزهایی که قبلا گفتم داریی.
    موفق باشی.

    دیدگاه


      #17
      پاسخ : راه اندازی ماژول های hm-r و hm-t

      بله، حرف شما رو قبول دارم که این نوع فرستنده ها فقط لایه فیزیکی هستند. در این شکی نیست. اما خوب من خودم با اینها کار نکردم، فقط تجربه دوستانم رو منتقل کردم که می گفتن از کار با این ماژول ها راضی بودن.
      وگرنه واضحه که برای اینکه کیفیت ارسال و خطا کم بشه باید از کدینگ و CRC و از این حرفا استفاده کرد
      دانش فنی تا به عمل تبدیل نشده، ذره ای ارزش نداره. اما بعضی وقت ها باید از دانش برای باز کردن مرزهای جدیدی در علم استفاده کرد، نه اینکه اونها رو صرفاً فقط به عمل تبدیل کرد.

      دیدگاه


        #18
        پاسخ : راه اندازی ماژول های hm-r و hm-t

        به این میگن خطای ارتباطی مهندس اگه بخوای درست بشه مثلا اعداد رو چند بار بفرست
        از اعداد بلند استفاده کن
        از شرو و پایان استفاده کن
        140 دیتای شما پایان 150
        140 شروع
        150 پایان مثاله اینها که میکروت بعد از دریافت عدد 140 منتظر اطلا عات باشه و بعد از دریافت 150 ورودی رو ببنده
        :nerd: که نویز و اطلا عات غلط نگیره
        و قاطی نشه از اعداد بلند بالا استفاده کنی بهتره
        :applause:
        میشه بگین چطوری میشه عدد فرستاد؟یا مثلا رشته فرستاد؟من فقط putchar ,getchar رو بلدم.خیلی هم گشتم ولی چیزایی که پیدا کردم به زبان بیسیک بود که من نمی فهمم.خواهشا توابع مورد نیاز رو برای کدویژن بذارین.
        بازم ممنون.

        دیدگاه

        لطفا صبر کنید...
        X