Title by x&y https://sites.google.com/ Submitted to the Department of Engineering Science in partial fulfillment of the requirements for the degree of Bachelor of Science in Electrical Engineering at the Sonoma State University May 2014 Sonoma State University 2014. All rights reserved. Author . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxxx Author . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . yyyyyy Certified by . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Dr. Farid Farahmand Associate Professor Accepted by . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Abstract The objective of this project is to design a cellular enabled and modular system that can monitor conditions of its surrounding environment and relay that data to an end user. A system such as this is applicable for general purpose telemetry that can be used for monitoring of microclimates, water quality, tank levels, security, just to name a few. The applications are endless. This system will consist of two basic nodes: (1) a sensory node that is 2 Contents 1 Introduction 10 1.1 Project Background ....................................................................................... 10 1.2 Marketing Requirements ............................................................................... 11 1.3 Engineering Requirements ................................................................................. 12 1.4 Engineering/Marketing Trade-Off and Engineering Trade-Off ...................... 12 1.5 Problem Statement......................................................................................... 14 1.6 Literature Review and Existing Patents .....................................................15 2 Implementation 2.1 Hardware Design................................................................................................ 18 2.1.1 2.2 18 Sensor Node Hardware.......................................................................... 18 2.1.1.1 Microcontroller ...................................................................... 18 2.1.1.2 Cellular Module..................................................................... 19 2.1.2 Power System ........................................................................................ 23 2.1.3 Server Hardware .................................................................................... 26 Software Design ..................................................................................................26 2.2.1 Server ..........................................................................................................27 2.2.2 Sensory Node ........................................................................................ 27 2.2.3 Stored Data ........................................................................................ 29 2.3 Project Schedule................................................................................................. 29 2.4 Bill of Materials ................................................................................................. 33 2.5 Budget ............................................................................................................ 36 2.6 Test Plan ....................................................................................................41 3 3 System Description 42 3.1 Node Schematic ................................................................................................. 42 3.2 Hardware .............................................................................................................42 3.2.1 3.2.2 3.2.3 3.2.4 PIC32 Microcontroller ............................................................................42 3.2.1.1 Overview.................................................................................42 3.2.1.2 Universal Asynchronous Receiver/Transmitter .................. 43 3.2.1.3 Inter-Integrated Circuit ....................................................... 44 3.2.1.4 Analog-to-Digital Converter .....................................................45 3.2.1.5 Real Time Clock and Calendar .......................................... 46 3.2.1.6 Device Clocks ........................................................................ 46 3.2.1.7 Power Specifications and Recommendations ..................... 47 Peripherals ......................................................................................... 47 3.2.2.1 Overview.................................................................................47 3.2.2.2 EEPROM .............................................................................. 47 3.2.2.3 GPIO Expander .................................................................. 48 3.2.2.4 On Board Temperature Sensor ........................................... 48 3.2.2.5 Analog Demultiplexer ............................................................48 GSM/GPRS Modem .............................................................................. 49 3.2.3.1 Overview.................................................................................49 3.2.3.2 GPRS .................................................................................. 49 3.2.3.3 Power/GND Reccomendation and Specifications . . . 3.2.3.4 UART Level Conversion and Connections ........................ 50 3.2.3.5 RTC Backup .......................................................................... 51 3.2.3.6 Board Connector ................................................................ 51 50 Power............................................................................................................... 51 3.2.4.1 Overview.................................................................................51 3.2.4.2 Solar Panel .................................................................................52 3.2.4.3 Charge Controller ............................................................... 52 3.2.4.4 Battery ................................................................................ 52 3.2.4.5 Voltage Converters ............................................................... 53 4 3.2.5 3.2.6 3.3 Web Server .................................................................................................53 3.2.5.1 Overview.................................................................................53 3.2.5.2 Server Hardware Specifications .............................................53 3.2.5.3 Recommended Configuration for Raspberry Pi ................. 54 Printed Circuit Board......................................................................... 54 3.2.6.1 Overview.................................................................................54 3.2.6.2 Schematic and PCB Layout ................................................. 55 Software ...................................................................................................................56 3.3.1 PIC32 Microcontroller ............................................................................56 3.3.1.1 Overview.................................................................................56 3.3.1.2 Theory of Operation........................................................... 57 3.3.1.3 Transport Protocol Preference ........................................... 57 3.3.1.4 System Setting.................................................................... 59 3.3.1.5 Universal Asynchronous Receiver/Transmitter .................. 60 3.3.1.6 Analog-to-Digital Converter .....................................................60 3.3.1.7 Inter-Integrated Circuit....................................................... 61 3.3.1.8 Electrically Erasable Programmable Read-Only Memory ...........................................................................................63 3.3.1.9 Modem ....................................................................................65 3.3.1.10 Configuration File...................................................................69 3.3.1.11 Real Time Clock and Calendar .......................................... 72 3.3.1.12 General Purpose Input/Output Expander ........................... 74 3.3.2 Web Server .................................................................................................75 3.3.2.1 Overview.................................................................................75 3.3.2.2 Operating System ............................................................... 75 3.3.2.3 Dynamic Domain Name System ............................................76 3.3.2.4 Server Configuration ..............................................................76 3.3.2.5 Network Configuration ...........................................................77 3.3.2.6 File Transfer Protocol......................................................... 78 3.3.2.7 SenCell Configuration Utility ............................................. 78 5 3.3.2.8 3.4 Adding New Sensor Nodes ................................................... 80 Testing ............................................................................................................... 82 3.4.1 Overview.................................................................................................82 3.4.2 Power Consumption ........................................................................... 82 3.4.3 Configuration Utility............................................................................ 85 3.4.4 System Sleep/Idle Mode ................................................................... 85 4 Future Works 86 5 Concluding Remarks 87 A Agilent E3631A Power Supply Script 89 B KiCad PCB 90 C PCB 91 D DDclient Configuration File Example 92 E ProFTPD Configuration File Example 93 F Flowcharts 100 G EEPROM Memory Map 106 H Acronyms 112 References 116 6 List of Figures 1-1 The network topology of the SenCell system ...................................................11 2-1 Pinout of the PIC32MX250F128B with a dual in-line package ....................19 2-2 Sensor Node high-level hardware diagram ......................................................21 2-3 Sensor Node detailed circuit diagram derived from 2-2, please refer to associated digital content for high resolution schematic. 22 2-4 Sensor Node internal I2C peripherals including an onboard temperature sensor and EEPROM. ............................................................................ 23 2-5 The SenCell Sensory Node’s power managment system ............................. 24 2-6 The SenCell Sensory Node’s firmware block diagram ....................................28 2-7 Stored Data.................................................................................................... 30 2-8 Gantt Chart - Schedule for the SenCell Project........................................... 31 3-1 The SenCell Sensory Node firmware state diagram .......................................58 3-2 Timing diagram showing how the modem RTC updates time and date via NTP .......................................................................................................... 66 3-3 Timing diagram showing how the modem sends data to the server, CSV is used as example data. ...................................................................... 67 3-4 Tming diagram showing how the sensor node pulls the configuration file from the server. ............................................................................................70 3-5 SenCell Configuration Utility screen shot .................................................... 81 3-6 Total Power Plot of 4 Minute Interval Transmission .....................................83 3-7 Total Power Plot of 30 Minute Interval Transmission ...................................84 3-8 Total Power Plot of 4 Minute Interval Transmission .....................................84 7 A-1 RS232 Serial Interface with Agilent E3631A Power Supply Script B-1 KiCad PCB . . 89 90 C-1 PCB .....................................................................................................................91 F-1 System Initialization .................................................................................... 101 F-2 Real Time Clock and Calendar Time Synchronization ............................... 102 F-3 Sensor Data Acquisition .............................................................................. 103 F-4 Connect to Network ........................................................................................ 104 F-5 Get Configuration File ................................................................................ 105 8 List of Tables 1.1 Engineering-Marketing Matrix ...................................................................... 13 1.2 Engineering Tradeoff Matrix......................................................................... 14 1.3 Competitive Benchmarks .............................................................................. 17 2.1 Phase One Schedule...........................................................................................31 2.2 Phase Two Schedule ..........................................................................................32 2.3 Phase Three Schedule........................................................................................33 2.4 SenCell Bill of Materials (1) .............................................................................34 2.5 SenCell Bill of Materials (2) .............................................................................35 2.6 Project Budget (1)......................................................................................... 37 2.7 Project Budget Continued (2) ....................................................................... 38 2.8 Project Budget Continued (3) ....................................................................... 39 2.9 Project Budget Continued (4) ....................................................................... 40 2.10 Test Plan .................................................................................................... 41 9 Chapter 1 Introduction 1.1 Project Background Sonoma State Preserves have a need to develop a robust sensor network. Many types of data should be collected; it may pertain to water quality, weather data, security, or fire detection. In addition these sensors should have the ability to be deployed in remote locations without access to reliable power or wired communications. Thus the system must be reliable and application adaptable. Therefore the project proposes to create a modular data acquisition system with dependable GSM/GPRS cellular communications. Furthermore, the system must employ use of a centralized data collection node to pull data from the sensor nodes. The user must be able to acquire the file from the data collection node in the form of a comma separated value file. 10 Figure 1-1: The network topology of the SenCell system 1.2 Marketing Requirements The following sections outline the project requirements for the SenCell system. These metrics create a guideline for a robust and functional system thus, meeting the customer’s needs upon project completion. • The system should cost less than $1,000. • End user data must be presented in a .CSV format. • Intervals of data sampling must be user settable. • The system must utilize the GSM/GPRS 2G cellular network for data communications. • Sensory nodes must produce and store local power. • The sensory nodes must be weather-proofed. • Sensory node settings should be re-configurable from remote locations. 11 1.3 Engineering Requirements • The sensory node should be operable for three (3) days without power generation. • The sensory node must not produce/consume more than 2MB a month of cellular traffic. • The sensor nodes must be put to sleep whenever possible to reduce power consumption. • Sensor nodes must have a real time clock and at least 512kB of onboard nonvolatile memory. • The sensor nodes must have a minimum of the following: 4 analog inputs (w/ 10bit resolution), 4 digital input/outputs, I2C buss header for sensor/system expansion. 1.4 Engineering/Marketing Trade-Off and Engineering Trade-Off The following section discusses the importance of engineering tradeoffs. Not all desired features can be integrated into the project. Features come at a cost, whether it is power, data throughput, or ease of use. Carefully analyzing these tradeoffs allows for a feature rich and cost effective product to be delivered to the customer. Engineers have certain restrictions and requirements that should be met, in order to meet the customer’s demands and needs. The customer wants a high quality product and they want the cost to be at a minimum. Therefore, there are certain tradeoffs that must be dealt with before the design can be built. As the number of sensors increases, this brings the cost and cellular throughput of the sytem to rise as well. Lowering the cost of the system could bring down the power consumption. The lower the cost, the less features will be provided, therefore 12 the less power is consumed. In order to minimize the power failure rate, the power consumption and operation time of the system should be lowered. If the user wants the data to be analyzed and interpreted for them, then this may require more data and operation time, which can increase the cost of the system. Each decision of the engineering tradeoffs may have a negative or positive impact on another aspect of the project. The power consumption affects the cellular throughput, data storage, and operation time negatively, since less data will be captured and transfered in order to lower the power consumption. As cellular throughput and data storage rises, this will also raise the cost, which is something that is not desirable. Number of sensors Cost Power Failure Rate Data Interpretation + ↓ - ↓ - ↓↓ + Cost Operation Time Data Storage Cellular Throughput Power Consumption Table 1.1: Engineering-Marketing Matrix + + + ↑↑ ↑↑ ↑↑ ↑↑ ↓↓ ↓↓ ↑↑ ↑↑ ↑↑ ↓ Polarity (+) indicates desirability, and (-) indicates non-desirability Up Arrow is a positive correlation; both goals can be simultaneously met Down Arrow is a negative correlation; improving one will compromise the other 13 + ↓ ↑ + ↓ ↑ Cost + ↓ Operation Time - Data Storage + + + - Cellular Throughput Power Consumption Cellular Throughput Data Storage Operation Time Cost Power Consumption Table 1.2: Engineering Tradeoff Matrix ↓ ↓ ↓ Polarity (+) indicates desirability, and (-) indicates non-desirability Up Arrow is a positive correlation; both goals can be simultaneously met Down Arrow is a negative correlation; improving one will compromise the other 1.5 Problem Statement The project aims to create a rugged modular cellular data acquisition system which can be deployed to remote areas without access to reliable power or wired communications. The system is intended to be deployed in the SSU Nature Preserves to develop a wireless sensor network. A system such as this can be used to autonomously collect and aggregate environmental data for study in the areas of biology, ecology, meteorology, geology, and environmental sciences. Thus this system allows for scientists to focus on the research of their interest rather than data collection. Several problems arise when creating such a system. The first problem is ensuring reliable connectivity to a wireless network. Cellular communications were chosen due to its existing deployed infrastructure and widespread coverage. In addition to reliable connectivity, data must be transmitted reliably such that if there are any errors during transmission (1) the system will be aware of errors and (2) the system will have the ability to retransmit lost data. Thus a fitting system looks to be the GSM/GPRS communication network utilizing TCP/IP over GPRS. 14 In addition the system must have the ability to generate and store electric power locally, thus enabling the device to be deployed in remote areas off the power grid. Therefore photovoltaic (PV) also known as solar panels with be employed to power the system. To complement the PV panels, a battery and charger will be installed, thus allowing the system to function without the need for sunlight. This will enable the system to gather data all day and night. Due to the fact that the system will have to generate its own power, power management must be closely attended to. Creating and executing a reasonable power budget is critical to device reliability and longevity. Carefully managing power will be a crucial component of the project. As seen in Figure 1-1, the system consists of multiple independent sensor nodes (SN). Each SN acts as a gateway for the user to collect the data. The SN should have the ability to connect and gather data from multiple devices, schedule data polling intervals, and configure settings on the sensor nodes. The web server will consist of two independent utilities, one being a FTP serving utility and the other being a data extraction and settings utility. The data extraction and settings utility (henceforth known as SenCell Server) will aggregate data into a comma separated value (.CSV) file for user analysis and processing, in addition to scheduling the SN device configuration files. At least once a day, the SN(s) should check with the server to see if they have the most up-to-date configuration files. Ensuring that the SN communicate and transfer data correctly and on the correct schedule will be a very interesting problem to solve. 1.6 Literature Review and Existing Patents When researching similar products that are on the market today, four main categories were focused on. These are the cost, power consumption, storage, and the amount and type of input/output offered. Since the goal of the project is to deliver a modular device, a comparison of a water monitoring system was not given. Each device examined had the capability to collect sensor data as well as interface with the cellular network for transmission. 15 The lease expensive system found was the ETM9570 made by ETM Pacific, which retails for $446 [1]. This device allows for data logging when network conectivity is not available. The device does include a photovoltaic power generation option. Documentation describes the main method of data retreival as SMS. This is different than what we are proposing since ours would be mainly web based. The company Remmon has developed several devices which are similar to what is being proposed. One of their device is called the R-Lite Web Bundle and is sold for $1,092 [7]. This system provides fewer input/output availability compared to the ETM9570. R-Lite features a small internal flash memory of only 20 kB. However, the bundle comes with a one year web host subscription which allows the user to log up to 100kB of record data onto a web server. An upgrade from the R-Lite is the R-Log Web Bundle which is sold for $1,988 [8] . This unit offers more input/output peripheral as well as an internal memory storage of 2 MB flash. This bundle also includes the one year web host subscription and 100kB of record uploading. One downside of this device is the power consumption is higher compared to that of the R-Lite. Therefore, if one were to connect a solar power supply to this device, power management must be planned and optimized efficiently. All of the systems that were looked into provided a modular device which could be programmed and turned into a monitoring system. However, most of the systems do not offer private web server software or a solar power option. Connecting a solar panel to each of the device mentioned above is not impossible, but it would require significant knowledge and time. The company Remmon has created similar products that most closely resemble the proposed project. The main differences is that ours would be low powered, open source software and hardware, and a significantly lowered price. 16 Table 1.3: Competitive Benchmarks Company Model Cost Power ETM Pacific ETM9570-1 $446 6-35 VDC, active: mA, idle: 30 mA Remmon R-Lite Web Bundle $1,092 200 9-24 VDC, active: 100 mA, standby: 30 mA Remmon R-Log Web Bundle $1,988 12-24 VDC, 12-24 VDC, active: 120 mA, standby: 90 mA Storage N/A 20 kB flash 2 MB flash I/O 7 digital in, 5 analog in, 2 digital, 3 outputs 8 digital in, 6 analog in, 7 digital out 2 digital out Comparison The Sencell system has 8 ADC, 8 Digital I/O, 16 I2C virtual channels, web service included, solar panel enabled, and the cost is lower than the three systems described above. 17 Chapter 2 Implementation The following chapter outlines sensor node to a server consists of two logical steps: (1) setting up a new user on the server and (2) creating a new configuration file for the sensor node. A new user must be made for each sensor node attached. The configuration file should be put in the users home directory. Uploaded data will be put in this home directory as well. Each one of these steps can be further broken down into the following: 1. Setting up a new user on the server Each node is seen as an individual user on the server, where the username is the IMEI (hardware address) of the modem. This is typically printed on the modem package. To add a new user and create a home directory from a console window enter the following commands; replace IMEI with the actual IMEI number associated with the modem: $sudo useradd IMEI $sudo passwd IMEI $sudo mkdir /home/IMEI $sudo chown IMEI:IMEI /home/IMEI 2. Creating a new configuration file for the sensor node To create a new configuration file run the SenCell Configuration Utility. It is imperative to enter the correct IMEI, server domain name, and password. The other parameters are chosen based upon what the intended functionality is. One the configuration 18 network indicating (blue) starts flashing. 3.4 3.4.1 Testing Overview Extensive testing and debugging was done to make sure all functionality of the system worked properly. Power consumption was a critical part of testing. Earlier, we stated that the battery should be able to support 3 full days of system operation without the need for power regeneration. This is one parameter that should be fulfilled. We also tested different configurations for the system. All the bugs that we found were fixed and the tested configuration settings now work properly. The following outlines the different tests that were done. 3.4.2 Power Consumption Depending on which configuration the user wants selected, this will affect the power consumption of the SN. We monitored the power consumption by capturing the current draw from an Agilent E3631A DC Power Supply instrument. The E3631A has RS-232 serial interface capabilities using a DB9 cable. The PIC32 was supplied with 3.3V and the Telit module was supplied with 3.7V from the power supply. We connected the E3631A to our computer and wrote a simple script to capture the current draw from the PIC32 and Telit module. Refer to Appendix A, Figure A-1 for a snapshot of the script. The data collected from the power supply was then imported 19 to Matlab for data analysis. For more information on the E3631A, refer to the Agilent E3631 datasheet. We decided to monitor power consumptions for two different configurations. The first configuration is for the SN to transmit data every 4 minutes. In between the 4 minutes, the PIC microcontroller is in sleep mode for most of the time. The PIC microcontroller wakes up every minute and stores the sensor data and time stamp into EEPROM. It stores a total of four data sets, and on the fourth minute, it sends a burst transmission of the three data sets it had stored in EEPROM. The average power consumption was 100 mW and the peak power consumption was 1.05 W when running for 2231 seconds. See Figure 3-6 for a plot of the total power. The second configuration for power monitoring is as follows: transmit every 30 minutes, collect sensor data every 10 minutes. The average power consumption was 20 mW and the peak power consumption was 785 mW when running for 9053 seconds. See Figure 3-7 for a plot of the total power. The third power consumption testing was done to ensure the accuracy of the power draw from the Telit modem. The configuration was set to pull data every 1 minute and send data every 2 minutes. We gathered 0.25 second interval data samples of the 3.7V power supply. The average power consumption was 165 mW and the peak power consumption was 0.68 W when running for 231 seconds. See Figure 3-8 for a plot of the power consumption. Figure 3-6: Total Power Plot of 4 Minute Interval Transmission 20 Figure 3-7: Total Power Plot of 30 Minute Interval Transmission Figure 3-8: Total Power Plot of 4 Minute Interval Transmission 21 3.4.3 Configuration Utility The user is able to select many different data collection and transmission intervals using the executable configuration file. Testing was done to ensure that the configuration utility worked properly for typical configurations. Testing was done on sensor polling option 4 and 5 with burst data amount of 1, 2, 3, 4, and 10. Each of these settings worked correctly. The other configuration settings should be tested eventually to make sure they work. Refer to section SenCell Configuration Utility for more information. 3.4.4 System Sleep/Idle Mode It is critical for the system to be able to go into sleep/off mode whenever possible to save power. Testing was done to ensure that the PIC32 microcontroller and Telit modem would draw the least amount of power possible. When the PIC32 is not collecting data or communicating with the Telit modem, it should be in sleep mode. The Telit modem should be in offline unless it is transmitting and receiving data. As we tested the different configuration settings as stated in the Configuration Utility section, we monitored the sleep/off mode of the PIC32 and Telit modem. The PIC32 does go into sleep mode when it’s supposed to. Its current draw in sleep mode is close to 2 mA. The Telit modem also goes into offline mode when it is supposed to. 3.4.5 Data Transmission In the case of a network failure, the system will keep attempting to connect to the network. Currently, the system does not go into a low power timeout mode, although this planned in the future. If the server cannot be contacted, then it will keep attempting to connect. As before, the system does not go into a low power timeout. This is something that will be implemented in future revisions. It take approximately 100 seconds to connect and transmit data to the sever. This number depends on the amount of data to send and whether it tries to connect to the server or the network multiple times. 22 Chapter 4 Future Works The following lists the future works for the SenCell Project: • Implement more sensors into project • Print a hardware cover • Deploying system onto customer site • Multiple Sensor Nodes • GPS for SN mapping on maps • SN health and status messaging • Multimedia support • SMS for to cellphone for quick alerts and updates • Expand supported cellular and radio technologies • Lower the cost of the design • Additional software features • Improve user interface 23 Chapter 5 Concluding Remarks The objective of this project was to design a modular data acquisition system and we believe we have accomplished our goal. The bulk of our work was focused on development of the sensory node. The sensory node we created is all packaged onto a PCB. Eventually, an enclosure case shall be built for the PCB. The modularity features of the PCB are really the heart of this project. The SenCell PCB offers multiple analog, digital, and I2C sensor interface capabilities. The cellular modem and microcontroller can be easily upgraded to fulfill different application purposes. We have successfully developed a working prototype that has been tested and proven to send sensor data wirelessly over the cellular network and onto a web server. Now that the concept has been proven to work, the next step is to develop different application packages and deploy the system onto a customer site. 24 Acknowledgement • Engineering Science Department, SSU • Steve Norwick Memorial Fund • WATERS Collaborative Fund • Campus as a Living Lab Grant Program • Entreprenoma: Market Day • Dr. Farid Farahmand • Dr. Jack Ou • Shahram Marivani • Juan Magana • Jonathan Porrazzo • Casey White • Scott Parmley • Alberto Maldonado 25 Appendix A Appendix H Acronyms ADC Analog Digital Converter A-Hr Ampere-Hour API Application Programming Interface CAN Controller Area Network CDMA Code Division Multiple Access CN Central Node CSV Comma Separated Values CTS Clear to Send DC Direct Current DDNS Dynamic Domain Name System 26 DTE Data Termimal Equipment EDGE Enhanced Data Rates for GSM Evolution EEPROM Electronically Erasable Programmable Read-Only Memory FQDN Fully Qualified Domain Name 27 FTP File Transfer Protocol GPIO General-Purpose Input/Output GPRS General Packet Radio Service GPS Global Positioning System GSM Global System for Mobile Communications HTTP Hypertext Transfer Protocol I/O Input/Output I2C Inter-Intergrated Circuit ICSP In Circuit Serial Programming IMEI International Mobile Station Equipment Identity IP Internet Protocol ISP Internet Service Provider JTAG Joint Test Action Group LDO Low-Dropout (regulator) LED Light-Emitting Diode LTE Long Term Evolution M2M Machine-to-Machine MCU Microcontroller Unit MSSP Master Serial Synchronous Port N/A Not/Available NAT Network Address Translation 28 NIC Network Interface Controller NTP Network Time Protocol PC Personal Computer PCB Printed Circuit Board PIC Peripheral Interface Controller PV Photovoltaic RAM Random Access Memory RTCC Real Time Clock and Calendar RTS Request to Send RX Receiver SIM Subscriber Identity Module SMS Short Message Service SN Sensor Node SPARC Scalable Processor Architecture SPI Serial Peripheral Interface Bus SSH Secure Shell SSU Sonoma State University TCP Transmission Control Protocol TX Transmitter UART Universal Asynchronous Receiver/Transmitter USB Universal Serial Bus 29 UMTS Universal Mobile Telecommunications System USB Universal Serial Bus VGA Video Graphics Array WAN Wide Area Network WHr Watt-Hour 30 References [1] ETM Pacific ETM9570-1 Webpage, www.esis.com.au/Modems- industrial/GSM CDMA Modems.htm [2] Maxim MAX4617 MUX/DMUX Webpage and Datasheets, http://www.maximintegrated.com/datasheet/index.mvp/id/2064 [3] Microchip PIC32MX250F128B Webpage and Datasheets, http://www.microchip.com/wwwproducts/Devices.aspx?dDocName=en557425 [4] Microchip TCN75A Temperature Sensor Webpage and Datasheets, http://www.microchip.com/wwwproducts/Devices.aspx?dDocName=en022149 [5] Microchip MCP23017 I/O Expander Webpage and Datasheets, http://www.microchip.com/wwwproducts/Devices.aspx?dDocName=en023499 [6] Microchip 24AA1026 EEPROM and Datasheets, http://www.microchip.com/wwwproducts/Devices.aspx?dDocName=en552658 [7] Remmon R-Lite Webpage, http://www.esis.com.au/products/data- loggers/remmon/remmon.php [8] Remmon R-Log Webpage, http://www.esis.com.au/products/data- loggers/remmon/remmon.php [9] Telit GC 864-Quad V2 Webpage and Datasheets, http://www.telit.com/en/products/gsm-gprs.php?p id=12p ac=showp=91 [10] TCP vs. UDP, http://www.diffen.com/difference/TCP vs UDP 31