Day 3 – Visual Studio and Visual Micro Installation

I was thinking about using the Arduino platform as the base for my sensor nodes. It is a widely support platform for the microcontroller world, and there are many sensors, libraries, and supports from the DIY community. This link to their website is here http://www.arduino.cc/

I had quite a very good experience with Arduino platform, especially the Uno and Mega board. They are great board, with many I/O and great selection of sensors that ones can buy and integrate easily with the Arduino.

Here is the picture of the Arduino Uno and Mega.

Arduino Uno

Arduino Mega 2560

So in order to use these, i need to setup the development for programing the board. For so long, i was using the Arduino IDE comes with these board. The IDE itself is easy to use. It is great for users to develop software and program the Arduino-compatible boards they have. But i want something new, something different.

I already have Visual Studio (11) installed on my computer for my C# and python development, so why not use Visual Studio 11 as my main development for all of my projects? It is a good idea. Searching around and i found this add-on for Visual Studio to talk to Arduino. The add-on is called Visual Micro. Website at http://www.visualmicro.com/

So i went ahead and install Visual Micro onto my PC. it was an easy installation, everything went very quickly and easily. No error was found. The Visual Studio 11 i have figured out the Visual Micro Add-on at once. Here is the visual micro screenshot obtained from the visualmicro.com website.

Screenshot of Visual Micro

Arduino Project running in Visual Studio 2012.

Arduino Project running in Visual Studio 2012.

The only one problem with the Visual Micro is that it doesn’t show up the template for Arduino when i start a new project. So i started with opening the Tool/Visual Micro /Platform Explorer and select the examples already given by the Arduino IDE. It opens up quickly and compiled correctly. I was able to compile, write to the Arduino Uno, and verify that everything is working perfectly.

I decided to create a template of my Arduino Project in Visual Studio so that in the future, i would be easier for my to develop any other software for this platform. I choose File/Export Template in VIsual Studio 11 to export my Arduino template into a zip file. It also added the same template into my Project selections. So when i create New/Project, the Arduino Project template will be available under Visual C++.

Arduino Template selection in Visual Studio

Arduino Template selection in Visual Studio

So my groundwork for this Smart Home project is ready. Time to start searching for the right Arduino Platform and sensors to integrate together.

Day 2 – General Overview of the System

So my post one was posted yesterday.

It contains the block diagram of one individual sensor mote. It is quite simple, if not very easy to integrate.

So when these wireless motes acquire the sensors readings from the various sensors connected, they would try to store the information somewhere. It would not be very nice to store the sensor data  right on the local mote itself, because of limitation in memory storage. Rather, there should be a central place located somewhere else to store data.

My plan for this is a general plan of how the information would be passing along. The data would probably traverse from sensor, to the motes, to certain switch/router, to one main receiver, which would be able to put the sensor in a central location.

I know there are a lot of similar system set up out there, which may or may not use my same concept. But they don’t seem to have a sophisticated system yet. So my plan would be to research around and see what is the pluses and minuses about what are already out there. Learn from them and make a better solution.

So here is my plan

overall arch

overall arch

So all of the Sensors mote would have some form of wireless communication that is setup so that they can be in the same network with one main central receiver. They would probably run on the same Wireless Frequency channel as everyone else, we just need to incorporate some mechanism to handle collision and retransmission of data if a collision ever occur. I would have to apply some of the concepts i learn in Wireless Sensor network class. This would ensure our sensors’ data don’t collide and waste energy. This could be studied when we implement this whole project.

For now, the central receiver would just collect all the data packets from various sensor motes, parse them, and place them on a central storage location. We could probably get the help from a database to effectively store the data. The database would of course help to organize the data in a more systematic way.

My understand of database organization and setup now is very limited. It would be a very good opportunity to learn and experience.

system-approach

So the picture above so my plan for how the system would work. This is more like an abstract overview. Each of the block represents a specific task that is performed. They could be designed independently of each other. They could also work independently. So i guess we would be working on one piece after another piece. So hopefully i can get the initial step done, the data gather step.

Time to dig in and start searching for parts.

I can feel the project is starting to form some shapes. I could feel it is coming to life.

Smart Home Monitoring System (Initial Idea)

An idea has just recently sparked in my mind. Smart home topic is rising as crazy these day, with many company attempting to release many devices that could make a home become smarter.

I, for one split of second, thought that I could use some of my knowledge in microcontrollers, sensor networks, and wireless communication i learn from school to try and create a Smart Home wireless system for my personal use. So, I thought using this blog to keep an update on everything i work on would be a great idea to share to the world what i have done. Of course i would be learning along the process, and as the same time, share my learning with other people. I hope that for a foreseeable future, i could better understand all of the components or steps i would take through out this project.

My initial thought of the Smart Home.

Requirements:

  • Work wirelessly
  • Locate the sensors notes around the house, or many outside the house
  • create a wireless sensor network system that has some kind of protocol to govern the sending and receiving of data
  • Monitor different aspects of the environment
    • Temperature
    • Humidity
    • Light Intensity
    • Sound Detection
    • ETC
  • Store the data to a central database
  • Present the information to some kind of receiving end (computer, phone)
  • Many have a web service running on the server to generate graphs, send command when requested
  • Work reliably
  • Energy Efficient

 

Possible Future Improvements:

  • Two way communications from sensors motes to server
  • server can send certain command to sensors, as well as sensors send info to server
  • detect when an event happen
  • notification based on certain event
    • Send SMS to phone when certain things happen
    • ex: SEND SMS to phone when detect door is open
    • ex: Turn off Light when the it’s daytime, Turn on Light when it’s light time
  • Better use and analyze of the stored data

 

The possibility of the system is endless. It would be added though time, and ideas would be sparked up. I would try to add new features into the system when possible. The more i work, the more i would learn about it and make it better.

 

Below is the picture of my scribble thought of the sensor node

20140915_InitThought_SensorMote