Introduction: Smarter Home (advanced Intel Edison DIY Instructable)

About: Chief Architect, Head of #DataScience, #Intrapreneur #Innovator #Disruptor in #ETRM #FO #MO #BO w/ #BigData #ML #Mobile #Cloud #UI #UX #FP #startup

Smarter Home

An intelligent PA @Home for busy professionals - for fun, healthy lifestyle and sustainability!


Describe the unique and innovative attributes of your Project:

  • automatically help / manage professionals' life / entertainment at home
  1. Mood detection using Bio-sensors (using environmental sensors and bio sensors)
  2. Context (mood, time of the day, day of the week, weather) aware background music / Internet Radio playback via Bluetooth speakers
  3. Single rotational safety camera for outdoor (strangers tagging) and indoor (Pets)
  4. Genfencing early traffic warning before leaving the door (close to the door) - rerouting using National Rail Enquiry API and TFL API.
  5. Auto-watering system for indoor plants.


What is the target audience and available market for your Project?

  • Busy Professionals

How does your Project technically work?

  • Edison Bluetooth: Speakers
  • Edison BLE: sensors - TI Sensor Tags, iBeacon, Fitbit
  • Edison breakout board USB: WebCam
  • Edison Wi-Fi: Internet
  • Edison GPIO: sensors, LCD, Servo (for safety camera)


How does your Project take advantage of Cloud connectivity?

  • Yes - Intel IoT Analytics

Sensor utilization?

  • Temperature
  • Humidity / Moisture
  • Sound / Noise
  • Ambient Light
  • PiR
  • RGB LCD
  • LED

How does your Project make use of Software components?

  • Intel XDK Edition
  • Node.js
  • OpenCV

Hardware components?

  • GPIO - Analog, Digital, I2C
  • Bluetooth - Speakers
  • USB - WebCam


Presentation Slides

  • Attached:

Step 1: Step 0: Objectives (achieved and Planned)

Smarter Home - for fun, lifestyle and sustainability

Hardware setup, including GPIO sensors, peripheral devices to be connected:

  • Intel
    • Edison Arduino Breakout Board
    • Edison of course
  • SeeedStudio Grove Sensors:
    • Temperature
    • Sound
    • Ambient Light
    • Touch
    • Buzzer
    • Button
    • LED
    • RGB LCD
  • Microsoft
    • USB HD WebCam


Wireless connections we will be using:

  • Bluetooth - Speaker
  • Bluetooth Low Energy - TI SensorTag 2.0
  • Wi-Fi - Internet


Enclosure:

  • Recycled Acrylic sheet - 100mm x 150mm case - tape stitched for now


Major Features (implemented):

  1. Real-time Environmental sensors - GPIO: Digital / Analog - upload to Intel IoT Analytics
  2. Real-time Bio-sensors - via BLE - upload to Intel IoT Analytics
  3. Internet Radio - via Lame + PulseAudio + Icy streaming client - Bluetooth Speaker
  4. MP3 Player - via Lame + PulseAudio - Bluetooth Speaker
  5. Security camera - via USB WebCam
  6. Barcode scanner - via USB WebCam, using ffmpeg + HP IDOL OnDemand

More Features (Work in Progress):

  1. Laser cut Acrylic transparent case
  2. 4-Touch Button menu system - Up, Down, Back, OK
  3. Rotating Security WebCam - done - via Grove Servo (done)
  4. 0.96 OLED display
  5. Internet clock
  6. TFL/National Rail Enquiries - Traffic Disruption early-warning alarm
  7. OpenCV - face recognition
  8. OpenCV - real-time barcode, with Ultrasound distance + IR interruptor based intelligent barcode scanner
  9. Rechargeable battery - 9V
  10. 2x10-band LED - sound
  11. Mood detecting environmental / background music player
  12. Modular hardware design - "hardware blocks" - e.g. Littlebits
  13. Modular software design - e.g. Node - Red
  14. Open Source Software + Open Source Hardware

Step 2: Step 1: MP3 Player / Internet Radio

  • Make sure Bluetooth stack is enabled;
  • Makre sure you Bluetooth is paired and connected;
  • Make sure your PulseAudio is working and can play back to Bluetooth speaker
# enable bluetooth stack
rfkill unblock bluetooth

# pair your bluetooth speaker
bluetoothctl
[bluetooth]scan on
[bluetooth]trust XX:YY:ZZ:WW
[bluetooth]pair XX:YY:ZZ:WW
[bluetooth]connect XX:YY:ZZ:WW
[bluetooth]exit

cat XXXX.wav | pacat

# compile LAME
# compile Icy/Icecast
# Pipe mp3 file or Internet Radio (mp3) stream via Icy to extract metadata
# Pipe metadata stripped mp3 stream via Lame to pacat
# Enjoy your Internet Radio / MP3 Player :) 

Step 3: Step 2: Software Based Barcode Reader Using WebCam

  • Make sure your webcam is supported by Linux UVC driver, and is working with Edison - don't forget to move the switch button towards full size USB socket on Intel Edison Arduino Breakout Board
  • Compile ffmpeg on Edison - it takes 1.5 hours or more! Check if opkg has ffmpeg already installed.
  • Use ffmpeg to capture still image from WebCam
  • Open an account on HP IDOL OnDemand web site - free layer enjoys 5000 requests a day Barcode requests
  • Now you have a software based Barcode Reader!