Welcome to the Pycom forum Forum
    • \[\[global:header.categories\]\]
    • \[\[global:header.recent\]\]
    • \[\[global:header.tags\]\]
    • \[\[global:header.popular\]\]
    • Login

    Explore Pybytes | Official Documentation | Report a Firmware Bug/Issue | GitHub

    The things network

    Scheduled Pinned Locked Moved LoPy
    11 Posts 2 Posters 71 Views 2 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • J Offline
      jcaron @kjm
      last edited by

      @kjm normally all gateways on TTN are open to all, that’s the whole goal of TTN.

      Have you checked that your device settings match the TTN frequency plan for your region? Are you trying indoors or outdoors? How far away is the gateway? Do you have line of sight? What kind of antenna do you have? What details do TTN give about the gateway (indoors/outdoors, antenna...)?

      It is perfectly possible that the gateway “hears” your device but not the other way around. Try to bring your node to a place where you have direct line of sight to the gateway to be sure the settings are correct, after that it’s just a matter of link budget.

      1 Reply Last reply Reply Quote 1
      • K Offline
        kjm
        last edited by

        I've got the lopy4 set to the AS923 the gateway is using with a decent 5dB external antenna. I've got a hunch the problem is not RF related because the activation shows on the TTN console the instant the lopy4 sends. I've doubled checked the app_eui & app_key are correct for OTAA but no lora.has_joined() for this little black duck.

        J 1 Reply Last reply Reply Quote 0
        • J Offline
          jcaron @kjm
          last edited by

          @kjm what RSSI and SNR levels do you see on the join request? Do you see the join accept being sent in the logs?

          Remember that RF links are not necessarily symmetric, especially when you have different equipment at both ends, due to variations in TX power, sensitivity, noise, etc. If you are close to the edge, it could very well work in one direction and not the other.

          There are several possible reasons for the join to fail in this case (as we know the gateway receives the request):

          • The network does not send an accept at all;
          • The node is not listening for the accept with the right settings (not the right time, not the right frequency, not the right data rate);
          • The node cannot receive the accept because the link budget is exceeded (the signal is too weak).

          The last one is probably the easiest to debug, so I would start by taking the node and moving it to a location where I know for sure it can receive the accept (I.e. with line of sight to the gateway). If you succeed, then it’s definitely an RF problem at the original location. If you don’t, you can start looking into the other ones.

          Alternatively, screenshots of the TTN logs may be helpful to try to find other issues.

          K 1 Reply Last reply Reply Quote 0
          • K Offline
            kjm @jcaron
            last edited by

            @jcaron I'm not sure how to get RSSI for a join request. I've only ever seen lora.stats used after an s.receive(64), which is further down in the program after a successful join request & some data has been sent.

            I don't see any hint of a join accept being sent in the logs. Every time the lopy4 tries to join all I get on the console is a time, dev addr, app eui & dev eui

            K 1 Reply Last reply Reply Quote 0
            • K Offline
              kjm @kjm
              last edited by

              @kjm Still can't figure out how to get a join accept from this

              “eui-00800000a0004dc1”:{“id”:“eui-00800000a0004dc1”,“description”:“SydneyWater - Meshed - South Windsor - AS923”,“owner”:“maj”,“owners”:[“maj”], “location”:“latitude”:-33.62514114379883, “longitude”:150.80197143554688, “altitude”:66},“country_code”:“au”,“attributes”:{“brand”:“MultiTech”, “frequency_plan”:“AS_920_923”,“model”:“Conduit”,“placement”:“outdoor”},“last_seen”:“2020-10-12T22:12:54Z”

              gateway here in Australia. The join requests are making it to TTN server but the lopy4 never gets an accept. According to https://www.thethingsnetwork.org/docs/lorawan/frequency-plans.html AS_920_923 is actually 2 plans 'AS1' & 'AS2'. My working hypothesis is that the gateway is sending the join accept but the lopy4 (release='1.18.2.r1') is listening on the wrong frequency or group of frequencies to receive it.

              I'm a bit unsure how to proceed. Is there some change I could make to the lopy code

              from network import LoRa
              import time, binascii, pycom
              pycom.heartbeat(False) 
              pycom.rgbled(0x7f0000) #red
              app_eui = binascii.unhexlify('70B3D57ED00363A8')
              app_key = binascii.unhexlify('C77C32E59D88FC0222169AB62F4D74D7')
              lora = LoRa(mode=LoRa.LORAWAN, region=LoRa.AS923, public=1,  adr=0, tx_retries=0)
              lora.join(activation=LoRa.OTAA, auth=(app_eui, app_key), timeout=0)
              while not lora.has_joined():
                  pycom.rgbled(0x7f7f00) #yellow
                  time.sleep(5)
                  print('Trying to join TTN Network!')
              print('Network joined!')
              pycom.rgbled(0x007f00) #green
              

              to increase my chances of getting a join accept?

              K J 2 Replies Last reply Reply Quote 0
              • K Offline
                kjm @kjm
                last edited by

                @kjm Looks like the bandplan in AU is AS1
                Uplink:
                923.2 - SF7BW125 to SF12BW125
                923.4 - SF7BW125 to SF12BW125
                922.2 - SF7BW125 to SF12BW125
                922.4 - SF7BW125 to SF12BW125
                922.6 - SF7BW125 to SF12BW125
                922.8 - SF7BW125 to SF12BW125
                923.0 - SF7BW125 to SF12BW125
                922.0 - SF7BW125 to SF12BW125
                922.1 - SF7BW250
                921.8 - FSK
                Downlink:
                Uplink channels 1-10 (RX1)
                923.2 - SF10BW125 (RX2)

                Is there a way I can find out if

                region=LoRa.AS923
                

                is, in fact, implementing those frequencies?

                1 Reply Last reply Reply Quote 0
                • J Offline
                  jcaron @kjm
                  last edited by

                  @kjm in the TTN console, you should be able to lookup packets received from/sent to your device, including join requests and accepts. IIRC packets received from your device, including join requests, should show at least the RSSI.

                  If the join accepts or requests do not show up in the logs then you probably have an issue with EUIs.

                  K 1 Reply Last reply Reply Quote 0
                  • K Offline
                    kjm @jcaron
                    last edited by

                    @jcaron Join request in the logs but nothing else, no rssi, no hint if a join accept was sent. None of the buttons do anything (except 'activation' which sends the screen blank), so opaque!
                    ttn.jpg

                    J 1 Reply Last reply Reply Quote 0
                    • J Offline
                      jcaron @kjm
                      last edited by

                      @kjm Ah, sorry, it looks like on TTN you only see the details in the gateway logs rather than the device logs, which doesn’t help you much here (don’t have a setup on TTN to confirm this at this time, though).

                      But the fact the activation is associated with the device should mean an accept is sent back. So back to square one, either the settings of the node are off, or it’s just a bit too far to receive it.

                      K 1 Reply Last reply Reply Quote 0
                      • K Offline
                        kjm @jcaron
                        last edited by

                        @jcaron I tried another lopy4 & got some metadata
                        ttnmeta.jpg
                        it doesn't indicate if a join accept was sent but seems to show 3 gateways?

                        The really weird thing is I terminated the program

                        from network import LoRa
                        import time, binascii, pycom
                        pycom.heartbeat(False)
                        pycom.rgbled(0x7f0000) #red
                        app_eui = binascii.unhexlify('70B3D57ED00363A8')
                        app_key = binascii.unhexlify('757CC90FE2A05ACA33C6FE8376F8DBD2')
                        lora = LoRa(mode=LoRa.LORAWAN, region=LoRa.AS923, public=1,  adr=0, tx_retries=0)
                        lora.join(activation=LoRa.OTAA, auth=(app_eui, app_key), timeout=0)
                        while not lora.has_joined():
                            pycom.rgbled(0x7f7f00) #yellow
                            time.sleep(5)
                            print('Trying to join TTN Network!')
                        print('Network joined!')
                        pycom.rgbled(0x007f00) #green
                        
                        

                        or at least I thought I did (it was no longer printing 'Trying to join TTN Network!' but weirdly join requests kept appearing on the console every 37s. Code like that, beavering away in the background transmitting RF with no indication of what it is up to, terrifies me!

                        1 Reply Last reply Reply Quote 0

                        Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                        Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                        With your input, this post could be even better 💗

                        Register Login
                        • 1 / 1
                        • First post
                          Last post

                        Pycom on Twitter

                        Pycom