Idea 1: Expansion to the Vitals Alarm (Project 2)

The Vitals Alarm that I made for Project 2 has been working well thus far. Yes, the sensors are finnicky, but I expected that and have basically figured out how to work around it. One thing I did not implement that I had intended to was long-term data logging (to an SD card). If I end up going through with this idea, then the plan is to add that, along with a simple display that shows a graph of your pulse, average BPM, and galvanic skin response (GSR). That’s a little more readable than just showing the numerical value, which is constantly fluctuating for the GSR sensor.

A readout of the numerical value from the GSR will still remain visible somewhere (probably right where it is now, on the character LCD). The raw IR value reported by the pulse oximeter (used for determining heart rate over a period of time by measuring fluctuations in that value caused by your pulse) will be made visible on the character LCD, along with a graph of my pulse and average BPM. These additions not only bring additional functionality and readability to the device, but they also expose some of the underlying mechanisms and calculations that lead to the final output(s).

The device will remain right where it is now, on my nightstand in my bedroom in Pittsburgh. Mode of interaction will remain basically the same. With that said, here’s the (slightly modified) flow of information.

Materials are probably the same as for Project 2 (Vitals Alarm), but with the addition of a microSD reader and graphical LCD. If I run into memory issues with the Uno, then an Arduino Due or Mega will also be added to this list.

UPDATE 11/30/2020, Idea 2

Upon meeting with HB and RZach on Monday 11/30, they teased an idea out of me that will most likely be far more enriching. The above idea is more like a technical completion of Project 2.

This idea, on the other hand, deals with trees in a forest and how they communicate with each other. Even between different species, trees can communicate with other trees in a forest, letting them know about their current well-being (or lack thereof if, for instance, one caught on fire). They do this to help each other survive. This idea takes a look at the concept of a network of trees and aims to create a network of a similar nature.

In this network, there will be no less than 4 nodes–three PCs and myself. The central component will be IDeATe’s MQTT server (developed in large part by Professor Garth Zeglin). The PCs will report their own vitals–CPU and GPU die temps, current utilization/load, last time they “went to sleep” and for how long they “slept.” My gateway into this network will be a modified version of the device that I made for Project 2. Using it (connected to one of the PCs so that it can communicate with the MQTT server), I will report my own vitals–Galvanic Skin Response (GSR), heart-rate, the hour I went to sleep the previous night, and for how long I slept.

All nodes in the network will be subscribed to the MQTT server so that they can know the vitals of everyone involved. The PCs will “talk” to each other or otherwise react based on how any one may be doing at a given point. For instance, if one of my PCs is under heavy load, but temperatures are in-check, then another PC may send a message of encouragement; i.e., “You’re doing great, keep it up!” On the other hand, if one is under heavy load and its temps are getting high, then any PCs near it will stop their workloads if they have them (to stop adding heat to the room) and send a different sort of message; i.e., “Finish up, but consider taking a break. I’ve stopped so that I’m not adding any more heat.” In yet another case, if the load for a system is low, but the temperatures are high, then that indicates a problem. This will cause the other PCs in the network to “sound the alarm” and notify me that the PC is having serious problems.

That’s a brief overview of PC-to-PC interactions. There will also be PC-to-human interactions based on the human node’s vitals. For instance, if my GSR reading is really low or my heart rate is really high (indicating that I am stressed), then one or more of the PCs will send a message to the Arduino (which will, in turn, be sent to me) saying something along the lines of “You’re stressed, take a break dude…” There will also be encouraging messages if I do something that would be beneficial to my own well-being, like going to sleep at a reasonable hour and sleeping for an adequate number of hours.

Essentially, I’m integrating myself into the machine.

With all of that said, the flow of information may look something like this. For simplicity sake, I’m only showing one PC in the network.

I already have all of the materials I would need to make this. Time to get to it.