Project

General

Profile

Proof of Concept » History » Version 9

Hammel, 02 Jan 2019 14:02

1 1 Hammel
h1. Proof of Concept
2
3 9 Hammel
bq. Note:  This is completed and was demonstrated at the Denver Maker Faire 2018.  The implementation didn't not include support for motor control but did implement all the infrastructure needed to manage a light switch.
4
5 1 Hammel
This page will contain the plans for the Proof of Concept.
6
7 2 Hammel
{{>toc}}
8
9 4 Hammel
h1. Summary
10 1 Hammel
11 3 Hammel
Show a server node managing an IoT node.  The server node should be a Raspberry Pi running PiBox with the Media Server UI and the IoT should be a board utilizing an Atmel or similar chip capable of controlling a physical device. The physical device should be a vent whose fins can be opened and closed with the IoT device.  The server node and IoT node should communicate over WiFi or, possibly, Bluetooth.
12
13 1 Hammel
The goal of this phase of development is to prove we understand enough about the following concepts to produce a minimal viable product (MVP).
14 4 Hammel
15 3 Hammel
* Server OS
16
* UI implementation
17
* Wireless communication
18
* Microcontroller platform hardware integration
19
* Microcontroller programming
20 1 Hammel
* Control of mechanical devices, specifically motors
21 3 Hammel
22 8 Hammel
Stretch Goal
23
24
* Jarvis - voice activated (not AI) control of devices
25
26 4 Hammel
h1. Block Diagram
27 1 Hammel
28
!proof-of-concept.png!
29
30 4 Hammel
h1. Components
31 1 Hammel
32 4 Hammel
h2. Server Node
33 1 Hammel
34 4 Hammel
PiBox will serve as the server node OS.  This platform already supports Wifi and the Media Server release has a simple, easy to see (for demos) custom UI that should be easily extendable using examples like PiClock.
35 1 Hammel
36 6 Hammel
h3. Hardware
37
38
The Raspberry Pi will be physically connected to an external HDMI monitor.  The monitor will support 800x600 or higher.  
39
40
Input hardware will be provided by a wireless Favi keyboard/mouse combination.  
41
42
This hardware is intended only for use in the PoC.  More appropriate hardware for home automation will be required for the minimum viable product (MVP).
43
44 4 Hammel
h3. UI
45 1 Hammel
46 4 Hammel
The UI will require a new app developed.  This will be a GTK+ 2.x app that conforms to the app specification for PiBox's Media Server, which just means it provides its app icon for the navigation and installs an app configuration file with its opkgs.
47 1 Hammel
48 4 Hammel
The app will consist of two buttons and a text window.  The first button will be use to open the vent.  The second to close it.  A text field will show the current status of the vent provided by the IoT Node.
49 1 Hammel
50 4 Hammel
h3. Wifi
51
52
Wifi setup can either use a router or use PiBox's configuration option for running as an access point.  The latter may be more useful for demos.
53
54
h2. IoT Node
55
56
h3. Hardware Components
57
58 5 Hammel
There are three hardware components in the IoT node.
59
# The WiFi interface
60
# A microcontroller board
61
# A stepper or similar motor for control of an mechanical device.
62 7 Hammel
# A vent with adjustable fans.
63 5 Hammel
64
The WiFi interface will be an ESP8266 or Bluetooth or BLE interface.  An ESP8266 will be tried first as it may also serve as the microcontroller platform.
65
66
The microcontroller platform must have GPIO pins for the motor.  
67 1 Hammel
68 7 Hammel
The motor must be allow for at least 4 settable states.  This will control the fins on the vent.
69 5 Hammel
70 7 Hammel
Power for the hardware will come from 3 AAA batteries.  All three devices will draw power from the same power source.  There must be sufficient power to perform short demos lasting no more than an hour.
71 5 Hammel
72 4 Hammel
h3. Software Components
73 3 Hammel
74 5 Hammel
There are two sofware components to the IoT node.  The first is the WiFi interface.  This will handle all communications traffic between the server node and the IoT.  
75
76
The second software component in the IoT node will handle control of the hardware device.  This software must accept commands via the WiFi interface to set a level on the motor it controls.
77
78 3 Hammel
h3. Mechanical Device
79 5 Hammel
80
The device under control of the IoT node will be a simple air vent.  A stepper (or similar motor) will be used to open and close the vent fins.