esp-idf/examples/protocols/asio/chat_client
Angus Gratton 920edd4e73 partition_table: Add a "single factory app (large)" option for 1.5MB app size
Needed to build some examples in their default configurations (especially
ESP32-C3). Wasn't noticed until the CI checks for partition size were added.
2021-04-16 16:40:47 +10:00
..
main Whitespace: Automated whitespace fixes (large commit) 2020-11-11 07:36:35 +00:00
asio_chat_client_test.py Split example_tests with Example_WIFI tag group into Example_OTA and Example_Protocols 2021-04-15 04:00:06 +00:00
CMakeLists.txt ASIO: fixed undefined ref to atomic functions and enabled examples for CI (esp32s2beta) 2019-11-01 11:12:47 +08:00
Makefile examples/protocols/asio: use common network component 2019-04-15 03:32:05 +00:00
README.md examples: change default build instructions in docs to CMake 2019-08-02 16:32:46 +05:30
sdkconfig.defaults partition_table: Add a "single factory app (large)" option for 1.5MB app size 2021-04-16 16:40:47 +10:00

Asio chat client example

Simple Asio chat client using WiFi STA or Ethernet.

Example workflow

  • Wi-Fi or Ethernet connection is established, and IP address is obtained.
  • Asio chat client connects to the corresponding server whose port number and IP are defined through the project configuration menu.
  • Chat client receives all messages from other chat clients, also it sends message received from stdin using idf.py -p PORT monitor.

Running the example

  • Open the project configuration menu (idf.py menuconfig) to configure Wi-Fi or Ethernet. See "Establishing Wi-Fi or Ethernet Connection" section in examples/protocols/README.md for more details.
  • Set server IP address and port number in menuconfig, "Example configuration".
  • Start chat server either on host machine or as another ESP device running chat_server example.
  • Run idf.py -p PORT flash monitor to build and upload the example to your board and connect to it's serial terminal.
  • Wait for the board to connect to WiFi or Ethernet.
  • Receive and send messages to/from other clients on stdin/stdout via serial terminal.

See the README.md file in the upper level 'examples' directory for more information about examples.