Arduino Project with NB-IoT (3GPP) and LoRa / LoRaWAN

My favorite projects are always related to the "latest" tech in command and control, networking and network communications. This Elecrow GSM/GPRS/EDGE SIM5360E 3G Shield seems to be the "latest and the greatest" as far as 3G and GPS, as far as I can see so far, but I has it drawbacks for sure.

I've also ordered a number of IoT devices (WIFI, BLE) and some long range RF TX/RX modules, for example:

https://www.aliexpress.com/item/32814966264.html 

I have a question for you.

What, in your view, is the best wireless communications channel for passing data between from the underground parking garage (two levels below ground) to the top of a condo in the same building (27 floors up); with all the concrete in between?

When I am in the garage, my mobile phone (UMTS 850, UMTS 900, UMTS 2100 3G bands) loses signal; so I cannot use those frequency bands (typical here). I guess my question then is what RF band is best for this kind of "communications though a concrete building with a lot of concrete between the devices" ?

Do you think 923MHz LoRa is the best way to go to get a clean signal though 30 floors of concrete in a high rise condo? Or is there a better approach?

FYI: In Asia, LoRa operates in the 923 MHz Frequency Band

https://en.wikipedia.org/wiki/LoRa

What do you think?

Have Holidays!!

PS: See also:

How can LoRa help building owners cut opex?

See also:

Extreme Range Links: LoRa 868 / 900MHz SX1272 LoRa module for Arduino Waspmote and Raspberry Pi

https://www.cooking-hacks.com/documentation/tutorials/extreme-range-lora-sx1272-module-shield-arduino-raspberry-pi-intel-galileo

My thoughts are that the LoRa 923-925 (�AS2�) frequency band available in Thailand is my best bet to legally (approved frequencies bands) penetrate 30 floors of a condo, from basement to the top, but maybe there is a better way?

Bad news. Looks like the Thai government has decreed the "long range (LoRA) band" (in modern, developed countries) to be the RFID short range band in Thailand; it's all very confusing here; but it appears the authorities have made the unlicensed max power so low that this band used in other countries for long range (LoRa) IoT is being pushed down to low range RFID status in Thailand. They appear to be licensing the spectrum to their established commercial telecom companies for any power of use to build a LoRaWAN.

So, it seems my plan to build my open personal LoRa WAN in Thailand may have hit a local regulatory brick wall :frowning:

Update: I have sent emails to the government standards and licensing groups to see if I can transmit at 500mW or less (seems that 500mW may be the ceiling for unlicensed applications, which should be OK for my applications).

Well that's quite a question. I bounced this on to a colleague of mine, Paul, to see what he said.

His reply:

I assume that you are not allowed to attach anything to the building?

My initial thoughts:

  1. Could you use existing power distribution wiring in the building to run ethernet over? e.g. Powerline adapters or similar.
  2. Could you use a microwave link perhaps bounced off relay within the grounds.
  3. Could you run a cable (or fibre optic) cable down the outside of the building?
  4. Is there anything that would allow you to install a radio signal relay halfway down the building (eg, a friendly neighbor)

As I said, that's quite a question you've posed.

Initial research shows that LoRa in the range of 433 MHz has a short range and poor urban (penetration). The best results seem to come from LoRa frequencies in the 900 - 925 MHz band.

However, this is only based on a handful of articles on the net and conference papers, including this elementary one by Thai researchers attached.

If I had a good spectrum analyzer in this frequency range it would help things along, but I don't own one, and don't want to buy one for this single project; and don't yet know where to rent or borrow one for a few days.

I have fiber (maybe 7 unused strands) from my condo on the 27th floor to the 4th floor; but that would require a lot of gear to set up a fiber transmitter and receiver; and then an outdoor LoRa gateway node on the 4th floor in an unsecure area; and that still may not penetrate from the 4th floor on the opposite side of the big building to the lower floors of the basement on the opposite side of the building.

Without a receiver and spectrum analyzer available, and being not willing to shell out thousands of dollars for one, my options are narrowing.... need to think about this more.

I will search AliExpress and maybe try to buy some cheap spectrum analyzer or build one that works "OK" for this project.

Another crazy idea is to set up a relay node using a solar panel and battery in one of the trees; and try to relay from the 27th floor into the entrance of the parking garage and back :slight_smile:

Another idea is to get a commercial LoRa device from an NB-IoT telecom company and see if a commercial LoRaWAN service can penetrate into the lower basement. The device costs about $50 bucks and they service is about $12 a year to use their LoRaWAN service (yes, about a dollar a month).

In Thai:

https://loraiot.cattelecom.com/site/home

See also:

In English:

http://www.ais.co.th/nb-iot/en/?intcid=index-en-livemore-indexrevenue-nbiot

In Thailand now, there is a big IoT push and a lot of new services are rolling out.

But unlicensed, I think (need to confirm) I can transmit up to 500mW in the 920-925 MHz band.

Or instead of LoRa, I may also test 3GPP which is the basis for two of the three commercial services in Thailand:

https://en.wikipedia.org/wiki/Narrowband_IoT

I think will buy an Arduino shield NT-IoT device which uses 3GPP, configure it to send out UDP pings to the Internet (like this site) and use UDP pings to see if it will work in my underground parking garage.

It it works, then I can just send UDP packets from deep in basement to 3GPP (NB-IoT) WAN services and then relay those to my server back on the 27th floor of my condo; and / or use two NB-IoT devices, one in the deep parking basement and one in the 27th floor of my condo.

So, today I will go talk to AIS about their Arduino NB-IoT 3GPP shield and ask them if they think it will work in our lower parking level. If they think it will, I will buy it and test it.

Here is an AIS promotional video for NB-IoT:

https://www.youtube.com/watch?v=IMILu-KUPV4

For early testing, I may just use IoTweet.com

https://iottweet.com/

Also, I'm looking at LoRa services from CAT Thailand:

https://loraiot.cattelecom.com/

I will test 900 MHZ band NB-IoT 3GPP Arduino shield development device from AIS in Thailand which I just ordered today for a bit over $30 USD. I want to see if it can penetrate the building and connect to the 3GPP network. If not, I can use it for developing "sensor network projects" in my lab.

I think I will also test the same device from another local provider, TRUE after I test the AIS shield above.

Also, I have an appointment with the Communication Authority of Thailand (CAT) to discuss LoRaWAN penetration early Jan after the holidays, both as a service from CAT and to set up an unlicensed LoRaWAN network with private gateway as well.

1 Like

Update:

Still sorting out the laws and regulations in Thailand, which recently changed (yet again).

It seems we can transmit more power at 923 MHZ than at 433 MHZ (and other regulatory requirements are different), so even though the lower frequency tends to penetrate better, word has it here that the extra output power permitted here makes 923 a better choice. However, I'm not convinced either way and it may be device, chipset dependent.

I'll probably test all . (433 and 923 MHZ), because I am also going to experiment with some M5Stacks with LoRa as well.

https://m5stack.aliexpress.com/store/3226069
1 Like

According to the NB-IoT Arduino device (library) I just ordered, after it is registered with AIS (the service provider), we can send UDP messages to any server we choose; so while waiting for this device to arrive, here is the test code I will use on a server:

python$ cat test_nbiot.py

"""
NB-IoT First Test Code
Listens on a port for UDP, simple authentication, echo back with unix time
Neo www.unix.com  1 Jan 2020 
Use and modify as you like.  
"""
import socket
import sys
import time

# Create a TCP/IP socket
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
port = 33313
# Bind the socket to the port
server_address = ('www.mytestserver.com', port)
print >>sys.stderr, 'starting up on %s port %s' % server_address
sock.bind(server_address)
password = "my_cool_password\n"
authenticated = False
receivepw = False

while True:
    print >>sys.stderr, '\nwaiting to receive message'
    data, address = sock.recvfrom(4096)

    print >>sys.stderr, 'received %s bytes from %s' % (len(data), address)
    print >>sys.stderr, data

    if data:
        if authenticated == False and receivepw == False:
            sent = sock.sendto("Password:\n", address)
            receivepw = True
        elif receivepw == True and authenticated == False:
            if data == password:
                sent = sock.sendto("Authenticated\n", address)
                authenticated = True
            else:
                sent = sock.sendto("Password:\n", address)
        elif authenticated == True:
            received = "You sent: " + data
            sent = sock.sendto(received, address)
            data = time.time()
            data = "Unix Time: " + str(data)+"\n"
            sent = sock.sendto(data, address)
        else:
            sent = sock.sendto("Error\n", address)

        print >>sys.stderr, 'sent %s bytes back to %s' % (sent, address)

So, after I get that simple python code working with the incoming NB-IoT Arduino shield in the mail, will be time to start prototyping on the board.

REF:

https://github.com/AIS-DeviceInnovation/AIS_NB_BC95