فهرست مطالب:

کیت توسعه پایتون RF: 5 مرحله
کیت توسعه پایتون RF: 5 مرحله

تصویری: کیت توسعه پایتون RF: 5 مرحله

تصویری: کیت توسعه پایتون RF: 5 مرحله
تصویری: برنامه نویسی AWS CDK - کیت توسعه کلود آمازون #python 2024, نوامبر
Anonim
کیت توسعه پایتون RF
کیت توسعه پایتون RF

اول از همه ، می خواهم مقدمه کوچکی در مورد چگونگی ورود به موارد RF و دلیل کار روی این پروژه ارائه دهم.

به عنوان دانشجوی علوم کامپیوتر با گرایش به سخت افزار ، در اکتبر 2018 شروع به شرکت در دوره هایی کردم که به سیگنال های بی سیم و امنیت ارتباطات بی سیم می پردازد. من به سرعت آزمایش رادیوهای RTL-SDR و HackRF و نرم افزارهای خارج از برنامه را شروع کردم. قفسه ماژول های Arduino RF.

مسئله این است: SDR ها برای اهداف من قابل حمل نیستند (همیشه باید لپ تاپ ، آنتن و غیره را حمل کنید) و ماژول های ارزان Arduino RF از نظر قدرت سیگنال ، سفارشی سازی ، محدوده فرکانس و اتوماسیون به اندازه کافی قادر نیستند.

آنتن های CC1101 از Texas Instruments یک انتخاب عالی برای فرستنده های RF کوچک اما توانا هستند که بسیار ارزان نیز هستند. مردم با آنها چیزهای فوق العاده ای ساخته اند ، مانند SDR های DIY و مواردی از این دست.

مورد دیگری که می خواستم با این موضوع به آن بپردازم CircuitPython بود. این یک زبان برنامه نویسی جدید از میکروکنترلرها است که چیزهای خوب زیادی در مورد آن شنیده ام ، بنابراین می خواستم آن را امتحان کنم. معلوم شد که من از آن بسیار لذت می برم ، مخصوصاً با برد Adafruit's Feather M4 Express که من نیز در این پروژه از آن استفاده می کنم. اشکال زدایی بسیار آسان است زیرا نیازی به کامپایل فریمورهای سفارشی ندارید هر بار که یک تغییر کوچک در کد خود را امتحان می کنید ، یک کنسول REPL دریافت می کنید و کد شما نیز روی خود میکروکنترلر باقی می ماند ، به این معنی که می توانید آن را حمل کنید ، آن را وصل کنید در رایانه های مختلف و همیشه می توانید تغییرات را در حال حرکت انجام دهید.

مرحله 1: اجزای سخت افزاری

اجزای سخت افزاری
اجزای سخت افزاری

آنچه برای تکرار این پروژه نیاز دارید:

  • Adafruit Feather M4 Express
  • 2x فرستنده گیر Texas Instruments CC1101 + آنتن
  • Adafruit FeatherWing OLED
  • 3.7 ولت LiPo

در اصل این تنها چیزی است که شما برای داشتن یک فرستنده گیرنده RF کاملاً جمع و جور و توانمند نیاز دارید ، اما همانطور که در تصویر مشاهده می کنید ، با همه این سیم های پرش کننده چندان قابل اعتماد و مرتب نخواهد بود.

بنابراین من با استفاده از https://easyeda.com/ یک PCB سفارشی طراحی کردم و آن را از JLCPCB.com (بسیار ارزان و با کیفیت عالی!) سفارش دادم تا همه چیز را به هم متصل کنم. این همچنین اجازه می دهد تا به راحتی 3 دکمه و LED برای ورودی و خروجی وضعیت کاربر ادغام شود.

و در نهایت ، من یک جلد کوچک برای پشت PCB چاپ کردم تا در برابر هیچ چیزی کوتاه نشود و روی میز نشسته باشد.

اگر در زمینه طراحی الکترونیک و PCB تازه کار هستید ، توصیه می کنم این دستورالعمل ها را بررسی کنید: الکترونیک پایه ، کلاس طراحی برد مدار!

در پیوست ها می توانید فایل های Gerber را برای PCB من بیابید. اگر تصمیم به ساخت آن دارید ، به چند قطعه اضافی نیاز دارید که من شخصاً از LCSC سفارش دادم ، زیرا آنها به JLCPCB مرتبط هستند ، بنابراین آنها پیشنهاد می کنند همه چیز را با هم حمل کنند که کمی در هزینه حمل و نقل صرفه جویی می شود و قطعات نیز فقط بسیار ارزان در آنجا برای مشاهده لیست دقیق به BOM مراجعه کنید. من عمداً اندازه بزرگ بسته 0805 را برای اجزای SMD انتخاب کردم تا همه بتوانند آنها را به صورت دستی روی PCB لحیم کنند!

مرحله 2: ایجاد هیئت مدیره

ساختن تخته
ساختن تخته
ساختن تخته
ساختن تخته
ساختن تخته
ساختن تخته

در تصویر اول ما می توانیم PCB ها را بدون هیچ گونه اصلاحاتی مشاهده کنیم - آنها از کارخانه به این شکل می آیند. برش های بسیار تمیز (بدون شیار v ، کاملاً مسیریابی شده) و ویزهای زیبا در تمام سوراخ های THT.

اگر می خواهید از LED ها استفاده کنید ، باید آنها را و همچنین مقاومت های SMD را لحیم کنید. مقاومت ها معمولاً در زیر میکروکنترلر پنهان شده اند ، اما در تصویر دوم که تخته کاملاً لحیم شده را نشان می دهد ، قابل مشاهده است. اگر تجربه زیادی در زمینه لحیم کاری ندارید ، لحیم کاری SMD کمی دشوار است ، اما به نوعی اختیاری است و همه اجزای اصلی THT هستند. من همیشه دوست دارم فیلم های دیو (EEVblog) را توصیه کنم و در واقع این فیلم را خودم تماشا کردم: EEVblog #186 - آموزش لحیم کاری قسمت 3 - سطح اتصال. بسیار طولانی است ، اما اگر در این زمینه تازه کار هستید ارزش آن را دارد!

او به این امر نیز اشاره می کند ، اما: مراقب باشید ابتدا مقاومتها و LED ها را لحیم کنید ، سپس دکمه ها را دوم و سرآیندها را در پایان ببندید. به این ترتیب شما همیشه می توانید از جدول برای فشار دادن قطعه از پایین و لحیم کاری از بالا استفاده کنید (PCB وارونه شده است).

پس از لحیم کاری همه چیز ، فقط می توانید Feather M4 و یک یا دو آنتن را وصل کنید و سخت افزار آماده است! از آنجا که ما روی این قطعات لحیم نمی کنیم ، همیشه می توانیم آنها را از روی صفحه برداریم و از آنها برای پروژه دیگری استفاده کنیم که بسیار عالی است!

لطفاً توجه داشته باشید که در تصویر سوم من هدرهای معمولی و کوتاه مردانه را روی پر دارم ، بنابراین نمی توانم OLED را روی آن قرار دهم. مجبور شدم آنها را جدا کنم و سرصفحه های پر روی پر را اضافه کنم. اگر می خواهید از OLED استفاده کنید ، سرصفحه ها را بلافاصله دریافت کنید ، صادقانه: D Desoldering فقط یک درد است.

مرحله 3: نرم افزار

با انجام سخت افزار ، بیایید در مورد نرم افزار صحبت کنیم.

همانطور که در مقدمه ذکر شد ، M4 کد پایتون را اجرا می کند ، اما بدیهی است که هیچ کتابخانه ای برای زبان CC1101 به زبان پایتون وجود نداشت. بنابراین من آنچه DIYers انجام می دهم انجام دادم و خودم نوشتم. می توانید آن را در اینجا پیدا کنید:

این دستگاه از همه چیزهایی که گیرنده های گیرنده TI بزرگ قادر به پشتیبانی آن هستند پشتیبانی نمی کند ، اما کافی است داده های کد شده ASK را در هر فرکانسی به راحتی ارسال و دریافت کنید. من با استفاده از این کتابخانه توانستم با پریزهای دیواری تحت کنترل RF و همچنین با ماشین خانواده ام ارتباط برقرار کنم.

من احتمالاً به کار بر روی آن ادامه می دهم و اگر س questionsالی دارید ، درخواست ویژگی دارید یا می خواهید در توسعه مشارکت داشته باشید ، با من تماس بگیرید!

مرحله 4: قابلیت ها و ویژگی ها

از آنجا که من این دستگاه را برای استفاده از آنتن های دوگانه و گیرنده های گیرنده TI CC1101 طراحی کردم ، شما امکانات زیادی دارید ، به ویژه در زمینه ای که نمی خواهید چیزی بیش از یک دستگاه با اندازه تلفن هوشمند حمل کنید.

برای مثال می توانید سیگنال های ارتباطات را در باند 433 مگاهرتز ضبط کرده و با آنتن ثانویه با فرکانس 868 مگاهرتز به ایستگاه اصلی خود ارسال کنید.

یا اگر می خواهید با مسدود کردن واکنشی مطالعه و آزمایش کنید ، می توانید یک آنتن گوش و گیر کنید که به محض تشخیص انتقال ، سیگنال های خود را ارسال می کند ، بدون انجام "روش سنتی" برای تغییر بین RX و TX به عنوان تا حد امکان سریع

یکی دیگر از ویژگیهای جالب Feather M4 این است که مجهز به مدار شارژ LiPo است ، بنابراین فقط باتری خود را وصل کرده و آماده کار هستید. در مورد من ، با یک آنتن در حالت RX ثابت ، گوش دادن به انتقال و صفحه نمایش OLED ، دستگاه تقریباً 20 ساعت با LiPo 1000 میلی آمپری کار می کند.

استفاده از صفحه نمایش OLED - اما بدون آن نیز امکان پذیر است ، به عنوان مثال با استفاده از سه LED وضعیت - می توانید چندین برنامه داشته باشید و با دکمه های پایین برد کدام برنامه را انتخاب کنید. من شخصاً حتی یک منوی کامل را با حالت هایی برای انتخاب و نمای تنظیم فرکانس و غیره پیاده سازی کردم.

حتی ممکن است برای برخی از اتوماسیون خانه مفید باشد! همانطور که اشاره کردم ، من توانستم با پریزهای برق با موفقیت ارتباط برقرار کنم (سیگنالهای اصلی را یکبار ضبط کرده و هر زمان که نیاز داشتید آنها را پخش کنید) و اگر کمی در اینترنت تحقیق کنید ، به سرعت متوجه خواهید شد که چند دستگاه نیز روی آن کار می کنند. این فرکانس ها با کدهای تغییر ناپذیر حتی برخی از کدهای گاراژها را می توان با این دستگاه ضبط و ذخیره کرد و سپس هر زمان که نیاز به باز یا بسته کردن گاراژ دارید استفاده کرد. بنابراین این می تواند یک کنترل از راه دور جهانی برای همه دستگاه های RF شما باشد!

من شخصاً حمله RollJam را با این دستگاه نیز تکرار کردم ، اما کد را منتشر نمی کنم ، زیرا در اکثر مکانها پارازیت غیرقانونی است ، بنابراین اگر چنین چیزی را انجام می دهید ، با قوانین محلی خود مشورت کنید ؛-)

از آنجایی که وقتی وصل می شوید ، صفحه به عنوان یک دیسک USB ظاهر می شود و CircuitPython چنین ویژگی را ارائه می دهد ، همچنین می توانید دستگاه را ضبط کنید که انتقال RF را ضبط کرده و داده های تغییر شکل داده شده را ذخیره کنید (آه ، فرستنده ها این کار را به طور خودکار انجام می دهند!) در یک فایل متنی که بعداً می توانید در رایانه خود کپی کرده و برای اهداف علمی مانند مهندسی معکوس گیربکس ها تجزیه و تحلیل کنید.

مرحله 5: نتیجه نهایی

نتیجه نهایی
نتیجه نهایی

از هر گونه بازخورد ، پیشنهاد و مشارکت در این پروژه استقبال می شود و در صورت داشتن سوالات ، س freeال خود را مطرح کنید!

توصیه شده: