This summer I was working under the guidance of Dr. Lear, a professor in the Electrical and Computer Engineering (ECE) department at CSU and is also the Associate Director and a professor of the school of Biomedical engineering, and Dr. Jayasumana, a professor from the ECE department who has a focus and specializes in the Internet of Things (IoT). The project I worked on is called INFORMAQ, which stands for Information Network for Fair and Open Real-Time Monitoring of Air Quality (INFORMAQ). We have been developing and deploying sensors into the outdoor environment that can detect particle densities by using infrared LEDs. My goal and objective for this undergraduate research project was to create an air particulate monitor that can be deployed anywhere and still transmit accurate and real-time date to the public.
When I first took on the challenge of developing the air quality sensors I had only a small knowledge and understanding of how micro-controllers, like the Arduino, work, the card sized computer called the Raspberry Pi (RPi), and the UNIX operating system that it runs. This summer has really taken my knowledge of these components and my skills in electrical engineering (EE) to a new level with all the hands on learning I have done on Dr. Lear’s undergraduate research project.
Before the INFORMAQ project, I had only taken a few classes in computer science in UNIX which is an open-source and free Operation System (OS). After developing the sensor nodes for the INFORMAQ project I have learned a lot more about UNIX. The benefits of having a full blown OS is that I am able to remotely login to any of our deployed devices in the field by accessing the RPi through Secure Shell (SSH). SSH is a protocol that enables me to transfer files, execute commands and supports tunneling. Tunneling sets up a connection to a known device that I have access to here in the lab. When a node losses power and comes back online, even after an extended period of time, the devices will set up a tunnel to the lab so I will able to remotely login and troubleshoot the problem or update any code.
“My goal and objective for this undergraduate research project was to create an air particulate monitor that can be deployed anywhere and still transmit accurate and real-time date to the public.”
I have gained a wealth of knowledge about serial communications between hardware lines during my research project. Serial communication is what common USB cables use to allow devices like printers and mice to communicate with your personal computer quickly. In the project I am currently using Universal Asynchronous Receiver/Transmitter (UART) to communicate between the micro-controller and the RPi. UART makes communication between hardware devices easy with only having 4 wires to hook up. The four wires are as follows: Voltage at the Common Collector (VCC) which is power, ground (GND) which is a common ground between all the devices, then there is TX and RX for transmit and receive. One tip I have learned through trial and error is just to remember to hook up your RX-to-TX and TX-to-RX this can be a common mistake even among even experienced engineers.
In addition to being the sole prototype designer, which utilizes my hardware skills as and EE, I have had the opportunity to expand my computer science skills by learning and implementing the Python language. Python allows me to interpret and parse the data that I am getting from the microcontroller. The Python language provides a clean and easy to read code. Python was developed as an object-oriented high-level programming language that handles data structures very efficiently because it is great for concatenation, slicing, sorting and mapping. The Python language made perfect sense for our project needs as it handles incoming data from the micro-controller. After developing a few lines of code in Python on the RPi I found a free service that would use Python from the provider AT&T. This service, called M2X, allows the sensors to connect to a highly secure time-series data storage network. The M2X service is set up for these new IoT technologies that are becoming more prevalent in modern day EE.
As we were creating a prototype that stores data, version control was essential to have for this project’s success. We used Git, a version control software, and have it linked with a repository to store all the code work done on the INFORMAQ project. Git is a free and open source version control software that allows me, and other group members that are working on this project, to develop code for our project with speed and efficiency. Git lets me develop code on any device connected to the internet and then publishes it to a shared repository like bitbucket. Git also makes it easy to integrate code developed by different users and keep track of their changes so that developers can always go back to a previous versions of the shared code in case the version has a bug.
To publish data from remote locations I learned the difference between a Global System for Mobile communication (GSM) networks and Code Division Multiple Access (CDMA) networks. These are networks that our cell phones carriers use to communicate with the cell towers to be able to upload and receive data. The INFORMAQ project we are using the GSM network for ease of usage because the differences are that the GSM network uses a SIM card to validate whether the user has permission to use the network. In addition, the GSM has a quad frequency band that allows more versatility in the field when installing in location that are not close to highly populated areas where internet connection is readily available.
I am currently learning more about Radio Frequency (RF) modules which transmit secure data inside of a mesh network. This allows our sensors to become more reliable and increases the redundancy if one of the sensors inside the mesh were to go down. The RF module we have chosen uses a Peer-to-Peer (P2P) architecture which allows each of the nodes within the network to interconnect with each other and share resources among each other. This is ideal for a low cost, low power, self-healing network that will extend the range or sensor nodes.
The INFORMAQ project uses a semiconductor device called a photo-diode and an Infrared Light Emitting Diode (IRLED) to measure the amount of dust or particulates in the air. The IRLED and the photodiode are positioned in the each of the sensor devices so that the IRLED light is reflected by the dust particles in the air. This is then received by the photodiode that takes light energy and produces an electric current in response. The photodiode operates in a circuit wired in a reverse bias which means that the current flows from the cathode (negative terminal) to the anode (positive terminal). The reason we connect photodiodes to power sources is because even in complete darkness photodiodes produce very small amounts of current by themselves in the order of magnitude of micro-amperes. This is called dark current, so when the circuit receives light and converts it to additional current it can be measured as an analog voltage. We then can correlate the amount of dust, based on the density, to the measured voltage of the photodiode.
I have learned how important signal smoothing is and a bit about how Fourier transforms work to smooth signals. One of the more important things I have learned is how to get a precise measurement on an analog device by determining the reference voltage. In the real world the voltage tends to drift off around the 5 volt mark so the reference voltage accounts for the variance of the voltage due to a circuit being under load. By accounting for the reference voltage we can get a more accurate analog readings on a micro-controller device. This is used a lot in Analog-to-Digital Converters (ADC) and other measurement tools in EE.
In addition to working with my professors I have also collaborated with Dr. Volckens and student Scott Kelleher to learn more about aerodynamics of particles. My project is supposed to deal with PM 2.5 which means particulate matter that is 2.5 micrometers in diameter. These particular size particles are very damaging to human lungs and can cause health problems because they can travel past the upper respiratory track and get trapped in the lungs leading to many different health risks. The problem is that particles with the same diameters, different densities and various aerodynamic shapes will have the same settling velocities which make it harder to discriminate the different particle sizes like PM 2.5 verse PM 10. This is still a challenge our team is faced with and will continue to research and troubleshoot in order to create a solution.
Overall, I think I have gained a wealth of knowledge from working with Dr. Lear, Dr. Jayasamana and Tom Propst who will still be continuing this project during the fall semester. The goal is to get as far as we can with this project by creating a working prototype that can be manufactured in mass quantities and start writing a grant to provide more funding to develop these sensors. Our overarching goal is to ensure the general public can gain a better understanding of the air quality around them.