Online HTTP Information Server and SMS Alerts System for Mobile Weather Station through GSM Wireless Communication
|
|
|
- Iris Joseph
- 10 years ago
- Views:
Transcription
1 Online HTTP Information Server and SMS Alerts System for Mobile Weather Station through GSM Wireless Communication An Open-Source Guide Lahiru Wijesinghe All the information in this document is available in the public domain 1
2 Introduction This System is designed as an add-on to the previously developed Mobile Weather Stations. The purpose of the system is to alert the key personals about the rainfall readings above threshold values and update an information server with set intervals. As the Mobile Weather Stations were built on Arduino open source platform, this system uses an Arduino compatible GSM shield for the SMS and GPRS wireless communication. The program functions are written to work with almost every type of GSM shields on the local and international market including SIM900 and SM5100B shields. These functions uses standard AT commands to communicate with the GSM Module. The program code can be easily configured to change with different service providers. A simple HTTP server runs under Windows web development environment is used as the test server to receive and display the weather information which sends from the Mobile Weather Stations. GSM modules attached to Mobile Weather Stations send weather information using HTTP POST method. All the information received from Weather Stations is stored in a My SQL database and then displayed on a HTTP web page. SMS alerts are sent to specific people whose numbers are programmed in the system. The format of the SMS and the threshold values which needs to overcome to send a SMS can be programmed according to the user requirements. Table of Contents Sending Weather Information to the Server through a GSM Module Connected to Arduino Board. 3 STEP 1: Downloading and Installing Arduino IDE 3 STEP 2: Interfacing the GSM Module to Arduino 5 STEP 3: Configure Arduino IDE to connect with the Arduino board 7 STEP 4: Type the main C code and include header files 9 STEP 5: Compile and Download the code to Arduino 12 Creating a Simple Web Server to Receive and Display Weather Information 14 STEP 1 Setting up Web Development Environment. (WampServer for Windows.) 14 STEP 2 Creating required HTML and PHP files 16 STEP 3 Creating a database and a table to store the weather information 20 STEP 4 Launching and testing the server and the database 22 Appendix Codes used in this Manual 28 This booklet is prepared under the supervision of Dr. Yann Chemin 2
3 Sending Weather Information to the Server through a GSM Module Connected to Arduino Board. STEP 1: Downloading and Installing Arduino IDE 1.1. Download the latest stable Arduino version depending on the operating system (Windows, Mac OS or Linux) from the following Link. (For Windows download the Windows Installer.) Link: As the Arduino is an open source software there is no need to pay for the download. But a contribution can be made for the development of the software. Depending on the choice click JUST DOWNLOAD or CONTRIBUTE & DOWNLOAD to start downloading. 3
4 1.2. Run the downloaded Installer and Click I Agree to the License Agreement to continue the installation Select the check boxes to Install USB driver and Associate.ino files. Select the two check boxes to Create Start Menu shortcut and Create Desktop short and click Next On the next screen click Install after selecting a destination folder (Default folder: C:\Program Files (x86)\arduino) for the Arduino installation. 4
5 1.5. Click Install when asked to install the Arduino USB Driver Once the Installation is complete click Close to exit from the installer. STEP 2: Interfacing the GSM Module to Arduino 2.1 Attach the GSM shield to the Arduino board as shown in the following figure. Look for the pin names in the GSM shield and the Arduino board and place the shield to match with the board pin names. 5
6 2.2 Plug the antenna to the GSM shield. 2.3 Open the SIM card holder and close the holder placing the SIM card inside. 2.4 Connect the USB type B or USB mini port of the USB cable to the Arduino board and the standard USB port side to the PC. 6
7 STEP 3: Configure Arduino IDE to connect with the Arduino board. 3.1 Run the Arduino software from the shortcut or searching Arduino from the windows search. 3.2 Select the Arduino board by selecting Board in Tools Menu. (Arduino Uno or Arduino Mega) 3.3 Select the Serial port which the Arduino board is connected by selecting Port in Tools Menu. 7
8 COM Port name assigned for the Arduino USB connection can be found under the Ports category in Device Manager. To open Device Manager in Windows XP, Vista and 7: Right click My Computer and then click Manage. Click on Device Manager under System Tools from the left panel in Computer Management. To open Device Manager in Windows 8: Right click on Windows Start Button and click Device Manager. 8
9 3.4 If the COM Port of the Arduino Board is not listed under Ports (COM & LPT), the drivers for the specific Arduino board has to install manually. Drivers are located in the drivers folder in Arduino installation directory (C:\Program Files (x86)\arduino\ drivers). STEP 4: Type the main C code and include header files. 4.1 After the Board and Port are selected successfully, type the test code given in appendix under GSM_Test.ino to test the GSM Module with SMS and GPRS functionality. And edit the code according to the requirement. Break down of the code: Including necessary header files. #include <SoftwareSerial.h> #include GSM_Module.h Create a String variable and store the Host Name of the server. Replace the string with the host name or the address of the server. String HOST = lahiruwije.ddns.net ; Create a variable to store the http port number which needs to connect with the server. int PORT = 80; Create a String variable to store the mobile number of the SMS alert receiver. Replace this number with the relevant person s number. String Mobile_No = ; Create a String variable to store the content of the SMS alert. Edit the string as necessary. String SMS_Body = Test SMS ; Variable to store the return states from the SMS and GPRS functions. int Status; Variables to store the relevant data which needs to send to the server. Assign the values to these variables by reading the sensors. Read the Mobile Weather Station Manual to understand about the receiving the values from the sensors. int temperature = 42; int humidity = 20; Create a variable with GSM_Module class. State the module type as the input parameters to the class. (SIM900 or SM5100B, Here the type is selected as SIM900) GSM_Module Module(SIM900); Declaration of the setup function witch runs at the beginning of the runtime. void setup(){ Initialize the hardware serial port if need to communicate with a PC to observe the status and the errors in connecting with the module. Type the baudrate as the input parameters to the function. (Here the baudrate is set to 9600 which is default for most systems.) Serial.begin(9600); Initialize the module with the given baudrate as the input parameter which needs to communicate with the module and assign the status which returned from the function to the Status variable. Status = Module.Init(9600); Check the status for errors. If the status is OK print Module Ready on hardware serial and continue. If the status is not OK print Module Initializing Failed. with the error code on hardware serial and halt the program. if( Status == OK ){ 9
10 else{ Serial.println( Module Ready. ); Serial.println( Module Initializing Failed. ); Serial.print( ERROR : ); Serial.println(Status); while(1){; After successful initialization of the module, refresh the module and wait for 5 seconds. Module.Refresh(); delay(5000); Declaration of the loop function witch runs after the setup functions within a never ending loop. void loop() Sending a SMS to the phone number which stored in Mobile_No variable with the content stored in SMS_Body variable. Assign the status which returned from the Send_SMS function to the Status variable. Status = Module.Send_SMS(Mobile_No, SMS_Body); Check the status for errors occurred in the function while sending the SMS. If there is no errors and the status is OK print SMS Sent on hardware serial. If the status is not OK print the SMS error code on hardware serial. if( Status == OK ){ else{ Serial.println( SMS Sent ); Serial.print( SMS ERROR : ); Serial.println(Status); Connecting to the server on the host name stored in HOST variable with the port number stored in PORT variable and send the data stored in temperature and humidity variables through POST method. Assign the status which returned from the POST_Data function to the Status variable. Status = Module.POST_Data(HOST, PORT, temperature, humidity); Check the status for errors occurred in the function while connecting to the server and sending the data. If there is no errors and the status is OK print Connecting Successful on hardware serial with the last response from the module. If the status is not OK print the TCP error code on hardware serial with the last response from the module. if( Status == OK ){ else{ Serial.print( Connecting Successful ); Serial.print( ); Serial.println(Module.Received_String()); Serial.print( TCP ERROR Code : ); Serial.print(Status); Serial.print( ); Serial.println(Module.Received_String()); 10
11 Listen to the module for any response from server and print them on hardware serial. while(1){ do{ Module.Wait(1000); while(!module.string_received()); Serial.println(Module.Received_String()); ; 4.2 Save the project in an accessible folder by clicking save in File menu. 4.3 Create three new text files and save them as GSM_Module.cpp, GSM_Module.h and Module_Codes.h in the same directory where the.ino file saved. Type the c codes given in appendix with above file names in each created file. GSM_Module.cpp file with the header file define the necessary functions and classes needed to communicate with the GSM module. Module_Codes.h file defines the error codes returning from each function and the AT commands. 4.4 Close the project and reopen the project to open the project with included header files. STEP 5: Compile and Download the code to Arduino. 5.1 Compile and verify the code by clicking the verify button below the File menu. 11
12 A progress bar at the bottom of the code shows the compilation progress while the code compiles. Once the compilation is done it shows Done compiling with the memory usage of the code in Arduino board. 5.2 After the compilation is done upload the code into the Arduino board by clicking upload button next to verify button. The code compiles again before uploading. A progres bar at the bottom shows the progress of uploadig. Once the uploading is done it shows Done uploading. 12
13 Creating a Simple Web Server to Receive and Display Weather Information. STEP 1 Setting up Web Development Environment. (WampServer for Windows.) 1.1 Download the applicable WampServer Installer file according to the System Type (32bit or 64bit) from the following link. Link: To check the system type, right-click on My Computer, and then click Properties. 1.1 Double click on the downloaded file and just follow the instructions until it extract all the files into the computer. The WampServer package is delivered with the latest releases of Apache, MySQL and PHP. 13
14 1.2 Once the files are extracted, select the default browser when asked. WampServer defaults to Internet Explorer upon opening the local file browser window. If the default browser isn t IE, then look in the following locations for the corresponding.exe file: Opera: C:\Program Files (x86)\opera\opera.exe Firefox: C:\Program Files (x86)\mozille Firefox\firefox.exe Safari: C:\Program Files (x86)\safari\safari.exe Chrome: C:\Users\xxxxx\AppData\Local\Google\Chrome\Application\chrome.exe Select the default browser s.exe file, then click Open to continue. 1.3 A Windows Security Alert window will open, saying that Windows Firewall has blocked some features of the program. To allow Apache HTTP Server to communicate on a private or public network, click Allow Access. 1.4 Once the progress bar is completely green, the PHP Mail Parameters screen will appear. Leave the SMTP server as localhost, and change the address. Click Next to continue. 1.5 The Installation Complete screen will now appear. Check the Launch WampServer Now box, then click Finish to complete the installation. Once you have completed the installation process, test that your installation is working properly by going to in your browser. You should see the WampServer homepage displayed. 14
15 1.6 Download and Install the Visual C++ Redistributable Packages which install runtime components that are required to run C++ applications built with Visual Studio Link: STEP 2 Creating required HTML and PHP files 2.1 Open www directory of the WampServer by clicking WAMPSERVER icon from the windows system tray. 2.2 Cut & paste the files inside the www directory to a new folder. Create a new text file and save it as index.html. Type the html code given in appendix under index.html and edit the code according to the requirement. Break down of the code: Title of the page <title>sensor Data</title> Start of the XML Script <script> XML function definition. function loadxmldoc() Create an XMLHttpRequest Object: var xmlhttp; For Firefox, Chrome, Opera and Safari browsers. if (window.xmlhttprequest) { Xmlhttp = new XMLHttpRequest(); For Internet Explorer. else { Xmlhttp = new ActiveXObject( Microsoft.XMLHTTP ); Handling the onreadystatechange event which is triggered when a request to a server is sent. This performs actions depending on the readystate. The readystate property holds the status of the XMLHttpRequest. If status is OK and the request finished and response is ready this gets the database values with an id of mydiv. 15
16 xmlhttp.onreadystatechange = function() { if (xmlhttp.readystate == 4 && xmlhttp.status == 200) { document.getelementbyid( mydiv.innerhtml=xmlhttp.responsetext; Status = 200 readystate = 4 : OK : Request finished and response is ready Send a Request to the Server from the GET method. The getdatabase.php is the php code written get the values from the database (This code is explained in the next section). xmlhttp.open( GET, getdatabase.php,true); xmlhttp.send(); Refresh the page by calling LoadXMLDoc function in 500ms intervals. window.setinterval(function(){ loadxmldoc();, 5000); End of the XML Script </script> Header of the web page <h1> Temperature and Humidity Sensor Readings </h1> Shows the database data which gets from the XML script by the id of mydiv. <div id= mydiv ></div> 2.3 Create three new text files and save them as add.php, connect.php and getdtabase.php in the www directory. Type the php codes given in appendix in the each php files created and edit the codes according to the requirement. Break down of the codes: add.php Start of the PHP Script <?php Include the connect.php file to connect with the database include( connect.php ); Make a connection with the database and assign the connection to a variable called link. $link = Connection(); Create variables to store the values included in the POST request. Two variables are for the temperature and humidity values. 16
17 $temp1 = $_POST[ temp1 ]; $hum1 = $_POST[ hum1 ]; Create a mysql query string containing the time and the values included in the POST request with respect to the columns of the mysql table. templog is the name of the table here. And the timestamp, temperature and humidity are the columns of the table. $query = INSERT INTO `templog` (`timestamp`,`temperature`,`humidity`) VALUES (NOW(),.$temp1.,.$hum1. ) ; Send a mysql query to insert the data in the POST request in to the database table. mysqli_query($link,$query);?> Close the connection with the database. mysqli_close($link); Send a raw HTTP header to the client. End of the PHP Script connect.php Start of the PHP Script <?php header( Location: index.php ); Create a function call Connection to connect with the database function Connection() Create variables for server address username password and the name of the database. $server = localhost ; $user = root ; $pass = ; $db = arduino_db ; Connect with the server using the given username and password and assign the connection to a variable named mysqli. $mysqli = mysqli_connect($server, $user, $pass, $db); If the connection with the server failed, return with an error message. if (!$mysqli) { die( Database connection failed:. mysqli_error()); Select the given database in the server. $db_select = mysqli_select_db($mysqli, $db); If the selection of the database failed, return with an error message. 17
18 if (!$db_select) { die( Database selection failed:. mysqli_error()); After a successful connection, return the connection over mysqli variable. return $mysqli; End of the PHP Script?> getdatabase.php Start of the PHP Script <?php Include the connect.php file to connect with the database include( connect.php ); Make a connection with the database and assign the connection to a variable called link. $link = Connection(); Send a mysql query to get the data from the table named templog by the descending order of the timestamp column and save the result in a variable named result. $result = mysqli_query($link, SELECT * FROM `templog` ORDER BY `timestamp` DESC ); Send a string with HTML tags to print a table with three columns containing Timestamp, Temperature and Humidity. echo <table border = 1 cellspacing = 1 cellpadding = 1 > <tr> <td> Timestamp   </td> <td> Temperature </td> <td> Humidity </td> </tr> ; If the mysql query result is not false, get the data from the table row by row until it reaches the end of the table and print the data in each row in the previously created table. if($result!==false){ while($row = mysqli_fetch_array($result)) { printf( <tr><td> %s </td><td> %s </td><td> %s </td></ tr>, $row[ timestamp ], $row[ temperature ], $row[ humidity ]); Clear the variable result releasing the memory allocated for the data acquired from the database. mysqli_free_result($result); Close the connection with the database. mysqli_close($link); Send a string with the HTML tag for the end of the table 18
19 echo </table> End of the PHP Script?> STEP 3 Creating a database and a table to store the weather information. 3.1 Open phpmyadmin by entering in the address bar of the web browser. 3.2 Select the Databases tab. Type a name for the database (This name should be as same as the name given in connect.php file. Here it is arduino_db) and select the Collation as utf8_unicode_ci. Click the Create button to create the database with given name. 3.3 Select the created database from the left side panel. Type the name of the table given in php files created in the previous step. (Here it is templog. The name given in mysql queries in add.php and getdatabase.php and the name given in connect.php file should be as same as the name given here.) Select the number of columns need to store the variables. (Here it is selected as 3 columns for the timestamp, temperature and humidity). Click the Go button to start creating the table. 19
20 3.4 Type the names of columns as same as the names given in mysql queries in the php files. (Here the column names are timestamp, temperature and humidity). Select the type of the timestamp column as TIMESTAMP and the type of other columns as INT. Type the Length/Values of the columns selected as type INT as 11. Select the index of the timestamp column as PRIMARY. Leave the other fields as it is. Click Save button to create and save the table with given configuration. STEP 4 Launching and testing the server and the database. 4.1 Make the server online by clicking on the Put Online button in the WAMPSERVER icon from the windows system tray. 4.2 Open the server home page by clicking the localhost button in the WAMPSERVER tray icon. Header of the web page and the headers of the table columns should display without an error after a successful configuration. 20
21 Appendix Arduino Sample Code & Header Files Test.ino Sample Code to test the SMS and HTTP POST functions. #include <SoftwareSerial.h> #include GSM_Module.h String HOST = lahiruwije.ddns.net ; // Host name or address of the web server int PORT = 80; String Mobile_No = ; String Test_SMS = Test SMS ; // Mobile Number which the SMS Sends // Content of the SMS int Status; int temperature = 42; int humidity = 20; // For SIM900 GSM_Module Module(SIM900); // For SM5100B //GSM_Module Module(SM5100B); void setup() { //Initialize serial port for communication. Serial.begin(9600); //Initialize the module. Serial.println( Module Initializing.. ); Status = Module.Init(9600); if( Status == OK ){ Serial.println( Module Ready. ); else{ Serial.println( Module Initializing Failed. ); Serial.print( ERROR : ); Serial.println(Status); while(1){; Module.Refresh(); delay(5000); 21
22 void loop() { //Sending a test SMS Serial.println( Sending a Test SMS ); Status = Module.Send_SMS(Mobile_No, Test_SMS); if( Status == OK ){ Serial.println( SMS Sent ); else{ Serial.print( SMS ERROR : ); Serial.println(Status); //Connecting to the Server and Sending Data Serial.println( Connecting to Server ); Status = Module.POST_Data(HOST, PORT, temperature, humidity); if( Status == OK ){ Serial.print( Connecting Successful ); Serial.print( ); Serial.println(Module.Received_String()); else{ Serial.print( TCP ERROR Code : ); Serial.print(Status); Serial.print( ); Serial.println(Module.Received_String()); // Listen to the Module print received data. while(1){ ; do{ Module.Wait(1000); while(!module.string_received()); Serial.println(Module.Received_String()); 22 GSM_Module.h Header file with GSM Function Prototypes #include Module_Codes.h #include <SoftwareSerial.h>
23 #include <avr/pgmspace.h> #include <string.h> #define Default_RX 10 #define Default_TX 3 class GSM_Module{ public: GSM_Module(uint8_t Type); int Init(int baud); void Listen(); void Refresh(); bool String_Received(); bool Module_Waiting(); String Received_String(); String Decoded_String(); void Wait(int time_out); void Read_Response(); String Decode_Sys_Info(); String Decode_GPRS_Info(); String Decode_SIM900_GPRS_Info(); String Decode_TCP_Info(); int Decode_Response(); bool OK_Received(); bool Sys_Info_Received(); bool GPRS_Info_Received(); bool SMS_Ready(); bool GPRS_Ready(); bool Netwok_OK(); bool Socket_Connecting(); String Match_System_Code(int code); int Wait_For_Respond(int Response_Type,bool OK_Needed,bool *Flag,int Time_ out); int Query_GPRS(); int SIM900_Reset_IP(); int SIM900_Check_IP_Stack(); int SIM900_Single_Connection(); int SIM900_Configure_APN(String APN,String USER_NAME,String PASSWARD); int Activate_PDP(); int SIM900_Get_IP(); int Configure_TCP(String Host, int Port); int Start_TCP_Connection(); int Query_Socket_Status(); void Send_AT_Command(String command); int ERROR_CODE(int Status, int Error); int Send_Data(String Data); int Send_SMS(String Number, String MSG); int TCP_Connect(String HOST, int PORT); int Close_TCP_Connection(); int POST_Data(String HOST, int PORT, int temp, int hum); ; GSM_Module.cpp C++ file with GSM Function Definitions #include GSM_Module.h #include <Arduino.h> SoftwareSerial cell(default_rx, Default_TX); 23
24 String APN = HUTCH3G ; String USER_NAME = ; String PASSWARD = ; uint8_t Module_Type = 0; char incoming_char = 0; String Incoming_String = ; String Decoded_Data = ; bool Module_Waiting_Flag = 0; bool String_Flag = 0; bool OK_Flag = 0; bool CME_Error_Flag = 0; bool CMS_Error_Flag = 0; bool System_Info_Flag = 0; bool GPRS_Info_Flag = 0; bool TCP_Info_Flag = 0; bool GPRS_Flag = 0; bool Call_Ready_Flag = 0; bool SMS_Ready_Flag = 0; bool Network_OK_Flag = 0; bool TCP_Connect_Flag = 0; bool TCP_Connecting_Flag = 0; bool SIM900_IP_Stack_Flag = 0; int Response_Type = 0; GSM_Module::GSM_Module(uint8_t Type){ Module_Type = Type; int GSM_Module::Init(int baud){ int Status = 0; if( Module_Type == SIM900 ){ cell.begin(baud); delay(1000); cell.println( AT ); if( Wait_For_Respond(OK, 0, &OK_Flag, 10) == OK ){ return OK; else{ digitalwrite(sim900_power_pin, HIGH); delay(1000); digitalwrite(sim900_power_pin, LOW); delay(3000); digitalwrite(sim900_power_pin, HIGH); delay(6000); for( int attempts = 0 ; attempts < 20 ; attempts++){ 24
25 cell.println( AT ); Status = Wait_For_Respond(OK, 0, &OK_Flag, 100); while ( Status == UNKNOWN_RESPONSE ){ Status = Wait_For_Respond(OK, 0, &OK_Flag, 100); if ( Status!= ERROR_RESPONSE_TIMED_OUT ){ return Status; delay(1000); return 0; else{ cell.begin(baud); do{ do{ Wait(1000); while(!string_received()); Status = Decode_Response(); Refresh(); while(!(sms_ready() && Netwok_OK())); return OK; void GSM_Module::Refresh(){ Module_Waiting_Flag = 0; String_Flag = 0; incoming_char = 0; Incoming_String = ; bool GSM_Module::String_Received(){ return String_Flag; bool GSM_Module::Module_Waiting(){ return Module_Waiting_Flag; void GSM_Module::Listen(){ 25
26 if(cell.available() >0) { incoming_char = cell.read(); Incoming_String += incoming_char; if (incoming_char == \n ){ if((incoming_string == \r\n ) (Incoming_String == \r\n )){ Incoming_String = ; else{ String_Flag = 1; else if (incoming_char == > ){ Module_Waiting_Flag = 1; String GSM_Module::Received_String(){ return Incoming_String; String GSM_Module::Decoded_String(){ return Decoded_Data; void GSM_Module::Wait(int time_out){ int loops = 0; int time_steps = 0; bool break_loop = 0; GSM_Module::Refresh(); while(((time_out<0) (time_steps < time_out)) &&!(break_loop)){ GSM_Module::Listen(); loops = loops + 1; if(loops > 2000){ loops = 0; time_steps = time_steps + 1; break_loop = Module_Waiting_Flag String_Flag; void GSM_Module::Read_Response(){ OK_Flag = 0; CMS_Error_Flag = 0; CME_Error_Flag = 0; System_Info_Flag = 0; GPRS_Info_Flag = 0; TCP_Info_Flag = 0; Response_Type = 0; SIM900_IP_Stack_Flag = 0; if(incoming_string.endswith( OK\r\n )){ 26
27 OK_Flag = 1; Response_Type = 1; else if(incoming_string.startswith( +CME )){ CME_Error_Flag = 1; Response_Type = 2; else if(incoming_string.startswith( +CMS )){ CMS_Error_Flag = 1; Response_Type = 3; else if(incoming_string.startswith( +SIND )){ System_Info_Flag = 1; Response_Type = 4; else if(incoming_string.startswith( +CGATT )){ GPRS_Info_Flag = 1; Response_Type = 5; else if(incoming_string.startswith( +SOCKSTATUS )){ TCP_Info_Flag = 1; Response_Type = 6; else if(incoming_string.startswith( AT )){ Response_Type = 7; else if(incoming_string.startswith( STATE )){ Response_Type = 8; SIM900_IP_Stack_Flag = 1; String GSM_Module::Decode_Sys_Info(){ int String_Length = Incoming_String.length(); int System_Code = -1; if(string_length == 53){ System_Code = *(Incoming_String.substring(15,16)).toInt(); else if(string_length == 10){ System_Code = (Incoming_String.substring(7,8)).toInt(); else if(string_length == 11){ System_Code = (Incoming_String.substring(7,9)).toInt(); if(system_code == 3){ Call_Ready_Flag = 1; 27
28 else if(system_code == 4){ SMS_Ready_Flag = 1; else if(system_code == 11){ Network_OK_Flag = 1; return Match_System_Code(System_Code); String GSM_Module::Decode_GPRS_Info(){ if(incoming_string.substring(8,9) == 0 ){ GPRS_Flag = 0; return GPRS_Info_0; else if(incoming_string.substring(8,9) == 1 ){ GPRS_Flag = 1; return GPRS_Info_1; return Unknown_code; String GSM_Module::Decode_SIM900_GPRS_Info(){ if(incoming_string.substring(7,17) == IP INITIAL ){ SIM900_IP_Stack_Flag = 1; return SIM900_GPRS_Info_0; else{ SIM900_IP_Stack_Flag = 0; return SIM900_GPRS_Info_1; String GSM_Module::Decode_TCP_Info(){ if(incoming_string.substring(18,22) == 0104 ){ TCP_Connecting_Flag = 1; TCP_Connect_Flag = 0; return TCP_Info_0; else if(incoming_string.substring(18,22) == 0102 ){ 28 TCP_Connect_Flag = 1;
29 TCP_Connecting_Flag = 0; return TCP_Info_1; else if(incoming_string.substring(18,22) == 0100 ){ TCP_Connect_Flag = 0; TCP_Connecting_Flag = 0; return TCP_Info_2; return Unknown_code; int GSM_Module::Decode_Response(){ Read_Response(); Decoded_Data = ; switch(response_type){ case 1: Decoded_Data = OK ; return OK; case 2: Decoded_Data = CME_Error; return ERROR_CME; case 3: Decoded_Data = CMS_Error; return ERROR_CMS; case 4: Decoded_Data = Decode_Sys_Info(); return TYPE_SYS_INFO; case 5: Decoded_Data = Decode_GPRS_Info(); return TYPE_GPRS_INFO; case 6: Decoded_Data = Decode_TCP_Info(); return TYPE_TCP_INFO; case 7: Decoded_Data = ECHO ; return ECHO; case 8: Decoded_Data = Decode_SIM900_GPRS_Info(); return SIM900_GPRS_INFO; default: Decoded_Data = Incoming_String; return UNKNOWN_RESPONSE; bool GSM_Module::OK_Received(){ 29
30 return OK_Flag; bool GSM_Module::Sys_Info_Received(){ return System_Info_Flag; bool GSM_Module::GPRS_Info_Received(){ return GPRS_Info_Flag; bool GSM_Module::SMS_Ready(){ return SMS_Ready_Flag; bool GSM_Module::GPRS_Ready(){ return GPRS_Flag; bool GSM_Module::Netwok_OK(){ return Network_OK_Flag; bool GSM_Module::Socket_Connecting(){ return TCP_Connecting_Flag; String GSM_Module::Match_System_Code(int code){ switch(code){ case 0: return Sys_Codes_0; case 1: return Sys_Codes_1; case 3: return Sys_Codes_3; case 4: return Sys_Codes_4; case 7: return Sys_Codes_7; case 10: return Sys_Codes_10; case 11: return Sys_Codes_11; 30 case 12: return Sys_Codes_12;
31 default: return Unknown_code; int GSM_Module::Wait_For_Respond(int Response_Type, bool OK_Needed, bool *Flag, int Time_out){ int Status = 0; Wait(Time_out); if(string_received()){ Status = Decode_Response(); if( Status == ECHO ){ Wait(Time_out); if(string_received()){ Status = Decode_Response(); else if((response_type == WAITING_FOR_DATA) && Module_Waiting()){ if(flag) return 1; else return 0; else{ return ERROR_RESPONSE_TIMED_OUT; if( Status < 0 ){ return Status; else if(status == Response_Type){ if(ok_needed){ Wait(1000); if(string_received()){ Status = Decode_Response(); if(flag) return Status; else return 0; if(flag) return 1; else return 0; else{ return ERROR_WRONG_RESPONCE_TYPE; 31
32 else if((response_type == WAITING_FOR_DATA) && Module_Waiting()){ if(flag) return 1; else return 0; return ERROR_RESPONSE_TIMED_OUT; int GSM_Module::Query_GPRS(){ Send_AT_Command(AT_CMD_Query_GPRS); return Wait_For_Respond(TYPE_GPRS_INFO, 1, &GPRS_Flag, 100); int GSM_Module::SIM900_Reset_IP(){ Send_AT_Command(AT_CMD_SIM900_Reset_IP); return Wait_For_Respond(OK, 0, &OK_Flag, 1000); int GSM_Module::SIM900_Check_IP_Stack(){ int Status = 0; Send_AT_Command(AT_CMD_SIM900_IP_Stack); Status = Wait_For_Respond(OK, 0, &OK_Flag, 1000); if( Status == OK ){ return Wait_For_Respond(SIM900_GPRS_INFO, 0, &SIM900_IP_Stack_Flag, 1000); else{ return Status; int GSM_Module::SIM900_Single_Connection(){ Send_AT_Command(AT_CMD_S9_Single_Conn); return Wait_For_Respond(OK, 0, &OK_Flag, 1000); int GSM_Module::SIM900_Configure_APN(String APN, String USER_NAME, String PASSWARD){ 32 String AT_CMD_APN_Config = AT_CMD_S9_APN_Config; AT_CMD_APN_Config.concat( ); AT_CMD_APN_Config.concat(APN); AT_CMD_APN_Config.concat( );
33 AT_CMD_APN_Config.concat(, ); AT_CMD_APN_Config.concat( ); AT_CMD_APN_Config.concat(USER_NAME); AT_CMD_APN_Config.concat( ); AT_CMD_APN_Config.concat(, ); AT_CMD_APN_Config.concat( ); AT_CMD_APN_Config.concat(PASSWARD); AT_CMD_APN_Config.concat( ); Send_AT_Command(AT_CMD_APN_Config); return Wait_For_Respond(OK, 0, &OK_Flag, 1000); int GSM_Module::Activate_PDP(){ if(module_type == SIM900){ Send_AT_Command(AT_CMD_S9_Activate_PDP); else{ Send_AT_Command(AT_CMD_Activate_PDP); return Wait_For_Respond(OK, 0, &OK_Flag, 5000); int GSM_Module::SIM900_Get_IP(){ Send_AT_Command(AT_CMD_S9_Get_IP); return Wait_For_Respond(OK, 0, &OK_Flag, 10); int GSM_Module::Configure_TCP(String Host, int Port){ int Status; String AT_TCP_CONF; if(module_type == SIM900){ AT_TCP_CONF = AT_CMD_S9_TCP_Config; else{ AT_TCP_CONF = AT_CMD_TCP_Config; AT_TCP_CONF.concat( ); AT_TCP_CONF.concat( TCP ); AT_TCP_CONF.concat( ); AT_TCP_CONF.concat(, ); AT_TCP_CONF.concat( ); AT_TCP_CONF.concat(Host); AT_TCP_CONF.concat( ); AT_TCP_CONF.concat(, ); if(module_type == SIM900){ 33
34 AT_TCP_CONF.concat( ); AT_TCP_CONF.concat(Port); if(module_type == SIM900){ AT_TCP_CONF.concat( ); Send_AT_Command(AT_TCP_CONF); Status = Wait_For_Respond(OK, 0, &OK_Flag, 1000); if(status == OK){ if(module_type == SIM900){ return Wait_For_Respond(OK, 0, &OK_Flag, 10000); else{ else{ return Status; return Status; int GSM_Module::Start_TCP_Connection(){ Send_AT_Command(AT_CMD_Start_TCP); return Wait_For_Respond(OK, 0, &OK_Flag, 100); int GSM_Module::Query_Socket_Status(){ TCP_Connect_Flag = 0; TCP_Connecting_Flag = 0; Send_AT_Command(AT_CMD_Query_Socket); return Wait_For_Respond(TYPE_TCP_INFO, 1, &TCP_Connect_Flag, 10); void GSM_Module::Send_AT_Command(String command){ String AT_Command = AT+ ; AT_Command.concat(command); cell.println(at_command); 34
35 int GSM_Module::ERROR_CODE(int Status, int Error){ return Error+Status; int GSM_Module::Send_Data(String Data){ int Status = 0; int ST_length = Data.length(); String Send_CMD = AT_CMD_Send_Data; Send_CMD.concat(ST_length); if( Module_Type == SIM900 ){ Send_AT_Command(AT_CMD_S9_Send_Data); else{ Send_AT_Command(Send_CMD); Status = Wait_For_Respond(WAITING_FOR_DATA, 0, &Module_Waiting_Flag, 1000); if(status == OK){ cell.print(data); cell.write(0x1a); return Wait_For_Respond(OK, 0, &OK_Flag, 1000); return Status; int GSM_Module::Send_SMS(String Number, String MSG){ int Status = 0; Send_AT_Command(AT_CMD_SMS_Mode); Status = Wait_For_Respond(OK, 0, &OK_Flag, 1000); if( Status == OK ){ String SMS_Number = AT_CMD_SMS_Number; SMS_Number.concat(Number); SMS_Number.concat( \ ); Send_AT_Command(SMS_Number); Status = Wait_For_Respond(WAITING_FOR_DATA, 0, &Module_Waiting_Flag, 1000); if( Status == OK ){ cell.print(msg); cell.write(0x1a); Status = Wait_For_Respond(OK, 0, &OK_Flag, 1000); while( Status == UNKNOWN_RESPONSE ){ 35
36 Status = Wait_For_Respond(OK, 0, &OK_Flag, 1000); return Status; else{ return ERROR_CODE(Status, ERROR_SMS_NUMBER_NOT_SET); else{ return ERROR_CODE(Status, ERROR_SMS_MODE_NOT_SELECTED); int GSM_Module::TCP_Connect(String HOST, int PORT){ int STATUS = 0; STATUS = Query_GPRS(); if( STATUS!= OK ){ return ERROR_CODE(STATUS, ERROR_GPRS_NOT_ATTACHED); if( Module_Type == SIM900 ){ STATUS = SIM900_Reset_IP(); if( STATUS!= OK ){ return ERROR_CODE(STATUS, ERROR_IP_RESET_FAILED); STATUS = SIM900_Check_IP_Stack(); if( STATUS!= OK ){ return ERROR_CODE(STATUS, ERROR_IP_STACK_FAILED); STATUS = SIM900_Single_Connection(); if( STATUS!= OK ){ return ERROR_CODE(STATUS, ERROR_SINGLE_CONNECTION_FAILED); STATUS = SIM900_Configure_APN(APN, USER_NAME, PASSWARD); if( STATUS!= OK ){ return ERROR_CODE(STATUS, ERROR_APN_SETTING_FAILED); STATUS = Activate_PDP(); if( STATUS!= OK ){ return ERROR_CODE(STATUS, ERROR_PDP_ACTIVATION_FAILED); if( Module_Type == SIM900 ){ 36 STATUS = SIM900_Get_IP(); if( STATUS!= UNKNOWN_RESPONSE ){ return ERROR_CODE(STATUS, ERROR_COULD_NOT_GET_IP);
37 STATUS = Configure_TCP(HOST, PORT); if( STATUS!= OK ){ return ERROR_CODE(STATUS, ERROR_TCP_CONFIG_FAILED); if( Module_Type!= SIM900 ){ STATUS = Start_TCP_Connection(); if( STATUS!= OK ){ return ERROR_CODE(STATUS, ERROR_TCP_START_FAILED); do{ STATUS = Query_Socket_Status(); while(socket_connecting()); if( STATUS!= OK ){ return ERROR_CODE(STATUS, ERROR_TCP_CONNECTION_FAILED); return STATUS; int GSM_Module::Close_TCP_Connection(){ Send_AT_Command(AT_CMD_SIM900_Reset_IP); return Wait_For_Respond(OK, 0, &OK_Flag, 1000); int GSM_Module::POST_Data(String HOST, int PORT, int temp, int hum){ int Status = 0; Status = TCP_Connect(HOST, PORT); if(status == OK){ String POST_Data_Line_5 = POST_Data_Line_5_1; POST_Data_Line_5.concat(temp); POST_Data_Line_5.concat(POST_Data_Line_5_2); POST_Data_Line_5.concat(hum); String POST_Data = POST_Data_Line_1; POST_Data.concat(POST_Data_Line_2); POST_Data.concat(HOST); POST_Data.concat(POST_Data_Line_3); POST_Data.concat(POST_Data_Line_4); POST_Data.concat((POST_Data_Line_5.length()-4)); POST_Data.concat(POST_Data_Line_5); Status = Send_Data(POST_Data); if(module_type == SIM900){ if(status == OK){ return Close_TCP_Connection(); else{ return Status; else{ 37
38 return Status; else{ return Status; Module Codes.h Header File with Error Code Definitions & AT Commands. #define ERROR_RESPONSE_TIMED_OUT -1 #define ERROR_CME -2 #define ERROR_CMS -3 #define ERROR_WRONG_RESPONCE_TYPE -4 #define UNKNOWN_RESPONSE -5 #define ECHO -6 #define ERROR_GPRS_NOT_ATTACHED -10 #define ERROR_IP_RESET_FAILED -20 #define ERROR_IP_STACK_FAILED -30 #define ERROR_SINGLE_CONNECTION_FAILED -40 #define ERROR_APN_SETTING_FAILED -50 #define ERROR_PDP_ACTIVATION_FAILED -60 #define ERROR_COULD_NOT_GET_IP -70 #define ERROR_TCP_CONFIG_FAILED -80 #define ERROR_TCP_START_FAILED -90 #define ERROR_TCP_CONNECTION_FAILED -100 #define ERROR_SMS_MODE_NOT_SELECTED -10 #define ERROR_SMS_NUMBER_NOT_SET - 20 #define OK 1 #define TYPE_SYS_INFO 2 #define TYPE_GPRS_INFO 3 #define TYPE_TCP_INFO 4 #define WAITING_FOR_DATA 5 #define SIM900_GPRS_INFO 6 #define SIM900 2 #define SM5100B 3 #define SIM900_Power_Pin 7 const char Sys_Codes_0[3] = S1 ; //SEARCHING SIM ; const char Sys_Codes_1[3] = S2 ; //SIM INSERTED ; const char Sys_Codes_3[3] = S3 ; //CALL READY ; const char Sys_Codes_4[3] = S4 ; //SMS READY ; const char Sys_Codes_7[3] = S5 ; //NO SIM - ERROR ; const char Sys_Codes_10[3] = S6 ; //NO SIM FOUND ; const char Sys_Codes_11[3] = S7 ; //REGISTERED TO NETWORK ; const char Sys_Codes_12[3] = S8 ; //SIM READY ; const char Unknown_code[3] = UC ; //UNKNOWN CODE ; const char GPRS_Info_0[3] = G1 ; //GPRS NOT ATTACHED ; const char GPRS_Info_1[3] = G2 ; //GPRS ATTACHED ; const char TCP_Info_0[3] = T1 ; //CONNECTING ; const char TCP_Info_1[3] = T2 ; //CONNECTED ; const char TCP_Info_2[3] = T3 ; //CONNECTION FAILED ; 38
39 const char No_Response[3] = NR ; //NO RESPONSE ; const char CME_Error[3] = CE ; //CME ERROR ; const char CMS_Error[3] = CS ; //CMS ERROR ; const char SIM900_GPRS_Info_0[3] = 90 ; const char SIM900_GPRS_Info_1[3] = 91 ; const char AT_CMD_Query_GPRS[7] const char AT_CMD_Activate_PDP[10] const char AT_CMD_TCP_Config[13] const char AT_CMD_Start_TCP[15] const char AT_CMD_Query_Socket[14] const char AT_CMD_Send_Data[14] const char AT_CMD_SMS_Mode[7] const char AT_CMD_SMS_Number[8] = CGATT? ; = CGACT=1,1 ; = SDATACONF=1, ; = SDATASTART=1,1 ; = SDATASTATUS=1 ; = SDATATSEND=1, ; = CMGF=1 ; = CMGS=\ ; const char AT_CMD_SIM900_Reset_IP[8] = CIPSHUT ; const char AT_CMD_SIM900_IP_Stack[10]= CIPSTATUS ; const char AT_CMD_S9_Single_Conn[9] = CIPMUX=0 ; const char AT_CMD_S9_APN_Config[7] = CSTT= ; const char AT_CMD_S9_Activate_PDP[6] = CIICR ; const char AT_CMD_S9_TCP_Config[10] = CIPSTART= ; const char AT_CMD_S9_Get_IP[6] = CIFSR ; const char AT_CMD_S9_Send_Data[8] = CIPSEND ; const char POST_Data_Line_1[25] = POST /add.php HTTP/1.1\r\n ; const char POST_Data_Line_2[7] = Host: ; const char POST_Data_Line_3[52] = \r\ncontent-type: application/x-www-form-urlencoded\r\n ; //49 const char POST_Data_Line_4[19] = Content-Length: ; //20 const char POST_Data_Line_5_1[11] = \r\n\r\ntemp1= ; //16 const char POST_Data_Line_5_2[7] = &hum1= ; //16 PHP and HTML Codes to test the Server Index.html <html> <head> <title>sensor Data</title> <script> function loadxmldoc() { var xmlhttp; if (window.xmlhttprequest) {// code for IE7+, Firefox, Chrome, Opera, Safari xmlhttp=new XMLHttpRequest(); else {// code for IE6, IE5 xmlhttp=new ActiveXObject( Microsoft.XMLHTTP ); xmlhttp.onreadystatechange=function() { if (xmlhttp.readystate==4 && xmlhttp.status==200) { document.getelementbyid( mydiv ).innerhtml=xmlhttp.response- 39
40 Text; // your div xmlhttp.open( GET, getdatabase.php,true); //your php file xmlhttp.send(); window.setinterval(function(){ loadxmldoc();, 5000); </script> </head> <body> <h1>temperature and Humidity Sensor Readings</h1> <div id= mydiv ></div> </body> </html> connect.php <?php function Connection(){ $server= localhost ; $user= root ; $pass= ; $db= arduino_db ; $mysqli = mysqli_connect($server, $user, $pass, $db); if (!$mysqli) { die( Database connection failed:. mysqli_error()); $db_select = mysqli_select_db($mysqli, $db); if (!$db_select) { die( Database selection failed:. mysqli_error());?> return $mysqli; add.php <?php include( connect.php ); $link=connection(); 40 $temp1=$_post[ temp1 ]; $hum1=$_post[ hum1 ];
41 $query = INSERT INTO `templog` (`timestamp`, `temperature`, `humidity`) VALUES (NOW(),.$temp1.,.$hum1. ) ; mysqli_query($link,$query); mysqli_close($link);?> header( Location: index.php ); getdatabase.php <?php include( connect.php ); $link=connection(); $result=mysqli_query($link, SELECT * FROM `templog` ORDER BY`timeStamp` DESC ); echo <table border= 1 cellspacing= 1 cellpadding= 1 > <tr> <td>timestamp </td> <td>temperature</td> <td>humidity</td> </tr> ; if($result!==false){ while($row = mysqli_fetch_array($result)) { printf( <tr><td> %s </td><td> %s </td><td> %s </ td></tr>, $row[ timestamp ], $row[ temperature ], $row[ humidity ]); mysqli_free_result($result); mysqli_close($link); echo </table>?> 41
42 42 Headquarters: P. O. Box 2075, Colombo Sri Lanka Location: 127, Sunil Mawatha, Pelawatte Battaramulla, Sri Lanka T: F: E:
SAPIP GUI INSTALLATION. Table of Contents
QUICK START GUIDE SAPIP GUI INSTALLATION Table of Contents 1. Install CSU cable driver for SapIP..2-3 2. Check for pre-requisite for SAPIP GUI install......2 3. Check for pre-requisite for SAPIP GUI install...2-6
TIMETABLE ADMINISTRATOR S MANUAL
2015 TIMETABLE ADMINISTRATOR S MANUAL Software Version 5.0 BY GEOFFPARTRIDGE.NET TABLE OF CONTENTS TOPIC PAGE 1) INTRODUCTION 1 2) TIMETABLE SPECIFICATIONS 1 3) SOFTWARE REQUIRED 1 a. Intranet Server (XAMPP
DriveRight. Fleet Management Software. Getting Started Guide. CarChip. DriveRight. Drivers. Vehicles. Product #8186
DriveRight Fleet Management Software Getting Started Guide CarChip DriveRight Drivers Vehicles Product #8186 DriveRight Fleet Management Software Getting Started Guide; P/N 8186 Davis Instruments Part
IPRS-7 IP/GPRS PC Receiver Software Quick Start V1.2
IPRS-7 IP/GPRS PC Receiver Software Quick Start V1.2 Overview Introduction Before You Begin Installation The IPRS-7 Main Page Configuring the IPRS-7 (IPRS-7 splash screen pictured) Introduction The IPRS-7
This document is intended to make you familiar with the ServersCheck Monitoring Appliance
ServersCheck Monitoring Appliance Quick Overview This document is intended to make you familiar with the ServersCheck Monitoring Appliance Although it is possible, we highly recommend not to install other
freesshd SFTP Server on Windows
freesshd SFTP Server on Windows Configuration Steps: Setting up the Bridgestone User ID... 2 Setup the freesshd Server... 3 Login as the Bridgestone User ID using WinSCP... 5 Create Default Bridgestone
Iridium Extreme TM Satellite Phone. Data Services Manual
Iridium Extreme TM Satellite Phone Data Services Manual Table of Contents 1 OVERVIEW... 1 2 HOW IT WORKS... 1 3 BEFORE INSTALLING... 2 4 USB DRIVER INSTALLATION... 3 5 MODEM INSTALLATION AND CONFIGURATION...
Starting Guide - Poseidon 3265 First steps for remote monitoring with Poseidon & GSM
Poseidon 3265 starting guide Poseidon 3265 Starting Guide - Poseidon 3265 First steps for remote monitoring with Poseidon & GSM 1) Connecting Poseidon 3265 1.1) Check DIP switches settings. For installation
Huawei E169 & E220 Status Lights
Huawei E169 & E220 Status Lights 3G Wireless Troubleshooting Connection Issues 1. Have you correctly inserted the SIM card into the USB Modem? Please ensure the SIM card is correctly inserted. The gold
Installation Instructions
WampServer Installation Instructions The Web pages that students create in CIT 173 PHP Programming contain code that must be processed by a Web server. It isn t possible to open PHP files directly using
LockView 4.2 CompX Database & Network Configuration & Installation Manual
LockView 4.2 CompX Database & Network Configuration & Installation Manual Table of Contents CompX Database & Network Configuration & Installation Manual Introduction... 4 Installation Requirements... 5
GM862 Arduino Shield
User s Manual GM862 Arduino Shield Rev. 1.3 MCI-MA-0063 MCI Electronics Luis Thayer Ojeda 0115. Of. 402 Santiago, Chile Tel. +56 2 3339579 [email protected] MCI Ltda. Luis Thayer Ojeda 0115. Of. 402 Santiago,
TPG MOBILE BROADBAND QUICK SETUP GUIDE
TPG MOBILE BROADBAND QUICK SETUP GUIDE TPG USB E1762 Modem Thank you for choosing TPG Mobile Broadband and USB E1762 modem. This User Guide provides step by step instructions that will take you through
Important Notes for WinConnect Server VS Software Installation:
Important Notes for WinConnect Server VS Software Installation: 1. Only Windows Vista Business, Windows Vista Ultimate, Windows 7 Professional, Windows 7 Ultimate, Windows Server 2008 (32-bit & 64-bit),
WA1826 Designing Cloud Computing Solutions. Classroom Setup Guide. Web Age Solutions Inc. Copyright Web Age Solutions Inc. 1
WA1826 Designing Cloud Computing Solutions Classroom Setup Guide Web Age Solutions Inc. Copyright Web Age Solutions Inc. 1 Table of Contents Part 1 - Minimum Hardware Requirements...3 Part 2 - Minimum
TE100-P21/TEW-P21G Windows 7 Installation Instruction
Hardware Installation TE100-P21/TEW-P21G Windows 7 Installation Instruction 1. Go to http://www.trendnet.com/downloads/ to download the Windows 7 Utility. Save the file to your desktop. 2. Right click
The following describes how to connect to the Internet using a Novatel Ovation MC950D modem and an Apple MacBook Pro : with Mac OS X 10.4 Tiger.
Introduction The following describes how to connect to the Internet using a Novatel Ovation MC950D modem and an Apple MacBook Pro : with Mac OS X 10.4 Tiger. The Novatel Ovation MC950D enables you to connect
USB Edition TM-STD30 User Guide
USB Edition TM-STD30 User Guide 1 Rev 4.0.8 http://www.temperaturealert.com/ 2012 Temperature@lert User Guide Thank you for choosing Temperature@lert. The USB Edition monitors the ambient temperature and
LockView 4.3.1 CompX Database & Network Configuration & Installation Manual
LockView 4.3.1 CompX Database & Network Configuration & Installation Manual Table of Contents CompX Database & Network Configuration & Installation Manual Introduction... 4 Installation Requirements...
MOODLE Installation on Windows Platform
Windows Installation using XAMPP XAMPP is a fully functional web server package. It is built to test web based programs on a personal computer. It is not meant for online access via the web on a production
http://docs.trendmicro.com
Trend Micro Incorporated reserves the right to make changes to this document and to the products described herein without notice. Before installing and using the product, please review the readme files,
FlexSim LAN License Server
FlexSim LAN License Server Installation Instructions Rev. 20150318 Table of Contents Introduction... 2 Using lmtools... 2 1. Download the installation files... 3 2. Install the license server... 4 3. Connecting
HOW TO SETUP AN APACHE WEB SERVER AND INTEGRATE COLDFUSION
HOW TO SETUP AN APACHE WEB SERVER AND INTEGRATE COLDFUSION Draft version 1.0 July 15 th 2010 Software XAMPP is an open source package designed to take almost all the work out of setting up and integrating
EZblue BusinessServer The All - In - One Server For Your Home And Business
EZblue BusinessServer The All - In - One Server For Your Home And Business Quick Start Guide Version 3.11 1 2 3 EZblue Server Overview EZblue Server Installation EZblue Server Configuration 4 EZblue Magellan
SIMIAN systems. Setting up a Sitellite development environment on Windows. Sitellite Content Management System
Setting up a Sitellite development environment on Windows Sitellite Content Management System Introduction For live deployment, it is strongly recommended that Sitellite be installed on a Unix-based operating
PHP+MYSQL, EASYPHP INSTALLATION GUIDE
PHP+MYSQL, EASYPHP INSTALLATION GUIDE EasyPhp is a tool to install and configure an Apache server along with a database manager, MySQL. Download the latest version from http://www.easyphp.org/ as seen
Connecting your Omega/BetaPAT PLUS to a PC via a USB
Connecting your Omega/BetaPAT PLUS to a PC via a USB Install software Windows XP and below Insert the disc into your computers disc drive and run through the setup wizard. Windows Vista & 7 1. Insert the
ThinPoint Quick Start Guide
ThinPoint Quick Start Guide 2 ThinPoint Quick Start Guide Table of Contents Part 1 Introduction 3 Part 2 ThinPoint Windows Host Installation 3 1 Compatibility... list 3 2 Pre-requisites... 3 3 Installation...
BioWin Network Installation
BioWin Network Installation Introduction This document outlines the procedures for installing the network version of BioWin. There are three parts to the network version installation: 1. The installation
Enterprise Manager. Version 6.2. Installation Guide
Enterprise Manager Version 6.2 Installation Guide Enterprise Manager 6.2 Installation Guide Document Number 680-028-014 Revision Date Description A August 2012 Initial release to support version 6.2.1
Installing The SysAidTM Server Locally
Installing The SysAidTM Server Locally Document Updated: 17 October 2010 Introduction SysAid is available in two editions: a fully on-demand ASP solution and an installed, in-house solution for your server.
SMS Database System Quick Start. [Version 1.0.3]
SMS Database System Quick Start [Version 1.0.3] Warning ICP DAS Inc., LTD. assumes no liability for damages consequent to the use of this product. ICP DAS Inc., LTD. reserves the right to change this manual
User s Manual. Management Software for ATS
ATS Monitor User s Manual Management Software for ATS Table of Contents 1. ATS Monitor Overview... 2 2. ATS Monitor Install and Uninstall... 2 2.1. System Requirement... 2 2.2. Software Install... 2 2.3.
Getting Started using the SQuirreL SQL Client
Getting Started using the SQuirreL SQL Client The SQuirreL SQL Client is a graphical program written in the Java programming language that will allow you to view the structure of a JDBC-compliant database,
www.dragino.com Yun Shield Quick Start Guide VERSION: 1.0 Version Description Date 1.0 Release 2014-Jul-08 Yun Shield Quick Start Guide 1 / 14
Yun Shield Quick Start Guide VERSION: 1.0 Version Description Date 1.0 Release 2014-Jul-08 Yun Shield Quick Start Guide 1 / 14 Index: 1 Introduction... 3 1.1 About this quick start guide... 3 1.2 What
Site Monitor. Version 5.3
Site Monitor Version 5.3 1 1 Table of contents 1 Table of contents... 2 2 Installation... 3 2.1 Components... 3 2.1.1 Monitoring Service... 3 2.1.2 Desktop User Interface... 3 2.1.3 Web User Interface...
SysPatrol - Server Security Monitor
SysPatrol Server Security Monitor User Manual Version 2.2 Sep 2013 www.flexense.com www.syspatrol.com 1 Product Overview SysPatrol is a server security monitoring solution allowing one to monitor one or
MF652 USB Modem User Guide
MF652 USB Modem User Guide Connection Manager Software Guide... 2 Using your USB Modem... 4 Task bar information... 6 Using the SMS Interface... 7 Using the Phonebook... 9 Phonebook Notes:...10 Settings...11
Super Pro Net TM Network Key Installation and Operation
March 4, 2015 Super Pro Net TM Network Key Installation and Operation Installation Overview RoadEng software can be protected against unlicensed use on a network with SafeNet s Super Pro Net TM hardware
ScanWin Installation and Windows 7-64 bit operating system
ScanWin Installation and Windows 7-64 bit operating system In order to run the ScanWin Pro install and program on Windows 7 64 bit operating system you need to install a Virtual PC and then install a valid,
Kaseya 2. Quick Start Guide. for Network Monitor 4.1
Kaseya 2 VMware Performance Monitor Quick Start Guide for Network Monitor 4.1 June 7, 2012 About Kaseya Kaseya is a global provider of IT automation software for IT Solution Providers and Public and Private
Spam Marshall SpamWall Step-by-Step Installation Guide for Exchange 5.5
Spam Marshall SpamWall Step-by-Step Installation Guide for Exchange 5.5 What is this document for? This document is a Step-by-Step Guide that can be used to quickly install Spam Marshall SpamWall on Exchange
Magaya Software Installation Guide
Magaya Software Installation Guide MAGAYA SOFTWARE INSTALLATION GUIDE INTRODUCTION Introduction This installation guide explains the system requirements for installing any Magaya software, the steps to
Ekran System Help File
Ekran System Help File Table of Contents About... 9 What s New... 10 System Requirements... 11 Updating Ekran to version 4.1... 13 Program Structure... 14 Getting Started... 15 Deployment Process... 15
This document details the following four steps in setting up a Web Server (aka Internet Information Services -IIS) on Windows XP:
Wazza s QuickStart: Setting up a Web Server (IIS) Windows XP This document details the following four steps in setting up a Web Server (aka Internet Information Services -IIS) on Windows XP: Configuring
Remote Connectivity to XV, XP and epro units running Visual Designer
Intro Remote connectivity is one of the major features of Visual Designer and our new operator interface hardware platforms running that software. The ability to monitor, troubleshoot, edit and administer
Network/Floating License Installation Instructions
Network/Floating License Installation Instructions Installation steps: On the Windows PC that will act as License Manager (SERVER): 1. Install HASP Run-time environment, SERVER 2. Plug in the red USB hardware
USB HSPA Modem. User Manual
USB HSPA Modem User Manual Congratulations on your purchase of this USB HSPA Modem. The readme file helps you surf the Internet, send and receive SMS, manage contacts and use many other functions with
Immotec Systems, Inc. SQL Server 2005 Installation Document
SQL Server Installation Guide 1. From the Visor 360 installation CD\USB Key, open the Access folder and install the Access Database Engine. 2. Open Visor 360 V2.0 folder and double click on Setup. Visor
ManageEngine IT360. Professional Edition Installation Guide. [[email protected]]
ManageEngine IT360 (Division of ZOHO Corporation) ) www.manageengine.com/it360 ManageEngine IT360 Professional Edition Installation Guide [[email protected]] [This document is a guideline for installing
Guide to Installing BBL Crystal MIND on Windows 7
Guide to Installing BBL Crystal MIND on Windows 7 Introduction The BBL Crystal MIND software can not be directly installed on the Microsoft Windows 7 platform, however it can be installed and run via XP
Installing and Configuring WhatsUp Gold
Installing and Configuring WhatsUp Gold This guide provides information about installing and configuring WhatsUp Gold v14.2, including instructions on how to run the WhatsUp web interface through an Internet
User Manual. Version 1.0.0.0. Yeastar Technology Co., Ltd.
User Manual Version 1.0.0.0 Yeastar Technology Co., Ltd. Table of Contents 1 Introduction 3 2 Installing MySMS Software 4 3 Managing MySMS 9 3.1 Accessing MySMS 9 3.2 Multi-User Accounts 10 3.3 Managing
Local Caching Servers (LCS): User Manual
Local Caching Servers (LCS): User Manual Table of Contents Local Caching Servers... 1 Supported Browsers... 1 Getting Help... 1 System Requirements... 2 Macintosh... 2 Windows... 2 Linux... 2 Downloading
DiskPulse DISK CHANGE MONITOR
DiskPulse DISK CHANGE MONITOR User Manual Version 7.9 Oct 2015 www.diskpulse.com [email protected] 1 1 DiskPulse Overview...3 2 DiskPulse Product Versions...5 3 Using Desktop Product Version...6 3.1 Product
Connecting your Blackberry to Aliant Hosted Exchange. Instructions for connecting Blackberry hand-held devices to Aliant Hosted Exchange
Instructions for connecting Blackberry hand-held devices to Aliant Hosted Exchange 1 Table of Contents: BLACKBERRY 7750/6750 VERSIONS 3.7188 OR 3.6... 3 1. Verify the configuration of Outlook on the PC
Imaging License Server User Guide
IMAGING LICENSE SERVER USER GUIDE Imaging License Server User Guide PerkinElmer Viscount Centre II, University of Warwick Science Park, Millburn Hill Road, Coventry, CV4 7HS T +44 (0) 24 7669 2229 F +44
EZblue BusinessServer The All - In - One Server For Your Home And Business
EZblue BusinessServer The All - In - One Server For Your Home And Business Quick Start Guide Version 3.8 1 2 3 EZblue Server Overview EZblue Server Installation EZblue Server Configuration 4 EZblue Magellan
Installing PowerLink on Windows 7 64-bit
Instruction Manual Version 1.0, Code No. 20 751 806 1 Introduction... 3 2 Installing Virtual PC... 3 3 Configuring Windows XP Mode... 5 4 Installing Powerlink to Virtual XP... 8 5 Run PowerLink software
owncloud Configuration and Usage Guide
owncloud Configuration and Usage Guide This guide will assist you with configuring and using YSUʼs Cloud Data storage solution (owncloud). The setup instructions will include how to navigate the web interface,
INSTALLING, CONFIGURING, AND DEVELOPING WITH XAMPP
INSTALLING, CONFIGURING, AND DEVELOPING WITH XAMPP by Dalibor D. Dvorski, March 2007 Skills Canada Ontario DISCLAIMER: A lot of care has been taken in the accuracy of information provided in this article,
Print Server Application Guide. This guide applies to the following models.
Print Server Application Guide This guide applies to the following models. TL-WR842ND TL-WR1042ND TL-WR1043ND TL-WR2543ND TL-WDR4300 CONTENTS Chapter 1. Overview... 1 Chapter 2. Before Installation...
mypro Installation and Handling Manual Version: 7
mypro Installation and Handling Manual Version: 7 Date: JAN 2016 Thank you for using mypro on your PC. myscada is a full featured HMI/SCADA system with advanced options such as vector graphics views, advanced
The full setup includes the server itself, the server control panel, Firebird Database Server, and three sample applications with source code.
Content Introduction... 2 Data Access Server Control Panel... 2 Running the Sample Client Applications... 4 Sample Applications Code... 7 Server Side Objects... 8 Sample Usage of Server Side Objects...
How to use Mints@Home
How to use Mints@Home Citrix Remote Access gives Mints users the ability to access University Of Cambridge and MINTS resources from any computer, anywhere in the world,. The service requires a high-speed
STORAGE SYSTEM DATALOGGER DATABASE
STORAGE SYSTEM DATALOGGER DATABASE Database based storage system for data acquisition systems, dataloggers and transmitters Instruction Manual Introduction This storage system is database based system
http://docs.trendmicro.com
Trend Micro Incorporated reserves the right to make changes to this document and to the products described herein without notice. Before installing and using the product, please review the readme files,
SMS Alarm Messenger. Setup Software Guide. SMSPro_Setup. Revision 090210 [Version 2.2]
SMS Alarm Messenger SMSPro_Setup Revision 090210 [Version 2.2] ~ 1 ~ Contents 1. How to setup SMS Alarm Messenger?... 3 2. Install the SMSPro_Setup software... 5 3. Connection Type... 6 4. Connection Port
Pearl Echo Installation Checklist
Pearl Echo Installation Checklist Use this checklist to enter critical installation and setup information that will be required to install Pearl Echo in your network. For detailed deployment instructions
ScanShell.Net Install Guide
ScanShell.Net Install Guide Please install the software first - DO NOT PLUG IN THE SCANNER The scanner has been carefully packaged to avoid damage during transportation. Before operating the scanner, please
OSM 2007 MONITORING SOFTWARE
OSM 2007 MONITORING SOFTWARE Contents Preparation...3 Software Installation...4 Configuring OSM...6 Connecting a Device...16 Connecting to Station Monitoring Software...19 Troubleshooting...23 Installing
Quick Installation Guide
V48.01 Model: FI8919W Quick Installation Guide Outdoor Pan/Tilt Wireless IP Camera For Windows OS ------- Page 1 For MAC OS ------- Page 15 ShenZhen Foscam Intelligent Technology Co., Ltd Quick Installation
Remote Console Installation & Setup Guide. November 2009
Remote Console Installation & Setup Guide November 2009 Legal Information All rights reserved. No part of this document shall be reproduced or transmitted by any means or otherwise, without written permission
Guide for Remote Control PDA
030.0051.01.0 Guide for Remote Control PDA For Use with Bluetooth and a PC Running Windows 7 Table of Contents A. Required Parts... 3 B. PC Software Installation... 3 C. Configure PC Software... 4 D. Testing
SOFTWARE INSTALLATION INSTRUCTIONS
AUDITGARD LGA Electronic Combination Lock SOFTWARE INSTALLATION INSTRUCTIONS Implementation Package The AuditGard Software implementation package includes: 707013 AuditGard Software Install CD 42145 Programming/Audit
Issue Tracking Anywhere Installation Guide
TM Issue Tracking Anywhere Installation Guide The leading developer of version control and issue tracking software Table of Contents Introduction...3 Installation Guide...3 Installation Prerequisites...3
A L ERT. Quick Start With
A L ERT Quick Start With I NSTAL L ATION To launch the installation of Micromedia Solution, insert the installation CD-ROM in the CD/DVD drive. If the installation program does not start automatically
Ethernet Radio Configuration Guide
Ethernet Radio Configuration Guide for Gateway, Endpoint, and Repeater Radio Units April 20, 2015 Customer Service 1-866-294-5847 Baseline Inc. www.baselinesystems.com Phone 208-323-1634 FAX 208-323-1834
enicq 5 System Administrator s Guide
Vermont Oxford Network enicq 5 Documentation enicq 5 System Administrator s Guide Release 2.0 Published November 2014 2014 Vermont Oxford Network. All Rights Reserved. enicq 5 System Administrator s Guide
Important. Please read this User s Manual carefully to familiarize yourself with safe and effective usage.
Important Please read this User s Manual carefully to familiarize yourself with safe and effective usage. About This Manual This manual describes how to install and configure RadiNET Pro Gateway and RadiCS
InventoryControl for use with QuoteWerks Quick Start Guide
InventoryControl for use with QuoteWerks Quick Start Guide Copyright 2013 Wasp Barcode Technologies 1400 10 th St. Plano, TX 75074 All Rights Reserved STATEMENTS IN THIS DOCUMENT REGARDING THIRD PARTY
JUL / 07 VERSION 3.2
JUL / 07 VERSION 3.2 ASETVI EWME smar www.smar.com Specifications and information are subject to change without notice. Up-to-date address information is available on our website. web: www.smar.com/contactus.asp
Desktop Surveillance Help
Desktop Surveillance Help Table of Contents About... 9 What s New... 10 System Requirements... 11 Updating from Desktop Surveillance 2.6 to Desktop Surveillance 3.2... 13 Program Structure... 14 Getting
User Manual. Onsight Management Suite Version 5.1. Another Innovation by Librestream
User Manual Onsight Management Suite Version 5.1 Another Innovation by Librestream Doc #: 400075-06 May 2012 Information in this document is subject to change without notice. Reproduction in any manner
Bitrix Site Manager ASP.NET. Installation Guide
Bitrix Site Manager ASP.NET Installation Guide Contents Introduction... 4 Chapter 1. Checking for IIS Installation... 5 Chapter 2. Using An Archive File to Install Bitrix Site Manager ASP.NET... 7 Preliminary
OrangeHRM Web Installation Guide for Windows
OrangeHRM Web Installation Guide for Windows All rights reserved. Published in the United States of America. This publication is protected by copyright, and permission must be obtained from the publisher
User Manual. Thermo Scientific Orion
User Manual Thermo Scientific Orion Orion Star Com Software Program 68X637901 Revision A April 2013 Contents Chapter 1... 4 Introduction... 4 Star Com Functions... 5 Chapter 2... 6 Software Installation
Sale Grammar School Remote Desktop Services User Instructions
Sale Grammar School Remote Desktop Services User Instructions Sale Grammar School Remote Desktop Services allows Staff and Students access to a virtual school computer while connected to the internet at
Table of Contents 1. Introduction... 3 2. Installing Sxblue Server... 4 3. Principle of Operation... 6 4. Server Configuration... 7 4.
SXBlue Server Table of Contents 1. Introduction... 3 2. Installing Sxblue Server... 4 3. Principle of Operation... 6 4. Server Configuration... 7 4.1 Server Status... 7 4.1.1 Info Clients... 8 4.1.2 Infos
Virtual Office Remote Installation Guide
Virtual Office Remote Installation Guide Table of Contents VIRTUAL OFFICE REMOTE INSTALLATION GUIDE... 3 UNIVERSAL PRINTER CONFIGURATION INSTRUCTIONS... 12 CHANGING DEFAULT PRINTERS ON LOCAL SYSTEM...
Enterprise Data Integration (EDI)
CHAPTER 14 This feature requires an optional Cisco license. The EDI menu appears only after the license is installed on the Cisco PAM server. See Obtaining and Installing Optional Feature Licenses, page
Net 2. NetApp Electronic Library. User Guide for Net 2 Client Version 6.0a
Net 2 NetApp Electronic Library User Guide for Net 2 Client Version 6.0a Table of Contents 1 INTRODUCTION AND KEY FEATURES... 3 SOME OF THE KEY FEATURES INCLUDE:... 3 INSTALLATION PREREQUISITES:... 3 2
PART 1 CONFIGURATION 1.1 Installing Dashboard Software Dashboardxxx.exe Administration Rights Prerequisite Wizard
Omega Dashboard 1 PART 1 CONFIGURATION 1.1 Installing Dashboard Software Find the Dashboardxxx.exe in the accompanying CD or on the web. Double click that to install it. The setup process is typical to
Kaseya 2. User Guide. for Network Monitor 4.1
Kaseya 2 Ping Monitor User Guide for Network Monitor 4.1 June 5, 2012 About Kaseya Kaseya is a global provider of IT automation software for IT Solution Providers and Public and Private Sector IT organizations.
RoboMail Mass Mail Software
RoboMail Mass Mail Software RoboMail is a comprehensive mass mail software, which has a built-in e-mail server to send out e-mail without using ISP's server. You can prepare personalized e-mail easily.
Kaseya Server Instal ation User Guide June 6, 2008
Kaseya Server Installation User Guide June 6, 2008 About Kaseya Kaseya is a global provider of IT automation software for IT Solution Providers and Public and Private Sector IT organizations. Kaseya's
Select Correct USB Driver
Select Correct USB Driver Windows often installs updated drivers automatically, and defaults to this latest version. Not all of these drivers are compatible with our software. If you are experiencing communications
Upgrading from Call Center Reporting to Reporting for Contact Center. BCM Contact Center
Upgrading from Call Center Reporting to Reporting for Contact Center BCM Contact Center Document Number: NN40010-400 Document Status: Standard Document Version: 02.00 Date: June 2006 Copyright Nortel Networks
Quick Installation Guide
V2.01 Model: FI9821W Quick Installation Guide Indoor HD Pan/Tilt Wireless IP Camera Black White For Windows OS ------- Page 1 For MAC OS ------- Page 16 ShenZhen Foscam Intelligent Technology Co., Ltd
SHARP Digital Signage Software Pro PN-SS05 OPERATION MANUAL
SHARP Digital Signage Software Pro PN-SS05 Version 4.1 OPERATION MANUAL Contents Introduction... 2 Precautions on Use...2 Trademarks...2 How to Read this Manual...3 Definitions...3 Installing/Launching...
