zephyr/samples/net/gsm_modem
Bjarki Arge Andreasen c0c9d6f7d6 samples/net: Add cellular modem sample
This commit adds a sample application which demonstrates how
to use the new driver and modules. The sample uses power
management to turn on the modem, uses network management
to wait for L4 connected, then uses DNS to get the IP
of the server running the python script found in the
server folder, which echoes back data recevied to it.
A packet containing psudo random data is then sent to
the server, which the echoes it back. To validate the
capability of the driver to restart the modem, the
modem is restarted, and the packet is sent again.

The server is hosted by linode, and uses the domain
name test-endpoint.com

Signed-off-by: Bjarki Arge Andreasen <baa@trackunit.com>
2023-08-30 13:48:51 +02:00
..
boards samples/net: Add cellular modem sample 2023-08-30 13:48:51 +02:00
src net: conn_mgr: Rename connectivity monitor 2023-08-29 16:13:37 +02:00
CMakeLists.txt
prj.conf
README.rst
sample.yaml

.. _gsm-modem-sample:

Generic GSM Modem Sample
########################

Overview
********

The Zephyr GSM modem sample application allows user to have a connection
to GPRS network. The connection to GSM modem is done using
:ref:`PPP (Point-to-Point Protocol) <ppp>`.

The source code of this sample application can be found at:
:zephyr_file:`samples/net/gsm_modem`.

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

- GSM modem card. The sample has been tested with SIMCOM SIM808 card. All
  GSM modem cards should work as long as they support **AT+CGDCONT** command.
- Almost any Zephyr enabled board with sufficient resources can be used.
  The sample has been tested with :ref:`reel_board`.

Build and Running
*****************

If you are using an external modem like the SIMCOM card, then connect
the necessary pins like RX and TX from your Zephyr target board to the
modem card. Internal modems, like what is found in :ref:`particle_boron`
board, are not yet supported.

.. zephyr-app-commands::
   :zephyr-app: samples/net/gsm_modem
   :board: reel_board
   :goals: build flash
   :gen-args: -DCONFIG_MODEM_GSM_APN=\"internet\"
   :compact:

Note that you might need to change the APN name according to your GSM network
configuration.