Mbed Cloud example program for workshop in W27 2018.

Dependencies:   MMA7660 LM75B

Committer:
MACRUM
Date:
Sat Jun 30 01:40:30 2018 +0000
Revision:
0:119624335925
Initial commit

Who changed what in which revision?

UserRevisionLine numberNew contents of line
MACRUM 0:119624335925 1 /*
MACRUM 0:119624335925 2 * FILE: easy-connect.h
MACRUM 0:119624335925 3 *
MACRUM 0:119624335925 4 * Copyright (c) 2015 - 2017 ARM Limited. All rights reserved.
MACRUM 0:119624335925 5 * SPDX-License-Identifier: Apache-2.0
MACRUM 0:119624335925 6 * Licensed under the Apache License, Version 2.0 (the License); you may
MACRUM 0:119624335925 7 * not use this file except in compliance with the License.
MACRUM 0:119624335925 8 * You may obtain a copy of the License at
MACRUM 0:119624335925 9 *
MACRUM 0:119624335925 10 * http://www.apache.org/licenses/LICENSE-2.0
MACRUM 0:119624335925 11 *
MACRUM 0:119624335925 12 * Unless required by applicable law or agreed to in writing, software
MACRUM 0:119624335925 13 * distributed under the License is distributed on an AS IS BASIS, WITHOUT
MACRUM 0:119624335925 14 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
MACRUM 0:119624335925 15 * See the License for the specific language governing permissions and
MACRUM 0:119624335925 16 * limitations under the License.
MACRUM 0:119624335925 17 */
MACRUM 0:119624335925 18 #ifndef __EASY_CONNECT_H__
MACRUM 0:119624335925 19 #define __EASY_CONNECT_H__
MACRUM 0:119624335925 20
MACRUM 0:119624335925 21 #include "mbed.h"
MACRUM 0:119624335925 22
MACRUM 0:119624335925 23 #define ETHERNET 1
MACRUM 0:119624335925 24 #define WIFI_ESP8266 11
MACRUM 0:119624335925 25 #define WIFI_ODIN 12
MACRUM 0:119624335925 26 #define WIFI_RTW 13
MACRUM 0:119624335925 27 #define WIFI_IDW0XX1 14
MACRUM 0:119624335925 28 #define WIFI_WIZFI310 15
MACRUM 0:119624335925 29 #define WIFI_ISM43362 16
MACRUM 0:119624335925 30 #define MESH_LOWPAN_ND 101
MACRUM 0:119624335925 31 #define MESH_THREAD 102
MACRUM 0:119624335925 32 #define CELLULAR_ONBOARD 201
MACRUM 0:119624335925 33 #define CELLULAR 202
MACRUM 0:119624335925 34 #define CELLULAR_WNC14A2A 203
MACRUM 0:119624335925 35
MACRUM 0:119624335925 36 /* Define supersets for WiFi and Mesh */
MACRUM 0:119624335925 37
MACRUM 0:119624335925 38 #if MBED_CONF_APP_NETWORK_INTERFACE == WIFI_ESP8266
MACRUM 0:119624335925 39 #define EASY_CONNECT_WIFI
MACRUM 0:119624335925 40
MACRUM 0:119624335925 41 #elif MBED_CONF_APP_NETWORK_INTERFACE == WIFI_ODIN
MACRUM 0:119624335925 42 #define EASY_CONNECT_WIFI
MACRUM 0:119624335925 43
MACRUM 0:119624335925 44 #elif MBED_CONF_APP_NETWORK_INTERFACE == WIFI_RTW
MACRUM 0:119624335925 45 #define EASY_CONNECT_WIFI
MACRUM 0:119624335925 46
MACRUM 0:119624335925 47 #elif MBED_CONF_APP_NETWORK_INTERFACE == WIFI_IDW0XX1
MACRUM 0:119624335925 48 #define EASY_CONNECT_WIFI
MACRUM 0:119624335925 49
MACRUM 0:119624335925 50 #elif MBED_CONF_APP_NETWORK_INTERFACE == WIFI_WIZFI310
MACRUM 0:119624335925 51 #define EASY_CONNECT_WIFI
MACRUM 0:119624335925 52
MACRUM 0:119624335925 53 #elif MBED_CONF_APP_NETWORK_INTERFACE == WIFI_ISM43362
MACRUM 0:119624335925 54 #define EASY_CONNECT_WIFI
MACRUM 0:119624335925 55
MACRUM 0:119624335925 56 #elif MBED_CONF_APP_NETWORK_INTERFACE == MESH_LOWPAN_ND
MACRUM 0:119624335925 57 #define EASY_CONNECT_MESH
MACRUM 0:119624335925 58
MACRUM 0:119624335925 59 #elif MBED_CONF_APP_NETWORK_INTERFACE == MESH_THREAD
MACRUM 0:119624335925 60 #define EASY_CONNECT_MESH
MACRUM 0:119624335925 61 #endif // MBED_CONF_APP_NETWORK_INTERFACE
MACRUM 0:119624335925 62
MACRUM 0:119624335925 63 #if defined(EASY_CONNECT_MESH)
MACRUM 0:119624335925 64
MACRUM 0:119624335925 65 // Define macros for radio type
MACRUM 0:119624335925 66 #define ATMEL 1
MACRUM 0:119624335925 67 #define MCR20 2
MACRUM 0:119624335925 68 #define SPIRIT1 3
MACRUM 0:119624335925 69 #define EFR32 4
MACRUM 0:119624335925 70
MACRUM 0:119624335925 71 // This is address to mbed Device Connector (hard-coded IP due to DNS might not be there)
MACRUM 0:119624335925 72 #define MBED_SERVER_ADDRESS "coaps://[2607:f0d0:2601:52::20]:5684"
MACRUM 0:119624335925 73
MACRUM 0:119624335925 74 #else
MACRUM 0:119624335925 75 // This is address to mbed Device Connector
MACRUM 0:119624335925 76 #define MBED_SERVER_ADDRESS "coap://api.connector.mbed.com:5684"
MACRUM 0:119624335925 77
MACRUM 0:119624335925 78 #endif // (EASY_CONNECT_MESH)
MACRUM 0:119624335925 79
MACRUM 0:119624335925 80 /* \brief print_MAC - print_MAC - helper function to print out MAC address
MACRUM 0:119624335925 81 * in: network_interface - pointer to network i/f
MACRUM 0:119624335925 82 * bool log-messages print out logs or not
MACRUM 0:119624335925 83 * MAC address is print, if it can be acquired & log_messages is true.
MACRUM 0:119624335925 84 *
MACRUM 0:119624335925 85 */
MACRUM 0:119624335925 86 void print_MAC(NetworkInterface* network_interface, bool log_messages);
MACRUM 0:119624335925 87
MACRUM 0:119624335925 88
MACRUM 0:119624335925 89 /* \brief easy_connect - easy_connect function to connect the pre-defined network bearer,
MACRUM 0:119624335925 90 * config done via mbed_app.json (see README.md for details).
MACRUM 0:119624335925 91 * IN: bool log_messages print out diagnostics or not.
MACRUM 0:119624335925 92 */
MACRUM 0:119624335925 93 NetworkInterface* easy_connect(bool log_messages = false);
MACRUM 0:119624335925 94
MACRUM 0:119624335925 95 /* \brief easy_connect - easy_connect function to connect the pre-defined network bearer,
MACRUM 0:119624335925 96 * config done via mbed_app.json (see README.md for details).
MACRUM 0:119624335925 97 * IN: bool log_messages print out diagnostics or not.
MACRUM 0:119624335925 98 * char* WiFiSSID WiFi SSID - by default NULL, but if it's NULL
MACRUM 0:119624335925 99 * then MBED_CONF_APP_WIFI_SSID will be used
MACRUM 0:119624335925 100 * char* WiFiPassword WiFi Password - by default NULL, but if it's NULL
MACRUM 0:119624335925 101 * then MBED_CONF_APP_WIFI_PASSWORD will be used
MACRUM 0:119624335925 102 */
MACRUM 0:119624335925 103 NetworkInterface* easy_connect(bool log_messages,
MACRUM 0:119624335925 104 char* WiFiSSID,
MACRUM 0:119624335925 105 char* WiFiPassword);
MACRUM 0:119624335925 106
MACRUM 0:119624335925 107 /* \brief easy_get_netif - easy_connect function to get pointer to network interface w/o connect it.
MACRUM 0:119624335925 108 You might need this for example getting the WiFi interface, then doing a scan
MACRUM 0:119624335925 109 and then connecting to one of the SSIDs found with a password end user supplies.
MACRUM 0:119624335925 110 * IN: bool log_messages print out diagnostics or not.
MACRUM 0:119624335925 111 */
MACRUM 0:119624335925 112
MACRUM 0:119624335925 113 NetworkInterface* easy_get_netif(bool log_messages);
MACRUM 0:119624335925 114 /* \brief easy_get_wifi - easy_connect function to get pointer to Wifi interface
MACRUM 0:119624335925 115 * without connecting to it. You would want this 1st so that
MACRUM 0:119624335925 116 * you can scan the APNs, choose the right one and then connect.
MACRUM 0:119624335925 117 *
MACRUM 0:119624335925 118 * IN: bool log_messages print out diagnostics or not.
MACRUM 0:119624335925 119 */
MACRUM 0:119624335925 120 WiFiInterface* easy_get_wifi(bool log_messages);
MACRUM 0:119624335925 121
MACRUM 0:119624335925 122 #endif // __EASY_CONNECT_H__