You are viewing an older revision! See the latest version

Networking

New networking stack

Note that this page refers to the new officially supported networking stack, which is designed to supercede the previous networking stack.

Most networking examples on mbed still rely on the old stack, but all new stack development will take place on this version.

Introduction

The mbed microcontroller is quite capable of connecting to the internet, and functioning as client or server for a variety of protocols. To achieve this, the LwIP TCP/IP stack has been ported to mbed.

Getting started

Step one, physical connection

On the RJ45 page you will find wiring diagrams for popular RJ45 sockets. You can skip this step if you have a baseboard with RJ45 socket. (see list of baseboards on the cookbook homepage)

Step two, set up the networking stack

On the Ethernet Interface page you will find everything you need to set an IP address, and bring up the stack.

Next steps

Afterwards, you should hopefully have TCP/IP up and running over Ethernet.

Where to look next:

About this networking stack

Introduction

On February 2012 we finally added an mbed RTOS among the officially supported mbed libraries. This allowed us to finally add an officially supported networking stack providing the familiar Berkeley sockets programming interface.

The previously community supported stacks, because of the lack of an operating system, could only support a "polling" paradigm. Besides, providing a more familiar programming interface, this new networking stack provides an impressive performance improvement: benchmark.

System overview

/media/uploads/emilmont/layers.png

Let's analyse the above layers from top down:

  1. Your networking applications will very likely rely on a specific protocol (HTTP, NTP, FTP, etc), or API (Twitter, Cosm, Evrythng, etc). You can see a list of the protocol and API libraries developed by the mbed community on this page: TCP/IP Protocols and APIs
  2. The EthernetInterface library is wrapping all the other libraries with a specific configuration for the Ethernet transport. In particular, its subcomponents are:

Interface drivers

The networking stack is currently supporting two different transports:

RTOS and threading model

Where to get help

If you have questions on the usage of this stack, the best place to ask is in the Forum.


All wikipages