tapparelj / gr-lora_sdr

This is the fully-functional GNU Radio software-defined radio (SDR) implementation of a LoRa transceiver with all the necessary receiver components to operate correctly even at very low SNRs. This work has been conducted at the Telecommunication Circuits Laboratory, EPFL.
https://www.epfl.ch/labs/tcl/
GNU General Public License v3.0
687 stars 74 forks source link

Issue on installation on Mac3 #116

Open Maryam919 opened 1 month ago

Maryam919 commented 1 month ago

Hi, I followed step by step the installation part and install gr-lora-sdr module (without condo), when I check I see lora_sdr_puthon.so, and saw the lora blocks inside GNURadio but when I open an example from your repository it does not work! I trouble shout several times but it still does not work, last time all lora blocks disappeared from GNURadio! Could you help me to install on Mac?

tapparelj commented 4 weeks ago

Hello @maryam, I've never tried the installation from source on Mac. If the block don't appear but you managed to build and install the oot module without errors, I would suspect an issue with the installation path. How did you install gnuradio? When installing this OOT module, what was installation path? If you open a terminal, run python and try to ''import lora_sdr'' does it find the module?

Maryam919 commented 3 weeks ago

Hi, Thank you for your email, I sent the explanation on my email, this is whatever I receive :

xxxx.....MacBook-Pro gr-lora_sdr % python3 -c "from gnuradio import lora_sdr"

Traceback (most recent call last):

File "", line 1, in

ImportError: cannot import name 'lora_sdr' from 'gnuradio' (/opt/homebrew/lib/python3.12/site-packages/gnuradio/init.py)

xxxxx-MacBook-Pro gr-lora_sdr %

On Mon, Oct 28, 2024 at 9:12 PM Joachim Tapparel @.***> wrote:

Hello @Maryam https://github.com/Maryam, I've never tried the installation from source on Mac. If the block don't appear but you managed to build and install the oot module without errors, I would suspect an issue with the installation path. How did you install gnuradio? When installing this OOT module, what was installation path? If you open a terminal, run python and try to ''import lora_sdr'' does it find the module?

— Reply to this email directly, view it on GitHub https://github.com/tapparelj/gr-lora_sdr/issues/116#issuecomment-2442964542, or unsubscribe https://github.com/notifications/unsubscribe-auth/BKZUXUDHDQ6UJVWX7SM46V3Z53OHNAVCNFSM6AAAAABQV3CEWGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDINBSHE3DINJUGI . You are receiving this because you authored the thread.Message ID: @.***>

Maryam919 commented 3 weeks ago

@.*** build % ls /opt/homebrew/lib/python3.12/site-packages/gnuradio/

init.py eng_option.py plot_psd_base.py

pycache fec pyqt_filter.py

analog fft pyqt_plot.py

audio filter qtgui

bindtool gr soapy

blocks gr_unittest.py trellis

blocktool grc uhd

channels modtool vocoder

digital network wavelet

dtv pdu zeromq

eng_arg.py plot_data.py

eng_notation.py plot_fft_base.py @.*** build %

Sincerely, Maryam

On Mon, Nov 4, 2024 at 9:10 AM Maryam Fazli @.***> wrote:

Hi, Thank you for your email, I sent the explanation on my email, this is whatever i receive :

xxxx.....MacBook-Pro gr-lora_sdr % python3 -c "from gnuradio import lora_sdr"

Traceback (most recent call last):

File "", line 1, in

ImportError: cannot import name 'lora_sdr' from 'gnuradio' (/opt/homebrew/lib/python3.12/site-packages/gnuradio/init.py)

xxxxx-MacBook-Pro gr-lora_sdr % Sincerely, Maryam

On Mon, Oct 28, 2024 at 9:12 PM Joachim Tapparel @.***> wrote:

Hello @Maryam https://github.com/Maryam, I've never tried the installation from source on Mac. If the block don't appear but you managed to build and install the oot module without errors, I would suspect an issue with the installation path. How did you install gnuradio? When installing this OOT module, what was installation path? If you open a terminal, run python and try to ''import lora_sdr'' does it find the module?

— Reply to this email directly, view it on GitHub https://github.com/tapparelj/gr-lora_sdr/issues/116#issuecomment-2442964542, or unsubscribe https://github.com/notifications/unsubscribe-auth/BKZUXUDHDQ6UJVWX7SM46V3Z53OHNAVCNFSM6AAAAABQV3CEWGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDINBSHE3DINJUGI . You are receiving this because you authored the thread.Message ID: @.***>

tapparelj commented 3 weeks ago

I would repeat my question: when installing this OOT module, what was installation path? (It will be written in the terminal when you run make install while in the build folder.

Maryam919 commented 2 weeks ago

When I run make install on Mac:

-- Build files have been written to: /Users/maryamf/gr-lora_sdr/build

@.*** build % make install

[ 46%] Built target gnuradio-lora_sdr

[ 48%] Built target doxygen_target

[ 48%] Built target copy_module_for_tests

[ 51%] Built target extracted_docstrings

[ 53%] Built target lora_sdr_docstrings

[100%] Built target lora_sdr_python

Install the project...

-- Install configuration: "Release"

-- Up-to-date: /usr/local/include/gnuradio/lora_sdr/api.h

CMake Error at include/gnuradio/lora_sdr/cmake_install.cmake:41 (file):

file INSTALL cannot set permissions on

"/usr/local/include/gnuradio/lora_sdr/api.h": Operation not permitted.

Call Stack (most recent call first):

cmake_install.cmake:42 (include)

make: *** [install] Error 1

@.*** build %

Another question: I was disappointed to install on Mac so I installed the LoRa blocks from gr-Lora-sdr Github on the Ubuntu arm based VM. I am really thankful if you could clarify for me: How can I install a Heltec LoRa32 (863~928) as a LoRa transmitter node to send data and check the log file on the receiver side (my receiver is an USRP) by GNU radio? Sincerely, Maryam

On Tue, Nov 5, 2024 at 6:47 AM Joachim Tapparel @.***> wrote:

I would repeat my question: when installing this OOT module, what was installation path? (It will be written in the terminal when you run make install while in the build folder.

— Reply to this email directly, view it on GitHub https://github.com/tapparelj/gr-lora_sdr/issues/116#issuecomment-2456958072, or unsubscribe https://github.com/notifications/unsubscribe-auth/BKZUXUDAQZWXP627LLFW7HDZ7CV4XAVCNFSM6AAAAABQV3CEWGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDINJWHE2TQMBXGI . You are receiving this because you authored the thread.Message ID: @.***>

tapparelj commented 2 weeks ago

Ok for the installation, there is an error for the installation path (I'm really not familiar with mac so I'll try my best). Based on the error messages I would try to install the module where python looks for it, can you try to install the OOT module in /opt/homebrew/ by running cmake .. -DCMAKE_INSTALL_PREFIX=/opt/homebrew make install (you may need to use "sudo make install" to have the right to install things there).

For your other question: I don't have that exact board available, but I could use sx1262 without issues. You need to get a library that allow you to configure the LoRa chip and send messages, then set the same configuration (spreading factor, center frequency, bandwidth,sync word,..) for the USRP (in gnuradio) and for your node. I can't test it, but this and look at the loraBasic examples should do the trick.

Maryam919 commented 2 weeks ago

Thank you for your support first,

I did whatever you sent, the LoRa blocks appeared in GNU radio but, when I open a lora_TX.grc example in GNU radio I will receive this error there : Error: mapping values are not allowed in this context in "/Users/maryamf/Downloads/lora_TX.grc", line 208, column 97

Failure

Could you please explain to me more about using " sx1262" ? I am not familiar with it. Actually I would implement a LoRa environment by using SDR and GNU radio and Heltec LoRa board, I am looking for a good scenario to send and receive data and check the log file of received data. Then I wanna start a jamming scenario toward that and test the result. Are you familiar with that library you sent?

On Wed, Nov 6, 2024 at 9:19 AM Joachim Tapparel @.***> wrote:

Ok for the installation, there is an error for the installation path (I'm really not familiar with mac so I'll try my best). Based on the error messages I would try to install the module where python looks for it, can you try to install the OOT module in /opt/homebrew/ by running cmake .. -DCMAKE_INSTALL_PREFIX=/opt/homebrew make install (you may need to use "sudo make install" to have the right to install things there).

For your other question: I don't have that exact board available, but I could use sx1262 without issues. You need to get a library that allow you to configure the LoRa chip and send messages, then set the same configuration (spreading factor, center frequency, bandwidth,sync word,..) for the USRP (in gnuradio) and for your node. I can't test it, but this https://github.com/HelTecAutomation/Heltec_ESP32/tree/master and look at the loraBasic examples should do the trick.

— Reply to this email directly, view it on GitHub https://github.com/tapparelj/gr-lora_sdr/issues/116#issuecomment-2459878572, or unsubscribe https://github.com/notifications/unsubscribe-auth/BKZUXUDLEGCPLKYVXQRJ4STZ7IQNZAVCNFSM6AAAAABQV3CEWGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDINJZHA3TQNJXGI . You are receiving this because you authored the thread.Message ID: @.***>

tapparelj commented 2 weeks ago

There should be a format error that only appears on mac.. can you try copy and past the content of the file in https://www.yamllint.com/ and see if it finds any error?

Unfortunately, I can't give you a full tutorial. The link is the reference code from Heltec. You should be able to find some tutorial for your specific board.

Maryam919 commented 2 weeks ago

Many thanks. I did copy and paste the content of the file in https://www.yamllint.com/, and received : Valid YAML!

On Wed, Nov 6, 2024 at 9:42 AM Joachim Tapparel @.***> wrote:

There should be a format error that only appears on mac.. can you try copy and past the content of the file in https://www.yamllint.com/ and see if it finds any error?

Unfortunately, I can't give you a full tutorial. The link is the reference code from Heltec. You should be able to find some tutorial for your specific board.

— Reply to this email directly, view it on GitHub https://github.com/tapparelj/gr-lora_sdr/issues/116#issuecomment-2459936596, or unsubscribe https://github.com/notifications/unsubscribe-auth/BKZUXUB2MWROWOP6CQ55E2LZ7ITFPAVCNFSM6AAAAABQV3CEWGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDINJZHEZTMNJZGY . You are receiving this because you authored the thread.Message ID: @.***>

tapparelj commented 2 weeks ago

Then, sadly, I only see two options:

Maryam919 commented 2 weeks ago

Thank you, I will check it out.

Sincerely, Maryam

On Wed, Nov 6, 2024 at 10:13 AM Joachim Tapparel @.***> wrote:

Then, sadly, I only see two options:

— Reply to this email directly, view it on GitHub https://github.com/tapparelj/gr-lora_sdr/issues/116#issuecomment-2460026374, or unsubscribe https://github.com/notifications/unsubscribe-auth/BKZUXUCQNUT24W3G7S4FDZLZ7IWYXAVCNFSM6AAAAABQV3CEWGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDINRQGAZDMMZXGQ . You are receiving this because you authored the thread.Message ID: @.***>

Maryam919 commented 2 weeks ago

Hi, I downloaded lora-RX flowgraph. It works on Ubuntu, one question I have is, how can I see the chirps? I must add which block and where inside the flowgraph? Sincerely, Maryam

On Wed, Nov 6, 2024 at 10:36 AM Maryam Fazli @.***> wrote:

Thank you, I will check it out.

Sincerely, Maryam

On Wed, Nov 6, 2024 at 10:13 AM Joachim Tapparel @.***> wrote:

Then, sadly, I only see two options:

— Reply to this email directly, view it on GitHub https://github.com/tapparelj/gr-lora_sdr/issues/116#issuecomment-2460026374, or unsubscribe https://github.com/notifications/unsubscribe-auth/BKZUXUCQNUT24W3G7S4FDZLZ7IWYXAVCNFSM6AAAAABQV3CEWGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDINRQGAZDMMZXGQ . You are receiving this because you authored the thread.Message ID: @.***>

tapparelj commented 2 weeks ago

Hello, you can see them by using a "QT GUI Waterfall". However this block has a relatively low resolution so you will be able to see the chirps clearly only for large SFs (e.g. sf12). You might want to decrease the update period as well. Else you can just save the IQ samples to a file and load them with any programing language you like and plot the instantaneous frequency with some form of differential(unwrap(angle(IQ_samples))).