Example program to create IoT devices for a local network, which connect to a local server.

Dependencies:   WebSocketClient WiflyInterface mbed messages

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers globals.h Source File

globals.h

Go to the documentation of this file.
00001 /**
00002 * @author Damien Frost
00003 *
00004 * @section LICENSE
00005 *
00006 *   Copyright (c) 2016 Damien Frost
00007 *
00008 *   Permission is hereby granted, free of charge, to any person obtaining a copy
00009 *   of this software and associated documentation files (the "Software"), to deal
00010 *   in the Software without restriction, including without limitation the rights
00011 *   to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
00012 *   copies of the Software, and to permit persons to whom the Software is
00013 *   furnished to do so, subject to the following conditions:
00014 *
00015 *   The above copyright notice and this permission notice shall be included in
00016 *   all copies or substantial portions of the Software.
00017 *
00018 *   THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
00019 *   IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
00020 *   FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
00021 *   AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
00022 *   LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
00023 *   OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
00024 *   THE SOFTWARE.
00025 *
00026 * @file "globals.h"
00027 *
00028 * @section DESCRIPTION
00029 *   Global definitions for the Internet of Things example.
00030 *
00031 */
00032 
00033 #ifndef IQ_GLOBALS_H
00034 #define IQ_GLOBALS_H
00035 
00036 #include "mbed.h"
00037 #include "WiflyInterface.h"
00038 #include "Commands.h "
00039 #include "Websocket.h"
00040 
00041 
00042 // Wifi Interface defines:
00043 #define TCP_SERVER_PORT 4445
00044 #define WIFIBAUDRATE    115200
00045 #define WIFINETWORK     2
00046 #define CHARMSGBUFF     1024
00047 #define TIMEOUTRECEIVEATTEMPTS  5
00048 #define WS_PORT     4444
00049 #define SERVER_IP "192.168.1.99"
00050 
00051 // Hardware:
00052 extern Serial          pc;
00053 extern InterruptIn     UIBut1;
00054 extern Timer           DisplayTimer;
00055 extern DigitalOut      Led;
00056 
00057 // Variables:
00058 extern int ReconnectAttempts;
00059 extern int SendCounter;
00060 extern int IoT_ID;
00061 extern float TempSensor;
00062 extern char* wifissid;
00063 extern char* wifipassword;
00064 
00065 // Communication:
00066 extern WiflyInterface eth;
00067 extern Websocket ws;
00068 
00069 // Functions:
00070 void SensorToPu(float gain, float offset, int sensor, float* result);
00071 void InitializeStruct(struct tf_history_t* toClear);
00072 void SetupVar(void);
00073 void SetButtonEvent(void);
00074 void rt_OneStep(void);
00075 void DisplayInputs(float CPS);
00076 void SetSCKDCParams(bool enable, float gain);
00077 int SetupNetwork(int Tries);
00078 bool ConnectToServer(int Tries);
00079 void SendNetworkData(void);
00080 void ReceiveNetworkData(unsigned int * wifi_cmd, float * value);
00081 void ModifyVariable(unsigned int wifi_var, float wifi_data);
00082 
00083 
00084 #endif  /* IQ_GLOBALS_H */
00085