תוכן עניינים:

ערכת פיתוח RF Python: 5 שלבים
ערכת פיתוח RF Python: 5 שלבים

וִידֵאוֹ: ערכת פיתוח RF Python: 5 שלבים

וִידֵאוֹ: ערכת פיתוח RF Python: 5 שלבים
וִידֵאוֹ: כך ניתן להשיב את הזמן לאחור - Twinlight RF Wrinklers 2024, יולי
Anonim
ערכת פיתוח RF Python
ערכת פיתוח RF Python

קודם כל, אני רוצה לתת הקדמה קטנה על איך נכנסתי לדברים של RF ולמה אני עובד על הפרויקט הזה.

כסטודנט למדעי המחשב בעל זיקה לחומרה, התחלתי להשתתף בכמה קורסים העוסקים באותות אלחוטיים ובאבטחה בתקשורת אלחוטית באוקטובר 2018. התחלתי במהירות להתנסות במכשירי רדיו המוגדרים על ידי תוכנת RTL-SDR ו- HackRF ועם מכשירי רדיו מחוץ ל- מודולי RF מדף Arduino.

הבעיה היא: מכשירי SDR אינם ניידים מספיק למטרות שלי (תמיד צריך לשאת מחשב נייד, אנטנות וכו ') ומודולי RF הזולים של Arduino אינם מספיק מסוגלים מבחינת חוזק האות, התאמה אישית, טווחי תדרים ואוטומציה.

אנטנות CC1101 מטקסס אינסטרומנטס הן בחירה מצוינת עבור משדרי RF קטנים אך מסוגלים שהם גם מאוד זולים. אנשים בנו איתם דברים נהדרים כמו SDR של DIY ודברים כאלה.

דבר נוסף שרציתי להתייחס אליו בנושא זה היה CircuitPython. זו שפת תכנות חדשה של בקרי מיקרו ששמעתי עליהם הרבה דברים טובים אז רציתי לנסות את זה. התברר שאני מאוד נהנה מזה, במיוחד בשילוב עם לוח Feather M4 Express של Adafruit שבו אני משתמש גם בפרויקט זה. קל מאוד לבצע איתור באגים מכיוון שאתה לא צריך להרכיב תוכנות פירמה מותאמות אישית בכל פעם שאתה מנסה שינוי קטן בקוד שלך, אתה מקבל מסוף REPL והקוד שלך נשאר גם על המיקרו -בקר עצמו מה שאומר שאתה יכול לסחוב אותו, לחבר אותו למחשבים שונים ותמיד תוכל לבצע שינויים תוך כדי תנועה.

שלב 1: רכיבי חומרה

רכיבי חומרה
רכיבי חומרה

מה שאתה צריך לשכפל את הפרויקט הזה:

  • Adafruit Feather M4 Express
  • 2x משדר טקסס אינסטרומנטס CC1101 + אנטנה
  • Adafruit FeatherWing OLED
  • 3.7V LiPo

בעיקרו של דבר זה כל מה שאתה צריך כדי לקבל משדר RF די קומפקטי ובעל יכולת, אבל כפי שאתה יכול לראות בתמונה הוא לא יהיה אמין ומסודר במיוחד עם כל חוטי המגשר.

אז עיצבתי PCB מותאם אישית באמצעות https://easyeda.com/ והזמנתי אותו מ- JLCPCB.com (זול מאוד ואיכות מעולה!) כדי לחבר הכל יחד. זה גם איפשר לשלב בקלות 3 כפתורים ונורות לד עבור קלט ופלט סטטוסים.

ולבסוף, הדפסתי תלת מימד מעטפת מעטה לחלק האחורי של הלוח המודרני כדי שלא יקצר שום דבר ותשב על השולחן.

אם אתה חדש בתחום האלקטרוניקה ועיצוב PCB, הייתי ממליץ לבדוק את ההוראות הבאות: אלקטרוניקה בסיסית, שיעור עיצוב מעגלים!

בקבצים המצורפים אתה יכול למצוא את קבצי Gerber עבור ה- PCB שלי. אם תחליט לייצר אותו, תזדקק לכמה רכיבים נוספים שהזמנתי באופן אישי מ- LCSC, מכיוון שהם קשורים ל- JLCPCB ולכן הם מציעים לשלוח הכל ביחד, מה שחוסך מעט עלויות משלוח והרכיבים הם גם פשוט מאוד זול שם. עיין ב- BOM לרשימה המפורטת. בחרתי בכוונה את גודל האריזה הגדולה של 0805 עבור רכיבי ה- SMD כך שכולם יוכלו להלחם אותם ביד על הלוח המודרני!

שלב 2: בניית הלוח

בניית הלוח
בניית הלוח
בניית הלוח
בניית הלוח
בניית הלוח
בניית הלוח

בתמונה הראשונה אנו יכולים לראות את ה- PCB מבלי שנעשו כל "שינויים" - הם מגיעים כך מהמפעל. חתכים נקיים מאוד (ללא חריץ v, מנותבים לחלוטין) וויאסות נחמדות בכל חורי ה- THT.

אם ברצונך להשתמש בנורות הלדים תצטרך להלחים אותם כמו גם את נגדי ה- SMD. הנגדים בדרך כלל מוסתרים מתחת למיקרו -בקר אך נראים בתמונה השנייה המציגה את הלוח המולחם לחלוטין. אם אין לך הרבה ניסיון בהלחמה, זה יכול להיות קצת מסובך להלחם SMD, אבל זה סוג של אופציונאלי וכל רכיבי הליבה הם THT. אני תמיד אוהב להמליץ על הסרטונים של דייב (EEVblog) ולמעשה צפיתי בזה בעצמי: EEVblog #186 - הדרכת הלחמה חלק 3 - הר משטח. זה די ארוך אבל שווה את זה אם אתה חדש בדברים האלה!

הוא מזכיר זאת גם כן, אך: דאג להלחם תחילה את הנגדים והנוריות, ולאחר מכן את הכפתורים השני ואת הכותרות בסופו של דבר. בדרך זו תוכל תמיד להשתמש בטבלה כדי לדחוף כנגד הרכיב מלמטה ולהלחמה מלמעלה (PCB התהפך).

לאחר הלחמת הכל, אתה יכול פשוט לחבר את ה- Feather M4 ואנטנה אחת או שתיים והחומרה מוכנה! מכיוון שאנו לא מלחמים על רכיבים אלה, אנו תמיד יכולים להוריד אותם מהלוח ולהשתמש בהם לפרויקט אחר וזה נהדר!

שימו לב שבתמונה השלישית יש לי את הכותרות הזכריות הקצרות והקצרות על הנוצה כך שלא יכולתי לערום את ה- OLED למעלה. הייתי צריך להסיר אותם ולהוסיף כותרות ערימת נוצה. אם אתה רוצה להשתמש ב- OLED, קבל מייד את כותרות הערימה, בכנות: D הלחמה היא רק כאב.

שלב 3: תוכנה

עם סיום החומרה, בואו נדבר על תוכנה.

כפי שהוזכר בהקדמה, ה- M4 מריץ קוד Python, אך ברור שלא קיימה ספרייה עבור CC1101 בשפת Python. אז עשיתי מה שעושים DIY עשה וכתבתי משלי. תוכל למצוא אותו כאן:

הוא אינו תומך בכל מה שמקלטי ה- TI הגדולים מסוגלים לו אך מספיק לשלוח ולקבל נתונים מקודדים ASK בכל תדר בקלות. הצלחתי לתקשר עם שקעי קיר בשליטת RF כמו גם עם המכונית של המשפחה שלי באמצעות הספרייה הזו.

סביר להניח שאמשיך לעבוד על זה ואם יש לך שאלות, בקשות לתכונות או שאתה רוצה לתרום לפיתוח, אל תהסס לפנות אלי!

שלב 4: יכולות ותכונות

מכיוון שעיצבתי את המכשיר הזה לשימוש באנטנות כפולות ובמקלט המשדר TI CC1101 שניתן להגדיר אותו, יש לך המון אפשרויות, במיוחד בשטח שבו אתה לא רוצה לשאת יותר ממכשיר בגודל סמארטפון.

אתה יכול למשל ללכוד אותות תקשורת בפס 433MHz ולשלוח אותם בחזרה לתחנה הביתית שלך כשהאנטנה המשנית פועלת על 868MHz.

או אם אתה רוצה ללמוד ולהתנסות עם חסימות ריאקטיביות, תוכל לקבל אנטנת הקשבה ואטימה ששולחת אותות משלה ברגע שזוהה שידור, מבלי לבצע את "השיטה המסורתית" של ניסיון לעבור בין RX ו- TX כמו מהר ככל האפשר.

עוד דבר מגניב ביותר ב- Feather M4 הוא שהוא מגיע עם מעגל טעינה משולב של LiPo, כך שאתה פשוט מחבר את הסוללה ומוכן לצאת לדרך. במקרה שלי, עם אנטנה אחת במצב RX קבוע, האזנה לשידורים ומסך OLED מופעל, המכשיר יפעל במשך כמעט 20 שעות על LiPo של 1000 מיליאמפר / שעה.

שימוש במסך OLED - אך אפשרי גם בלעדיו, למשל. באמצעות שלוש נוריות הסטטוס - תוכל לקבל מספר תוכניות ולבחור את אחת מהן ברצונך להפעיל בעזרת הכפתורים בתחתית הלוח. אני אישית אפילו יישמתי תפריט שלם עם מצבים לבחירה ותצוגת הגדרת תדרים וכו '.

זה עשוי אפילו להגיע ביד עבור קצת אוטומציה ביתית! כפי שציינתי, הצלחתי לתקשר עם שקעי חשמל בהצלחה (ללכוד את האותות המקוריים פעם אחת ולהשמיע אותם בכל פעם שתזדקק להם) ואם תעשה קצת מחקר באינטרנט תוכל למצוא במהירות כמה מכשירים פועלים גם על תדרים אלה עם קודים שלא משתנים לעולם. ניתן היה להקליט ולשמור אפילו קודים מסוימים של המוסכים באמצעות מכשיר זה ולאחר מכן להשתמש בהם בכל פעם שתצטרך לפתוח או לסגור את המוסך שלך. אז זה יכול להפוך לשלט אוניברסלי לכל מכשירי ה- RF שלך!

אני אישית שיכפלתי את ההתקפה של RollJam גם במכשיר זה, אך לא אפרסם את הקוד מכיוון שפריצה אינה חוקית ברוב המקומות, כך שאם אתה מנסה דבר כזה, התייעץ עם החוקים המקומיים שלך;-)

מכיוון שהלוח מופיע כדיסק USB כאשר אתה מחבר אותו ל- CircuitPython ומציע תכונה כזו, תוכל גם לגרום למכשיר להקליט שידורי RF ולשמור את הנתונים המופחים (אה כן, משדרי השידור עושים זאת אוטומטית!) בקובץ טקסט. שתוכל מאוחר יותר להעתיק למחשב האישי שלך ולנתח למטרות מדעיות כמו הנדסה לאחור של שידורים.

שלב 5: תוצאה סופית

תוצאה סופית
תוצאה סופית

כל משוב, הצעות ותרומה לפרויקט זה יתקבלו בברכה ואל תהסס לשאול שאלות אם יש לך!

מוּמלָץ: