zephyr/samples/net/echo_client
Kamil Sroka 8dd852dc92 samples: net: Add config and enable CI for OpenThread on nRF52840
Add samples config for nRF52840 with OpenThread
for echo_client and echo_server.

Add OpenThread to CI for echo_client and echo_server on nRF52840

Signed-off-by: Kamil Sroka <kamil.sroka@nordicsemi.no>
2018-01-29 22:42:03 -05:00
..
src samples: net: echo_client: Only send allowable number of bytes 2017-11-20 16:39:36 -05:00
CMakeLists.txt cmake: Ported mbedTLS to use Zephyr interface libraries 2018-01-02 22:09:01 -05:00
README.rst doc: getting_started: Support multi-OS instructions 2018-01-18 16:53:31 -05:00
prj_arduino_101.conf
prj_bt.conf
prj_cc2520.conf samples/net: Reducing prj*.conf files by relevantly removing 6Lo option 2017-10-28 14:28:02 -04:00
prj_frdm_k64f.conf
prj_frdm_k64f_cc2520.conf samples/net: Reducing prj*.conf files by relevantly removing 6Lo option 2017-10-28 14:28:02 -04:00
prj_frdm_k64f_mcr20a.conf samples/net: Reducing prj*.conf files by relevantly removing 6Lo option 2017-10-28 14:28:02 -04:00
prj_frdm_kw41z.conf drivers/ieee802154_kw41z: Update kw41z to support event trace buffer 2017-11-15 08:30:16 -06:00
prj_nrf5.conf samples/net: Reducing prj*.conf files by relevantly removing 6Lo option 2017-10-28 14:28:02 -04:00
prj_nrf52840_ot.conf samples: net: Add config and enable CI for OpenThread on nRF52840 2018-01-29 22:42:03 -05:00
prj_qemu_802154.conf samples/net: Reducing prj*.conf files by relevantly removing 6Lo option 2017-10-28 14:28:02 -04:00
prj_qemu_cortex_m3.conf
prj_qemu_x86.conf
prj_qemu_x86_tls.conf
prj_sam_e70_xplained.conf
sample.yaml samples: net: Add config and enable CI for OpenThread on nRF52840 2018-01-29 22:42:03 -05:00

README.rst

.. _echo-client-sample:

Echo Client
###########

Overview
********

The echo-client sample application for Zephyr implements a UDP/TCP client
that will send IPv4 or IPv6 packets, wait for the data to be sent back,
and then verify it matches the data that was sent.

The source code for this sample application can be found at:
:file:`samples/net/echo_client`.

Requirements
************

- :ref:`networking_with_qemu`

Building and Running
********************

There are multiple ways to use this application. One of the most common
usage scenario is to run echo-client application inside QEMU. This is
described in :ref:`networking_with_qemu`.

There are configuration files for different boards and setups in the
echo-client directory:

- :file:`prj_arduino_101.conf`
  Use this for Arduino 101 with external enc28j60 ethernet board.

- :file:`prj_bt.conf`
  Use this for Bluetooth IPSP connectivity.

- :file:`prj_cc2520.conf`
  Use this for devices that have support for IEEE 802.15.4 cc2520 chip.

- :file:`prj_frdm_k64f_cc2520.conf`
  Use this for FRDM-K64F board with external IEEE 802.15.4 cc2520 board.

- :file:`prj_frdm_k64f.conf`
  Use this for FRDM-K64F board with built-in ethernet.

- :file:`prj_frdm_k64f_mcr20a.conf`
  Use this for FRDM-K64F board with IEEE 802.15.4 mcr20a board.

- :file:`prj_qemu_802154.conf`
  Use this when simulating IEEE 802.15.4 network using two QEMU's that
  are connected together.

- :file:`prj_qemu_cortex_m3.conf`
  Use this for ARM QEMU.

- :file:`prj_qemu_x86.conf`
  Use this for x86 QEMU.

- :file:`prj_sam_e70_xplained.conf`
  Use this for Atmel SMART SAM E70 Xplained board with ethernet.

Build echo-client sample application like this:

.. zephyr-app-commands::
   :zephyr-app: samples/net/echo_client
   :board: <board to use>
   :conf: <config file to use>
   :goals: build
   :compact:

Cmake can select the default configuration file based on the BOARD you've
specified automatically so you might not always need to mention it.

Running echo-server in Linux Host
=================================

There is one useful testing scenario that can be used with Linux host.
Here echo-client is run in QEMU and echo-server is run in Linux host.

To use QEMU for testing, follow the :ref:`networking_with_qemu` guide.

In a terminal window:

.. code-block:: console

    $ sudo ./echo-server -i tap0

Run echo-client application in QEMU:

.. zephyr-app-commands::
   :zephyr-app: samples/net/echo_client
   :host-os: unix
   :board: qemu_x86
   :goals: run
   :compact: