
demo of the murata wifi chip. This demo tries to connect to an open wifi access point and prints out all the relevant information about the connection. It then scans all wifi access points nearby and reports their information.
Dependencies: SNICInterface mbed-rtos mbed
Fork of SNIC-xively-jumpstart-demo by
Diff: main.cpp
- Revision:
- 28:174412ff9671
- Parent:
- 27:6949291ca38d
- Child:
- 29:9f08c7152c7a
--- a/main.cpp Tue Nov 25 00:33:30 2014 +0000 +++ b/main.cpp Wed Apr 01 22:37:22 2015 +0000 @@ -19,158 +19,52 @@ #include "mbed.h" #include "SNIC_WifiInterface.h" -#define XI_FEED_ID 1056160623 // set Xively Feed ID (numerical, no quoutes) -#define XI_API_KEY "Wg7CfZDrj7VjIIpiYzdDrMow6wdENAOGjkIfQ0fUjJh6DAw2" // set Xively API key (double-quoted string) - -#include "app_board_io.h" +Serial pc(USBTX, USBRX); -#include "xively.h" -#include "xi_err.h" - -#include "MMA7660.h" -#include "LM75B.h" -#include "C12832.h" -#if defined(TARGET_LPC1768) -#include "PowerControl/EthernetPowerControl.h" -C12832 lcd(p5, p7, p6, p8, p11); -MMA7660 axl(p28, p27); -LM75B tmp(p28, p27); -Serial pc(USBTX, USBRX); /* for DEBUG_PRINT */ -#elif defined(TARGET_KL46Z) -C12832 lcd(D11, D13, D12, D7, D10); -MMA7660 axl(I2C_SDA, I2C_SCL); -LM75B tmp(I2C_SDA, I2C_SCL); -Serial pc(P2_12, P2_11); /* for DEBUG_PRINT */ -#endif +#define WIFI_SSID "AP_SSID" +#define WIFI_SECURITY_TYPE e_SEC_WPA2_AES +#define WIFI_SECUTIRY_KEY "WPA2_PASSPHRASE" +#define WIFI_SECUTIRY_KEY_LEN 15 -#include "logo.h" - -#define DEMO_AP_SSID "AP_SSID" -#define DEMO_AP_SECURITY_TYPE e_SEC_WPA2_AES -#define DEMO_AP_SECUTIRY_KEY "WPA2_PASSPHRASE" -#define DEMO_AP_SECUTIRY_KEY_LEN 15 - -/** Wi-Fi SNIC UART Interface*/ -#if defined(TARGET_LPC1768) -C_SNIC_WifiInterface mSNICwifi( p9, p10, NC, NC, p30 ); -#elif defined(TARGET_KL46Z) -C_SNIC_WifiInterface mSNICwifi( D1, D0, NC, NC, D3 ); -#endif +C_SNIC_WifiInterface wifi( D1, D0, NC, NC, D3 ); -int main() { - -#if defined(TARGET_LPC1768) - PHY_PowerDown(); -#endif -#ifdef _DEBUG - pc.baud( 115200 ); -#endif - DEBUG_PRINT("main\r\n"); - lcd_print_xively_logo(); - +int main() +{ + // for built in debug printouts +// pc.baud( 115200 ); + // Initialize Wi-Fi interface - int s = mSNICwifi.init(); - - lcd_printf("init();\r\n"); - - if( s != 0 ) - { - lcd_printf( "Could not initialise. Will halt!\n" ); + if( wifi.init() != 0 ) { + printf( "Wifi could not be initialized, halting.\r\n" ); return -1; - } - wait(0.5); - s = mSNICwifi.disconnect(); - lcd_printf("disconnect();\r\n"); - if( s != 0 ) - { - printf( "disconnect failed\r\n" ); - return -1; - } - - wait(0.3); - // Connect AP - mSNICwifi.connect( DEMO_AP_SSID - , strlen(DEMO_AP_SSID) - , DEMO_AP_SECURITY_TYPE - , DEMO_AP_SECUTIRY_KEY - , DEMO_AP_SECUTIRY_KEY_LEN ); - lcd_printf("connect();\r\n"); + }else { + printf("wifi initialized successfully!\r\n"); + } wait(0.5); - lcd_printf("IP Config();\r\n"); - mSNICwifi.setIPConfig( true ); + // good form to make sure you are disconnected from all AP's + if( wifi.disconnect() != 0 ) { + printf( "disconnect failed\r\n" ); + return -1; + }else{ + printf("disconnection successful!\r\n"); + } + wait(0.3); + // Connect AP + wifi.connect( WIFI_SSID + , strlen(WIFI_SSID) + , WIFI_SECURITY_TYPE + , WIFI_SECUTIRY_KEY + , WIFI_SECUTIRY_KEY_LEN ); + printf("connect();\r\n"); wait(0.5); - xi_feed_t feed; - memset( &feed, NULL, sizeof( xi_feed_t ) ); - - feed.feed_id = XI_FEED_ID; - feed.datastream_count = 3; - - feed.datastreams[0].datapoint_count = 1; - xi_datastream_t* orientation_datastream = &feed.datastreams[0]; - strcpy( orientation_datastream->datastream_id, "orientation" ); - xi_datapoint_t* current_orientation = &orientation_datastream->datapoints[0]; - - feed.datastreams[1].datapoint_count = 1; - xi_datastream_t* side_rotation_datastream = &feed.datastreams[1]; - strcpy( side_rotation_datastream->datastream_id, "side_rotation" ); - xi_datapoint_t* current_side_rotation = &side_rotation_datastream->datapoints[0]; - - feed.datastreams[2].datapoint_count = 1; - xi_datastream_t* temperature_datastream = &feed.datastreams[2]; - strcpy( temperature_datastream->datastream_id, "temperature" ); - xi_datapoint_t* current_temperature = &temperature_datastream->datapoints[0]; - - // create the cosm library context - xi_context_t* xi_context - = xi_create_context( XI_HTTP, XI_API_KEY, feed.feed_id ); - - // check if everything works - if( xi_context == NULL ) - { - return -1; - } + printf("IP Config();\r\n"); + wifi.setIPConfig( true ); - while(1) { - switch( axl.getSide() ) { - case MMA7660::Front: - xi_set_value_str( current_side_rotation, "front" ); - break; - case MMA7660::Back: - xi_set_value_str( current_side_rotation, "back" ); - break; - default: - xi_set_value_str( current_side_rotation, "unknown" ); - break; - } - - switch( axl.getOrientation() ) { - case MMA7660::Down: - xi_set_value_str( current_orientation, "down" ); - break; - case MMA7660::Up: - xi_set_value_str( current_orientation, "up" ); - break; - case MMA7660::Right: - xi_set_value_str( current_orientation, "right" ); - break; - case MMA7660::Left: - xi_set_value_str( current_orientation, "left" ); - break; - default: - xi_set_value_str( current_orientation, "unknown" ); - break; - } - - xi_set_value_f32( current_temperature, tmp.read() ); - - lcd_printf( "update...\n" ); - xi_feed_update( xi_context, &feed ); - lcd_printf( "done...\n" ); - - wait( 1.0 ); - } + printf( "done...\n" ); + + wait( 1.0 ); }