Sixfab NB-IoT is a tiny narrow band IoT (Nb-IoT) evaluation board. It comes with high performance Quectel BC95 NB-IoT module with no added sensors.
Some technical details:
– LTE BC95-B20 NB-IoT Module B20 800MHz
– Micro SIM Socket
– Built-in PCB Antenna
– UFL socket for external antenna
– Open pins
– UART switching (USB<>Open pins)
! All data pins work with 3.3V reference. Any other voltage level should harm your device.
– Smart farming sensor
– Smart cities sensor
– Smart home sensor
– Smart door lock
– Smart metering
– Smart parking
– Smart city
– Security and asset tracking
– Home appliances
– Agricultural and environmental monitoring
In this tutorial we are just going to show how to setup the Sixfab NB-IoT EVB alone with Raspberry Pi. Components to be used are as in the figure below:
The steps to be followed are mentioned below. Take your Sixfab NB-IoT EVB and Raspberry Pi.
For this tutorial we will be observing how to set configurations for localhost and sending data over localhost UDP.
Note: We are demonstrating it over localhost, while it can also be done over any remote server.
1. Login to you routers configurations, by going to 192.168.1.1(generally this is the address for router configurations, might change for some router) from your Internet browser and login with your own credentials.
2. Now scroll down at Basic Status page to find your IP address of your connection (which is mentioned as dsl_internet in our case). We will need it later.
3. Now click on Forwarding form the option list and then click Virtual Server.
4. Then click on Add New, which will take you to the following screen. Now fill up Service Port(as desired, in our case it is 5000), IP Address(It is IP Address of your Computer/Laptop. Check the note below if you don’t know how to obtain your IP Address) and select Protocol(as UDP). Click Save.
## Note: Open your terminal and run ifconfig command to obtain your IP Address. This is applicable for linux users. Windows user can type ipconfig in cmd command.
5. Now open a terminal and connect to your Raspberry Pi via ssh. (Windows users can use putty).
6. Now you will need to enable Serial, I2C and 1-Wire. To do so get into your Raspberry Pi configuration tool by following command
Here you will see a blue screen with gray box at the center.
Goto Interfacing Option and enable Serial, I2C and 1-Wire.
After enabling all of them, reboot your raspberry pi.
7. Once reboot run the following commands to update system’s package
sudo apt-get update
Next, upgrade all of the installed packages to latest version by
sudo apt-get upgrade
8. Now the getty service needs to be stopped on Raspbian. Getty manages a terminal line and it protects the system from unauthorized access. By default GPIO14 and GPIO15 of Raspberry Pi are active as console. So it need to be disabled as serial console is not being used. Moreover the service of serial console is to be deleted from cmdline.txt. Run the following commands (terminal is connected to /dev/ttyS0 in this case)
sudo systemctl stop serial[email protected]ervice sudo systemctl disable serial[email protected]
As for previous versions Raspberry Pi terminal is connected to /dev/AMA0, following commands should be used instead.
9. Now console has to be removed from the cmdline.txt. This can be done by running following command
sudo nano /boot/cmdline.txt
and removing ”console=serial0, 115200” or ”console=ttyAMA0, 115200” for Raspberry Pi other than version 3. Exit editor saving the changes. Then reboot your Raspberry Pi.
10. Enable UART is by adding ”enable_uart=1” at the end of /boot/config.txt which can be obtained by following command
sudo nano /boot/config.txt
11. Now insert sim card to your Sixfab NB-IoT EVB. and connect it to your Raspberry Pi with following configuration.
EVB ↔ Raspberry Pi
5V ↔ 5V
GND ↔ GND
RX ↔ RX(GPIO15)
TX ↔ TX (GPIO14)
Pinout of the Sixfab NB-IoT EVB. is given below.
12. Make sure UART switch is towards PIN
13. Now open a terminal and clone our github repo by
git clone https://github.com/sixfab/NB-IoT-EVB.git
14. Get into the cloned github repo by
Here you can observe gettingStartedEVB.py
Find the following line
ip = “XX.XX.XX.XX”
port = “XXXX”
and replace XX.XX.XX.XX with your router’s ip and XXXX with your port number and save it.
15. Run the script by following command in the terminal
Here we are sending a string data over local server.
16. Open another terminal and run the following command to listen the data that has been sent over the local server. (Windows users can use desktop apps like putty or hercules.)
netcat -ul -p5500
where 5500 is our port number(##Make sure you replace it with your own port number).
Hence you are able to listen the data that are being sent over UDP.
Next we will obtain data from any sensor connected to Raspberry Pi and sent it over local server using Sixfab NB-IoT EVB.
This has been done in local server, the whole process can also be carried out on remote server.