Daftar Isi:

Kit Pengembangan RF Python: 5 Langkah
Kit Pengembangan RF Python: 5 Langkah

Video: Kit Pengembangan RF Python: 5 Langkah

Video: Kit Pengembangan RF Python: 5 Langkah
Video: The Power Of The Plugin Architecture In Python 2024, Juli
Anonim
Kit Pengembangan RF Python
Kit Pengembangan RF Python

Pertama-tama, saya ingin memberikan sedikit pengenalan tentang bagaimana saya masuk ke hal-hal RF dan mengapa saya mengerjakan proyek ini.

Sebagai mahasiswa ilmu komputer dengan ketertarikan pada perangkat keras, saya mulai menghadiri beberapa kursus yang berhubungan dengan sinyal nirkabel dan keamanan dalam komunikasi nirkabel pada Oktober 2018. Saya segera mulai bereksperimen dengan radio yang ditentukan perangkat lunak RTL-SDR dan HackRF dan dengan off-the- rak modul Arduino RF.

Masalahnya adalah: SDR tidak cukup portabel untuk keperluan saya (selalu perlu membawa laptop, antena, dll.) Dan modul Arduino RF yang murah tidak cukup mampu dalam hal kekuatan sinyal, kemampuan penyesuaian, rentang frekuensi, dan otomatisasi.

Antena CC1101 dari Texas Instruments adalah pilihan tepat untuk transceiver RF yang kecil namun mampu dan juga sangat murah. Orang-orang telah membangun hal-hal hebat dengan mereka, seperti SDR DIY dan hal-hal seperti itu.

Hal lain yang ingin saya bahas dengan topik ini adalah CircuitPython. Ini adalah bahasa pemrograman baru dari mikrokontroler yang telah banyak saya dengar, jadi saya ingin mencobanya. Ternyata saya sangat menikmatinya, apalagi ditambah dengan board Adafruit Feather M4 Express yang juga saya gunakan dalam proyek ini. Ini sangat mudah untuk di-debug karena Anda tidak perlu mengkompilasi firmware khusus setiap kali Anda mencoba perubahan kecil dalam kode Anda, Anda mendapatkan konsol REPL dan kode Anda juga tetap berada di mikrokontroler itu sendiri yang berarti Anda dapat membawanya kemana-mana, pasang ke berbagai komputer dan Anda akan selalu dapat melakukan perubahan saat bepergian.

Langkah 1: Komponen Perangkat Keras

Komponen Perangkat Keras
Komponen Perangkat Keras

Apa yang Anda perlukan untuk mereplikasi proyek ini:

  • Adafruit Feather M4 Express
  • 2x Texas Instruments CC1101 Transceiver + Antena
  • Adafruit FeatherWing OLED
  • 3.7V LiPo

Pada dasarnya ini adalah semua yang Anda butuhkan untuk memiliki transceiver RF yang cukup kompak dan mampu, tetapi seperti yang Anda lihat pada gambar, itu tidak akan sangat andal dan rapi dengan semua kabel jumper itu.

Jadi saya merancang PCB khusus menggunakan https://easyeda.com/ dan memesannya dari JLCPCB.com (sangat murah dan berkualitas bagus!) untuk menghubungkan semuanya bersama-sama. Ini juga memungkinkan untuk dengan mudah mengintegrasikan 3 tombol dan LED untuk input pengguna dan output status.

Dan akhirnya, saya mencetak 3D penutup kecil untuk bagian belakang PCB sehingga tidak akan korslet terhadap apa pun dan duduk rata di atas meja.

Jika Anda baru mengenal elektronik dan desain PCB, saya akan merekomendasikan untuk melihat Instruksi ini: Elektronik Dasar, Kelas Desain Papan Sirkuit!

Dalam lampiran Anda dapat menemukan file Gerber untuk PCB saya. Jika Anda memutuskan untuk membuatnya diproduksi, Anda akan memerlukan beberapa komponen tambahan yang saya pesan secara pribadi dari LCSC, karena mereka terkait dengan JLCPCB sehingga mereka menawarkan untuk mengirimkan semuanya bersama-sama yang menghemat sedikit biaya pengiriman dan komponen juga hanya sangat murah di sana. Lihat BOM untuk daftar rinci. Saya sengaja memilih ukuran paket besar 0805 untuk komponen SMD sehingga semua orang dapat menyoldernya ke PCB!

Langkah 2: Membangun Papan

Membangun Dewan
Membangun Dewan
Membangun Dewan
Membangun Dewan
Membangun Dewan
Membangun Dewan

Pada gambar pertama kita dapat melihat PCB tanpa "modifikasi" apa pun - mereka datang seperti ini dari pabrik. Potongan yang sangat bersih (tidak ada v-groove, benar-benar diarahkan) dan vias yang bagus di semua lubang THT.

Jika Anda ingin menggunakan LED, Anda harus menyoldernya dan juga resistor SMD. Resistor biasanya tersembunyi di bawah mikrokontroler tetapi terlihat pada gambar kedua yang menunjukkan papan yang sepenuhnya disolder. Jika Anda tidak memiliki banyak pengalaman dengan penyolderan, mungkin agak sulit untuk menyolder SMD, tetapi ini semacam opsional dan semua komponen inti adalah THT. Saya selalu merekomendasikan video Dave (EEVblog) dan benar-benar menontonnya sendiri: EEVblog #186 - Tutorial Solder Bagian 3 - Surface Mount. Ini cukup panjang tetapi sepadan jika Anda baru mengenal hal ini!

Dia menyebutkan ini juga, tetapi: berhati-hatilah untuk menyolder resistor dan LED terlebih dahulu, lalu tombol kedua dan header pada akhirnya. Dengan cara ini Anda selalu dapat menggunakan meja untuk menekan komponen dari bawah dan menyolder dari atas (PCB terbalik).

Setelah menyolder semuanya, Anda cukup mencolokkan Feather M4 dan satu atau dua antena dan perangkat keras sudah siap! Karena kami tidak menyolder komponen ini, kami selalu dapat melepasnya dari papan dan menggunakannya untuk proyek lain yang sangat bagus!

Harap dicatat bahwa pada gambar ketiga saya memiliki header jantan pendek biasa di Feather sehingga saya tidak dapat menumpuk OLED di atasnya. Saya harus melepasnya dan menambahkan header susun Feather. Jika Anda ingin menggunakan OLED, dapatkan header susun segera, jujur saja:D Pematrian hanya menyusahkan.

Langkah 3: Perangkat Lunak

Setelah perangkat keras selesai, mari kita bicara tentang perangkat lunak.

Seperti disebutkan dalam pendahuluan, M4 menjalankan kode Python, tetapi jelas tidak ada pustaka untuk CC1101 dalam bahasa Python. Jadi saya melakukan apa yang dilakukan oleh DIYers dan menulis sendiri. Anda dapat menemukannya di sini:

Itu tidak mendukung semua yang dapat dilakukan oleh transceiver TI yang hebat tetapi cukup untuk mengirim dan menerima data yang dikodekan ASK pada frekuensi apa pun dengan mudah. Saya dapat berkomunikasi dengan stopkontak yang dikendalikan RF serta dengan mobil keluarga saya dengan menggunakan perpustakaan ini.

Saya mungkin akan terus mengerjakannya dan jika Anda memiliki pertanyaan, permintaan fitur, atau ingin berkontribusi pada pengembangan, jangan ragu untuk menghubungi saya!

Langkah 4: Kemampuan dan Fitur

Karena saya merancang perangkat ini untuk menggunakan antena ganda dan transceiver TI CC1101 yang sangat dapat dikonfigurasi, Anda memiliki banyak kemungkinan, terutama di lapangan di mana Anda tidak ingin membawa apa pun selain perangkat berukuran smartphone.

Misalnya, Anda dapat menangkap sinyal komunikasi dalam pita 433MHz dan mengirimkannya kembali ke stasiun asal Anda dengan antena sekunder yang beroperasi pada 868MHz.

Atau jika Anda ingin belajar dan bereksperimen dengan jamming reaktif, Anda dapat memiliki antena pendengar dan jamming yang mengirimkan sinyalnya sendiri segera setelah transmisi terdeteksi, tanpa melakukan "metode tradisional" untuk mencoba beralih antara RX dan TX sebagai secepat mungkin.

Hal lain yang sangat keren tentang Feather M4 adalah ia hadir dengan sirkuit pengisian LiPo onboard sehingga Anda cukup mencolokkan baterai Anda dan siap untuk digunakan. Dalam kasus saya, dengan satu antena dalam mode RX konstan, mendengarkan transmisi dan layar OLED menyala, perangkat akan berjalan selama hampir 20 jam pada LiPo 1000 mAh.

Menggunakan layar OLED - tetapi juga memungkinkan tanpanya, mis. menggunakan tiga LED status - Anda dapat memiliki beberapa program dan memilih program mana yang ingin Anda jalankan dengan tombol di bagian bawah papan. Saya pribadi bahkan menerapkan seluruh menu dengan mode untuk dipilih dan tampilan pengaturan frekuensi dll.

Bahkan mungkin datang di tangan untuk beberapa otomatisasi rumah! Seperti yang saya sebutkan, saya telah berhasil berkomunikasi dengan outlet listrik (menangkap sinyal asli sekali dan memutar ulang kapan pun Anda membutuhkannya) dan jika Anda melakukan sedikit riset di Internet, Anda akan segera menemukan berapa banyak perangkat yang juga beroperasi di frekuensi ini dengan kode yang tidak pernah berubah. Bahkan beberapa kode garasi dapat direkam dan disimpan dengan perangkat ini dan kemudian digunakan kapan pun Anda perlu membuka atau menutup garasi Anda. Jadi ini bisa menjadi remote universal untuk semua perangkat RF Anda!

Saya pribadi mereplikasi serangan RollJam dengan perangkat ini juga, tetapi tidak akan merilis kode karena jamming ilegal di sebagian besar tempat jadi jika Anda mencoba hal seperti ini, konsultasikan dengan undang-undang setempat Anda;-)

Karena papan muncul sebagai disk USB saat Anda mencolokkannya dan CircuitPython menawarkan fitur seperti itu, Anda juga dapat membuat perangkat merekam transmisi RF dan menyimpan data yang didemodulasi (oh ya, transceiver melakukan ini secara otomatis!) ke file teks yang nantinya dapat Anda salin ke PC Anda dan analisis untuk tujuan sains seperti rekayasa balik transmisi.

Langkah 5: Hasil Akhir

Hasil Akhir
Hasil Akhir

Umpan balik, saran, dan kontribusi apa pun untuk proyek ini dipersilakan dan jangan ragu untuk mengajukan pertanyaan jika Anda memilikinya!

Direkomendasikan: