NB-IoT / Cat-M(eMTC) / GNSS HAT for Raspberry Pi
NB-IoT / Cat-M(eMTC) / GNSS HAT for Raspberry Pi
The NB-IoT / Cat-M(eMTC) / GNSS HAT for Raspberry Pi is a versatile IoT communication module designed to provide low-power, low-bandwidth connectivity for a wide range of IoT applications. This HAT (Hardware Attached on Top) is specifically designed for the Raspberry Pi single-board computer, enabling users to develop and deploy IoT projects with ease.
| The NB-IoT / Cat-M(eMTC) / GNSS HAT for Raspberry Pi offers a triple-mode functionality, supporting three different wireless communication technologies |
Supports NB-IoT ( bands 3, 5, 8, 20), Cat-M(eMTC) (bands 2, 3, 4, 5, 8, 12, 13, 20), and GNSS (GPS, GLONASS, Galileo, BeiDou) frequencies
Low power consumption, making it suitable for battery-powered devices
Supports SMS, USSD, and TCP/IP protocol stacks
Integrated GNSS module with a built-in antenna
Supports concurrent reception of multiple satellite systems (GPS, GLONASS, Galileo, BeiDou)
High-sensitivity receiver for improved performance in urban canyons and indoors
Compatible with Raspberry Pi single-board computers (Raspberry Pi 2, 3, 4, and later models)
Uses the Raspberry Pi's GPIO header for connection
Supports Raspbian OS and other Linux distributions
3.3V - 5.5V
< 100mA (average), < 500mA (peak)
-40C to +85C
65mm x 30mm x 10mm (2.56" x 1.18" x 0.39")
< 20g
Compliance with Raspberry Pi HAT (Hardware Attached on Top) specifications
CE, FCC, and TELEC certified
Compliance with 3GPP Release 13 and 14 specifications
RoHS and REACH compliant
| The NB-IoT / Cat-M(eMTC) / GNSS HAT for Raspberry Pi is suitable for a wide range of IoT applications, including |
Industrial automation and monitoring
Smart energy management and metering
Fleet management and tracking
Smart cities and infrastructure
Agriculture and environmental monitoring
Asset tracking and logistics
For more information, please refer to the datasheet, user manual, and additional resources provided with the product.
NB-IoT / Cat-M(eMTC) / GNSS HAT for Raspberry Pi DocumentationOverviewThe NB-IoT / Cat-M(eMTC) / GNSS HAT is a communication module designed for the Raspberry Pi, providing low-power wide-area network (LPWAN) connectivity and satellite navigation capabilities. This HAT (Hardware Attached on Top) combines the benefits of Narrowband Internet of Things (NB-IoT), Category M (Cat-M), and Global Navigation Satellite System (GNSS) technologies, making it an ideal solution for IoT applications requiring low-power, low-bandwidth communication and location tracking.Hardware FeaturesSupports NB-IoT, Cat-M(eMTC), and GNSS (GPS, GLONASS, Galileo, and BeiDou)
Compatible with Raspberry Pi 3, 3+, and 4
Micro-SIM card slot
SMA antenna connector for cellular and GNSS
UART interface for communication
Power consumption: 20mA (idle), 50mA (active)Software RequirementsRaspberry Pi OS (RPi OS) or other compatible Linux distributions
Python 3.x or C/C++ programming languagesCode Examples### Example 1: Sending Data over NB-IoT using PythonIn this example, we will send a simple message over the NB-IoT network using the `pyserial` library.Hardware ConnectionsConnect the NB-IoT / Cat-M(eMTC) / GNSS HAT to the Raspberry Pi
Insert a micro-SIM card with NB-IoT subscription
Connect an antenna to the SMA connectorCode
```python
import serial# Open the serial connection to the HAT
ser = serial.Serial('/dev/ttyS0', 115200)# Set the module to NB-IoT mode
ser.write(b'AT+CFUN=1
')
ser.write(b'AT+CEREG=2
')# Set the APN (Access Point Name) for the NB-IoT network
ser.write(b'AT+CSTT="iot.apn.com","",""
')# Connect to the NB-IoT network
ser.write(b'AT+CIICR
')# Send a message over NB-IoT
ser.write(b'AT+CMGS="1234567890"
')
ser.write(b'Hello from Raspberry Pi!')
ser.write(b'x1A')# Close the serial connection
ser.close()
```
### Example 2: Getting GNSS Location Data using C++In this example, we will read the GNSS location data using the `gps` library.Hardware ConnectionsConnect the NB-IoT / Cat-M(eMTC) / GNSS HAT to the Raspberry Pi
Connect an antenna to the SMA connectorCode
```c
#include <gps.h>int main() {
// Initialize the GPS module
struct gps_data_t gps_data;
gps_init(&gps_data);// Set the GPS module to output RMC (Recommended Minimum) sentences
gps_send_command(&gps_data, "PMTK314,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0");// Read the GNSS location data
while (1) {
gps_poll(&gps_data);
if (gps_data.fix.mode == MODE_2D || gps_data.fix.mode == MODE_3D) {
printf("Latitude: %f, Longitude: %f, Altitude: %f
",
gps_data.fix.latitude, gps_data.fix.longitude, gps_data.fix.altitude);
}
}return 0;
}
```
### Example 3: Combining NB-IoT and GNSS for Asset Tracking (Python)In this example, we will create a basic asset tracking system that sends location data over NB-IoT using the `pyserial` and `gps` libraries.Hardware ConnectionsConnect the NB-IoT / Cat-M(eMTC) / GNSS HAT to the Raspberry Pi
Insert a micro-SIM card with NB-IoT subscription
Connect an antenna to the SMA connectorCode
```python
import serial
import gps# Initialize the GPS module
gps_device = gps.GPSDevice()# Open the serial connection to the HAT
ser = serial.Serial('/dev/ttyS0', 115200)# Set the module to NB-IoT mode
ser.write(b'AT+CFUN=1
')
ser.write(b'AT+CEREG=2
')# Set the APN (Access Point Name) for the NB-IoT network
ser.write(b'AT+CSTT="iot.apn.com","",""
')# Connect to the NB-IoT network
ser.write(b'AT+CIICR
')while True:
# Read the GNSS location data
report = gps_device.get_current()
if report.mode == gps.MODE_2D or report.mode == gps.MODE_3D:
latitude = report.latitude
longitude = report.longitude
altitude = report.altitude# Send the location data over NB-IoT
message = f'Latitude: {latitude}, Longitude: {longitude}, Altitude: {altitude}'
ser.write(b'AT+CMGS="1234567890"
')
ser.write(message.encode())
ser.write(b'x1A')# Wait for 1 minute before sending the next update
time.sleep(60)
```
These examples demonstrate the basic usage of the NB-IoT / Cat-M(eMTC) / GNSS HAT for Raspberry Pi. You can modify and extend these examples to suit your specific IoT application requirements.