It's been a very interesting challenge! 3 months to learn a bunch of new things (specially in server and services implementation) and one common enemy... TIME! Only the basic structure of the proposed plan was implemented in the end. However, this is only the beginning


Thanks to element14 for this chance. And thanks to y'all who commented and helped. Of course, thanks to all who read thru these post and maybe found some interesting information.


It was also amazing reading what other participants were doing (that is a good use of the challenge period time), all the projects are incredible and there are some extremely original ones ^^


Alright! Let's do a wrap up:


List of past posts:

Sources and links

Most of the code is available on GitHub


The plan: what was planned and what is


In the end... I let time past by and most of the work was done during the first weeks or the last ones ^^u  I am not even going to think of how many post I uploaded tonight u.uzZ. Lesson learn!


Looking back to that optimistic first weeks...



                                                                                                                                                                                                     Green = completed




How to

Connectivity setup: MQTT

Raspberry Pi 3

Raspberry Pi 1


Broker installed in Raspberry Pi 3

Publisher client in Raspberry Pi 1

Subscriber client in smartphone

Subscriber client in Raspberry Pi 3

Sensors reading

Sensors type 1:

I2C protocol – connect to the corresponding Raspberry Pi 1 I2C ports


Sensors type 2:

  • Door switch
  • Alarm button

Direct connection to Raspberry Pi 1 GPIO ports


Raspberry Pi 1

Reads GPIO ports

Implements MQTT publisher client -> sends data to Raspi 3


Raspberry Pi 3

Implements MQTT broker

Data storage

Raspberry Pi 3

Implements MQTT subscriber client -> read data from Raspi 1

MySQL database to store data

GUI – general home access

Raspberry Pi 3

Same MQTT subscriber client

Displays read data

Mobile app – individual home access


Implements MQTT subscriber client -> read data from Raspi 1

Displays info

Web portal – remote access

Raspberry Pi 3


Extra 1: Announcement board



How to

User sets

  • - Task
  • - Announcement

Raspberry Pi 3

Include a menu to input:


Task that should be finished within a deadline (i.e. cleaning)

Data storage

Raspberry Pi 3


Display task/announcements

Raspberry Pi 3

Update main GUI to include an “Announcements” tab



                                                                                                                                                                Green - completed

Basic: Run competition



How to

Record user’s run distance

Android smart phone

Mobile app.

1) record run distance with either:

  • Use maps framework: get miles
  • Count steps/use phone gyroscope

2) send distance to smart home

       - Send to home server IP address

Data storage

Raspberry Pi 3

Implement home server – Apache

Create PHP interface to fetch data coming from phone

Store data in smart home database - MySQL

Display data

Raspberry Pi 3

Update home GUI:

  • Individual data
  • General table with best results

Extra 1: Tourist/Discovery system



How to

New destination selection

Raspberry Pi 3

Select a reasonable location to visit

Display it on the home GUI

Allow remote access to the selected location

Mobile app- geo location

Android smartphone

Update mobile app:

  • - Map frame work to detect person’s location
  • - Read new location from Raspi 3
  • - Send when the person gets to that location

Extra 2: Smart house inner challenges





Well, the basic modules were developed. A pity that the extras, more interesting ones, were left behind.



What now ??

Interactivity - Central Node and User Node

Even though technically both nodes are working, they are to simplistic! I want something to actually be used in the house and even appealing to my roommates. Which means that:

  • Central node needs a better GUI
    • Nicer touch and look
    • More competition options and some grand announcement of the winner
  • User node application could include also Google map integration


Casing, covers and finishes

All the components and elements were wired up and left as they were brought to this world. However, there are multiple options (ie 3D printed models) out there to have each node decently cover.  It will make it more protected, easier to deal with and not so prototype like looking.


It is difficult not wanting to start with this after seeing what other participants have done, that is a great work !


The extras

While I feel I should implement some of the proposed extras, I have discarded the tourist option (it is too complicated). The announcement board though, it looks like a nice must! (Cleaning schedules are difficult to keep in the new house u.u).


Also, the new apartment I recently moved in gave me another interesting extra (for the laziest if you may): have a camera intercom in the main door of the building. We live in a 3 stores house and everytime the door rings we should walk one full floor (aaaaall the way ) down. However, there is a convenient window thru which one of the cameras could be looking thru.


Tools for improvement

All the development process has been built from scratch. Nevertheless, there are plenty of tools (specially server kind of plugins) which could give the platform a more efficient, easier and professional solution (cloud is quite popular these days). My knowledge is kind of limited here, so I can not really give any practical example, but will be looking for something of the sort :3



Always key in a smart house, and yet, I left it for the very end... till it was too late


That's been all for now


Caterina Lazaro