Where communities thrive

  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
    Ivaylo Petrov
    (I think Rust will be an important language for IoT :) )
    so if you need to use a library for creating your LoRaWAN packets soon (before new year), we can discuss how you can help with the development
    I hope that during the holidays, I will manage to spend a little bit more time on this and have at least most of the serialization functionality as well (although I can not promise anything...)
    Marco Caballero
    Hey Ivaylo, sorry for the late reply
    As you can imagine, I don't need to have the library working in 2017, but would definitely love to use it sooner rather than later.
    Regarding the actual communication with the radios
    I saw that your project is based off of LoraWan(Go)
    how do they communicate with the underlying radio, do you know?
    The Lora radio module I'm using is one of the so called "hats" for Raspberry Pi, that communicates with the rpi through GPIO pins
    so another option I'm considering is that if your library works for coding/encoding messages for Lora, and then it's just a matter of transmitting those bytes
    I could write my own Lora driver that uses GPIO to write into the radio buffers and set whatever registers is needed.
    but I definitely want to learn first what the community does in general first
    no point in re-doing work that might be available already
    By the way, do you know where I can find the LoraWAN protocol specification pdf?
    The links I've found are broken
    I would be keen to contribute to your library too, but I'm not at all familiar with the protocol at this point so I need some theoretical knowledge as well
    Ivaylo Petrov

    The library has the goal having the bytes for the packet to provide you an interface to read all the relevant information in an understandable way and the opposite - having desired values for all the of the fields, to generate the bytes for the packet. It does not try to obtain the bytes themselves from the hardware hat. This can be done on a number of hardwares using the semtech packet forwarder (can be found here). The packet forwarder sends UDP packets that contain JSON and inside the JSON are the raw bytes of the LoRaWAN MAC layer.

    If you want, you can write your own implementation that communicates with the GPIO pins - that will sure be interesting as well I think.

    The connection with LoRaWAN(Go) is inspiration, test data and clarifications how to read some of the fields (otherwise I need to perform tests to see this).

    As for the specification, the "official" way is to use the request link here

    Ivaylo Petrov
    Hello :)
    I just pushed a new version of the lib, where I added support for creating new lorawan packets. I also changed a little bit the structure of the code - nothing dramatic, just the code is now split into multiple modules. I hope that now the lib will be much more usable for you :)
    Marco Caballero
    Hey Ivaylo
    Thank you very much
    I'll look at it soon
    and also let you know what I eventually ended up doing for sending the packets to the actual lora radio
    Ivaylo Petrov
    Hey is there any way of running this in a no-std environment?
    @IGBC_gitlab Since you seem to be working on this, have you tried using it to generate packets? There seems to be some issue with the format somewhere.
    Ivaylo Petrov
    Hello @jslater89
    Could you provide more details what have you tried to accomplish, what was the expected result and what happened in reality. This can be really helpful in order to resolve your issue.
    Feel free to create an issue in the issue tracker as well with that information if you prefer
    thank you in advance :)
    Thanks for the reply—turns out, on closer inspection, it's an issue with something else in the radio stack. The packets are formatted correctly. Thanks for your work on the library!
    Ivaylo Petrov
    I am glad that you figured our your problem and that the library is actually useful :)