Objective of this demo is to showcase some of CycloneTCP / CycloneSSL / CycloneACME protocol implementations. The reference board used in this demo is STM32 Nucleo-144 development board with STM32F746ZG MCU, along side X-NUCLEO-IKS01A2 Motion MEMS and environmental sensor expansion board.
This page has been accessed 1214 times.
The Web server supports SSI (Server-Sides Includes) and CGI scripting for dynamic contents. The following properties are dynamically generated each time the page is refreshed (press F5). If your system supports IPv6, try to access the server using its IPv6 link-local address or global address and discover your own IPv6 host address!
|System Time:||549h 08min 41s 189ms|
Current Temperature: Loading...
Current Atmospheric Pressure: Loading...
Current Humidity: Loading...
Accelerometers measure linear acceleration. They can be also used for specific purposes such as inclination and vibration measurement. MEMS accelerometers embed several useful features for motion and acceleration detection, including free-fall, wakeup, single/double-tap recognition, activity/inactivity detection and 6D/4D orientation (more info).
MQTT (Message Queuing Telemetry Transport) is an open OASIS and ISO standard (ISO/IEC 20922) lightweight, publish-subscribe network protocol that transports messages between devices. It is designed for contexts where a "small code footprint" is required or the network bandwidth is limited.
Please follow the instructions below to access our live sensor data through MQTT:
- Open your favourite MQTT client. If you do not already have one, we can suggest MQTT.fx
Please use the following information to subscribe to our data feed:
- Broker address: mqtt.oryx-embedded.com
- Broker port: 1883 (MQTT unencrypted)
- Temperature Data: oryx/demo/temperature
- Humidity Data: oryx/demo/humidity
- Atmospheric Pressure Data: oryx/demo/pressure
The WebSocket APILearn More is an advanced technology that makes it possible to open a two-way interactive communication session between the user's browser and a server. With this API, you can send messages to a server and receive event-driven responses without having to poll the server for a reply.
This demo is secured using TLS 1.3, which is the most recent iteration of the Transport
Layer Security (TLS) protocol, which supersedes TLS 1.2. It is designed with improved speed
and performance as well as enhanced
connection security. In 2018, CycloneSSL stack became one of the first commercial embedded
TLS stacks to offer
support for TLS 1.3. For more information about the SSL configuration of this demo,
Inc SSL Labs.
The Automatic Certificate Management Environment (ACME) protocol is a communications protocol for automating interactions between certificate authorities and their users' web servers, allowing the automated deployment of public key infrastructure at very low cost. It was designed by the Internet Security Research Group (ISRG) for their Let's Encrypt service.
Let's Encrypt certificate management workflow. (S = Signature, A = Authorized Key, LE =
image credit: Let's Encrypt
How this demo is secured using Let's Encrypt & CycloneACME:
- Domain Validation: Let's Encrypt service identifies our demo using a public key. When our demo connected to the Let's Encrypt service for the first time, it generated a new keypair proving to the Let's Encrypt certificate authority that Oryx Embedded controls the domain under which our demo is hosted.
- Certificate Issuance and Revocation: Once we have generated a keypair, then we can easily communicate with Let's Encrypt service through CycloneACME for requesting, renewing and revocation of certificates. All API requests are signed with the authorized keypair generated in the previous step to securely communicate with Let's Encrypt service.
- Certificate Management: Once every two months, our demo sends a request to the Let's Encrypt service to renew our HTTPS server certificate. This process is completely automated thanks to CycloneACME.
Visit Let's Encrypt Docs for more information about this technology.