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

    NB-IoT | More details required

    Scheduled Pinned Locked Moved FiPy
    4 Posts 2 Posters 91 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.
    • B Offline
      bitvijays
      last edited by

      Hello All,

      Have multiple queries regarding NB-IoT. I have a vodafone sim NB-IoT purchased via PyCom.

      1. My region does have NB-IoT coverage (SIM got connected once). However, when trying to connect again, it does not connect. Is the connection over NB-IoT not consistent?

      2. Once we are connected over NB-IoT, how do we send data over particular IP (Let's say any remote cloud machine AWS, Azure). As mentioned FAQ for Pycom Vodafone NB-IoT SIM and Airtime. There are restriction in Real-World Internet Access in NB-IoT: The hardware enables only UDP transport over IP and the destination IP is typically not a real world one.

        • Does that mean only UDP payload can be transferred over NB-IoT?
        • Destination IP is not real one? Is it private one? Does Vodafone provides any particular server? or via PyCom-Vodafone-NB-IoT sim we can only transfer data to Pybytes?
      3. Although, I am aware of the latency and througput in NB-IoT. For this, I did tried to ping google.com. It seems DNS request does not meant to be on NB-IoT as per this discussion NB-IoT - DNS not working

      4. Does lte.uecoverage() provides whether there is network coverage ? If Yes, can it be executed before lte.attach()

      Here are the details which might be required

      >>> print(lte.send_at_cmd('AT!="fsm"'))
      
      SYSTEM FSM
      ==========
          +--------------------------+--------------------+
          |            FSM           |        STATE       |
          +--------------------------+--------------------+
          | RRC TOP FSM              |CAMPED              |
          | RRC SEARCH FSM           |CAMPED              |
          | RRC ACTIVE FSM           |IDLE                |
          | PMM PLMN FSM             |NORM_CAMPED         |
          | EMM MAIN FSM             |NULL                |
          | EMM AUTH FSM             |NULL                |
          | EMM CONN FSM             |NULL                |
          | EMM TAU FSM              |NULL                |
          | EMM TEST FSM             |NULL                |
          | ESM BEARER FSM           |BEARER_NULL         |
          | SMS MT FSM               |IDLE                |
          | SMS MO FSM               |IDLE                |
          | LPP FSM                  |IDLE                |
          | HP MAIN FSM              |IDLE                |
          | HP USIM FSM              |READY               |
          | HP SMS MO FSM            |IDLE                |
          | HP SMS MT FSM            |IDLE                |
          | HP CAT FSM               |IDLE                |
          +--------------------------+--------------------+
      
      OK
      
      >>> print(lte.send_at_cmd('AT!="showphy"'))
      
      DL SYNCHRO STATISTICS
      =====================
          Synchro state                         : DRX_SLEEP
          PPU SIB1 ACQ watchdog                 : 0
          Frequency Hypothesis RF  (Hz)         : 0
          RSRP (dBm)                            : -81.89
          RSRQ  (dB)                            : -11.60
          Channel estimation state (Cell-spec.) : HIGH CINR
          Channel estimation state (UE-spec.)   : LOW CINR
          Channel estimation state (MBSFN)      : LOW CINR
          Channel estimation CINR               : 14.56
          Channel length                        : SHORT
        AGC
          AGC RX gain (dB)                      : 44.78
          RX PSD BO (dBFs)                      : -21.12
          RX PSD (dBm)                          : -84.03
          Noise level RS (dBm)                  : -95.69
          Digital gain (dB)                     : 2.66
          CINR RS (dB)                          : 13.80
        NARROWBANDS
          Last DL NB                            : Central
          Last UL NB                            : 0
        AFC
          Frequency offset RF  (Hz)             : -167
          Frequency offset BB  (Hz)             : 0
        PBCH
          MIB received quantity                 : 0
          MIB timeout quantity                  : 0
      
      OK
      
      >>> print(lte.send_at_cmd('AT!="showver"'))
      
      SYSTEM VERSION
      ==============
        FIRMWARE VERSION
          Bootloader0  : 5.1.1.0 [41065]
          Bootloader1* : 6.0.0.0 [41019]
          Bootloader2  : 5.1.1.0 [41065]
          NV Info      : 1.1,0,0
          Software     : 6.0.0.0 [41019] by robot-soft at 2018-12-13 21:41:15
          UE           : 6.0.0.0
        COMPONENTS
          ZSP0         : 1.0.99-3171
          ZSP1         : 1.0.98-3170
      
      OK
      
      >>> print(lte.send_at_cmd('AT!="RRC:showcaps"'))
      
      == CAPS config =============================
        .Lock UE on SRV band    : false
        .MFBI support           : true
        .TM8 TDD support        : false
      ============================================
      == CAPS ====================================
        . access stratum: R13
        . catM          : 1
        . nb-IoT        : 1
      -- EUTRA bands --
        . supported     : 66/28/26/25/20/19/18/17/14/13/12/8/5/4/3/2/1
        . board         : 1/2/3/4/5/8/12/13/14/17/18/19/20/25/26/28/66
        . admin         : 
        . pending admin : 
      -- EUTRA carriers --
        . admin         : 
        . pending admin : 
      ============================================
      
      OK
      
      os.uname()
      (sysname='FiPy', nodename='FiPy', release='1.20.2.rc7', version='v1.11-6d01270 on 2020-05-04', machine='FiPy with ESP32', lorawan='1.0.2', sigfox='1.0.1', pybytes='1.4.0')
      
      1 Reply Last reply Reply Quote 0
      • G Offline
        Gijs
        last edited by

        Hi,
        To answer your questions

        1. It should connect again. Of course, due to variations in the environment and other users, a connection cannot be guaranteed, similar to WiFi and cellular connections

        2. The Vodafone cards sold by Pycom are meant to only communicate through Pybytes. Now it might resolve other DNS addresses, but connections will generally not work

        3. I am not exactly sure what you mean here.. NB-IoT should support DNS, see point 2.

        4. the command should indeed tell you whether there is network coverage. You can check the at!="fsm" command during the attaching process, against the guide here: https://docs.pycom.io/tutorials/networks/lte/

        1 Reply Last reply Reply Quote 0
        • B Offline
          bitvijays
          last edited by

          @Gijs Hope you are doing well and had a good weekend. Thank you for your support. Have few more queries regarding NB-IoT.

          1. Is there a way to figure the bandwidth, throughput in NB-IoT. Usually, we can do it use iperf3 running remotely and running iperf3 on FiPy? However, not sure how we can do it in NB-IoT.

          2. What are the different ways to send data using NB-IoT? I believe currently there is only one way Send Signal pybytes.send_signal(pin, value) ? Are there any other?

          3. What the max size of the value? Is it string, int, float or anything? Kind of what's the max payload / max message size for NB-IoT?

          4. What does pybytes.send_signal use? At FAQ-Vodafone-Pycom-NB-IoT says only UDP transport over IP is available. What happens in the background? http, socket, mqtt? etc.

          Thank You :)

          1 Reply Last reply Reply Quote 0
          • G Offline
            Gijs
            last edited by

            Hi, to answer your questions:

            1. Im not too sure about iperf3 and the ESP32 and LTE, but there is probably something out there. According to the modem datasheet
            – LTE UE category M1 (1.4 MHz bandwidth) up to 300 kbps DL/375 kbps UL in HD-FDD, and 1 Mbps in FD-FDD
            – LTE UE category NB1 (200 kHz bandwidth) up to 40 kbps DL/55 kbps UL in HD-FDD
            
            1. You are able to use a socket to send data, however connections through a Pycom Vodafone simcard are limited as discussed before
            2. From what Ive seen a lot is possible here. You can send strings, integers, floats etc. Not sure about the size limit. You are also able to send custom signals with formats etc.
            3. send_signal uses MQTT in the background to mqtt.pybyts.pycom.io
            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