mbedOS client example, modified to push X-Nucleo-IKS01A1/2 Environmental Sensor data to mbed Cloud Connector.
Dependencies: X_NUCLEO_IKS01A1 X_NUCLEO_IKS01A2
The application is derived from the official mbedOS client example (link) and has been tested using a X-NUCLEO-IKS01A2 (default) or a X-NUCLEO-IKS01A1 motion and environmental sensors expansion board connected to a ST NUCLEO-F429ZI platform.
The following steps should be performed to make the application work:
- Register and login into ARM mbed Connector.
- Replace the default and empty security.h file with the one associated with your account and provided by the Connector (Security Credentials menu).
- In order to use X-NUCLEO-IKS01A1 instead of default X-NUCLEO-IKS02A1 comment out the IKS01A2 macro definition in main.cpp file.
- Choose NUCLEO-F429ZI as a target either from online compiler or from CLI, compile and flash.
- Connect the board to your ethernet network, open a serial terminal (params 115200N1) and wait that the client is connected to the mbed Connector.
- Press user button to start acquiring and pushing the environmental (pressure, temperature and humidity) data.
Note: environmental data are expressed using IPSO representation based on OMA LWM2M standard.
mbed_client_config.h@0:003e60a0deb8, 2017-04-26 (annotated)
- Committer:
- nikapov
- Date:
- Wed Apr 26 18:23:56 2017 +0200
- Revision:
- 0:003e60a0deb8
First version.
Original repository: https://github.com/ARMmbed/mbed-os-example-client
Version hash: 629b972f41109fd1b54bb755ea454d736a50069b
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
nikapov | 0:003e60a0deb8 | 1 | /* |
nikapov | 0:003e60a0deb8 | 2 | * Copyright (c) 2016 ARM Limited. All rights reserved. |
nikapov | 0:003e60a0deb8 | 3 | * SPDX-License-Identifier: Apache-2.0 |
nikapov | 0:003e60a0deb8 | 4 | * Licensed under the Apache License, Version 2.0 (the License); you may |
nikapov | 0:003e60a0deb8 | 5 | * not use this file except in compliance with the License. |
nikapov | 0:003e60a0deb8 | 6 | * You may obtain a copy of the License at |
nikapov | 0:003e60a0deb8 | 7 | * |
nikapov | 0:003e60a0deb8 | 8 | * http://www.apache.org/licenses/LICENSE-2.0 |
nikapov | 0:003e60a0deb8 | 9 | * |
nikapov | 0:003e60a0deb8 | 10 | * Unless required by applicable law or agreed to in writing, software |
nikapov | 0:003e60a0deb8 | 11 | * distributed under the License is distributed on an AS IS BASIS, WITHOUT |
nikapov | 0:003e60a0deb8 | 12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
nikapov | 0:003e60a0deb8 | 13 | * See the License for the specific language governing permissions and |
nikapov | 0:003e60a0deb8 | 14 | * limitations under the License. |
nikapov | 0:003e60a0deb8 | 15 | */ |
nikapov | 0:003e60a0deb8 | 16 | #ifndef MBED_CLIENT_CONFIG_H |
nikapov | 0:003e60a0deb8 | 17 | #define MBED_CLIENT_CONFIG_H |
nikapov | 0:003e60a0deb8 | 18 | |
nikapov | 0:003e60a0deb8 | 19 | |
nikapov | 0:003e60a0deb8 | 20 | // Defines the number of times client should try re-connection towards |
nikapov | 0:003e60a0deb8 | 21 | // Server in case of connectivity loss , also defines the number of CoAP |
nikapov | 0:003e60a0deb8 | 22 | // re-transmission attempts.Default value is 3 |
nikapov | 0:003e60a0deb8 | 23 | #define M2M_CLIENT_RECONNECTION_COUNT 3 |
nikapov | 0:003e60a0deb8 | 24 | |
nikapov | 0:003e60a0deb8 | 25 | // Defines the interval (in seconds) in which client should try re-connection towards |
nikapov | 0:003e60a0deb8 | 26 | // Server in case of connectivity loss , also use the same interval for CoAP |
nikapov | 0:003e60a0deb8 | 27 | // re-transmission attempts. Default value is 5 seconds |
nikapov | 0:003e60a0deb8 | 28 | #define M2M_CLIENT_RECONNECTION_INTERVAL 5 |
nikapov | 0:003e60a0deb8 | 29 | |
nikapov | 0:003e60a0deb8 | 30 | // Defines the keep-alive interval (in seconds) in which client should send keep alive |
nikapov | 0:003e60a0deb8 | 31 | // pings to server while connected through TCP mode. Default value is 300 seconds |
nikapov | 0:003e60a0deb8 | 32 | #define M2M_CLIENT_TCP_KEEPALIVE_TIME 300 |
nikapov | 0:003e60a0deb8 | 33 | |
nikapov | 0:003e60a0deb8 | 34 | // Defines the maximum CoAP messages that client can hold, maximum value is 6 |
nikapov | 0:003e60a0deb8 | 35 | #define SN_COAP_DUPLICATION_MAX_MSGS_COUNT 2 |
nikapov | 0:003e60a0deb8 | 36 | |
nikapov | 0:003e60a0deb8 | 37 | // Defines the size of blockwise CoAP messages that client can handle. |
nikapov | 0:003e60a0deb8 | 38 | // The values that can be defined uust be 2^x and x is at least 4. |
nikapov | 0:003e60a0deb8 | 39 | // Suitable values: 0, 16, 32, 64, 128, 256, 512 and 1024 |
nikapov | 0:003e60a0deb8 | 40 | #define SN_COAP_MAX_BLOCKWISE_PAYLOAD_SIZE 1024 |
nikapov | 0:003e60a0deb8 | 41 | |
nikapov | 0:003e60a0deb8 | 42 | // Many pure LWM2M servers doen't accept 'obs' text in registration message. |
nikapov | 0:003e60a0deb8 | 43 | // While using Client against such servers, this flag can be set to define to |
nikapov | 0:003e60a0deb8 | 44 | // disable client sending 'obs' text for observable resources. |
nikapov | 0:003e60a0deb8 | 45 | #undef COAP_DISABLE_OBS_FEATURE |
nikapov | 0:003e60a0deb8 | 46 | |
nikapov | 0:003e60a0deb8 | 47 | // Disable Bootstrap functionality in client in order to reduce code size, if bootstrap |
nikapov | 0:003e60a0deb8 | 48 | // functionality is not required. |
nikapov | 0:003e60a0deb8 | 49 | #undef M2M_CLIENT_DISABLE_BOOTSTRAP_FEATURE |
nikapov | 0:003e60a0deb8 | 50 | |
nikapov | 0:003e60a0deb8 | 51 | #endif // MBED_CLIENT_CONFIG_H |
nikapov | 0:003e60a0deb8 | 52 |