This projects helps to explore parts of the HARDWARIO .NET SDK from the view of the console application level. This readme will not explain all the functions of each demo in details because they are explained in the projects readmes.
Each demo in this console app is wrapped in separated region define. In each of those regions you will find the "if" statement which turns on/off specific demo in the console app. All variables for turning on/off of the demos are declared in start of the file Program.cs. If you would like to run some demo you need to change the specific variable from "false" to "true". For example if you would like to turn on the demo for HARDWARIO Simulator you need to setup this variable:
var HIO_SIMULATOR_TEST = true;
Then you can build and run the project. If you are in the folder with the project you can simply call:
dotnet run --configuration Debug
- JLinkExample - Example of the communication with two independent channels via SEGGER JLink. This demo includes basic communication via RTT channels and uploading the Firmware via JLink to the CHESTER device. You will need the connected JLink to run this example. Check that your device has power supply on before running this demo.
- JLinkCombinedConsoleExample - This example uses the combined Multi RTT console class to handle the communication on two RTT channels. This is more recommended solution becuase class solves internally possible async conflicts of both channels. You will need the connected JLink to run this example. Check that your device has power supply on before running this demo.
- PPK2Example - Example of the using the Nordic Semiconductor Power Profiler Kit II driver. You can find the PPK2 automatically, connect it based on serial number, control the voltage, turn on/off voltage and measure the current and save it to the file. You will need connected PPK2 to run this demo.
- ChirpstackExample - Example of communicating with the Chirpstack LoRaWAN Network Server via API. You can create applications, devices, register them, browse existing, etc. You need Chirpstack server running on your local/remote network. You will need to change the server IP address based on where your Chirpstack is running. Then you will need to use your own API token and Tenant Id to access the Chirpstack configuration.
- ThingsBoardExample - Example of communicating with the ThingsBoard IoT Server via API. You can create customers, devices, dashboards, upload/download telemetry data, etc. You need to run the ThingsBoard server on your local/remote network. If you use the localhost you can use pre-set baseUrl. If you use some remote server or specific port you need to change the baseUrl. You need to add your own device Id, username and password to run this demo.
- HIOCloudV2Example - Basic example for HARDWARIO Cloud v2 API communication. You will need login information, api tokens, space and device id for running all HIOCloudV2 examples.
- HIOCloudV2DownlinkExample - Example how to send downling message to Hardwario cloud so it can be downloaded by CHESTER.
- HIOCloudV2AddDeviceAndConnectorExample - Example shows how to create device and connector in cloud and connect them with specific tag.
- HIOCloudV2SimpleGrabberExample - Example shows how to run automatic grabber for the new messages from the cloud for one specific device. The grabber sends the event anytime when new message in cloud arrives.
- HIOCloudV2SimpleGrabberHandlerExample - Example shows how to run automatic grabber for the new messages from the cloud for multiple parallel devices.
- HIO_WMBUSMETERExample - Example for communication with the wmbusmeters instance which runs on HARDWARIO cloud via API. It shows how to decode wM-Bus telegrams from different types of Smart Meters.
- HIOSimulatorExample - Example of running one simple simulator of CHESTER Catalog Application data messages (same messages as you can receive from the HARDWARIO cloud).
- HIOSimulatorHandlerExample - Example of running multiple parallel simulators of CHESTER Catalog Application data messages.
If you will need any other example please contact us or create issue for the request.