
תוכן עניינים:
2025 מְחַבֵּר: John Day | [email protected]. שונה לאחרונה: 2025-01-23 14:46

קודם כל, אני רוצה לתת הקדמה קטנה על איך נכנסתי לדברים של 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: תוצאה סופית

כל משוב, הצעות ותרומה לפרויקט זה יתקבלו בברכה ואל תהסס לשאול שאלות אם יש לך!
מוּמלָץ:
התקנת ST Visual פיתוח בעזרת מהדר STM8 Cosmic: 11 שלבים

התקנת ST Visual Develop עם מהדר STM8 Cosmic: כך הגדרתי את סביבת הפיתוח המשולבת (IDE) כדי לתכנת בקרי מיקרו STM8 מ ST Microelectronics (ST) עם Windows 10. אני לא טוען שזו הדרך הנכונה, אבל זה עובד היטב בשבילי. במדריך זה זה יראה כמו
פיתוח לוח Drivemall: 5 שלבים

פיתוח לוח Drivemall: במדריך זה נראה את השלבים הבסיסיים ליצירת לוח Arduino מותאם אישית. התוכנות המשמשות הן KiCad לעיצוב הלוח ו- Arduino IDE ליצירה וטעינה של קושחה ללוח
ערכת ממשק אינטרנט מלא של Python עבור PhidgetSBC3: 6 שלבים

ערכת ממשק אינטרנט מלא של Python עבור PhidgetSBC3: לוח PhidgetSBC3 הוא מחשב לוח יחיד תפקודי מלא, המריץ Debain Linux. הוא דומה לפטל הפטל, אך יש לו 8 כניסות חיישן אנלוגיות ו -8 כניסות דיגיטליות ו -8 יציאות דיגיטליות. הוא נשלח עם שרת אינטרנט ויישום אינטרנט כדי לשתף
פיתוח יעיל של ג'אווה ל- Raspberry Pi: 11 שלבים (עם תמונות)

פיתוח יעיל של ג'אווה עבור ה- Raspberry Pi: מדריך זה מתאר גישה יעילה מאוד לפיתוח תוכניות ג'אווה עבור ה- Raspberry Pi. השתמשתי בגישה לפיתוח יכולות Java, החל מתמיכה במכשירים ברמה נמוכה וכלה בתוכניות מרובות נושאים ורשתות. Appr
פיתוח ערכת Remapper משלך ל- PS4: 4 שלבים

פיתוח ערכת Remapper משלך ל- PS4: צור ערכת Remapper PS4 משלך על ידי הנדסה לאחור של עיצוב פריסת FPC של ערכת Remapper. פלט קבצי Gerber של ערכת remapper PS4. קבצי Gerber זמינים עבורך, רק תיבת הדואר הנכנס. ניתן לשנות את הפריסה גם במידת הצורך