Murata TypeYD - FluentLogger example.

Dependencies:   FluentLogger SNICInterface mbed-rtos mbed

Committer:
YuuichiAkagawa
Date:
Wed Dec 24 10:48:07 2014 +0000
Revision:
0:80f672a5e7e3
Initial release

Who changed what in which revision?

UserRevisionLine numberNew contents of line
YuuichiAkagawa 0:80f672a5e7e3 1 /* SNIC-FluentLogger-example - fluent-logger-mbed sample
YuuichiAkagawa 0:80f672a5e7e3 2 * Copyright (C) 2014 Yuuichi Akagawa
YuuichiAkagawa 0:80f672a5e7e3 3 * muRata, SWITCH SCIENCE Wi-FI module TypeYD SNIC-UART.
YuuichiAkagawa 0:80f672a5e7e3 4 *
YuuichiAkagawa 0:80f672a5e7e3 5 * Licensed under the Apache License, Version 2.0 (the "License");
YuuichiAkagawa 0:80f672a5e7e3 6 * you may not use this file except in compliance with the License.
YuuichiAkagawa 0:80f672a5e7e3 7 * You may obtain a copy of the License at
YuuichiAkagawa 0:80f672a5e7e3 8 *
YuuichiAkagawa 0:80f672a5e7e3 9 * http://www.apache.org/licenses/LICENSE-2.0
YuuichiAkagawa 0:80f672a5e7e3 10 *
YuuichiAkagawa 0:80f672a5e7e3 11 * Unless required by applicable law or agreed to in writing, software
YuuichiAkagawa 0:80f672a5e7e3 12 * distributed under the License is distributed on an "AS IS" BASIS,
YuuichiAkagawa 0:80f672a5e7e3 13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
YuuichiAkagawa 0:80f672a5e7e3 14 * See the License for the specific language governing permissions and
YuuichiAkagawa 0:80f672a5e7e3 15 * limitations under the License.
YuuichiAkagawa 0:80f672a5e7e3 16 */
YuuichiAkagawa 0:80f672a5e7e3 17 #include "mbed.h"
YuuichiAkagawa 0:80f672a5e7e3 18 #include "SNIC_WifiInterface.h"
YuuichiAkagawa 0:80f672a5e7e3 19 #include "FluentLogger.h"
YuuichiAkagawa 0:80f672a5e7e3 20
YuuichiAkagawa 0:80f672a5e7e3 21 /* Please set your WiFi settings */
YuuichiAkagawa 0:80f672a5e7e3 22 #define DEMO_AP_SSID "AP_SSID"
YuuichiAkagawa 0:80f672a5e7e3 23 #define DEMO_AP_SECURITY_TYPE e_SEC_WPA2_AES
YuuichiAkagawa 0:80f672a5e7e3 24 #define DEMO_AP_SECUTIRY_KEY "WPA2_PASSPHRASE"
YuuichiAkagawa 0:80f672a5e7e3 25 #define DEMO_AP_SECUTIRY_KEY_LEN 15
YuuichiAkagawa 0:80f672a5e7e3 26
YuuichiAkagawa 0:80f672a5e7e3 27 /** Wi-Fi SNIC UART Interface*/
YuuichiAkagawa 0:80f672a5e7e3 28 #if defined(TARGET_LPC1768)
YuuichiAkagawa 0:80f672a5e7e3 29 C_SNIC_WifiInterface mSNICwifi( p9, p10, NC, NC, p30 );
YuuichiAkagawa 0:80f672a5e7e3 30 #elif defined(TARGET_KL46Z)
YuuichiAkagawa 0:80f672a5e7e3 31 C_SNIC_WifiInterface mSNICwifi( D1, D0, NC, NC, D3 );
YuuichiAkagawa 0:80f672a5e7e3 32 #elif defined(TARGET_RZ_A1H)
YuuichiAkagawa 0:80f672a5e7e3 33 C_SNIC_WifiInterface mSNICwifi( P7_4, P7_5, NC, NC, P7_2 );
YuuichiAkagawa 0:80f672a5e7e3 34 #else
YuuichiAkagawa 0:80f672a5e7e3 35 #error Your platform is not supported.
YuuichiAkagawa 0:80f672a5e7e3 36 #endif
YuuichiAkagawa 0:80f672a5e7e3 37
YuuichiAkagawa 0:80f672a5e7e3 38 /* fluentd server */
YuuichiAkagawa 0:80f672a5e7e3 39 FluentLogger logger("192.168.0.1");
YuuichiAkagawa 0:80f672a5e7e3 40
YuuichiAkagawa 0:80f672a5e7e3 41 Serial pc(USBTX, USBRX); /* for DEBUG_PRINT */
YuuichiAkagawa 0:80f672a5e7e3 42
YuuichiAkagawa 0:80f672a5e7e3 43 int main()
YuuichiAkagawa 0:80f672a5e7e3 44 {
YuuichiAkagawa 0:80f672a5e7e3 45 uMP mp(64); //Message body
YuuichiAkagawa 0:80f672a5e7e3 46
YuuichiAkagawa 0:80f672a5e7e3 47 #ifdef _DEBUG
YuuichiAkagawa 0:80f672a5e7e3 48 pc.baud( 9600 );
YuuichiAkagawa 0:80f672a5e7e3 49 #endif
YuuichiAkagawa 0:80f672a5e7e3 50 // Initialize Wi-Fi interface
YuuichiAkagawa 0:80f672a5e7e3 51 int ret = mSNICwifi.init();
YuuichiAkagawa 0:80f672a5e7e3 52 if( ret != 0 ) {
YuuichiAkagawa 0:80f672a5e7e3 53 DEBUG_PRINT( "Could not initialize. Will halt! rc=%d\n\r", ret );
YuuichiAkagawa 0:80f672a5e7e3 54 return -1;
YuuichiAkagawa 0:80f672a5e7e3 55 } else {
YuuichiAkagawa 0:80f672a5e7e3 56 DEBUG_PRINT( "Initialized.\n\r");
YuuichiAkagawa 0:80f672a5e7e3 57 }
YuuichiAkagawa 0:80f672a5e7e3 58
YuuichiAkagawa 0:80f672a5e7e3 59 wait(0.5);
YuuichiAkagawa 0:80f672a5e7e3 60
YuuichiAkagawa 0:80f672a5e7e3 61 ret = mSNICwifi.disconnect();
YuuichiAkagawa 0:80f672a5e7e3 62 if( ret != 0 ) {
YuuichiAkagawa 0:80f672a5e7e3 63 DEBUG_PRINT( "Disconnect failed rc=%d\r\n", ret);
YuuichiAkagawa 0:80f672a5e7e3 64 return -1;
YuuichiAkagawa 0:80f672a5e7e3 65 } else {
YuuichiAkagawa 0:80f672a5e7e3 66 DEBUG_PRINT( "Disconnected.\n\r");
YuuichiAkagawa 0:80f672a5e7e3 67 }
YuuichiAkagawa 0:80f672a5e7e3 68
YuuichiAkagawa 0:80f672a5e7e3 69 wait(0.3);
YuuichiAkagawa 0:80f672a5e7e3 70
YuuichiAkagawa 0:80f672a5e7e3 71 // Connect AP
YuuichiAkagawa 0:80f672a5e7e3 72 ret = mSNICwifi.connect( DEMO_AP_SSID
YuuichiAkagawa 0:80f672a5e7e3 73 , strlen(DEMO_AP_SSID)
YuuichiAkagawa 0:80f672a5e7e3 74 , DEMO_AP_SECURITY_TYPE
YuuichiAkagawa 0:80f672a5e7e3 75 , DEMO_AP_SECUTIRY_KEY
YuuichiAkagawa 0:80f672a5e7e3 76 , DEMO_AP_SECUTIRY_KEY_LEN );
YuuichiAkagawa 0:80f672a5e7e3 77 if( ret != 0 ) {
YuuichiAkagawa 0:80f672a5e7e3 78 DEBUG_PRINT( "Connect failed rc=%d\r\n", ret);
YuuichiAkagawa 0:80f672a5e7e3 79 return -1;
YuuichiAkagawa 0:80f672a5e7e3 80 } else {
YuuichiAkagawa 0:80f672a5e7e3 81 DEBUG_PRINT( "Connected.\n\r");
YuuichiAkagawa 0:80f672a5e7e3 82 }
YuuichiAkagawa 0:80f672a5e7e3 83
YuuichiAkagawa 0:80f672a5e7e3 84 //DHCP
YuuichiAkagawa 0:80f672a5e7e3 85 mSNICwifi.setIPConfig( true );
YuuichiAkagawa 0:80f672a5e7e3 86
YuuichiAkagawa 0:80f672a5e7e3 87 wait(0.5);
YuuichiAkagawa 0:80f672a5e7e3 88
YuuichiAkagawa 0:80f672a5e7e3 89 while(1) {
YuuichiAkagawa 0:80f672a5e7e3 90 //send to fluentd
YuuichiAkagawa 0:80f672a5e7e3 91 logger.log("debug.mbed", "Hello Type YD"); //message body is simple string
YuuichiAkagawa 0:80f672a5e7e3 92 wait_ms(3000);
YuuichiAkagawa 0:80f672a5e7e3 93 }
YuuichiAkagawa 0:80f672a5e7e3 94 }