Murata TypeYD - FluentLogger example.
Dependencies: FluentLogger SNICInterface mbed-rtos mbed
main.cpp@0:80f672a5e7e3, 2014-12-24 (annotated)
- Committer:
- YuuichiAkagawa
- Date:
- Wed Dec 24 10:48:07 2014 +0000
- Revision:
- 0:80f672a5e7e3
Initial release
Who changed what in which revision?
User | Revision | Line number | New 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 | } |