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.

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?

UserRevisionLine numberNew 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