Olivier PauzetBy Olivier Pauzet, Director, Segment & Product Marketing, Sierra Wireless

As more and more devices begin accessing the Internet on their own, using wireless technologies to connect to cellular networks, there is a growing need for cost-effective, small-scale wireless gateways.

In an apartment building, for example, if ten or twenty smart meters need wireless access to the Internet, equipping each meter with cellular technology can be cumbersome and expensive. Installing a low-cost wireless IP gateway that serves the entire building is a better solution, since the gateway provides Internet access to all the devices at once.

The gateway has to manage communications between the private network (the smart meters) and the public network (the Internet), and it has to route IP packets. The private network is small, so managing it requires only limited processing power, and the transmission distance is likely to be under a few hundred meters. Since the functional requirements are fairly simple, it's important to find a design solution that is similarly straightforward.

The average wireless IP gateway uses several components and a relatively sophisticated real-time operating system (RTOS), such as Linux, for its basic configuration. The design typically includes a standalone microcontroller, supported by external memories, and a separate wireless module. The RTOS, along with its associated libraries, sits on top of the microcontroller. This multi-chip, Linux-based approach is fairly robust, and can be used to manage dozens of meters in a city block or suburban neighborhood.

For the relatively simple requirements of the apartment gateway described above, however, the multi-chip/Linux approach may not be the best. Having to integrate the various hardware and software components takes time, and can increase the system cost. Also, since the individual components may offer more performance than what's required, the designer may be paying a premium for functions the system won't use.

A different approach is to use a more integrated solution, optimized for use in machine-to-machine (M2M) applications. This approach involves a single piece of hardware -- a smart wireless module --that combines processing and wireless-connectivity functions. The module works with an optimized RTOS and a dedicated software library that provides Internet gateway functions. This scaled-down approach lets designers create the right level of functionality for the application and, at the same time, reduces system cost and saves development time.

Figure 1 gives a sample configuration. The individual smart meters are connected together in an Ethernet, ZigBee, or Wi-Fi LAN, and the LAN uses the wireless IP gateway to access the Internet. The LAN remains private, and is invisible to the public area of the Internet. The gateway only presents its own IP address to the public area, and is able to route packets to and from the LAN. The smart meters continue to operate in private, behind the LAN.


Figure 1. M2M communication with cost-effective wireless IP gateway

The Smart Wireless Module
The gateway in the approach described above uses a smart wireless module from Sierra Wireless. It supports 2G GSM/GPRS/EDGE cellular communications, a good choice for the low data rates typically used in M2M applications. The module is equipped with an embedded application framework (Open AT) that includes an RTOS and a number of off-the-shelf software libraries. The Open AT Framework lets developers create applications in standard ANSI C/C++, which is optimized for real-time and low-level service control. This programming language has been in widespread use around the world for more than a decade, and has been proven in several million deployments in the field. Since the RTOS and libraries are already ported to the wireless module, the bill of materials remains low. Adding software elements to the design doesn't add to the overall material cost.

The Internet Library
The Internet library's protocols are specifically designed for industrial wireless M2M devices, and enable full gateway functionality by supporting functions for IP routing management. These functions manage information about the network topology and determine where the data packets travelling over the IP network will be directed. The library has specific APIs for particular gateway functions, including network address translation (NAT), port forwarding, DHCP server, and DNS proxy.

Network Address Translation (NAT)
The NAT function characterizes the gateway and provides a robust connection between the two networks involved, the private LAN and the public Internet. It maps one address space into another, modifying the network address information stored in the IP datagram header while it's in transit across a traffic routing device.

Figure 2 shows the gateway architecture, with a NAT device, configured as an IP router, and two network connections. The first connection is the Ethernet, ZigBee, or Wi-Fi LAN on the left, and the second is the GSM/GPRS connection to an ISP on the right.


Figure 2. Gateway architecture

Network Address Port Translation (NAPT), also known as IP masquerading, is a technique of hiding an entire address space (private network addresses) behind a single IP address in another address space (public addresses). This feature has been added as NET in the wireless module firmware, and is part of what enables the wireless module to operate as a gateway.

Port Forwarding
The external interface of the NAT device is configured with a public IP address, but the devices behind the router, on the private LAN, are invisible to hosts on the Internet. Port forwarding is a way of identifying the devices on the private LAN, so data can be sent to the right location.

DHCP Server
The Dynamic Host Configuration Protocol (DHCP) is a computer networking protocol that lets network devices (DHCP clients) join an IP-based network even though they don't have a pre-configured IP address. In the smart meter example given in Figure 1, the DHCP server distributes private IP addresses to the meters connected to the LAN.

DNS Proxy
The Domain Name Server (DNS) proxy provides transparent DNS services (converting URLs to IP addresses) for the DHCP clients on the private LAN. It relies on an upstream DNS server, located at an ISP, to perform DNS lookups. A DNS proxy is needed because the address of the DNS server is generally not known when clients get their DHCP lease, and there is no way for the DHCP server to update the client configurations once the information is available.

Eclipse-based Development
To enable streamlined, efficient development, the smart wireless module is supported by a complete set of development tools that includes an Eclipse-based IDE. Designers use a single environment to learn, code, debug, compile, download, trace, and monitor.

Designers looking to build a low-cost wireless IP gateway for use in small-scale industrial applications can save time and money by using an innovative solution optimized for M2M communications. The solution combines a smart wireless module with an optimized RTOS and a dedicated software library that provides Internet gateway functions. For more about this and other wireless M2M designs, visit

Posted by Janine E. Mooney, Associate Editor