mirror of
https://github.com/RIOT-OS/RIOT.git
synced 2024-12-29 04:50:03 +01:00
examples/readme: Improve clarity and adjust categories
examples/readme: fix SAUL spelling mistake examples/readme: Link to README.md instead of folder examples/readme: increase title size examples/readme: make networking category name a bit clearer examples/readme: move nimble to own category within BLE examples/readme: move dtls to own category examples/readme: move heart rate sensor to nimble category examples/readme: move arduino sketch to languages examples/timer_periodic: fix file name issue examples/readme: change level wording about nanocoap
This commit is contained in:
parent
237b71528c
commit
10b63585ea
@ -6,180 +6,185 @@ Each example contains a `README.md` that provides information and instructions h
|
|||||||
|
|
||||||
Here is a quick overview of the examples available in the RIOT:
|
Here is a quick overview of the examples available in the RIOT:
|
||||||
|
|
||||||
### The Essentials
|
## The Essentials
|
||||||
|
|
||||||
- [default](./default)
|
- [default](./default/README.md)
|
||||||
- This application is a showcase for RIOT's hardware support. Using it
|
- This application is a showcase for RIOT's hardware support. Using it
|
||||||
for your board, you should be able to interactively use any hardware
|
for your board, you should be able to interactively use any hardware
|
||||||
that is supported.
|
that is supported.
|
||||||
- [hello-world](./hello-world)
|
- [hello-world](./hello-world/README.md)
|
||||||
- A simple "Hello World" that shows the basic structure of a RIOT application.
|
- A simple "Hello World" that shows the basic structure of a RIOT application.
|
||||||
- [blinky](./blinky)
|
- [blinky](./blinky/README.md)
|
||||||
- The classic "Hello World" example for embedded systems: blinking an LED (or printing "Blink!" via stdio when none are available).
|
- The classic "Hello World" example for embedded systems: blinking an LED (or printing "Blink!" via stdio when none are available).
|
||||||
- [leds_shell](./leds_shell)
|
- [leds_shell](./leds_shell/README.md)
|
||||||
- The application `leds_shell` is a basic example, which allows easy, interactive
|
- The application `leds_shell` is a basic example, which allows easy, interactive
|
||||||
control of internal board LEDs, and basic GPIO for externally connected simple
|
control of internal board LEDs, and basic GPIO for externally connected simple
|
||||||
devices (for e.g. additional LEDs, relay, motors - via dedicated drivers, etc.)
|
devices (for e.g. additional LEDs, relay, motors - via dedicated drivers, etc.)
|
||||||
via the shell.
|
via the shell.
|
||||||
- [saul](./saul)
|
- [saul](./saul/README.md)
|
||||||
- This example demonstrates the usage of the SAUL (Sensor Abstraction Layer User) module.
|
- This example demonstrates the usage of the SAUL (Sensor Actuator Uber Layer) module.
|
||||||
- [timer_periodic_wakeup](./timer_periodic_wakeup)
|
- [timer_periodic_wakeup](./timer_periodic_wakeup/README.md)
|
||||||
- How to set up a periodic wakeup timer using the RIOT operating system.
|
- How to set up a periodic wakeup timer using the RIOT operating system.
|
||||||
- [ipc_pingpong](./ipc_pingpong)
|
- [ipc_pingpong](./ipc_pingpong/README.md)
|
||||||
- This example is to illustrate the usage of RIOTs IPC messaging system.
|
- This example is to illustrate the usage of RIOTs IPC messaging system.
|
||||||
- [filesystem](./filesystem)
|
- [filesystem](./filesystem/README.md)
|
||||||
- This example showcases ways to interact/manage the filesystem in RIOT.
|
- This example showcases ways to interact/manage the filesystem in RIOT.
|
||||||
|
|
||||||
#### RIOT Language Bindings
|
### RIOT Language Bindings
|
||||||
|
|
||||||
##### Officially Supported/Targeted
|
#### Officially Supported/Targeted
|
||||||
|
|
||||||
###### _Rust_
|
##### _Rust_
|
||||||
|
|
||||||
- [rust-hello-world](./rust-hello-world)
|
- [rust-hello-world](./rust-hello-world/README.md)
|
||||||
- This example demonstrates how to write a simple RIOT application in Rust.
|
- This example demonstrates how to write a simple RIOT application in Rust.
|
||||||
- [rust-gcoap](./rust-gcoap)
|
- [rust-gcoap](./rust-gcoap/README.md)
|
||||||
- This example demonstrates how to write a coap server application in Rust using the RIOTs gcoap module.
|
- This example demonstrates how to write a coap server application in Rust using the RIOTs gcoap module.
|
||||||
- [rust-async](./rust-async)
|
- [rust-async](./rust-async/README.md)
|
||||||
- This example demonstrates how to use Rusts async/await syntax in a RIOT application.
|
- This example demonstrates how to use Rusts async/await syntax in a RIOT application.
|
||||||
|
|
||||||
###### _C++_
|
##### _C++_
|
||||||
|
|
||||||
- [riot_and_cpp](./riot_and_cpp)
|
- [riot_and_cpp](./riot_and_cpp/README.md)
|
||||||
- Example of using C++ in RIOT applications.
|
- Example of using C++ in RIOT applications.
|
||||||
|
|
||||||
##### Community Supported
|
#### Community Supported
|
||||||
|
|
||||||
- [javascript](./javascript)
|
- [javascript](./javascript/README.md)
|
||||||
- How to write IoT applications using javascript using JerryScript.
|
- How to write IoT applications using javascript using JerryScript.
|
||||||
- [lua_basic](./lua_basic)
|
- [lua_basic](./lua_basic/README.md)
|
||||||
- How to write IoT applications using Lua.
|
- How to write IoT applications using Lua.
|
||||||
- [lua_REPL](./lua_REPL)
|
- [lua_REPL](./lua_REPL/README.md)
|
||||||
- This example demonstrates how to use the Lua Read-Eval-Print Loop (REPL) in RIOT.
|
- This example demonstrates how to use the Lua Read-Eval-Print Loop (REPL) in RIOT.
|
||||||
- [micropython](./micropython)
|
- [micropython](./micropython/README.md)
|
||||||
- How to use the MicroPython port for RIOT.
|
- How to use the MicroPython port for RIOT.
|
||||||
- [wasm](./wasm)
|
- [wasm](./wasm/README.md)
|
||||||
- How to use WebAssembly in RIOT.
|
- How to use WebAssembly in RIOT.
|
||||||
|
- [arduino_hello-world](./arduino_hello-world/README.md)
|
||||||
|
- This application demonstrates the usage of Arduino sketches in RIOT.
|
||||||
|
|
||||||
### Networking & BLE Examples
|
## Networking
|
||||||
|
|
||||||
#### Constraint Application Protocol (CoAP)
|
### Constraint Application Protocol (CoAP)
|
||||||
|
|
||||||
- [gcoap](./gcoap)
|
- [gcoap](./gcoap/README.md)
|
||||||
- This example demonstrates the usage of the `gcoap` module, a high-level API for CoAP (Constrained Application Protocol) messaging.
|
- This example demonstrates the usage of the `gcoap` module, a high-level API for CoAP (Constrained Application Protocol) messaging.
|
||||||
- [gcoap_block_server](./gcoap_block_server)
|
- [gcoap_block_server](./gcoap_block_server/README.md)
|
||||||
- CoAP server handling for Block requests, build with gcoap using nanocoap block handling functions.
|
- CoAP server handling for Block requests, build with gcoap using nanocoap block handling functions.
|
||||||
- [gcoap_fileserver](./gcoap_fileserver)
|
- [gcoap_fileserver](./gcoap_fileserver/README.md)
|
||||||
- This example demonstrates the usage of the `gcoap`
|
- This example demonstrates the usage of the `gcoap`
|
||||||
module to serve files over CoAP.
|
module to serve files over CoAP.
|
||||||
- [gcoap_dtls](./gcoap_dtls)
|
- [nanocoap_server](./nanocoap_server/README.md)
|
||||||
- This example demonstrates the usage of the `gcoap` module with DTLS.
|
- This example demonstrates the usage of the `nanocoap` module, a high-level API for CoAP (Constrained Application Protocol) messaging.
|
||||||
- [nanocoap_server](./nanocoap_server)
|
|
||||||
- This example demonstrates the usage of the `nanocoap` module, a low-level API for CoAP (Constrained Application Protocol) messaging.
|
|
||||||
|
|
||||||
#### Bluetooth Low Energy (BLE)
|
### Bluetooth Low Energy (BLE)
|
||||||
|
|
||||||
- [nimble_scanner](./nimble_scanner)
|
#### NimBLE
|
||||||
|
|
||||||
|
- [nimble_scanner](./nimble_scanner/README.md)
|
||||||
- This example showcases the usage of the `NimBLE` BLE stack as a scanner.
|
- This example showcases the usage of the `NimBLE` BLE stack as a scanner.
|
||||||
- [skald_eddystone](./skald_eddystone)
|
- [nimble_gatt](./nimble_gatt/README.md)
|
||||||
- This example demonstrates the usage of `Skald` for creating an Google `Eddystone` beacon.
|
|
||||||
- [skald_ibeacon](./skald_ibeacon)
|
|
||||||
- This example demonstrates the usage of `Skald` for creating an Apple `iBeacon`.
|
|
||||||
- [nimble_gatt](./nimble_gatt)
|
|
||||||
- This example application configures and runs the NimBLE BLE stack as simple GATT
|
- This example application configures and runs the NimBLE BLE stack as simple GATT
|
||||||
server.
|
server.
|
||||||
- [nimble_heart_rate_sensor](./nimble_heart_rate_sensor)
|
- [nimble_heart_rate_sensor](./nimble_heart_rate_sensor/README.md)
|
||||||
|
- This example demonstrates how to implement asynchronous data transfer using GATT
|
||||||
|
notifications by implementing a mock-up BLE heart rate sensor.
|
||||||
|
- [nimble_heart_rate_sensor](./nimble_heart_rate_sensor/README.md)
|
||||||
- This example demonstrates how to implement asynchronous data transfer using GATT
|
- This example demonstrates how to implement asynchronous data transfer using GATT
|
||||||
notifications by implementing a mock-up BLE heart rate sensor.
|
notifications by implementing a mock-up BLE heart rate sensor.
|
||||||
|
|
||||||
#### MQTT
|
#### Misc BLE Examples
|
||||||
|
|
||||||
- [asymcute_mqttsn](./asymcute_mqttsn)
|
- [skald_eddystone](./skald_eddystone/README.md)
|
||||||
|
- This example demonstrates the usage of `Skald` for creating an Google `Eddystone` beacon.
|
||||||
|
- [skald_ibeacon](./skald_ibeacon/README.md)
|
||||||
|
- This example demonstrates the usage of `Skald` for creating an Apple `iBeacon`.
|
||||||
|
|
||||||
|
### MQTT
|
||||||
|
|
||||||
|
- [asymcute_mqttsn](./asymcute_mqttsn/README.md)
|
||||||
- This application demonstrates the usage of the Asymcute (MQTT-SN) module in RIOT.
|
- This application demonstrates the usage of the Asymcute (MQTT-SN) module in RIOT.
|
||||||
- [emcute_mqttsn](./emcute_mqttsn)
|
- [emcute_mqttsn](./emcute_mqttsn/README.md)
|
||||||
- This application demonstrates the usage of the emCute (MQTT-SN) module in RIOT.
|
- This application demonstrates the usage of the emCute (MQTT-SN) module in RIOT.
|
||||||
- [paho-mqtt](./paho-mqtt)
|
- [paho-mqtt](./paho-mqtt/README.md)
|
||||||
- This example demonstrates the usage of the Paho MQTT client library in RIOT.
|
- This example demonstrates the usage of the Paho MQTT client library in RIOT.
|
||||||
|
|
||||||
#### CoRE Resource Directory
|
### CoRE Resource Directory
|
||||||
|
|
||||||
- [cord_ep](./cord_ep)
|
- [cord_ep](./cord_ep/README.md)
|
||||||
- Example of RIOT's Resource Directory (RD) endpoint module, called `cord_ep`
|
- Example of RIOT's Resource Directory (RD) endpoint module, called `cord_ep`
|
||||||
- [cord_lc](./cord_lc)
|
- [cord_lc](./cord_lc/README.md)
|
||||||
- Example of RIOT's Resource Directory (RD) lookup module, called `cord_lc`
|
- Example of RIOT's Resource Directory (RD) lookup module, called `cord_lc`
|
||||||
- [cord_epsim](./cord_epsim)
|
- [cord_epsim](./cord_epsim/README.md)
|
||||||
- This example shows how a node can register with a CoRE resource directory
|
- This example shows how a node can register with a CoRE resource directory
|
||||||
|
|
||||||
#### GNRC Networking
|
### GNRC Networking
|
||||||
|
|
||||||
- [gnrc_minimal](./gnrc_minimal)
|
- [gnrc_minimal](./gnrc_minimal/README.md)
|
||||||
- This is a minimalistic example for RIOT's gnrc network stack.
|
- This is a minimalistic example for RIOT's gnrc network stack.
|
||||||
- [gnrc_networking](./gnrc_networking)
|
- [gnrc_networking](./gnrc_networking/README.md)
|
||||||
- This example demonstrates the usage of the GNRC network stack in RIOT.
|
- This example demonstrates the usage of the GNRC network stack in RIOT.
|
||||||
- [gnrc_networking_subnets](./gnrc_networking_subnets)
|
- [gnrc_networking_subnets](./gnrc_networking_subnets/README.md)
|
||||||
- This example demonstrates IPv6 subnet auto-configuration for networks on
|
- This example demonstrates IPv6 subnet auto-configuration for networks on
|
||||||
a tree topology.
|
a tree topology.
|
||||||
- [gnrc_border_router](./gnrc_border_router)
|
- [gnrc_border_router](./gnrc_border_router/README.md)
|
||||||
- Example of `gnrc_border_router` using automatic configuration
|
- Example of `gnrc_border_router` using automatic configuration
|
||||||
- [gnrc_lorawan](./gnrc_lorawan)
|
- [gnrc_lorawan](./gnrc_lorawan/README.md)
|
||||||
- Send and receive LoRaWAN packets and perform basic LoRaWAN commands
|
- Send and receive LoRaWAN packets and perform basic LoRaWAN commands
|
||||||
- [gnrc_networking_mac](./gnrc_networking_mac)
|
- [gnrc_networking_mac](./gnrc_networking_mac/README.md)
|
||||||
- This example shows you how to try out communications between RIOT instances with duty-cycled MAC layer protocols
|
- This example shows you how to try out communications between RIOT instances with duty-cycled MAC layer protocols
|
||||||
|
|
||||||
#### Misc
|
### DTLS
|
||||||
|
|
||||||
- [lorawan](./lorawan)
|
- [dtls-sock](./dtls-sock/README.md)
|
||||||
|
- This example shows how to use DTLS sock `sock_dtls_t`
|
||||||
|
- [dtls-echo](./dtls-echo/README.md)
|
||||||
|
- This example shows how to use TinyDTLS with sock_udp.
|
||||||
|
- [dtls-wolfssl](./dtls-wolfssl/README.md)
|
||||||
|
- This example demonstrates the usage of the DTLS module with the wolfSSL library.^
|
||||||
|
|
||||||
|
### Misc
|
||||||
|
|
||||||
|
- [lorawan](./lorawan/README.md)
|
||||||
- This application shows a basic LoRaWAN use-case with RIOT.
|
- This application shows a basic LoRaWAN use-case with RIOT.
|
||||||
- [openthread](./openthread)
|
- [openthread](./openthread/README.md)
|
||||||
- This example demonstrates the usage of the OpenThread stack in RIOT.
|
- This example demonstrates the usage of the OpenThread stack in RIOT.
|
||||||
- [lwm2m](./lwm2m)
|
- [lwm2m](./lwm2m/README.md)
|
||||||
- Example of a LWM2M client on RIOT
|
- Example of a LWM2M client on RIOT
|
||||||
- [ccn-lite-relay](./ccn-lite-relay)
|
- [ccn-lite-relay](./ccn-lite-relay/README.md)
|
||||||
- This application demonstrates how to use the Content-Centric Networking stack
|
- This application demonstrates how to use the Content-Centric Networking stack
|
||||||
from [CCN-Lite](http://www.ccn-lite.net/) on RIOT
|
from [CCN-Lite](http://www.ccn-lite.net/) on RIOT
|
||||||
- [telnet_server](./telnet_server)
|
- [telnet_server](./telnet_server/README.md)
|
||||||
- Simple telnet server that listens on port 23 over IPv6.
|
- Simple telnet server that listens on port 23 over IPv6.
|
||||||
- [posix_sockets](./posix_sockets)
|
- [posix_sockets](./posix_sockets/README.md)
|
||||||
- Showcase for RIOT's POSIX socket support
|
- Showcase for RIOT's POSIX socket support
|
||||||
- [spectrum-scanner](./spectrum-scanner)
|
- [spectrum-scanner](./spectrum-scanner/README.md)
|
||||||
- This example demonstrates how to monitor energy levels on all available wireless channels
|
- This example demonstrates how to monitor energy levels on all available wireless channels
|
||||||
- [sniffer](./sniffer)
|
- [sniffer](./sniffer/README.md)
|
||||||
- This application is built to run together with the script `./tools/sniffer.py`
|
- This application is built to run together with the script `./tools/sniffer.py`
|
||||||
as a sniffer for (wireless) data traffic.
|
as a sniffer for (wireless) data traffic.
|
||||||
- [dtls-sock](./dtls-sock)
|
|
||||||
- This example shows how to use DTLS sock `sock_dtls_t`
|
|
||||||
- [dtls-echo](./dtls-echo)
|
|
||||||
- This example shows how to use TinyDTLS with sock_udp.
|
|
||||||
- [dtls-wolfssl](./dtls-wolfssl)
|
|
||||||
- This example demonstrates the usage of the DTLS module with the wolfSSL library.
|
|
||||||
|
|
||||||
### Advanced Examples
|
## Advanced Examples
|
||||||
|
|
||||||
- [bindist](./bindist)
|
- [bindist](./bindist/README.md)
|
||||||
- RIOT allows for creating a "binary distribution", which can be used to ship
|
- RIOT allows for creating a "binary distribution", which can be used to ship
|
||||||
proprietary, compiled objects in a way that makes it possible to re-link them
|
proprietary, compiled objects in a way that makes it possible to re-link them
|
||||||
against a freshly compiled RIOT. This application serves as a simple example.
|
against a freshly compiled RIOT. This application serves as a simple example.
|
||||||
- [usbus_minimal](./usbus_minimal)
|
- [usbus_minimal](./usbus_minimal/README.md)
|
||||||
- This is a minimalistic example for RIOT's USB stack.
|
- This is a minimalistic example for RIOT's USB stack.
|
||||||
- [suit_update](./suit_update)
|
- [suit_update](./suit_update/README.md)
|
||||||
- This example shows how to integrate SUIT-compliant firmware updates into a
|
- This example shows how to integrate SUIT-compliant firmware updates into a
|
||||||
RIOT application.
|
RIOT application.
|
||||||
- [thread_duel](./thread_duel)
|
- [thread_duel](./thread_duel/README.md)
|
||||||
- This is a thread duel application to show RIOTs abilities to run multiple-threads
|
- This is a thread duel application to show RIOTs abilities to run multiple-threads
|
||||||
concurrently, even if they are neither cooperative nor dividable into different scheduler priorities, by using the optional round-robin scheduler module.
|
concurrently, even if they are neither cooperative nor dividable into different scheduler priorities, by using the optional round-robin scheduler module.
|
||||||
- [posix_select](./posix_select)
|
- [posix_select](./posix_select/README.md)
|
||||||
- This example is a showcase for RIOT's POSIX select support
|
- This example is a showcase for RIOT's POSIX select support
|
||||||
- [psa_crypto](./psa_crypto)
|
- [psa_crypto](./psa_crypto)
|
||||||
|
- Basic functions of the PSA Crypto API
|
||||||
- Basic functions of the PSA Crypto API- [nimble_heart_rate_sensor](./nimble_heart_rate_sensor)
|
- [pio_blink](./pio_blink/README.md)
|
||||||
- This example demonstrates how to implement asynchronous data transfer using GATT
|
|
||||||
notifications by implementing a mock-up BLE heart rate sensor.
|
|
||||||
|
|
||||||
- [pio_blink](./pio_blink)
|
|
||||||
- How to use the PIO peripheral on the RaspberryPi Pico to blink an LED.
|
- How to use the PIO peripheral on the RaspberryPi Pico to blink an LED.
|
||||||
- [arduino_hello-world](./arduino_hello-world)
|
- [twr_aloha](./twr_aloha/README.md)
|
||||||
- This application demonstrates the usage of Arduino sketches in RIOT.
|
|
||||||
- [twr_aloha](./twr_aloha)
|
|
||||||
- This example allows testing different two-way ranging algorithms between
|
- This example allows testing different two-way ranging algorithms between
|
||||||
two boards supporting a dw1000 device. This makes use of the uwb-core
|
two boards supporting a dw1000 device. This makes use of the uwb-core
|
||||||
pkg.
|
pkg.
|
||||||
|
11
examples/timer_periodic_wakeup/README.md
Normal file
11
examples/timer_periodic_wakeup/README.md
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
# Periodic Wakeup Timer Example
|
||||||
|
|
||||||
|
This example demonstrates how to set up a periodic wakeup timer using the RIOT operating system.
|
||||||
|
|
||||||
|
## Overview
|
||||||
|
|
||||||
|
The application sets up a timer that periodically wakes up the system and performs a specific task. This is useful for applications that need to perform regular actions, such as sensor readings or data transmissions.
|
||||||
|
|
||||||
|
## Usage
|
||||||
|
|
||||||
|
Once the application is running, you should see periodic messages indicating that the timer has triggered and the system has woken up to perform its task.
|
@ -1,44 +0,0 @@
|
|||||||
# Periodic Wakeup Timer Example
|
|
||||||
|
|
||||||
This example demonstrates how to set up a periodic wakeup timer using the RIOT operating system.
|
|
||||||
|
|
||||||
## Overview
|
|
||||||
|
|
||||||
The application sets up a timer that periodically wakes up the system and performs a specific task. This is useful for applications that need to perform regular actions, such as sensor readings or data transmissions.
|
|
||||||
|
|
||||||
## Requirements
|
|
||||||
|
|
||||||
- RIOT OS
|
|
||||||
- A supported hardware platform
|
|
||||||
|
|
||||||
## Setup
|
|
||||||
|
|
||||||
1. Clone the RIOT repository:
|
|
||||||
```sh
|
|
||||||
git clone https://github.com/RIOT-OS/RIOT.git
|
|
||||||
cd RIOT
|
|
||||||
```
|
|
||||||
|
|
||||||
2. Navigate to the example directory:
|
|
||||||
```sh
|
|
||||||
cd examples/timer_periodic_wakeup
|
|
||||||
```
|
|
||||||
|
|
||||||
3. Build the application for your target hardware:
|
|
||||||
```sh
|
|
||||||
make BOARD=<your-board>
|
|
||||||
```
|
|
||||||
|
|
||||||
4. Flash the application to your hardware:
|
|
||||||
```sh
|
|
||||||
make flash
|
|
||||||
```
|
|
||||||
|
|
||||||
5. Connect to the board's serial console to observe the output:
|
|
||||||
```sh
|
|
||||||
make term
|
|
||||||
```
|
|
||||||
|
|
||||||
## Usage
|
|
||||||
|
|
||||||
Once the application is running, you should see periodic messages indicating that the timer has triggered and the system has woken up to perform its task.
|
|
Loading…
Reference in New Issue
Block a user