Creating an Intelligent Home Part 1

So my favourite project of 2014 has definitely been a series of API’s to run on my home network.

This has allowed me to do things like issue voice commands through an Android app using the voice recognition APIs and have a system on my network action those commands (like “Download the latest game of thrones”) and have it automagically appear on my home media centre in the living room (running XBMC). This could be drastically extended though and that’s the purpose of this series of blog posts – planning how I’m going to create a smarter home, one that lets me monitor what’s going on inside (webcams, sensors), control the temperature, set up events to happen when I get home etc.

I want to move away from a set of disparate “hacks” and turn it into a standard piece of software that can run on commodity hardware, and has a nice user interface. Ideally it will run on a wide range of hardware, from a Raspberry Pi at the bottom end to a PC, MicroServer or blade.

Technical parts ahead!

By far the language I’m most comfortable programming in is C# and Mono runs on all of the target platforms providing support for .NET 4.5 at time of writing (with the exception of the ASP.NET Async pipeline which I’m not interested in). True it is a bit of an overhead on lower end hardware where something like Ruby or Python might be more appropriate but I’m more concerned with keeping a consistent environment and set of tools. Thanks to mono that doesn’t mean Windows (and its licensing costs) has to be part of the equation!

Nodes, Events & Commands
raspberry_piWhat I’m going to need to accomplish this is a series of nodes on my network that are responsible for different things (or the same things in different rooms). Each node running the software stack (a .NET service with WebAPI endpoints through Owin).

A node will register available commands (“WakeOnLandCommand”, “TurnOnLightsCommand”) and execute them upon a message being received on the service bus (probably RabbitMQ, although ZeroMQ looks interesting for peer to peer discovery, and is mono compatible).

A node will register a sequence of events (sometimes tied to sensors, discussed below) and upon the event triggering (“UserEntersHouseEvent”) will fire that event over the message bus to be consumed by anything configured to look for it (possibly itself if it’s the only node in the cluster).

Example
An example would be a node could be configured to check the current time and light levels using an API similar to fLux and if the conditions are right, turn on the downstairs lights or un-suspend the home-office PC. It could possibly use text to speech to welcome you home. A very basic Jarvis from iron man, but without all the talk-back.

Events

workflowSo the events list would look something like this:

DeviceEntersBluetoothRange , DeviceLeavesBluetoothRange [ sensorid , distance necessary? , device id ]
Used to determine when a device has made a bluetooth connection with one of the nodes. This could be used to determine when a user enters a certain room.

DeviceConnectsToWLan, DeviceDisconnectsFromWLan [ ssid , sensorid, device id ]
This event would trigger when a device connects to a wireless network. It could be used to determine when a user enters or exits the home.

TemperatureChange [ sensorid, temperature, time ]
This event would trigger when the temperature changes +/- 1 degree celsius. It could be used to monitor temperature and issue a warning (or control the thermostat) if it was outside of a given range for the time of the day.

DoorOpened, DoorClosed, WindowOpened, WindowClosed [ sensorid, time ]
This event would let the system know that the door/window has either opened or closed. It could be used to send an alarm (along with webcam footage) to the users smartphone if the door is opened during e.g. vacation or work time and nobody connects to the network within a given period of time.

Commands

TurnOnLightsCommand [ nodeid, brightness, color ], TurnOffLightsCommand
This command would be used to turn on or off a light bulb that is connected (or registered to) a particular node. This would usually be based on location, so you may have a living room node, a kitchen node, an office node.

DownloadCommand [ url ]
This command could be used to download a particular TV show or movie (category could be scraped from download location or service api) and put it on the NAS where it would be picked up by media devices.

TurnOnVpnCommand [ vpnid ]
This command could instruct the default gateway on the network (a node!) to open an openvpn connection to a configured provider config. So with one voice (or web) command you could make your internet connection look as though it’s in another region (useful for Netflix etc.) or make your internet connection private.

Sensors

A door sensor connected to an arduino.

A sensor would be a piece of hardware like a bluetooth receiver, tied to a node which contains the code to emit the event onto the message bus for processing. Sensors can be virtual, that is entirely defined in software. I.e. a service that polls for light levels from the fLux api and emits an event when the condition is matched (no hardware required).

Sensor code would also be written for mobile devices, for things like GPS location of the home owner.

BluetoothSensor [ hardware ]

WLanSensor [ software ]

AudioSensor [ hardware ]

SpeechRecognitionSensor [ software ]

GpsSensor [ software ]

Services

windows_serviceYou could have services running that would attempt to determine things like returning
home (based on GPS location, speed and schedule tracking) that could then trigger a custom event (ReturningHomeEvent) and be picked up by nodes in the house to emit events (TurnOnLights)

The beauty of all of this is something present in the CQRS pattern. You can decouple and mix and match events, commands (and queries) into discreet processing classes, and therefore get massive reuse out of your codebase. The benefits of this system would be the sheer flexibility and feature base that could be built on top of it. As the cost of home appliances decreases and its functionality increases (programmable APIs) the level of control you could gain over the systems in your home makes for incredible potential.

Anyway, I hope that gives a flavour of what I’m going to be up to for my next home project. I’m going to be looking for people to work with me on this, and it could potentially turn into a commercial product if I get it right, but the main thing is to do it for me (and for other people that want similar homes). I’ve committed the code so far (containing some code from previous home automation projects) into a BitBucket account so if you’re reading this and interested in joining me, email or Skype me and let me know!

9 comments

  1. The oldest you all due respect and appreciation where making a lot of effort in the development of this subject .
    Thank you Will allow me to put some links to my website
    شركة مكافحة حشرات بالرياض
    شركة مكافحة حشرات بالرياض
    شركة مكافحة النمل الابيض بالرياض
    شركة مكافحة الفئران بالرياض
    شركة مكافحة الصراصير بالرياض
    شركة مكافحة حشرة البق بالرياض
    شركة نقل وتخزين اثاث وعفش بالرياض
    شركة نقل اثاث وعفش بالرياض
    شركة تخزين اثاث وعفش بالرياض
    شركة مكافحة النمل الابيض بالرياض

    ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ

    Thread coordinator nicely distinctive and writer. Wait for you more threads about this area .
    شركة مكافحة حشرات بالرياض – شركة رش مبيدات بالرياض – شركة مكافحة النمل الابيض بالرياض – شركة مكافحة الصراصير والبق بالرياض – شركة مكافحة الفئران بالرياض – شركة تنظيف فلل و شقق بالرياض- شركة تنظيف موكيت وستائر وكنب بالرياض – شركة تنظيف وعزل خزانات بالرياض- شركة كشف تسربات المياه بالرياض- شركة نقل اثاث بالرياض – شركة تخزين اثاث بالرياض- شركة نقل عفش بالرياض – شركة تنظيف واجهات بالرياض- شركة تنظيف مسابح بالرياض- شركة تسليك مجارى بالرياض .
    شركة مكافحة حشرات بالرياض
    شركة رش مبيدات بالرياض
    شركة مكافحة النمل الابيض بالرياض
    شركة مكافحة الفئران بالرياض
    شركة مكافحة الصراصير بالرياض
    شركة مكافحة البق بالرياض
    شركة تنظيف فلل بالرياض
    شركة تنظيف خزانات بالرياض
    شركة تنظيف موكيت وكنب وستائر وسجاد بالرياض
    شركة تلميع سيراميك بالرياض
    شركة نقل اثاث بالرياض
    شركة نقل عفش بالرياض
    شركة تخزين اثاث بالرياض
    شركة كشف تسربات بالرياض

    ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ

    I do not know how to thank you but already the subject deserves thanks and respect
    Thank you Will allow me to put some links to my website
    شركة مكافحة حشرات – رش مبيدات – تنظيف خزانات – تنظيف مجالس – تنظيف شقق فلل – تنظيف مسابح – تنظيف واجهات جده مكه الطائف
    شركة مكافحة حشرات جده – مكه – الطائف
    شركة رش مبيدات جده – مكه – الطائف
    شركة تنظيف خزانات جده – مكه – الطائف
    شركة تنظيف مجالس جده – مكه – الطائف
    شركة تنظيف شقق فلل جده – مكه – الطائف
    شركة تنظيف مسابح و واجهات جده مكه الطائف
    Our Page On FaceBook

  2. شركة رش مبيدات بابها
    شركة مكافحة حشرات بابها
    شركة مكافحة حشرات بجازان
    شركة رش مبيدات بجازان
    شركة رش مبيدات بحائل
    شركة مكافحه حشرات بحائل
    شركة رش مبيدات بخميس مشيط
    شركة رش مبيدات ببسشة
    شركة مكافحة حشرات ببيشة
    شركة مكافحة حشرات بنجران
    شركة مكافحة حشرات بخميس مشيط
    شركة تنظيف خزانات بابها
    شركة تنظيف خزانات بحائل

    شركة نظافة عامة بابها
    شركة تنظيف بحائل
    شركة تنظيف بخميس مشيط
    شركة تنظيف بخميس مشيط
    شركة تنظيف ببيشة
    شركة تنظيف بابها

    شركة نظافه عامه بخميس مشيط
    شركة تنظيف مجالس بحائل
    شركة تنظيف مجالس بنجران
    شركة تنظيف بابها

    شركة تنظيف خزانات بحائل
    شركة تنظيف خزانات بخميس مشيط
    شركة تنظيف خزانات بنجران
    شركة تنظيف خزانات بابها

    شركة تنظيف منازل بابها
    شركة تنظيف منازل بنجران
    شركة تنظيف موكيت بحائل
    شركة تنظيف منازل بحائل
    شركة تنظيف منازل بحائل
    شركة تنظيف منازل بخميس مشيط
    شركة تنظيف منازل بنجران

    شركة تنظيف شقق بابها
    شركة تنظيف شقق بحائل
    شركة تنظيف شقق بخميس مشيط
    شركة تنظيف شقق بنجران

    شركة نقل اثاث بابها
    شركة نقل اثاث بحائل
    شركة نقل عفش بحائل
    شركة نقل عفش بحائل
    شركة نقل اثاث بنجران
    شركة نقل اثاث بخميس مشيط

    شركة كشف تسربات المياه بحائل
    شركة كشف تسربات المياه بابها
    شركة كشف تسربات المياه بخميس مشيط

    شركة تسليك مجارى بحائل
    شركة تسليك مجارى بخميس مشيط
    شركة تسليك مجارى بنجران
    شركة تسليك مجارى بابها
    شركة تسليك مجارى بحائل
    شركة عزل خزانات بحائل
    ………………………………….
    شركة كشف تسربات المياه بحائل
    شركة كشف تسربات المياه بابها
    شركة كشف تسربات المياه بخميس مشيط

    شركة تنظيف بالمدينة المنورة
    شركة نقل عفش المدينة المنورة
    شركةرش مبيدات بالمدينة المنورة

    شركة مكافحة حشرات بالمدينة المنورة
    شركة رش مبيدات بالمدبنة المنورة
    شركة نقل اثاث بالمدينة المنورة
    شركة غسيل عمائر بالميدنة المنورة
    شركة تنظيف بالميدنة المنورة
    شركة كشف تسربات المياة بالمدينة المنورة
    شركة غسيل منازل بالمدينة المنورة
    شركة غسيل شقق بالمدينة المنورة
    شركة غسيل فلل بالمدينة المنورة
    شركة غسيل خزانات بالمدبنة المنورة

    شركة الصفاء للخدمات التنظيف
    شركة تنظيف بالطائف
    شركة تنظيف فلل بالطائف
    شركة تنظيف شقق بالطائق
    شركة تنظيف خزانات بالطائف
    شركة رش مبيدات بالطائف
    شركة مكافحة حشرات بالطائف

    شركة كشف تسربات المياة بالمدينة المنورة
    شركة تسليك مجارى بالمدينة المنورة
    شركة عزل خزانات بالمدينة المنورة
    شركة عزل اسطح بالمدينة المنورة
    شركة نقل اثاث بالمدينة المنورة
    شركة نقل عفش بالمدينة المنورة
    شركة مكافحة نمل ابيض بالمدينة المنورة
    شركة رش مبيدات بالمدينة المنورة
    شركة مكافحة حشرات بالمدينة المنورة
    شركة تنظيف خزانات بالمدنية المنورة

    شركة تنظيف بالمدينة المنورة
    شركة تسليك مجارى بالدمام
    شركة تنظيف منازل بالدمام
    شركة مكافحة حشرات بالدمام
    شركة تنظيف بالدمام
    شركة تنظيف بالرياض
    شركة تنظيف فلل بالرياض
    شركة انوار المدينة للخدمات التنظيف
    شركة تتنظيف بالمدينة المنورة
    شركة تنظيف فلل بالمدينة المنورة
    شركة تنظيف شقق بالمدينة المنورة
    شركة تنظيف منازل بالمدينة المنورة
    شركة تنظيف مجالس بالمدينة المنورة
    شركة تنظيف مسابح بالمدينة المنورة
    شركة تنظيف خزانات بالمدينة المنورة
    شركة مكافحة حشرات بالمدينة المنورة
    شركة رش مبيدات بالمدينة المنورة
    شركة مكافحة نمل ابيض بالمدينة المنورة
    شركة نقل عفش بالمدينة المنورة
    شركة نقل اثاث بالمدينة المنورة
    شركة عزل اسطح بالمدينة المنورة
    شركة عزل حمامات بالمدينة المنورة
    شركة عزل خزانات بالمدينة المنورة
    شركة تسليك مجارى بالمدينة المنورة
    شركة كشف تسربات المياة بالمدينة المنورة
    شركة شفط بيارات بالمدينة المنورة
    شركة تنظيف مساجد بالمدينة المنوره
    شركة تنظيف كنب المدينة المنورة
    شركة الصفاء للخدمات التنظيف
    شركة الصفاء للخدمات التنظيف
    شركة تنظيف بالطائف
    شركة تنظيف فلل بالطائف
    شركة تنظيف شقق بالطائق
    شركة تنظيف خزانات بالطائف
    شركة رش مبيدات بالطائف
    شركة مكافحة حشرات بالطائف

    ………………………………………………………..

    شركة تنظيف بالطائف
    شركة نظافة عامة بالطائف
    شركة تنظيف فلل بالطائف
    شركة تنظيف منازل بالطائف
    شركة تنظيف شقق بالطائف
    شركة نقل عفش بالطائف
    شركة شفط بيارات بالطائف
    شركة تسليك مجارى بالطائف
    شركة تنظيف خزانات بالطائف
    شركة رش مبيدات بالطائف

    شركة تنظيف بالطائف
    شركة تنظيف منازل بالطائف
    شركة تنظيف فلل بالطائف
    شركة تنظيف شقق بالطائف
    شركة تنظيف مجالس بالطائف
    شركة مكافحة حشرات بالطائف
    شركة تنظيف خزانات بالطائف
    شركة رش مبيدات بالطائف
    شركة نقل عفش بالطائف
    شركة كشف تسربات المياة بالطائف
    شركة عزل اسطح بالطائف
    شركة تسليك مجارى بالطائف
    شركة تنظيف بالرياض
    شركة تنظيف خزانات بالرياض
    شركة تنظيف مجالس بالرياض
    شركة رش مبيدات بالرياض
    شركة نقل عفش بالرياض
    شركة كشف تسربات المياة بالرياض

    شركة تنظيف بمكة
    شركة تنظيف فلل بمكة
    شركة مكافحة حشرات بمكة
    شركة رش مبيدات بمكة
    شركة تنظيف خزانات بمكة
    شركة عزل خزانات بمكة

    ………………………………….

  3. dfsadfgI vans shoes don’t michael kors canada have vans any uggs trouble prada shoes understanding michael kors canada why the north face some ugg boots merchant nfl jerseys who’s longchamp having kate spade a hermes handbags hard mont blanc time nike roshe run pas cher competing michael kors with hogan uswouldn’t louis vuitton handbags be barbour uk too swarovski happy coach purses about tn pas cher our michael kors outlet being barbour there. ray ban pas cher What timberland boots I ralph lauren outlet haven’t louboutin been coach factory outlet able replica watches to hollister figure kate spade outlet at air max all burberry is north face outlet these burberry sale peoplewho jordan 12 have north face jackets decided true religion outlet we’re lululemon somehow montre homme responsible oakley vault for ugg outlet the beats headphones decline hollister canada of louis vuitton outlet online the nike free small uggs town. hollister clothing My oakley vault guess canada goose is ray ban that michael kors bags a reebok outlet lot baseball bats ofthese christian louboutin critics rolex watches are nike air huarache folks nike air max who air jordans grew oakley sunglasses outlet up polo ralph lauren in longchamp bags small moncler towns replica handbags and air huarache then longchamp bags deserted louis vuitton them ugg boots for wedding dresses the coach outlet store online big cheap nfl jerseys cities canada goose jackets decades oakley sunglasses ago.Now nike free uk when nike sneakers they oakley sunglasses cheap come michael kors handbags home cheap gucci for louboutin outlet a michaelkors-outlet-store.us.com visit, cheap oakley it michael kors outlet makes louis vuitton uk them louis vuitton sad longchamp pas cher that jordan retro the nike free old longchamp handbags town polo ralph lauren square sac lancel isn’t barbour exactly moncler like hollister it mac cosmetics waswhen canada goose pas cher they polo outlet left abercrombie it mcm handbags back gucci bags in air force 1954. toms shoes It’s ralph lauren almost nike free like new jordans they air max 2015 want coach outlet store online their ugg hometown abercrombie to tiffany and co be true religion outlet stuck louis vuitton outlet online in jordan future time, michael kors anold-fashioned lacoste pas cher place vans scarpe filled christian louboutin outlet with roshe run pas cher old-fashioned longchamp soldes people ugg doing oakley sunglasses wholesale business new balance outlet the canada goose old-fashioned wedding dresses uk way. hollister uk Somehow,small-town jordan 6 populations longchamp weren’t polo ralph lauren outlet supposed moncler jackets to barbour jackets uk move converse shoes out jimmy choo outlet into moncler their louis vuitton own ugg uk suburbs, ugg and uggs they pandora charms weren’t hogan outlet supposedto oakley vault go cheap oakley sunglasses out mulberry to nike free run uk the replica watches intersections canada goose uk of cheap ugg boots highways links of london uk and oakley sunglasses cheap build air max malls prada handbags with lululemon canada lots doudoune canada goose of louis vuitton outlet free oakley pas cher parking. bottes ugg That’s guess pas cher just replica rolex not michael kors the north face pas cher waysome vans pas cher of cheap jordans these barbour outlet people michael kors outlet online sale remember gucci their longchamp handbags old red bottom shoes towns. jordan xx9 But longchamp outlet folks nike trainers uk who fake rolex grew babyliss up louboutin in juicy couture outlet big new balance shoes cities barbour jackets feel canada goose the moncler sito ufficiale same nike trainers wayabout nike store what’s nike outlet happened louis vuitton outlet to coach outlet their ralph lauren uk cities michael kors over mont blanc pens the louboutin shoes last uggs outlet forty asics running shoes or longchamp fifty sac guess years. tory burch A rolex replica watches lot canada goose of michael kors outlet the north face outlet stores http://www.michaelkors-outlet-store.us.com and ugg pas cher the ralph lauren movietheaters nike free pas cher and michael kors outlet the tory burch outlet online restaurants north face outlet online that ugg italia they sac michael kors remember jordan shoes loving air max as longchamp uk kids christian louboutin uk have hermes pas cher boarded vanessa bruno pas cher up cheap oakley and chaussures louboutin either louboutin gone louis vuitton out sac hermes ofbusiness louis vuitton outlet or insanity workout moved lunette ray ban pas cher to longchamp the nike air max uk suburbs instyler ionic styler too.I burberry outlet online think oakley vault what lululemon happened cheap uggs to sac longchamp Wal-Mart christian louboutin shoes in lancel all thomas sabo uk this ghd is bottega veneta that gucci outlet we rolex replica got sac burberry to polo ralph lauren uk be ugg australia a lululemon outlet online certain hermes birkin size louis vuitton purses and phone cases became michael kors handbags so montre femme wellknown air max as sac vanessa bruno the abercrombie small-town oakleysunglasses1.us.com merchants hollister clothing store that jordan 1 we swarovski crystal became oakley an longchamp bags easy louboutin target. louis vuitton Certain gucci outlet online folks replica watches figured michaelkors-outlet-store they michael kors handbags clearance couldcreate ray ban uk a ugg pas cher niche true religion jeans for converse pas cher themselves, longchamp outlet online a canada goose outlet platform jimmy choo shoes from moncler which nike blazer pas cher to rolex watches express nike huarache their juicy couture views jordan 3 about moncler outlet small-town hermes bags America,by sac louis vuitton zeroing ralph lauren polo in lunette oakley pas cher on nike roshe run us. louis vuitton handbags The michael kors outlet whole nike air max 2015 thing karen millen uk taught air jordan me burberry outlet a new balance lesson longchamp pas cher about doudoune moncler the hogan sito ufficiale way canada goose the tiffany and co national nike factory media polo ralph lauren seems nike air max to herve leger think.When lancel pas cher you polo ralph lauren outlet start p90x out burberry handbags as hermes belt an chi flat iron unknown abercrombie quantity vanessa bruno with burberry just michael kors outlet online a moncler dream moncler jackets and canada goose a ugg boots commitment, oakley sunglasses cheap you coach handbags couldn’t air jordan shoes buy true religion jeans amention supra shoes of nike huaraches your fake oakleys company beats by dre in north face one air max 2015 of canada goose outlet these ghd hair publications. air max When marc jacobs handbags you mulberry handbags become abercrombie and fitch moderately ugg boots successful, longchamp outlet online theystill nike shoes ignore uggs you polo ralph lauren outlet online unless ray ban sunglasses something timberland bad reebok shoes happens converse to moncler jackets you. coach outlet Then, instyler the jordan 4 more vans outlet successful new balance you michael kors outlet online become, true religion jeans the coach outlet online moresuspicious louboutin they uggs become nike free run pas cher of nike roshe run you. louboutin shoes And ralph lauren outlet online if air jordan retro you ugg soldes ever hermes become north face a uggs outlet large-scale lululemon outlet success, ray ban it’s louboutin outlet Katie north face outlet bar ugg the polo ralph lauren door.As moncler outlet an ugg outlet old-time ralph lauren outlet small-town sac louis vuitton pas cher merchant, christian louboutin outlet I birkin bag can iphone cases tell gucci handbags you ray ban outlet that burberry nobody nike air max pas cher has polo ralph lauren outlet more ray ban love louis vuitton for true religion outlet the michael kors heyday air max of ralph lauren outlet thesmalltown coach factory retailing mulberry bags era hollister than christian louboutin I nike air max 2015 do. tiffany jewelry That’s ferragamo belts one ugg boots clearance of jimmy choo the gucci shoes reasons thomas sabo we ray ban sunglasses chose cheap nike shoes to north face jackets put celine handbags our moncler little michael kors Wal-Mart nike tn museumon uggs outlet the michael kors outlet online square nike roshe in michael kors outlet online sale Bentonville. babyliss pro It’s uggs outlet in uggs the air max pas cher old christian louboutin shoes Walton’s asics shoes Five uggs on sale and ugg soldes Dime true religion outlet building, ugg boots and nike air max it gucci belts tries prada outlet to timberland pas cher capture hollister a pandora jewelry littlebit nike air max of moncler the toms outlet old louis vuitton outlet dime nike air max uk store michael kors feel.But coach bags I canada goose outlet can cheap ugg boots outlet also louis vuitton pas cher tell the north face you barbour jackets this: uggs if nike factory outlet we north face uk had christian louboutin gotten kate spade handbags smug michael kors outlet online sale about michael kors outlet our converse early michael kors outlet online success, burberry outlet and nike blazer said, moncler outlet “Well, abercrombie and fitch we’re burberry pas cher thebest ugg merchant oakley store in canada goose jackets town,” oakley sunglasses and uggs on sale just michael kors outlet kept polo lacoste doing pandora charms everything ray ban sunglasses exactly michael kors handbags the oakley outlet way moncler we oakley were cheap sunglasses doing canada goose outlet it, hollister pas cher somebody abercrombie and fitch elsewould christian louboutin have chanel handbags come air jordan pas cher along burberry outlet online and jordans for sale given moncler pas cher our louboutin customers louis vuitton what nike free run they discount oakley sunglasses wanted, wedding dresses and michael kors we uggs canada would north face jackets be louboutin pas cher out ralph lauren of ugg boots clearance businesstoday. michael kors uk I longchamp don’t lululemon outlet canada know oakley sale who uggs on sale it iphone case would nike air max have michael kors outlet online sale been. longchamp outlet online Maybe ghd straighteners Gibson’s soccer jerseys or coach outlet TG&Y louis vuitton outlet stores would moncler uk have louis vuitton pulled ugg outlet it longchamp outlet off. nike air force But nike outlet store Isuspect abercrombie and fitch uk it michael kors would ferragamo shoes have louis vuitton bags been nike free run a swarovski uk combination karen millen of nike air max Kmart ray ban sunglasses and valentino shoes Target, nike roshe which, michael kors purses like giuseppe zanotti McDonald’s, michael kors outlet would nike free run haverolled moncler outlet out michael kors pas cher into canada goose jackets the mulberry uk small soccer shoes towns swarovski jewelry once hollister they louboutin uk began bottes ugg to nike roshe run saturate michael kors bags their ghd hair straighteners big-city uggs outlet markets.What true religion jeans happened rolex watches for sale was air max absolutely canada goose jackets a lululemon outlet necessary replica watches uk and nike roshe uk inevitable new balance pas cher evolution http://www.michaelkors-outlet-store.us.com/ in burberry factory outlet retailing, rolex watch as air jordan 11 inevitable sunglasses outlet as sac longchamp pas cher thereplacement bottes ugg pas cher of longchamp outlet the oakley glasses buggy jordan 11 by cheap oakley sunglasses the cheap oakley sunglasses car p90x workout and ray ban sunglasses outlet the kate spade outlet online disappearance michael jordan shoes of oakley sunglasses the cheap oakley sunglasses buggy jordan 5 whip longchamp pliage makers. tory burch outlet The montre pas cher small celine bags storeswere abercrombie just jordans destined oakley sunglasses to scarpe hogan disappear, jerseys at michael kors outlet online least hollister in jordan retro 11 the louis vuitton canada numbers coach outlet they tiffany jewelry once pandora uk existed, michael kors handbags because links of london the pandora jewelry whole p90x3 thing mulberry outlet isdriven sac louis vuitton by canada goose outlet the ralph lauren pas cher customers, michael kors outlet canada who nike roshe run uk are bottes ugg pas cher free polo ralph lauren pas cher to jordan pas cher choose marc jacobs where ugg boots clearance to michael kors outlet online shop. air jordan vans michael kors outlet online nike tn pas cher wedding dress retro jordans coach outlet store ugg boots true religion ugg boots uk nike roshe nike air max polo lacoste pas cher sdfsdfgdf

  4. 20160926 junda c4v56cx4gbds56fgsdfgf
    michael kors outlet online
    cheap jordans
    cheap uggs
    christian louboutin outlet
    tiffany jewellery
    rolex watches
    true religion outlet
    michael kors outlet online
    coach outlet
    true religion jeans
    michael kors outlet
    michael kors handbags
    louis vuitton
    converse shoes
    nike outlet store
    nfl jerseys wholesale
    uggs on sale
    michael kors clearance
    new balance shoes
    ugg boots
    ugg boots
    polo ralph lauren
    burberry outlet
    uggs clearance
    nike air max uk
    cheap nike shoes
    air max 90
    ugg boots
    chaussure louboutin
    mont blanc pens
    kate spade handbags
    true religion outlet
    nike air max 90
    christian louboutin online
    nike air force 1
    uggs outlet
    air jordan shoes
    longchamp pliage
    true religion uk
    ferragamo outlet
    oakley sunglasses
    toms shoes
    nike foamposite
    celine outlet
    true religion jeans
    the north face jackets
    prada shoes
    louis vuitton
    asics
    reebok trainers
    michael kors outlet clearance
    hollister clothing
    polo ralph lauren
    lacoste polo shirts
    michael kors outlet online
    lululemon outlet
    hollister sale
    michael kors outlet
    fred perry polo shirts
    polo ralph lauren
    polo ralph lauren
    tory burch outlet
    ralph lauren shirts
    canada goose jackets
    soccer jerseys
    ralph lauren polo shirts
    michael kors bags
    replica watches
    michael kors outlet
    canada goose outlet
    swarovski crystal
    versace sunglasses
    beats by dr dre
    kobe bryant shoes
    ralph lauren polo
    moncler outlet
    marc jacobs outlet
    ugg sale
    uggs on sale
    oakley sunglasses wholesale
    mizuno running shoes
    longchamp solde
    ugg boots
    uggs outlet
    iphone case
    air jordan 4
    rolex outlet
    tiffany jewellery
    coach outlet online
    replica watches
    michael kors outlet
    ugg boots
    giuseppe zanotti outlet
    coach outlet
    polo ralph lauren
    kobe 9
    vans shoes
    chrome hearts
    true religion jeans
    swarovski crystal
    louis vuitton outlet
    tory burch outlet
    nike air max 90
    ugg outlet
    instyler ionic styler
    ugg outlet
    michael kors handbags
    abercrombie and fitch
    nike air max 90
    rolex watches for sale
    mulberry handbags
    jordan pas cher
    louis vuitton pas cher
    michael kors handbags
    nike free run
    longchamp outlet
    coach outlet
    michael kors factory outlet
    ferragamo outlet
    coach outlet
    ferragamo shoes
    oakley sunglasses
    rolex watches
    air jordan 13
    ray ban sunglasses
    michael kors outlet clearance
    prada outlet
    kobe shoes
    the north face jackets
    moncler coats
    nike trainers
    oakley sunglasses
    nike outlet store
    ray ban sunglasses
    coach outlet online
    timberland boots
    ugg australia
    michael kors wholesale
    dior sunglasses
    pandora jewelry
    longchamp handbags
    michael kors handbags
    mulberry outlet
    ed hardy clothing
    coach outlet canada
    louis vuitton
    louboutin pas cher
    lebron james shoes
    ralph lauren uk
    michael kors outlet clearance
    chrome hearts sunglasses
    louis vuitton handbags
    nike roshe run
    coach outlet
    true religion jeans
    montblanc pens
    basketball shoes
    longchamp handbags
    coach outlet
    reebok outlet store
    nike roshe run
    michael kors factory outlet
    louis vuitton outlet
    adidas trainers
    tory burch outlet
    michael kors outlet
    ugg boots
    adidas wings
    longchamp handbags
    ugg boots
    michael kors handbags
    puma outlet
    ferragamo shoes
    burberry outlet
    soccer jerseys
    toms shoes
    michael kors handbags
    hermes outlet
    ray ban sunglasses
    nike air force 1
    mbt shoes
    michael kors outlet clearance
    fitflops sale clearance
    mulberry outlet
    hollister uk
    true religion jeans
    fitflops sale
    oakley sunglasses
    michael kors outlet clearance
    nike huarache
    canada goose jackets
    ray ban sunglasses
    cheap michael kors handbags
    hermes bags
    michael kors outlet
    calvin klein underwear
    hermes belt
    louis vuitton outlet stores
    burberry outlet
    michael kors outlet online
    michael kors outlet
    hollister clothing
    canada goose jackets
    cheap mlb jerseys
    uggs outlet
    michael kors uk
    tory burch shoes
    nba jerseys
    louis vuitton outlet
    oakley sunglasses
    jordan shoes
    ugg slippers
    gucci outlet
    air max 90
    michael kors handbags
    coach outlet
    ray ban sunglasses
    adidas uk
    coach outlet online
    michael kors handbags
    true religion outlet
    longchamp pliage
    true religion sale
    nike store uk
    north face jackets
    omega watches
    ray ban sunglasses
    nike free 5
    ferragamo shoes
    louis vuitton
    adidas outlet store
    michael kors outlet store
    christian louboutin uk
    michael kors wallet
    oakley sunglasses
    louis vuitton handbags
    fitflops outlet
    mcm outlet
    abercrombie and fitch
    louis vuitton handbags
    tiffany and co jewelry
    coach outlet store
    futbol baratas
    michael kors outlet
    ralph lauren
    yeezy boost 350
    michael kors outlet online
    canada goose jackets
    ghd hair straighteners
    michael kors handbags
    louis vuitton handbags
    cheap mlb jerseys
    ray ban sunglasses sale
    salomon shoes
    oakley sunglasses
    oakley sunglasses
    oakley sunglasses
    michael kors outlet online
    mulberry handbags
    ugg boots
    cazal sunglasses
    michael kors handbags
    swarovski crystal
    coach outlet
    nike tn pas cher
    polo ralph lauren
    michael kors outlet
    coach outlet clearance
    coach handbags
    michael kors outlet
    coach outlet clearance
    fitflops sale clearance
    fitflops sale
    louis vuitton
    tiffany jewelry
    fitflops shoes
    ralph lauren uk
    ray-ban sunglasses
    michael kors outlet online
    mulberry handbags
    fitflops shoes
    louis vuitton neverfull
    jordan shoes
    ugg boots
    nike outlet
    cheap ugg boots
    bottega veneta outlet
    the north face jacket
    michael kors outlet
    cheap nfl jerseys
    ugg outlet
    cheap snapbacks
    ysl outlet
    nike blazer pas cher
    michael kors outlet
    lululemon outlet
    cheap nfl jerseys
    pandora jewelry
    ugg outlet
    beats by dre
    coach outlet
    mulberry bags
    football shirts
    christian louboutin outlet
    cartier watches
    adidas nmd runner
    air jordan 11
    ray ban sunglasses
    tiffany and co
    ugg boots
    lebron james shoes
    cheap jordans
    the north face jacket
    uggs outlet
    fitflop clearance
    north face jacket
    hollister canada
    cartier watches
    valentino outlet
    prada handbags
    coach outlet online
    cheap uggs
    tods outlet
    true religion jeans
    swarovski jewelry
    cartier watches
    michael kors outlet online
    celine outlet
    cartier outlet
    michael kors outlet clearance
    louis vuitton outlet stores
    mac cosmetics
    toms shoes
    louis vuitton outlet
    louis vuitton handbags
    louis vuitton sunglasses
    longchamp outlet
    canada goose
    ferragamo outlet
    ugg sale
    polo ralph lauren
    longchamp outlet
    cartier watches
    ray ban sunglasses
    lacoste pas cher
    hermes birkin
    michael kors factory outlet
    chicago blackhawks
    beats headphones
    hollister uk
    canada goose outlet
    lululemon outlet
    toms shoes
    cheap nba jerseys
    tory burch outlet
    louis vuitton handbags
    nike free running
    uggs outlet
    swarovski crystal
    ralph lauren polo
    thomas sabo uk
    ralph lauren pas cher
    mulberry sale
    ralph lauren pas cher
    canada goose jackets
    ralph lauren uk
    oakley sunglasses
    coach outlet
    supra shoes
    coach outlet online
    coach outlet
    swarovski crystal
    louis vuitton outlet
    canada goose outlet
    ugg boots
    true religion jeans
    tiffany outlet
    prada sunglasses
    michael kors outlet
    ugg boots
    ray ban sunglasses
    louis vuitton bags
    coach outlet clearance
    christian louboutin outlet
    michael kors outlet store
    ray ban sunglasses
    coach outlet clearance
    ugg outlet
    kate spade handbags
    nike huarache
    cheap uggs
    louis vuitton pas cher
    rolex watches
    nike mercurial
    rolex watches
    ralph lauren polo
    nike roshe
    beats by dr dre
    canada goose outlet
    ugg boots
    juicy couture outlet
    true religion jeans
    michael kors outlet online
    moncler jackets
    yeezy boost
    longchamp bag
    michael kors outlet
    adidas nmd
    ugg outlet
    nike air max 2015
    cheap nhl jerseys
    ferragamo shoes
    michael kors handbags clearance
    mulberry handbags
    longchamp pas cher
    coach outlet
    fitflops sale
    herve leger outlet
    rolex watches
    rolex watches
    links of london
    longchamp handbag
    michael kors handbags
    tory burch outlet
    michael kors handbags
    nike air max
    ugg boots
    canada goose outlet

Leave a Reply

Your email address will not be published. Required fields are marked *