Example of using the mDot UDK with the X-NUCLEO-IKS01A1 shield

Dependencies:   mDot_X_NUCLEO_IKS01A1 libmDot-dev-mbed5-deprecated

Hardware

Hardware List

Setup

  • Install the mDot on the developer board.
  • Install the IKS01A1 on the developer board.
  • If using a MTUDK-ST-CELL (white board) plug in the AC power adapter
  • Connect the microusb power to your development PC
    • if using a MTUDK-ST-CELL there are 2 microusb ports. Use the one closest to the serial port.

Your developer board should look like the following:

/media/uploads/pferland/udk_iks01a1.jpg

Software

This example program uses LoRa utility functions from Dot-Examples and the IKS01A1 library from ST Micro.

LoRa Configuration

Senet

By default this program is configured to connect to the Senet network. To connect to Senet you will need to register your mDot's Node ID with the Senet developer portal and change the network_key array in main.cpp.

Others

To connect to a different LoRa gateway change the arrays network_id and network_key. If you are using passphrases, edit the strings network_name and network_key, uncomment the function "update_ota_config_name_phrase" and comment out the function "update_ota_config_id_key".

Committer:
pferland
Date:
Tue Feb 14 20:36:21 2017 +0000
Revision:
11:1425f2e65663
Parent:
0:9e88a9018fc0
Updated libmDot-dev to latest

Who changed what in which revision?

UserRevisionLine numberNew contents of line
pferland 0:9e88a9018fc0 1 #ifndef __DOT_UTIL_H__
pferland 0:9e88a9018fc0 2 #define __DOT_UTIL_H__
pferland 0:9e88a9018fc0 3
pferland 0:9e88a9018fc0 4 #include "mbed.h"
pferland 0:9e88a9018fc0 5 #include "mDot.h"
pferland 0:9e88a9018fc0 6 #include "MTSLog.h"
pferland 0:9e88a9018fc0 7 #include "MTSText.h"
pferland 0:9e88a9018fc0 8
pferland 0:9e88a9018fc0 9 extern mDot* dot;
pferland 0:9e88a9018fc0 10
pferland 0:9e88a9018fc0 11 void display_config();
pferland 0:9e88a9018fc0 12
pferland 0:9e88a9018fc0 13 void update_ota_config_name_phrase(std::string network_name, std::string network_passphrase, uint8_t frequency_sub_band, bool public_network, uint8_t ack);
pferland 0:9e88a9018fc0 14
pferland 0:9e88a9018fc0 15 void update_ota_config_id_key(uint8_t *network_id, uint8_t *network_key, uint8_t frequency_sub_band, bool public_network, uint8_t ack);
pferland 0:9e88a9018fc0 16
pferland 0:9e88a9018fc0 17 void update_manual_config(uint8_t *network_address, uint8_t *network_session_key, uint8_t *data_session_key, uint8_t frequency_sub_band, bool public_network, uint8_t ack);
pferland 0:9e88a9018fc0 18
pferland 0:9e88a9018fc0 19 void update_peer_to_peer_config(uint8_t *network_address, uint8_t *network_session_key, uint8_t *data_session_key, uint32_t tx_frequency, uint8_t tx_datarate, uint8_t tx_power);
pferland 0:9e88a9018fc0 20
pferland 0:9e88a9018fc0 21 void update_network_link_check_config(uint8_t link_check_count, uint8_t link_check_threshold);
pferland 0:9e88a9018fc0 22
pferland 0:9e88a9018fc0 23 void join_network();
pferland 0:9e88a9018fc0 24
pferland 0:9e88a9018fc0 25 void sleep_wake_rtc_only(bool deepsleep);
pferland 0:9e88a9018fc0 26
pferland 0:9e88a9018fc0 27 void sleep_wake_interrupt_only(bool deepsleep);
pferland 0:9e88a9018fc0 28
pferland 0:9e88a9018fc0 29 void sleep_wake_rtc_or_interrupt(bool deepsleep);
pferland 0:9e88a9018fc0 30
pferland 0:9e88a9018fc0 31 void sleep_save_io();
pferland 0:9e88a9018fc0 32
pferland 0:9e88a9018fc0 33 void sleep_configure_io();
pferland 0:9e88a9018fc0 34
pferland 0:9e88a9018fc0 35 void sleep_restore_io();
pferland 0:9e88a9018fc0 36
pferland 0:9e88a9018fc0 37 void send_data(std::vector<uint8_t> data);
pferland 0:9e88a9018fc0 38
pferland 0:9e88a9018fc0 39 #endif