NB-IoT | More details required
-
Hello All,
Have multiple queries regarding NB-IoT. I have a vodafone sim NB-IoT purchased via PyCom.
-
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?
-
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?
-
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
-
Does
lte.uecoverage()
provides whether there is network coverage ? If Yes, can it be executed beforelte.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')
-
-
Hi, to answer your questions:
- 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
- You are able to use a socket to send data, however connections through a Pycom Vodafone simcard are limited as discussed before
- 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.
send_signal
uses MQTT in the background to mqtt.pybyts.pycom.io
-
@Gijs Hope you are doing well and had a good weekend. Thank you for your support. Have few more queries regarding NB-IoT.
-
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.
-
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? -
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?
-
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 :)
-
-
Hi,
To answer your questions-
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
-
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
-
I am not exactly sure what you mean here.. NB-IoT should support DNS, see point 2.
-
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/
-