element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • About Us
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
Pi IoT
  • Challenges & Projects
  • Design Challenges
  • Pi IoT
  • More
  • Cancel
Pi IoT
Blog [Pi IoT] Smart Competition Home #13: Clousure
  • Blog
  • Forum
  • Documents
  • Polls
  • Files
  • Events
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
  • Share
  • More
  • Cancel
Group Actions
  • Group RSS
  • More
  • Cancel
Engagement
  • Author Author: clazarom
  • Date Created: 30 Aug 2016 7:01 PM Date Created
  • Views 2443 views
  • Likes 3 likes
  • Comments 7 comments
  • design challenge
  • smart competition home
  • piot
Related
Recommended

[Pi IoT] Smart Competition Home #13: Clousure

clazarom
clazarom
30 Aug 2016

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 image

 

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:

  • [Pi IoT] Smart Competition Home #1: Introduction
  • [Pi IoT] Smart Competition Home #2: The plan
  • [Pi IoT] Smart Competition Home #3: Smarthome I - Connectivity setup: MQTT
  • [Pi IoT] Smart Competition Home #4: Smarthome II - Sensors Node & other clients
  • [PiIoT] Smart Competition Home #5: Central Node Upgrade
  • [Pi IoT] Smart Competition Home #6: Competition system I - Platform overview
  • [Pi IoT] Smart Competition Home #7: Competition system II - Android Competition application: tracking the distance
  • [Pi IoT] Smart Competition Home #8: Competition system III - Android Competition application: communicating with the server
  • [Pi IoT] Smart Competition Home #9: Competition system IV - Adding the competition to the central node
  • [Pi IoT] Smart Competition Home #10: Competition system V - Adding the competition status in the phone
  • [Pi IoT] Smart Competition Home #11: User's Node all in one
  • [Pi IoT] Smart Competition Home #12: System recap

Sources and links

Most of the code is available on GitHub https://github.com/clazarom/SmartCompetitionHome_2016

 

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...

 

SMART HOME

                                                                                                                                                                                                     Green = completed

Basics

Function

Devices

How to

Connectivity setup: MQTT

Raspberry Pi 3

Raspberry Pi 1

Smartphone

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:

  • TMP006
  • MPL3115A2MPL3115A2
  • Gas detector

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

TBA

Extra 1: Announcement board

Function

Devices

How to

User sets

  • - Task
  • - Announcement

Raspberry Pi 3

Include a menu to input:

Notes

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

Data storage

Raspberry Pi 3

Database

Display task/announcements

Raspberry Pi 3

Update main GUI to include an “Announcements” tab

 

COMPETITION SYSTEM

                                                                                                                                                                Green - completed

Basic: Run competition

Function

Devices

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

Function

Devices

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

TBA

 

 

 

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 image!

 

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

 

Security

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

Greetings!

Caterina Lazaro

  • Sign in to reply

Top Comments

  • jomoenginer
    jomoenginer over 9 years ago +2
    Caterina, I ended in the same boat to where I ran out of time, but I certainly am impressed with how you documented your project. Taking time to plan it all out would have helped on my end. Your project…
  • DAB
    DAB over 9 years ago +2
    All in all, not bad progress. These types of challenges tend to be overtaken by events, despite you best efforts. Keep us posted as you complete the build, you have a very interesting project. DAB
  • clazarom
    clazarom over 8 years ago in reply to DAB +2
    DAB, Thanks for the follow up It's been an interesting journey (lots of learning on the way) and I will continue investing time on having a useful smart competition house (not only a functional one)
  • mcb1
    mcb1 over 8 years ago

    Caterina

    Even though you may not have achieved everything you set out to, you have learnt some very valuable skills for the future.

     

    The planning of any project (large or small) is the most important aspect. I've seen so called Project Managers fail simply because their planning didn't look at all the stumbling points.

     

     

    The best thing you can do is continue the work, and blog about it.

    This will help you and show you are committed to completing a task.

     

     

    I always enjoyed these challenges but they do take a lot of your personal time, so you really need three or four months clear schedule.

     

    Cheers

    mark

    • Cancel
    • Vote Up +2 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • jomoenginer
    jomoenginer over 8 years ago in reply to Robert Peter Oakes

    Peter,

     

       That is a good point and you would have to ensure the client connects with the 'Clean Session' flag set to false otherwise the message would be cleared for the client. However, persistence could cause performance issues with the broker since it has to manage the persistent messages waiting for a client to pick them up.

     

    In my case, I did not want the system to rely specifically on a connection with a broker to get the current timer setting so I just dump it to a file that can be read back later even if the power is removed from the system.  

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • Robert Peter Oakes
    Robert Peter Oakes over 8 years ago in reply to jomoenginer

    Most MQTT servers have the ability to use a concept called persisted messages, this I believe should keep them through reboots with out resorting to separate means

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • clazarom
    clazarom over 8 years ago in reply to DAB

    DAB,

    Thanks for the follow up image It's been an interesting journey (lots of learning on the way) and I will continue investing time on having a useful smart competition house (not only a functional one)

    • Cancel
    • Vote Up +2 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • clazarom
    clazarom over 8 years ago in reply to jomoenginer

    Jon,

     

    Thank you for the tip on saving MQTT messages. It sounds like the fastest way of restoring them. Right now, when I close I lose everything in practice... which is counter productive is the Central Node is to keep track on when the door was open last for instance.

     

    Yeah, time management is always tricky. But there is life after the challenge to keep progressing, maybe I can be showing a more consistent, cohesive platform image. Also hoping to see more from the remote horse feeder, you make a great use of the device provided in the challengers pack!

     

    Greetings,

    Caterina

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
>
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2025 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube