The purpose of this post is to catch this blog up to my current point in the development of Sapphire. Attached below are images of all the current and working "modules" of Sapphire. I'll quickly talk about each module briefly in this post.
Room Heating
The first feature that I implemented was the automated control of my room's heating. The process involved to do this wasn't too difficult all that was required was a 250V Relay that could handle 30A across its contacts. Using this relay with my Arduino board allows me to control my heating based on a set of criteria including whether there is people present in the room or what time of the day it is. Heating will also eventually be linked to "Moods" which are the basis of my room protocol allowing entire environments to be recreated in each room. One of the major benefits of automating your heating is the improvement in efficiency since you can define a set of constraints that must be satisfied in order for the heating to be turned on, this saves you money on utilities from day one.
Automated Blinds
Another completed project is my automated blinds. Currently the blinds only open and close and the ability to move up and down will eventually be added when I acquire a strong enough of a motor. The blinds are set to open when either the ambient light sensor detects enough ambient light or when my morning alarm goes off. The blinds also feature a override on the mobile remote applications allowing them to be opened remotely. Blinds are also part of the "Mood" protocol and can be defined in a custom mood to be opened to a specific setting. By the way Gorilla Tape is amazing to mount things with temporarily. There will be a post soon detailing my work on the blinds and the current issues I'm experiencing with them.
Kinect
My own personal Santa Clause and Big Brother all rolled into one. The kinect is always on and always scanning the room looking for human skeletal features. When kinect picks up on a persons skeleton using its infrared camera it signals Sapphire that a person is present and this initiates the rooms activation process all this happens in a second, as soon as the kinect detects a user. The kinect had a very crucial initial role but now that Sapphire has progressed I have started thinking of changing the way I use the kinect. I plan to move away from the smart switch style of application to more of a security and monitoring style of application. Kinect like the blinds will get its own post going over it in greater detail later.
Arduino Uno
The hardware soul of Sapphire. The Arduino Uno board is one of the most fundamental parts of my entire project. This little board bridges the world between software and environment. The board is loaded with an Ethernet shield and a sensor input board. The board has a ambient light sensor, temperature and humidity sensor, ultrasonic sensor, motion sensor allowing it to be aware of its environment and it communicates this to the Sapphire main program which makes decisions based on the data. I plan to log all this data on a minute basis to explore and understand the commercial applications of personal automation.
PC
The main PC that runs the entire Sapphire project the setup includes a 1 terabyte HDD to store media files including TV shows, movies and music. The computer is a few years old but can easily handle the demand that Sapphire puts on it. The CPU is a Q6600 stock at 2.3GHz, 6GB DDR Ram, Gts 550. The specs are quite outdated when compared to a modern gaming computer which this used to be. When running Sapphire with the Kinect tracking users I utilize around 2-3GB of Ram and about 80% of the CPU cycles since kinect process around 30fps. After the planned upgrade to a motion sensor I should be able to reduce the computational demands on the computer which should improve overall performance for the project, I also have quite a bit of software optimization to do in order to gain better performance.
And that is the current state of the Sapphire project. There are also three mobile apps but those will be covered separately. As well the coding side will also be covered in a separate post as both are quite large topics.





No comments:
Post a Comment