networking library files

Dependents:   ELEC350_Project2

Networking.hpp

Committer:
Swabey89
Date:
2019-01-02
Revision:
10:b8214cc88e85
Parent:
9:e22fd5795831

File content as of revision 10:b8214cc88e85:

#ifndef MBED_NETWORKING_H
#define MBED_NETWORKING_H

#include "mbed.h"
#include "EthernetInterface.h"
#include "TCPServer.h"
#include "TCPSocket.h"
#include <iostream>
#include <string> 


#define HTTP_STATUS_LINE "HTTP/1.0 200 OK"

#define HTTP_HEADER_FIELDS "Content-Type: text/html; charset=utf-8"

#define HTTP_MESSAGE_BODY ""                                                                                                                                    \
"   <html>" "\r\n"                                                                                                                                              \  
"   <head>" "\r\n"                                                                                                                                              \
"   <style>" "\r\n"                                                                                                                                             \
"   .title {" "\r\n"                                                                                                                                            \
"   color: dodgerblue;" "\r\n"                                                                                                                                  \
"   font-family: verdana;" "\r\n"                                                                                                                               \
"   text-align: center;" "\r\n"                                                                                                                                 \
"   padding: 5px;" "\r\n"                                                                                                                                       \
"   }" "\r\n"                                                                                                                                                   \
"   </style>" "\r\n"                                                                                                                                            \
"   <style>" "\r\n"                                                                                                                                             \
"   .textbox {" "\r\n"                                                                                                                                          \
"   background-color: dodgerblue;" "\r\n"                                                                                                                       \
"   color: white;" "\r\n"                                                                                                                                       \
"   font-family: verdana;" "\r\n"                                                                                                                               \
"   margin: 20px;" "\r\n"                                                                                                                                       \     
"   padding: 20px;" "\r\n"                                                                                                                                      \       
"   }" "\r\n"                                                                                                                                                   \
"   </style>" "\r\n"                                                                                                                                            \
"   <style>" "\r\n"                                                                                                                                             \
"   .footer {" "\r\n"                                                                                                                                           \
"   color: dodgerblue;" "\r\n"                                                                                                                                  \
"   font-family: verdana;" "\r\n"                                                                                                                               \
"   text-align: right;" "\r\n"                                                                                                                                  \
"   padding: 20px;" "\r\n"                                                                                                                                      \
"   }" "\r\n"                                                                                                                                                   \
"   </style>" "\r\n"                                                                                                                                            \
"   </head>" "\r\n"                                                                                                                                             \
"   <body>" "\r\n"                                                                                                                                              \

#define HTTP_MESSAGE_TIME ""                                                                                                                                    \
"   <div class=\"title\">" "\r\n"                                                                                                                               \
"   <h1>Environmental Sensor</h1>" "\r\n"                                                                                                                       \
"   <p>"

#define HTTP_MESSAGE_TEMP ""                                                                                                                                    \   
"   </p>" "\r\n"                                                                                                                                                \
"   </div>" "\r\n"                                                                                                                                              \ 
"   <div style=\"text-align: center\">" "\r\n"  \
"   <input type='button' onclick='location.reload();' value='Refresh Data' />" "\r\n"                                                                           \
"   </div>" "\r\n"  \
"   <div class=\"textbox\">" "\r\n"                                                                                                                             \
"   <h2>Temperature (<sup>o</sup>C)</h2>" "\r\n"                                                                                                                \
"   <p>"

#define HTTP_MESSAGE_PRESSURE ""                                                                                                                                \
"   </p>" "\r\n"                                                                                                                                                \
"   </div>" "\r\n"                                                                                                                                              \
"   <div class=\"textbox\">" "\r\n"                                                                                                                             \
"   <h2>Pressure (mbar)</h2>" "\r\n"                                                                                                                            \
"   <p>"

#define HTTP_MESSAGE_LIGHT ""                                                                                                                                   \
"   </p>" "\r\n"                                                                                                                                                \
"   </div>" "\r\n"                                                                                                                                              \
"   <div class=\"textbox\">" "\r\n"                                                                                                                             \
"   <h2>Light Level (%)</h2>" "\r\n"                                                                                                                            \
"   <p>"                                                                                                                                                        

#define HTTP_MESSAGE_FOOT ""                                                                                                                                    \
"   </p>" "\r\n"                                                                                                                                                \
"   </div>" "\r\n"                                                                                                                                              \ 
"   <footer class=\"footer\">" "\r\n"                                                                                                                           \
"   <img src=\"https://cdn-edu.wpmhost.net/53544f/6bf071deb4/A1F4-0FF4-4F67-AE2B-9DAC.png\" width=\"250\" height=\"60\">" "\r\n"                                \
"   <p>ELEC350 - Low Power Environmental Sensor Coursework</p>" "\r\n"                                                                                          \
"   </footer>" "\r\n"                                                                                                                                           \
"   </body>" "\r\n"                                                                                                                                             \
"   </html>"                                                         

#define HTTP_RESPONSE   HTTP_STATUS_LINE "\r\n"                                                                                                                 \
                        HTTP_HEADER_FIELDS "\r\n"                                                                                                               \
                        "\r\n"                                                                                                                                  \
                        HTTP_MESSAGE_BODY "\r\n"                                                                                                                \
                        
/*
#define IP        "10.0.0.10"
#define NETMASK   "255.0.0.0"
#define GATEWAY   "10.0.0.1"
*/
#define IP        "169.254.11.177"
#define NETMASK   "255.255.0.0"
#define GATEWAY   "10.204.61.254"

//extern class sensorData;
extern sensorData buffer[BUFFERSIZE];
extern unsigned int newestIndex;
extern Mutex bufferLock;
extern EventQueue printQueue;
extern void network();
extern Timeout network_tout;
extern void network_toutISR(void);
extern bool logging;

//TEST SD
extern Mutex printlock;

#endif