Mbed OS Device Connector client pushing environmental sensor data via 6LowPan.

Dependencies:   X_NUCLEO_IKS01A2

Fork of mbed-os-example-client-Sensors_6LowPan by Nicola Capovilla

The application is derived from the official mbedOS client example (link) and has been tested using a X-NUCLEO-IDS01A4 SubGHz 6LowPan connectivity board and 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-IKS01A2 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.
  • Setup and connect a NUCLEO-F429ZI + X-NUCLEO-IDS01A4 6LowPan border router as explained here
  • Open a serial terminal (params 115200N1) and wait that the client is connected to the mbed Connector via the border router.
  • As soon as the client is connected it will start acquiring and pushing the environmental (pressure, temperature and humidity) data to the cloud.

Note: environmental data are expressed using IPSO representation based on OMA LWM2M standard.

mbed_client_config.h

Committer:
nikapov
Date:
2018-01-25
Revision:
0:694e888fd1b5

File content as of revision 0:694e888fd1b5:

/*
 * Copyright (c) 2016 ARM Limited. All rights reserved.
 * SPDX-License-Identifier: Apache-2.0
 * Licensed under the Apache License, Version 2.0 (the License); you may
 * not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an AS IS BASIS, WITHOUT
 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
#ifndef MBED_CLIENT_CONFIG_H
#define MBED_CLIENT_CONFIG_H


// Defines the number of times client should try re-connection towards
// Server in case of connectivity loss , also defines the number of CoAP
// re-transmission attempts.Default value is 3
#define M2M_CLIENT_RECONNECTION_COUNT		3

// Defines the interval (in seconds) in which client should try re-connection towards
// Server in case of connectivity loss , also use the same interval for CoAP
// re-transmission attempts. Default value is 5 seconds
#define M2M_CLIENT_RECONNECTION_INTERVAL	5

// Defines the keep-alive interval (in seconds) in which client should send keep alive
// pings to server while connected through TCP mode. Default value is 300 seconds
#define M2M_CLIENT_TCP_KEEPALIVE_TIME 		300

// Defines the maximum CoAP messages that client can hold, maximum value is 6
#define SN_COAP_DUPLICATION_MAX_MSGS_COUNT  2

// Defines the size of blockwise CoAP messages that client can handle.
// The values that can be defined uust be 2^x and x is at least 4.
// Suitable values: 0, 16, 32, 64, 128, 256, 512 and 1024
#define SN_COAP_MAX_BLOCKWISE_PAYLOAD_SIZE  512

// Many pure LWM2M servers doen't accept 'obs' text in registration message.
// While using Client against such servers, this flag can be set to define to
// disable client sending 'obs' text for observable resources.
#undef COAP_DISABLE_OBS_FEATURE

// Disable Bootstrap functionality in client in order to reduce code size, if bootstrap
// functionality is not required.
#undef M2M_CLIENT_DISABLE_BOOTSTRAP_FEATURE

#endif // MBED_CLIENT_CONFIG_H