
في أيام الأسبوع ، كنت أقوم بتطوير برامج الشركات لمدة 17 عامًا ، كان لدي العديد من الهوايات المختلفة ، لكن في النهاية وجدت ما كنت أحمله لمدة 5 سنوات ولن أسمح له بذلك. منذ عام 2013 ، خصصت معظم أوقات فراغي للدراجات النارية وإندورو على الدراجات النارية على الطرق الوعرة ، بما في ذلك المشاركة بانتظام في مسابقات الهواة. بعد انخفاض غير ناجح في يونيو 2017 ، انتهى بي الأمر في المستشفى مع كسر كامل في العضد الأيمن. غادرت المستشفى ، ووصلت إلى روحي وأصبح من الواضح أنه لن يكون من الممكن السفر لمدة شهرين أو ثلاثة أشهر أخرى ، لكن عادة العمل النشط ظل قائماً. ثم قررت أن أحاول تنظيم السباق بنفسي لأصدقائي. من وجهة نظر تقنية ، كنت مهتمًا بالتوقيت ، حول كيفية صنع نظامي الخاص وقضاء السباقات التي تتم قراءتها أسفل المقطع.
لمدة شهر في المساء ، كتب النسخة الأولى من برنامج الحكم. لقد استخدمت C # و WPF للتنفيذ ، وذلك ببساطة لأنني أعرفهما بشكل أفضل ولا أحتاج لقضاء بعض الوقت في دراسة الوثائق. في البرنامج ، كان من الممكن تسجيل المشاركين بأعداد أولية ، مقسمة إلى فصول وسباقات. خلال السباق ، كان من الضروري إدارة عدد المشاركين الذين كانوا يستقلون خط النهاية. كل شيء سار بشكل جيد ، وبالنظر إلى العدد الصغير للمشاركين في السباق الأول (حوالي 40 شخصًا) ، لم يكن من الصعب حساب الكل بأيديهم.
ومع ذلك ، كمبرمج ، أردت المزيد من الأتمتة ، وأنا لا أحب العمل الروتيني اليدوي ، وإلى جانب ذلك ، فإن التسجيل مع مائة مشارك بيدي أمر صعب للغاية بالفعل. ونتيجة لذلك ، في عام 2017 ، أجرى مرحلة أخرى ، حيث كان هناك بالفعل 3 فصول منفصلة وأكثر من مائة مشارك ، وكان الحدث ناجحًا للغاية ، وقد تقرر استخدام الرقيق الإلكتروني بحلول الموسم المقبل.

يوضح الشكل إصدارًا حديثًا من البرنامج مع دعم RFID والتحكم عن بعد من هاتف ذكي. كان هناك عدد أقل بكثير من العناصر في الإصدار الأول.
اختيار المعدات
بالطبع هذا الموضوع ليس جديدًا ، فهناك العديد من الخيارات الجاهزة ، لكن معظمها لم يكن سعيدًا جدًا بالسعر. على سبيل المثال ، يتكلف نظام توقيت السباق الاحترافي من شركة AMB الإيطالية حوالي 13000 يورو ، ويأتي مع 20 جهاز إرسال مستجيب. تبلغ تكلفة كل شريحة إضافية 100 يورو ويمكن التخلص منها ، أي بعد مرور 3-5 سنوات ، عندما تموت البطارية فيها ، لا يمكن استبدالها بطريقة منتظمة. ما تبقى من النظام ممتاز ، ويستخدم في جميع السباقات العالمية ، ولديه الدقة إلى الألف من الثانية وما إلى ذلك. بالنسبة للهواة التي تنظم سباقات للأصدقاء في وقت فراغه ، فإن هذا النظام غير مناسب. لقد وجدت أيضًا العديد من أنظمة التوقيت الجاهزة لسباق الماراثون والترياتلون والمسابقات المماثلة الأخرى. أنظمة تستخدم علامات RFID. لكن التفاصيل كانت محرجة هناك - ينهي الناس الماراثون في أحسن الأحوال بسرعة 20 كم / ساعة ، ومن المعتاد في موتوكروس إعطاء النهاية على أكبر نقطة انطلاق ، والتي يدخلون بسرعة 70-80 كم / ساعة. لكن سعر بطاقات RFID حول 11 روبل لكل منهما سمح بتوزيعها بأي كمية.
باستخدام RFID
بشكل عام ، لم تكن تقنية RFID مصممة أصلاً لاكتشاف السباق ، إذا كنت تقرأ مواصفات الرقائق والقارئات ، فيمكنك العثور على قيود على سرعة الشريحة المتعلقة بهوائي عدة أمتار في الثانية. لكنني علمت أن نظامًا مشابهًا قد استخدم بنجاح لسنوات عديدة في سلسلة السباقات الشهيرة xsr-moto.ru ، التي شاركت فيها عدة مرات وأضعت علامات RFID على خوذتي. تفضل سيرجي ميندين ، منظم هذه السلسلة ، بتبادل المعلومات ووجهني إلى motosponder.com ، حيث حصل على رقيقته.

ساعد هذا في اتخاذ قرار بشأن اختيار القارئ الأول - Alien Technology F800 ، لأنني كنت متأكدًا من أنها ستعمل في الظروف التي أحتاج إليها. بالإضافة إلى Alien ، كنت أفكر في Imping Speedway Revolution R420 ونظر في جودة SDK والوثائق التي كنت سأشتريها. ولكن في النهاية ، استقر على F800 كحل ثبت عن عمد.
كلفني القارئ حوالي 1600 دولار ، تم شراؤها في موسكو ، واشترى على الفور هوائيات وكابلات عالية التردد بطول 5 أمتار. كانت مفاجأة غير سارة سعر كابلات الترددات اللاسلكية. سيكلف الكبل 10 أمتار أكثر من الهوائي نفسه ، ومن السهل كسره ، على سبيل المثال ، ثنيه أو سحقه بقدمك.
الحل: شراء مجموعة من المعدات والبرامج الجاهزة من motosponder مقابل 3500 دولار يعد مكلفًا وليس رياضيًا. ما عليك سوى شراء المعدات التي تكلف حوالي 2،200 دولار ، وكتابة البرنامج بنفسك. ما يمكن أن يكون معقدا هناك؟ :)
بالنظر إلى الأسعار أعلاه ، يثور سؤال منطقي: هل كان من الممكن الادخار؟ اشترِ قارئًا صينيًا ، بسعر يبدأ من 200 دولار. كانت هناك أفكار من هذا القبيل ، ولكن لا يزال هناك اعتقاد بأن لديّ وقتًا محدودًا للغاية ، واستقرار التصميم النهائي وسهولة التطوير أمران مهمان. قبل ذلك ، لم يكن لدي أي خبرة عملية مع RFID ولم يكن لدي أي فكرة عن القيود المادية التي قد أواجهها. لذلك ، تم تأجيل فكرة القراء الصينيين ، لكن لم يتم نسيانها.
خيارات RFID نظرة عامة
RFID هو الاسم الشائع لمجموعة كاملة من التقنيات التي تختلف في تكرار وبروتوكول تبادل البيانات.
- LF RFID - مجموعة كيلو هرتز ، مجموعة منخفضة وسرعة القراءة.
- HF 14 MHz - هذه عادة ما تكون "مغناطيسية" تمر إلى المبنى ، ومفاتيح الاتصال الداخلي ، وبطاقات الدفع بدون اتصال ، و NFC في الهواتف. بشكل عام ، تردد شائع جدًا ، لكن يصل قطر دائرة الاتصالات إلى متر واحد. مرة أخرى ليست مناسبة لحالتي. ومع ذلك ، أنا أعرف نظام توقيت يعمل بشكل مثالي مبني على الهواتف الذكية وبطاقات المترو. فقط لتمييز المتسابق ، يجب أن يتوقف ويجب على القاضي إرفاق الهاتف بالعلامة.
- UHF ~ 840 - 930 MHz - النطاق الذي تم بناء عليه جميع أنظمة توقيت الأحداث الجماعية. في الظروف المثلى ، تتم قراءة العلامات على مسافة تزيد عن 10 أمتار ، وتكون سرعة نقل البيانات كافية لقراءة العلامات بمعدل 50 مرة أو أكثر في الثانية ، ولا يتم امتصاص موجات هذه الترددات عن طريق المياه كما في النطاق التالي.
- UHF 2.4 غيغاهرتز - ربما كنت أبحث بشكل سيء ، لكنني خلصت إلى أن هذا التردد هو اختراع من الصينيين ، لأنني لم أجد هؤلاء القراء من الشركات المصنعة ذات العلامات التجارية. على أي حال ، قررت عدم استخدام هذا التردد ، لأنه مبلل جيدًا بالماء والأوساخ والضباب والضوضاء الأخرى.
يمكن العثور على وصف أكثر تفصيلاً للترددات والمعايير على الرابط التالي rfidcenter.ru/page/frequencies-ranges
UHF RFID
وهكذا ، خلصت إلى أن أفضل خيار لتطبيقي هو نطاق UHF ، وفقًا للقيود الإقليمية ، ستكون هذه الترددات من حوالي 840 إلى 930 ميجا هرتز وعدد القنوات من 2 إلى 30.
تم تصميم My F800 للمنطقة الأوروبية وتم ضبطه للعمل في نطاق 865-863 ميجاهرتز. مع القارئ ، اشتريت عدة علامات مختلفة ، جميعها لها خصائص طويلة المدى كما وصفتها الشركة المصنعة ، وعادة ما لا تتم كتابة النطاق المحدد وسرعة القراءة في أي مكان ، لأن تعتمد اعتمادا كبيرا على الظروف. لقد أجريت الكثير من التجارب التي أقرأ فيها تسميات مختلفة ، بأعداد وتكوينات مختلفة للهوائيات. فيما يلي الاستنتاجات الموجزة:
- في المناطق المفتوحة ، إذا قمت بتوجيه العلامة على الهوائي بدقة ، فمن الممكن تمامًا الحصول على قراءة ثابتة على مسافة 10 أمتار.
- يشبه شكل الحقل في الهوائي الهبوط ، لذلك يتم الحصول على القراءة الأكثر ثقة على مسافة من 3 إلى 5 أمتار من الهوائي - في الجزء الأكبر من الهبوط. بالطبع ، يعتمد شكل مخطط الإشعاع على نموذج الهوائي ، فقد استخدمت هوائيات اللوحة المسطحة بكسب معلن قدره 10 ديسيبل ، 60/65 ° antenna31.ru/؟product=rfid-panelnaya-antenna-pa868-10-rhcp
- الهوائيات هي استقطاب دائري وخطي. مع الاستقطاب الخطي ، يكون نطاق القراءة أعلى بكثير ، لكن يجب أن يتزامن اتجاه الملصق مع اتجاه الهوائي.
- تعمل جميع العلامات "بعيدة المدى" تقريبًا. من الضروري هنا توضيح أنني استخدمت العلامات التجارية لعلامة تجارية واحدة - Alien ، ربما تكون جميعها موجودة على الشريحة نفسها.
- يعد تشغيل الحد الأقصى من طاقة الإرسال أفضل الحلول دائمًا. في المنزل في غرفة صغيرة ، بسبب الانعكاسات ، انخفضت سرعة القراءة كثيرًا. يمكن أن يحدث نفس الشيء في الفضاء المفتوح ، فإذا نظر هوائيات اثنين إلى بعضهما البعض ، فسيعملان مثل المرايا.
- بشكل عام ، مع RFID ، تأتي مشاكل أكثر من الكثير من نطاق القدرة والقراءة من العكس. إذا كنت "تلمع" في الحقل بأقصى طاقة ، فيمكنك الحصول على العديد من القراءات العشوائية من مساحة كبيرة (عشرات الأمتار المربعة). لذلك ، من المهم ضبط قوة الهوائيات وموقعها بحيث تتم القراءة في أصغر مساحة.
- تعتمد سرعة قراءة العلامات على عددها في مجال رؤية القارئ. بيان Captain ، لكنني غيرت الأرقام المحددة للظروف المثالية:
- علامة واحدة - 50-70 / ثانية
- 5 علامات وأكثر - 250-280 / ثانية
- حوالي 280 قراءة في الثانية - وهذا هو الحد الأقصى لأي عدد من العلامات في الحقل ، وبالطبع ، إذا كان هناك عدة عشرات من العلامات ، فإن السرعة ستنخفض بشكل كبير بسبب التصادمات
- تكون العلامة على دراجة نارية حقيقية تتحرك بسرعة تزيد عن 80 كم / ساعة قابلة للقراءة ، ولكن ليس في أي وضع ، فمن المستحسن أن تكون العلامة والهوائي موجهين بحيث ينظران إلى بعضهما البعض قليلاً. على سبيل المثال ، يتم توجيه الهوائي قليلاً نحو الراكب ، ويتم لصق العلامة في مكان ما على مقدمة الدراجة النارية. في السرعات المنخفضة ، يمكن أن تكون العلامة والهوائي متعامدين تمامًا على المسار.
في هذه المرحلة ، بدا كل شيء جيدًا ، 50 قراءة في الثانية ، يعني أن متوسط الوقت بين القراءات كان 20 مللي ثانية ، ولكن هذا بحاجة أيضًا إلى التحقق. تم استكمال برنامج جمع الإحصائيات بحساب فارق التوقيت بين القراءات ، حيث تعرض للأسوأ وأفضل وقت وثمانية أسهم مقاسة بالميللي ثانية. اتضح أن القارئ كان يقرأ بعيدا عن بالتساوي. يفسر هذا البروتوكول ، وفقًا لذلك ، على القارئ أن يتوقف عن بث ما لا يقل عن 10 ميلي ثانية كل بضع ثوانٍ. هنا هو اختبار لاثنين من الملصقات في هذا المجال:

- 44 مللي ثانية - الأسوأ
- 20 مللي - العاشر العشري
- 1 مللي هو الأفضل
- 3.2 مللي ثانية - متوسط الوقت
- 104 يقرأ في الثانية الواحدة
وهذا هو ، في 5 ثوان اختبار ، ذهب معظم القراءات مع وجود فجوة من واحد ميلي ثانية واحدة ، ثم صمت 44 ميلي ثانية. هذه هي ميزة غير سارة للسباق ، فبالنسبة 44 مللي ثانية بسرعة 20 مترًا في الثانية ، يسافر الراكب 80 سنتيمترًا وفي حالة حدوث تداخل يمكن أن يؤدي ببساطة إلى تجاوز الهوائي. تم استنساخ هذا الموقف تقريبًا في الاختبار الحقيقي الموضح أعلاه. وهناك أيضًا حل - لتوجيه الهوائيات نحو الدراجين ، ثم زيادة المساحة ، وبالتالي وقت القراءة ، زيادة كبيرة. وبالطبع تحتاج إلى إضافة طرق بديلة لتتبع الدراجين ، على سبيل المثال: تسجيل الفيديو ، وشخص يحمل قطعة من الورق وقلم رصاص ، والشخص الذي يدخل الأرقام في البرنامج باليد.
الانتهاء من تكوين الخط
هناك شيء واحد لقراءة العلامات مع الهوائي على الطاولة ، وآخر في سباق حقيقي مع الدراجين. فكرت في خيارين رئيسيين لتكوين خط النهاية.
أولاً ، توجد الهوائيات على حوامل ثلاثية الجوانب على جانبي المسار. من الناحية المثالية ، تقف الهوائيات بشكل عام فقط على جانب واحد و "تتألق" عبر المسار. ولكن في الوقت نفسه ، يصبح موقع العلامات على المتسابقين غير متماثل ، فمن المستحيل ، على سبيل المثال ، بدء السباق في الاتجاه المعاكس. علاوة على ذلك ، فإن القراءة من جانب واحد ليست موثوقة للغاية. ثم تحتاج إلى وضع الهوائيات على جانبي المسار بحيث "تتألق" على بعضها البعض. يتطلب هذا بالفعل إنشاء إطار عبر المسار الذي سيتم وضع كبلات RF به ، وحتى في هذا التكوين ، تظل مشكلة عرض المسار. يحدث أن يكون المسار بعرض 8-10 أمتار ، ومع الأخذ في الاعتبار هامش تثبيت الحامل الثلاثي ، فإنه يمكن أن يتحول من 12 إلى 13 متر. في هذه المسافة ، يمكن أن يحدث فشل القراءة بسهولة.
الخيار الثاني ، الذي أثبتته motosponder و xsr-moto على مدار سنوات عديدة ، هو تثبيت الهوائيات على إطار أعلى المسار وتوجيهها إلى أسفل. يجب لصق الملصقات على خوذات الدراجين أو الجزء العلوي من الجسم. نتيجة لذلك ، اتضح أن المسافة من الهوائي إلى العلامة لن تكون دائمًا أكثر من 1.5 متر (ارتفاع الإطار 3 أمتار ، ولكن نادرًا ما يمر المتسابق بخط النهاية مع خوذة على مستوى الأرض). ويمكن قطع العرض الكبير للمسار قليلاً عن طريق الإطار نفسه.

في الوقت الحالي ، أستخدم إطارًا بعرض 6 أمتار مع ثلاثة هوائيات ، يمكن زيادة عرضها بقسم إضافي إلى 8-9 أمتار. بعد ذلك ، ستحتاج إلى 4 هوائيات تقع على نطاق أوسع قليلاً. وفقًا لتجربة سباقين في عام 2018 ، فإن عرض 6 أمتار يكفي إذا قمت بتثبيت إطار على مقطع بطيء من المسار. كما أنه يزيد من احتمال قراءة الملصقات - فنحن نقتل عصفورين بحجر واحد.
الوقت
بعد أن أصبح كل شيء أكثر وضوحًا مع الحديد ، فقد حان الوقت لعد الدوائر فعليًا. للوهلة الأولى ، كل شيء بسيط: قم بإنشاء جدول حيث يتم تعيين معرف علامة لكل متسابق وتسجيل كل إشارة من القارئ.
يكاد يكون الأمر كذلك ، ولكن يجب أن تتم تصفية إشارات القارئ ، لأنه عندما تكون العلامة في مجال رؤية القارئ ، تتم قراءتها حتى خمسين مرة في الثانية. من الضروري أيضًا مراعاة أنه في حالات نادرة لا تزال العلامات غير قابلة للقراءة ، لذلك يجب أن يكون برنامج الشق قادرًا على تلقي بيانات في الوقت الفعلي من القارئ ، من المشغل ، الذي يقوم بإدخال الأرقام يدويًا ويسمح بتحرير العلامات بعد نهاية السباق.
البيانات التي يقدمها القارئ والمشغل تمر عبر مرشح لإلغاء البيانات المكررة ويتحول إلى مسار الأرقام. هذا هو مجموعة أحادية البعد من أعداد الدراجين بالترتيب الذي عبروا به خط النهاية. على سبيل المثال: [1 ، 2 ، 3 ، 2 ، 3 ، 1]. من هذا المسار يمكنك أن ترى أن الدراجين قد ذهبوا لفاتين ، على اللفة الأولى كانت مواقف الدراجين 1 ، 2 ، 3. ولكن في اللفة الثانية ، واجهت المشكلة رقم واحد وانتهى بها المطاف في النهاية. نتيجة لذلك ، فاز المركز الثاني ، يليه الرقم ثلاثة ثم رقم واحد. لحساب البروتوكول النهائي ، هو الترتيب المستخدم ، وليس الطوابع الزمنية. يتم ذلك للتوافق مع التوقيت اليدوي الكلاسيكي ، عندما يقوم الحكام بتسجيل أرقام المقطوعات في دفتر ملاحظات. على الرغم من عدم وجود وظيفة كهذه بعد ، إلا أنه من السهل تنفيذ عملية تحميل أرقام المسارات من قاض إضافي. نتيجة الحساب ، يتم الحصول على الجدول التالي:

الخاتمة
لا تصف هذه المقالة سوى جزء صغير من الخبرة التي اكتسبتها خلال السنوات الخمس ونصف الماضية. علاوة على ذلك ، أود أن أتحدث عن إنشاء موقع لتسجيل الدراجين ونشر النتائج في وضع Live ، وتطوير إصدار ثانٍ من مجمع الشق للأجهزة استنادًا إلى وحدة RFID الصينية و Orange Pi ، وهي عملية إعداد المسار وتنظيم حدث جماعي وغير ذلك الكثير. إذا كان الموضوع مثيرًا ، فاترك التعليقات.
المشروع مفتوح ، ويتم نشر جزء كبير من الكود على github.com/maxbl4 ، وسيكون الباقي قريبًا أيضًا ، ستحتاج فقط إلى تنظيف كلمات المرور ومفاتيح API من الرمز :-) إذا كنت مهتمًا بالمساعدة في تطوير المشروع ، وتعلم شيئًا جديدًا ، على سبيل المثال ، تعلم قيادة الدراجات النارية ، والكتابة على. الصافية الأساسية والزاوي ، يرجى الاتصال. كومة التقنية الحالية هي .Net 4.7 و .Net Core 2.2 و Docker و Angular 7.1 و MySql 10.3
في الوقت الحالي ، كل رموز العمل مع نوعي قارئات RFID التي أستخدمها متاحة للجمهور: github.com/maxbl4/RfidDotNet
.Net Standard 2.0 library ، تنفيذ البروتوكول بالكامل ، التبعية الخارجية فقط على SerialPorlStream للعمل مع المنفذ التسلسلي على Linux.
يمكنك مشاهدة النظام أثناء العمل ، والتواصل ، وقضاء وقت ممتع في مهرجان الدراجات النارية الرياضية في 16 فبراير بالقرب من Sergiev Posad vk.com/event74123582 في هذا الحدث ، أقدم توقيتًا