اطلاعیه

Collapse
No announcement yet.

تایید صحت اطلاعات ارسالی یا دریافتی در Hm-TR

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

    تایید صحت اطلاعات ارسالی یا دریافتی در Hm-TR

    ماژول های HM-TR ماژول های نیمه دوطرفه ای هستند که این قابلیت رو دارند به صورت سریال به سیستم متصل شوند و اطلاعات رو به ماژول دیگه ای که در سمت دیگه قرار داره به صورت بیسیم بفرستند.حالا این وسط امکانش هست اطلاعات اشتباه بشه واسه همین وقتی اطالاعات ارسال میشه باید یک بار چک بشه و تایید بشه که دقیقا همونی که فرستادیم باشه .
    حالا واسه این کار :
    1- اطلاعات یا رشته ارسال میشه
    2-سیستم دریافت کننده همون رشته رو دوباره بر میگردونه
    3-سیستم اصلی میبینه اطلاعات دریافتی با ارسالی یکی بود اگر بود که تایید میکنه وگر نه هم که تایید نمیکنه .
    این مراحل روش مورد نظر من که پیاده سازیش واقعا سخته . کسی روش بهتری رو سراغ نداره ؟

    #2
    پاسخ : تایید صحت اطلاعات ارسالی یا دریافتی در Hm-TR

    اگر سرعت مهم نباشه گیرنده به ازای هر کاراکتر دریافتی ،کاراکتر را به فرستنده ارسال میکند و فرستنده پس از دریافت و تایید ،کاراکتر بعدی را ارسال خواهد کرد اینکار ممکن است تا چند مرتبه تکرار شده و در صورت تایید نشدن پیغام خطا داده شود. در مواردی که سرعت مهم است کلیه بایتهایی که قرار است ارسال شوند با هم xor میشوند و در گیرنده هم تمام بایتهای دریافتی با هم xor میشوند و به فرستنده ارسال میشود در صورتیکه این دو مقدار(check sum error) مساوی باشند به احتمال نزدیک به صد در صد ارتباط درست است

    دیدگاه


      #3
      پاسخ : تایید صحت اطلاعات ارسالی یا دریافتی در Hm-TR

      خوب چون گیرنده من یک برنامه نوشته شده با c# است یک مقدار پیاده سازی این مسئله سخته چون باید از تایمر ها استفاده بشه . بازم بسیار بسیار ممنون از پاسختون اون قسمت کاراکتر خیلی بدردم خود . راه دیگه ای کسی سراغ نداره ؟

      دیدگاه


        #4
        پاسخ : تایید صحت اطلاعات ارسالی یا دریافتی در Hm-TR

        سلام
        همه جورش هستش
        شما باید اول بگی که اطلاعاتت چی هست و طولش چقدر هست و در چه فواصل زمانی ارسال میشه و آیا طولش ثابته یا متغیر.
        با در نظر داشتن اینها و خیلی موارد دیگه از parity و ارسال تکراری داریم تا checksum و CRC که هر کدوم مشتقات خودشونو دارند.

        دیدگاه


          #5
          پاسخ : تایید صحت اطلاعات ارسالی یا دریافتی در Hm-TR

          اطلاعات من یک رشته است مثل Connect# یا Start# مشکلی تو دریافت نیست عین این نوشته دریافت میشه اما بعضی اوقات پیش میاد که مثلا Connect به صورت Onnect دریافت میشه .تو ارسال هم همینطور . حتی اگه مشکل با طول متغییر هست میتونه ثابت هم باشه .
          با این اوصاف راهی هست ؟

          دیدگاه


            #6
            پاسخ : تایید صحت اطلاعات ارسالی یا دریافتی در Hm-TR

            سلام
            البته کامل توضیح ندادین ولی ظاهرا شما فقط دستور میخواین بفرستید و نه داده.
            برای این منظور برای ابتدای پیامتون یک هدر قراردادی معین کنید: مثلاً ":CMD:"
            بعد برای هر داده یک کد قراردادی معین کنید. مثلا برای کانکت شدن A0FC0D0A یا حالا هرچی.
            بعد هنگام ورود داده بررسی کنید ببینید آیا این دستور تعریف شده یا نه. اگه نشده بود یه پیغام بفرستید و دوباره دستور رو درخواست کنید.
            هر چی تعداد بایتهای کد دستور و تفاوتشون از نظر الگوی بیتی بیشتر باشه اطمینانش بیشتره چون احتمال تولیش بصورت تصادفی کمه.
            (ور نداری 100 بایت بذاری یه وقت!!نهایت 10 تا)

            این یه پروتکل سادست که میتونه ارتباط شما رو از نظر خطا مطمئن کنه.

            دیدگاه


              #7
              پاسخ : تایید صحت اطلاعات ارسالی یا دریافتی در Hm-TR

              بسیار ممنونم دوست عزیز . این یکی واقعا بدردم خورد . احتمالا همینو استفاده کنم .چون تعداد دستوراتم محدوده احتمال زیاد این جواب بده . یک دنیا ممنون .
              بازم دوستان دیگه راهی داشتن خوشحال میشم بدونم .

              دیدگاه


                #8
                پاسخ : تایید صحت اطلاعات ارسالی یا دریافتی در Hm-TR

                hobbyist عزیز ، فک کنم با همون روش بالا بشه دستور فرستاد . حالا لازمه مکان ربات به صورت x,y به سیستم داده بشه .این xوy نهایتا میتونه از 0 تا 9 باشه . واسه این چه ایده ای به ذهنت میرسه ؟

                دیدگاه


                  #9
                  پاسخ : تایید صحت اطلاعات ارسالی یا دریافتی در Hm-TR

                  نوشته اصلی توسط hjsoft
                  hobbyist عزیز ، فک کنم با همون روش بالا بشه دستور فرستاد . حالا لازمه مکان ربات به صورت x,y به سیستم داده بشه .این xوy نهایتا میتونه از 0 تا 9 باشه . واسه این چه ایده ای به ذهنت میرسه ؟
                  مختصات هم یکجور دستوره؟ یا باید از ربات به سیستم کنترل ارسال بشه؟(بعنوان فیدبک)

                  دیدگاه


                    #10
                    پاسخ : تایید صحت اطلاعات ارسالی یا دریافتی در Hm-TR

                    دقیقا یکجور فیدبکه .مختصات هر چند چند ثانیه به صورت یک رشته مثلا : {Loc:1,1} ارسال میشه . تو قسمت سی شارپ که گیرنده هست میام loc: رو در نظر میگیرم و این 1و1 رو بدست میارم یعنی تو این مشکلی نیست . اما به نظرتون امکان داره همین مختصات هم دچار خطا بشه در زمان ارسال ؟ خودم که اینطور فک نمیکنم . خیلی عجبیه مثلا اگه همون بالایی رو به صورت {Loc:2,1} بفرسته . امکان داره ؟

                    دیدگاه


                      #11
                      پاسخ : تایید صحت اطلاعات ارسالی یا دریافتی در Hm-TR

                      احتمالش هست.
                      شما که میخوای سیستمت مطمئن باشه باید جلوشو بگیری.
                      در این مورد به نظرم داده ها رو دو بار در پیام بفرست و بهمراهش حاصلجمعشون رو هم بفرست(که همون چکسام هست)
                      مثلاً برای 4 و 9 اینجوری میشه: LOC:9,4,13,9,4,13
                      اگر اشتباه بود دوباره درخواست بده

                      دیدگاه


                        #12
                        پاسخ : تایید صحت اطلاعات ارسالی یا دریافتی در Hm-TR

                        خیلی ممنون قبلی ها رو که پیاده کردم درست بود . واسه اینم دقیقا همین رشته که میفرستم رو میگیرم و میخونم اینجوری درست میشه .
                        خیلی ممنونم .... موفق باشید .

                        دیدگاه

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