C.A.R.V.E.R.
Carver is my often-overlooked side project exploring rudimentary home automation. It's gone through many iterations, most involving Raspberry Pi's and some Cloud services. It used to use Twilio to receive and send text messages, but since moving to Taiwan (an no longer having a phone plan with text messages) this was no longer possible. Instead, I made a simple Android app to handle this functionality; the app makes requests to a Flask server running on a Google Cloud "Compute Engine" virtual machine. I have a long list of features I would like to explore adding. To name a few: vocal controls, management of third party tools like my calendar, and interfaces with hardware such as my apartment's lights.
Named by my little brother in the style of Iron Man's J.A.R.V.I.S., C.A.R.V.E.R. stands for something. We aren't quite sure yet, but we'll figure it out eventually.
Named by my little brother in the style of Iron Man's J.A.R.V.I.S., C.A.R.V.E.R. stands for something. We aren't quite sure yet, but we'll figure it out eventually.
Below is a list of features that are currently completed, although others are underway:
RoomMate Debt Management
When I was a in school I lived with four other students; we each pay for one of the five house utilities, then pay each other back to even out the amounts at the end of the month (in theory). In practice, this was rarely happening so I added a MySQL database to Carver that contains information on who pays which utility, as well as information on fixed-cost utilities and records of payments and debts.
Then, when any one of us got a utility bill, we texted Carver the information (e.g. "$100 September") and it identifies the sender by their phone number and records the payment. Once all of the non-fixed payments for a month had been sent in, Carver calculated everyone's debts in a way that minimized the number of checks that needed to be written, then mass-texted everyone in the house a record of how much we owed each other.
Then, when any one of us got a utility bill, we texted Carver the information (e.g. "$100 September") and it identifies the sender by their phone number and records the payment. Once all of the non-fixed payments for a month had been sent in, Carver calculated everyone's debts in a way that minimized the number of checks that needed to be written, then mass-texted everyone in the house a record of how much we owed each other.
"Who's Home?"
Carver's Android app has a constantly-running location service using the phone's GPS. Whenever it detects that it has gone beyond some distance from the apartment it sends the information to Carver's server (just a boolean value indicating whether or not the phone's at home, not the actual location). The plan is for a Raspberry Pi equipped with a camera and a motion-capture script to turn on whenever the apartment is empty.
Air Quality Monitoring
I live in Taipei, which occasionally has less-than-ideal air quality (pollution blown over from industrial areas, too many fireworks for Chinese new year, etc.). To avoid being caught outside when the air is too unhealthy, Carver monitors the air quality in our area and sends notifications to our phones when the air gets too bad. Air Quality information is provided from one of the APIs hosted by this website.