جدول المحتويات:

مجموعة أدوات تطوير Python RF: 5 خطوات
مجموعة أدوات تطوير Python RF: 5 خطوات

فيديو: مجموعة أدوات تطوير Python RF: 5 خطوات

فيديو: مجموعة أدوات تطوير Python RF: 5 خطوات
فيديو: تعلم البرمجة بلغة بايثون 2024, يوليو
Anonim
مجموعة تطوير Python RF
مجموعة تطوير Python RF

بادئ ذي بدء ، أود أن أعطي مقدمة بسيطة حول كيفية الدخول في شؤون الترددات اللاسلكية ولماذا أعمل في هذا المشروع.

كطالب في علوم الكمبيوتر وله تقارب مع الأجهزة ، بدأت في حضور بعض الدورات التدريبية التي تتعامل مع الإشارات اللاسلكية والأمن في الاتصالات اللاسلكية في أكتوبر 2018. وسرعان ما بدأت في تجربة أجهزة الراديو المحددة ببرمجيات RTL-SDR و HackRF ومع وحدات الرف اردوينو RF.

المشكلة هي: SDRs ليست محمولة بما يكفي لأغراضي (تحتاج دائمًا إلى حمل كمبيوتر محمول وهوائيات وما إلى ذلك) ووحدات Arduino RF الرخيصة ليست قادرة بما يكفي من حيث قوة الإشارة والتخصيص ونطاقات التردد والأتمتة.

تعتبر هوائيات CC1101 من شركة Texas Instruments خيارًا رائعًا لأجهزة الإرسال والاستقبال RF الصغيرة ولكن القادرة وهي أيضًا رخيصة جدًا. بنى الناس أشياء رائعة معهم ، مثل DIY SDRs وأشياء من هذا القبيل.

الشيء الآخر الذي أردت أن أتطرق إليه في هذا الموضوع هو CircuitPython. إنها لغة برمجة جديدة من ميكروكنترولر سمعت عنها الكثير من الأشياء الجيدة لذا أردت تجربتها. اتضح أنني أستمتع به كثيرًا ، لا سيما إلى جانب لوحة Adafruit's Feather M4 Express التي أستخدمها أيضًا في هذا المشروع. من السهل جدًا تصحيح الأخطاء نظرًا لأنك لست بحاجة إلى تجميع البرامج الثابتة المخصصة في كل مرة تحاول فيها إجراء تغيير بسيط في التعليمات البرمجية الخاصة بك ، فستحصل على وحدة تحكم REPL ويظل الرمز الخاص بك أيضًا على وحدة التحكم الدقيقة نفسها مما يعني أنه يمكنك حملها وتوصيلها في أجهزة كمبيوتر مختلفة وستتمكن دائمًا من إجراء تغييرات أثناء التنقل.

الخطوة 1: مكونات الأجهزة

مكونات الأجهزة
مكونات الأجهزة

ما ستحتاجه لتكرار هذا المشروع:

  • Adafruit Feather M4 Express. ريشة Adafruit M4 Express
  • عدد 2 جهاز إرسال واستقبال من تكساس إنسترومنتس CC1101 + هوائي
  • Adafruit FeatherWing OLED
  • 3.7 فولت ليبو

في الأساس ، هذا هو كل ما تحتاجه للحصول على جهاز إرسال واستقبال RF مضغوط جدًا وقادر ، ولكن كما ترون في الصورة لن يكون موثوقًا به ومرتبًا للغاية مع كل تلك الأسلاك الطارئة.

لذلك صممت PCB مخصصًا باستخدام https://easyeda.com/ وطلبته من JLCPCB.com (جودة رخيصة جدًا ورائعة!) لربط كل شيء معًا. سمح هذا أيضًا بدمج 3 أزرار ومصابيح LED بسهولة لإدخال المستخدم ومخرجات الحالة.

وأخيرًا ، قمت بطباعة غلاف صغير ثلاثي الأبعاد للجزء الخلفي من ثنائي الفينيل متعدد الكلور حتى لا ينقصه أي شيء ويجلس مستويًا على الطاولة.

إذا كنت جديدًا في تصميم الإلكترونيات وثنائي الفينيل متعدد الكلور ، فإنني أوصي بمراجعة هذه التعليمات: الإلكترونيات الأساسية ، فئة تصميم لوحات الدارات الكهربائية!

في المرفقات ، يمكنك العثور على ملفات Gerber الخاصة بـ PCB الخاص بي. إذا قررت تصنيعها ، فستحتاج إلى مكونين إضافيين طلبتهما شخصيًا من LCSC ، نظرًا لأنهما مرتبطان بـ JLCPCB ، لذا فهم يعرضون شحن كل شيء معًا مما يوفر القليل من تكاليف الشحن والمكونات أيضًا فقط رخيصة جدا هناك. انظر BOM للحصول على قائمة مفصلة. لقد اخترت عن قصد حجم الحزمة الكبير 0805 لمكونات SMD حتى يتمكن الجميع من لحامها يدويًا على PCB!

الخطوة الثانية: بناء المجلس

بناء المجلس
بناء المجلس
بناء المجلس
بناء المجلس
بناء المجلس
بناء المجلس

في الصورة الأولى ، يمكننا أن نرى مركبات ثنائي الفينيل متعدد الكلور دون إجراء أي "تعديلات" - فهي تأتي على هذا النحو من المصنع. قطع نظيفة جدًا (بدون أخدود ، تم توجيهه بالكامل) وفتحات لطيفة على جميع فتحات THT.

إذا كنت ترغب في استخدام مصابيح LED ، فسيتعين عليك لحامها بالإضافة إلى مقاومات SMD. عادة ما تكون المقاومات مخفية تحت المتحكم الدقيق ولكنها مرئية في الصورة الثانية التي تظهر اللوحة الملحومة بالكامل. إذا لم يكن لديك الكثير من الخبرة في اللحام ، فقد يكون من الصعب بعض الشيء لحام SMD ، لكنه اختياري نوعًا ما وجميع المكونات الأساسية هي THT. أود دائمًا أن أوصي بمقاطع الفيديو الخاصة بـ Dave (EEVblog) وشاهدت هذا الفيديو بنفسي: EEVblog # 186 - Soldering Tutorial Part 3 - Surface Mount. إنها طويلة جدًا ولكنها تستحق العناء إذا كنت جديدًا على هذه الأشياء!

يذكر هذا أيضًا ، ولكن: احرص على لحام المقاومات ومصابيح LED أولاً ، ثم الأزرار ثانيًا والرؤوس في النهاية. بهذه الطريقة ، يمكنك دائمًا استخدام الجدول للضغط على المكون من الأسفل واللحام من الأعلى (انقلب PCB رأسًا على عقب).

بعد لحام كل شيء ، يمكنك فقط توصيل Feather M4 وهوائي واحد أو اثنين ويكون الجهاز جاهزًا! نظرًا لأننا لا نلحم هذه المكونات ، يمكننا دائمًا إخراجها من اللوحة واستخدامها في مشروع آخر رائع!

يرجى ملاحظة أنه في الصورة الثالثة لدي رؤوس الذكور العادية والقصيرة على الريشة ، لذا لا يمكنني تكديس OLED في الأعلى. اضطررت إلى إلغاء تجليدهم وإضافة رؤوس تكديس الريش. إذا كنت ترغب في استخدام OLED ، فاحصل على رؤوس التراص على الفور ، بصراحة: D Desoldering هو مجرد ألم.

الخطوة 3: البرمجيات

بعد الانتهاء من الأجهزة ، دعنا نتحدث عن البرامج.

كما هو مذكور في المقدمة ، يقوم M4 بتشغيل كود Python ، ولكن من الواضح أنه لا توجد مكتبة لـ CC1101 بلغة Python. لذلك فعلت ما يفعله DIYers وكتبت ما لدي. يمكنك العثور عليها هنا:

إنه لا يدعم كل ما تستطيع أجهزة الإرسال والاستقبال TI الرائعة القيام به ولكنه يكفي لإرسال واستقبال البيانات المشفرة ASK على أي تردد بسهولة. تمكنت من التواصل مع مآخذ الحائط التي يتم التحكم فيها عن طريق التردد اللاسلكي وكذلك مع سيارة عائلتي باستخدام هذه المكتبة.

قد أواصل العمل على الأرجح ، وإذا كان لديك أي أسئلة أو طلبات ميزة أو تريد المساهمة في التطوير ، فلا تتردد في الاتصال بي!

الخطوة 4: القدرات والميزات

منذ أن صممت هذا الجهاز لاستخدام هوائيات مزدوجة وأجهزة الإرسال والاستقبال TI CC1101 عالية التهيئة ، فلديك الكثير من الاحتمالات ، خاصة في المجال الذي لا ترغب في حمل أي شيء فيه أكثر من جهاز بحجم الهاتف الذكي.

يمكنك على سبيل المثال التقاط إشارات الاتصالات في نطاق 433 ميجاهرتز وإرسالها مرة أخرى إلى محطتك الرئيسية باستخدام هوائي ثانوي يعمل على 868 ميجاهرتز.

أو إذا كنت ترغب في دراسة وتجربة التشويش التفاعلي ، فيمكنك الحصول على هوائي استماع وتشويش يرسل إشاراته الخاصة بمجرد اكتشاف الإرسال ، دون القيام "بالطريقة التقليدية" لمحاولة التبديل بين RX و TX مثل بأسرع ما يمكن.

شيء آخر رائع في Feather M4 هو أنه يأتي مع دائرة شحن LiPo على متن الطائرة ، لذا ما عليك سوى توصيل البطارية والاستعداد للانطلاق. في حالتي ، مع وجود هوائي واحد في وضع RX الثابت ، والاستماع للإرسال وشاشة OLED ، سيعمل الجهاز لمدة 20 ساعة تقريبًا على بطارية LiPo سعة 1000 مللي أمبير في الساعة.

استخدام شاشة OLED - ولكن ممكن أيضًا بدونها ، على سبيل المثال باستخدام مصابيح LED الثلاثة للحالة - يمكنك الحصول على برامج متعددة وتحديد البرنامج الذي تريد تشغيله باستخدام الأزرار الموجودة أسفل اللوحة. أنا شخصياً قمت بتنفيذ قائمة كاملة مع أوضاع للاختيار من بينها وعرض إعداد التردد وما إلى ذلك.

قد يأتي في متناول اليد لبعض أتمتة المنزل! كما ذكرت ، تمكنت من الاتصال بمنافذ الطاقة بنجاح (التقط الإشارات الأصلية مرة واحدة وأعد تشغيلها متى احتجت إليها) وإذا أجريت القليل من البحث على الإنترنت ، فستجد بسرعة عدد الأجهزة التي تعمل أيضًا على هذه الترددات مع رموز لا تتغير أبدًا. حتى أنه يمكن تسجيل بعض أكواد الجراج وحفظها باستخدام هذا الجهاز ثم استخدامها كلما احتجت إلى فتح أو إغلاق المرآب الخاص بك. لذلك يمكن أن يصبح هذا جهاز تحكم عن بعد عالمي لجميع أجهزتك اللاسلكية!

أنا شخصياً قمت بنسخ هجوم RollJam مع هذا الجهاز أيضًا ، لكنني لن أفرج عن الكود لأن التشويش غير قانوني في معظم الأماكن ، لذا إذا حاولت أي شيء كهذا ، فاستشر القوانين المحلية الخاصة بك ؛-)

نظرًا لأن اللوحة تظهر كقرص USB عند توصيله وتوفر CircuitPython هذه الميزة ، يمكنك أيضًا جعل الجهاز يسجل عمليات إرسال الترددات اللاسلكية وحفظ البيانات التي تمت إزالتها (نعم ، تقوم أجهزة الإرسال والاستقبال بذلك تلقائيًا!) في ملف نصي والتي يمكنك نسخها لاحقًا إلى جهاز الكمبيوتر الخاص بك وتحليلها للأغراض العلمية مثل الهندسة العكسية لعمليات الإرسال.

الخطوة 5: النتيجة النهائية

النتيجة النهائية
النتيجة النهائية

نرحب بأي ملاحظات أو اقتراحات أو مساهمات في هذا المشروع ولا تتردد في طرح الأسئلة إذا كان لديك أي منها!

موصى به: