Code Monkey home page Code Monkey logo

martynvdijke / gr-lora_sdr Goto Github PK

View Code? Open in Web Editor NEW

This project forked from tapparelj/gr-lora_sdr

20.0 20.0 2.0 23.61 MB

This is the fully-functional GNU Radio software-defined radio (SDR) implementation of a LoRa transceiver with all the necessary transceiver components to operate correctly even at very low SNRs. This work is a collaboration of the Telecommunication Circuits Laboratory from EPFL and the Electronic Systems group from the Technical University of Eindhoven.

Home Page: https://martynvdijke.github.io/gr-lora_sdr/html/index.html

License: GNU General Public License v3.0

CMake 2.09% Python 61.86% Shell 0.20% C++ 32.66% C 3.04% Dockerfile 0.06% Makefile 0.09%
gnuradio gnuradio-companion lora sdr

gr-lora_sdr's People

Contributors

actions-user avatar bkerler avatar imgbotapp avatar martynvdijke avatar tapparelj avatar timvrakas avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

gr-lora_sdr's Issues

Update n_required_items once work_done signal is recieved

Noiw once a work_done signal is send it must propagate the entire flowgraph with the required number of input and output items, this should lead to a lag in the system.
It is better to update the number of required items to 1 once a work_done signal is recieved

Cmake errors and GNU Radio version issues

I just tried to run the repository from the conda environment provided. GNU Radio 3.9.5 is installed on my machine, but after setting up the conda environment, the GNU Radio version in that environment says 3.8.2, causing errors when I tried to run cmake. I'm guessing this just means that the environment.yml file didn't get updated to 3.9 when the rest of the repository switched?

ImportError: libgnuradio-lora_sdr.so.0.5.0git: cannot open shared object file: No such file or directory (Ubuntu Jammy)

I have built the sources properly and installed in /usr/local. Any attempt to use companion or the standalone python files in the affected Ubuntu Jammy system yields this error:

ImportError: libgnuradio-lora_sdr.so.0.5.0git: cannot open shared object file: No such file or directory

ldd /usr/local/lib/python3.10/dist-packages/lora_sdr/lora_sdr_python.cpython-310-x86_64-linux-gnu.so
	linux-vdso.so.1 (0x00007ffd5c3bd000)
	libgnuradio-lora_sdr.so.0.5.0git => not found
	libgnuradio-runtime.so.3.10.1 => /lib/x86_64-linux-gnu/libgnuradio-runtime.so.3.10.1 (0x00007f9b54850000)
	libstdc++.so.6 => /lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f9b54624000)
	libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f9b54604000)
	libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f9b543dc000)
	libgnuradio-pmt.so.3.10.1 => /lib/x86_64-linux-gnu/libgnuradio-pmt.so.3.10.1 (0x00007f9b5437f000)
	libvolk.so.2.5 => /lib/x86_64-linux-gnu/libvolk.so.2.5 (0x00007f9b540ba000)
	libboost_program_options.so.1.74.0 => /lib/x86_64-linux-gnu/libboost_program_options.so.1.74.0 (0x00007f9b54075000)
	libboost_thread.so.1.74.0 => /lib/x86_64-linux-gnu/libboost_thread.so.1.74.0 (0x00007f9b54053000)
	libspdlog.so.1 => /lib/x86_64-linux-gnu/libspdlog.so.1 (0x00007f9b53fd8000)
	libfmt.so.8 => /lib/x86_64-linux-gnu/libfmt.so.8 (0x00007f9b53fb7000)
	libgmp.so.10 => /lib/x86_64-linux-gnu/libgmp.so.10 (0x00007f9b53f33000)
	libunwind.so.8 => /lib/x86_64-linux-gnu/libunwind.so.8 (0x00007f9b53f18000)
	libpython3.10.so.1.0 => /lib/x86_64-linux-gnu/libpython3.10.so.1.0 (0x00007f9b53940000)
	libthrift-0.16.0.so => /lib/x86_64-linux-gnu/libthrift-0.16.0.so (0x00007f9b538a7000)
	libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f9b537c0000)
	/lib64/ld-linux-x86-64.so.2 (0x00007f9b54a46000)
	liborc-0.4.so.0 => /lib/x86_64-linux-gnu/liborc-0.4.so.0 (0x00007f9b53739000)
	liblzma.so.5 => /lib/x86_64-linux-gnu/liblzma.so.5 (0x00007f9b5370e000)
	libexpat.so.1 => /lib/x86_64-linux-gnu/libexpat.so.1 (0x00007f9b536dd000)
	libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007f9b536c1000)
	libssl.so.3 => /lib/x86_64-linux-gnu/libssl.so.3 (0x00007f9b5361d000)
	libcrypto.so.3 => /lib/x86_64-linux-gnu/libcrypto.so.3 (0x00007f9b531d9000)
$ LD_LIBRARY_PATH=/usr/local/lib python apps/single_user/tx_rx_simulation.py 
Traceback (most recent call last):
  File "/home/user/code/thirdparty/gr-lora_sdr/apps/single_user/tx_rx_simulation.py", line 22, in <module>
    import lora_sdr
  File "/usr/local/lib/python3.10/dist-packages/lora_sdr/__init__.py", line 18, in <module>
    from .lora_sdr_python import *
ImportError: libgnuradio-lora_sdr.so.0.5.0git: cannot open shared object file: No such file or directory
$ find /usr/local/ -name libgnuradio-lora_sdr.so.0.5.0git
/usr/local/lib/x86_64-linux-gnu/libgnuradio-lora_sdr.so.0.5.0git
$ ldd /usr/local/lib/x86_64-linux-gnu/libgnuradio-lora_sdr.so.0.5.0git
	linux-vdso.so.1 (0x00007ffe37953000)
	libgnuradio-runtime.so.3.10.1 => /lib/x86_64-linux-gnu/libgnuradio-runtime.so.3.10.1 (0x00007f6ef76a4000)
	libgnuradio-pmt.so.3.10.1 => /lib/x86_64-linux-gnu/libgnuradio-pmt.so.3.10.1 (0x00007f6ef7649000)
	libboost_thread.so.1.74.0 => /lib/x86_64-linux-gnu/libboost_thread.so.1.74.0 (0x00007f6ef7627000)
	libvolk.so.2.5 => /lib/x86_64-linux-gnu/libvolk.so.2.5 (0x00007f6ef7362000)
	libspdlog.so.1 => /lib/x86_64-linux-gnu/libspdlog.so.1 (0x00007f6ef72e7000)
	libstdc++.so.6 => /lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f6ef70b9000)
	libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f6ef6fd2000)
	libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f6ef6fb2000)
	libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f6ef6d8a000)
	libboost_program_options.so.1.74.0 => /lib/x86_64-linux-gnu/libboost_program_options.so.1.74.0 (0x00007f6ef6d45000)
	libfmt.so.8 => /lib/x86_64-linux-gnu/libfmt.so.8 (0x00007f6ef6d24000)
	libgmp.so.10 => /lib/x86_64-linux-gnu/libgmp.so.10 (0x00007f6ef6ca0000)
	libunwind.so.8 => /lib/x86_64-linux-gnu/libunwind.so.8 (0x00007f6ef6c85000)
	libpython3.10.so.1.0 => /lib/x86_64-linux-gnu/libpython3.10.so.1.0 (0x00007f6ef66ad000)
	libthrift-0.16.0.so => /lib/x86_64-linux-gnu/libthrift-0.16.0.so (0x00007f6ef6614000)
	liborc-0.4.so.0 => /lib/x86_64-linux-gnu/liborc-0.4.so.0 (0x00007f6ef658f000)
	/lib64/ld-linux-x86-64.so.2 (0x00007f6ef78fd000)
	liblzma.so.5 => /lib/x86_64-linux-gnu/liblzma.so.5 (0x00007f6ef6562000)
	libexpat.so.1 => /lib/x86_64-linux-gnu/libexpat.so.1 (0x00007f6ef6531000)
	libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007f6ef6515000)
	libssl.so.3 => /lib/x86_64-linux-gnu/libssl.so.3 (0x00007f6ef6471000)
	libcrypto.so.3 => /lib/x86_64-linux-gnu/libcrypto.so.3 (0x00007f6ef602f000)

Update kiss_fft

A (semi) automated manner in order to update kiss_fft to the latest version

GNU Radio 3.8 branch compiling issues

I figure most people using this project are using newer GNU Radio versions. However, for those using 3.8, I had to make the following changes to the gnuradio3.8 branch.

lora_sdr_impl.cc is still referred to on line 55 of lib/CMakeLists.txt. I had to remove that, since lora_sdr_impl.cc was removed in a commit and said to be no longer needed.

I also think there's two references to config.h in the frame_sync_impl.cc causing this error

gr-lora_sdr/lib/frame_sync_impl.cc:4:10: fatal error: config.h: No such file or directory
4 | #include "config.h"

Not sure if removing the second reference below endif is recommened, but I did, and it built afterwards. Haven't tested it yet, but figured I'd share while it was fresh on my mind.

Thank you.

No TX or RX against commercial devices and gr-lora from rpp0

Hi,

Thanks for the port to 3.8 version of @tapparelj we can directly try. I shortly tried the project and tested the RX against TX that are working perfectly. Nevertheless, against gr-lora from rpp0 (https://github.com/rpp0/gr-lora) no uplink frame gets detected using the same config (SF, BW, freq), and neither with a Dragino LG308 gateway, and the RX part of the project doesn't see uplink packets coming from sensors I have including a LoRa shield to easily force the config with Arduino SDK. Only if I conjugate downlink, some garbage happens but not the original text.

Does it work on the original 3.7 version? Or maybe I'm missing another thing? The RX and TX I'm using are taken from the app directory, I only adapted the frequency to match the 868 MHz in Europe, used it with one channel like 868.1MHz, CR=4, SF=7, BW=125kHz, and adjusted the TX_gain to see something in my receiver using a waterfall and FFT.

Thanks in advance!

Not able to Receive

[INFO] Opening HackRF One #0 f77c60dc226275c3...
set_min_output_buffer on block 5 to 10000000
set_min_output_buffer on block 6 to 10000000
set_min_output_buffer on block 8 to 10000000
set_min_output_buffer on block 9 to 10000000
set_min_output_buffer on block 11 to 10000000
set_min_output_buffer on block 12 to 10000000
set_min_output_buffer on block 10 to 10000000
set_min_output_buffer on block 7 to 10000000
gr::log :INFO: data_source0 - INFO:Processing frame [:0/10]


Not able to receive on SX127x Receiver.
Can you please help me out?
Below is my block configuration.
grc

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.