Docker Build สำหรับ gnuradio ด้วยปลั๊กอินภายนอก
นักเทียบท่าตั้งใจที่จะ:
- เพื่อให้สภาพแวดล้อมที่มั่นคงสำหรับรันไทม์ Gnuradio
- เพื่อให้ผู้ใช้มีวิธีที่ง่ายในการสร้างโมดูล Gnuradio OTT โดยไม่ต้องยุ่งกับระบบประจำวัน
- เพื่อให้นักพัฒนา OTT โมดูลสามารถปรับสภาพได้ง่ายเมื่อพอร์ตจาก Gnuradio เวอร์ชันก่อนหน้า
ใช้
- ใช้ Ubuntu 24.04 เป็นฐาน
- Gnuradio 3.10 (จาก Ubuntu repo)
ทดสอบ SDR HW
- Hackrf One
ควรทำงานให้กับไดรเวอร์ที่เปิดใช้งาน Osmocom ทั้งหมดในแพ็คเกจ Ubuntu 24.04
ปัจจุบันโมดูล gnuradio รวบรวม
- gr-lora_sdr (https://github.com/tapparelj/gr-lora_sdr)
- gr-satellites (https://github.com/daniestevez/gr-satellites)
- GR-ADAPT (https://github.com/karel/gr-adapt)
- GR-Inspector (https://github.com/radioconda/gr-inspector)
- gr-difi (https://github.com/difi-consortium/gr-difi.git)
- gr-satnogs (https://gitlab.com/librespacefoundation/satnogs/gr-satnogs/-/tree/gnuradio-3.10?ref_type=heads)
- GR-IEEEE802-15-4 (https://github.com/bastibl/gr-ieeeeeeeeeeeeeeeeeeeeeeeeeee802-15-4.git)
- GR-Iridium (https://github.com/muccc/gr-iridium.git)
(อย่าลังเลที่จะส่ง PR สำหรับการเพิ่มเติมใด ๆ )
โมดูล OTT รวมจาก Ubuntu repo
- โหมด GR-Air
- GR-Fosphor
- gr-funcube
- GR-GSM
- GR-HPSDR
- gr-iqbal
- GR-LIMSDR
- gr-osmosdr
- GR-Radar
- GR-RDS
Dockerfiles
- Dockerfile-ubuntu-base-ฐานและข้อกำหนดของ Ubuntu
- DockerFile-SDR-APPS-แพ็คเกจที่เกี่ยวข้องกับ SDR จาก Ubuntu-Repo
- Dockerfile-Custom-Builds-Source-Code Builds ของส่วนประกอบ gnuradio
เพื่อสร้าง Docker-Image
$ ./docker_build.sh
เพื่อเรียกใช้ภาพ
$ ./docker_run.sh
กำหนดเส้นทางโมดูล
ก่อนที่จะเริ่มการเปรียบเทียบ gnuradio เส้นทางโมดูลจะต้องตั้งค่าด้วยตนเองในขณะนี้
$ export pythonpath =/usr/lib/python3.12/dist-packages: /usr/lib/python3.12/site-packages: $ pythonpath
โฟลเดอร์ที่ใช้ร่วมกัน
- สร้าง /home /gnuradio บนโฮสต์ของคุณและมีสิ่งนี้เป็นที่เก็บข้อมูลที่ใช้ร่วมกันระหว่างคอนเทนเนอร์และโฮสต์ อนุญาตให้การตั้งค่า gnuradio ฯลฯ ได้รับการบันทึกระหว่าง builds/sessions
- AS /Home /Gnuradio ถูกตั้งค่าให้แชร์มันจะทำให้ชีวิตง่ายขึ้นหากคุณอัปเดต "Dockerfile-Custom-Builds" และตั้งค่า UID เป็น UID เดียวกับผู้ใช้ปกติของคุณ
สิ่งที่ต้องทำ
- การกระทำของ GitHub เพื่อสร้างภาพนักเทียบท่า
- ตัวอย่าง gnuradio
- การตั้งค่าบางประเภทเพื่อให้สามารถเรียกใช้สิ่งที่สามารถเข้าถึงเครือข่ายได้เช่น https://github.com/gnuradio/gr-bokehgui
- แยกสิ่งที่จะรวมอยู่ใน Docker-Image และทำให้โมดูลรหัสแหล่งที่มาติดตั้งนั้นเป็นของตัวเอง