= Discussion = == Network == * Use a normal home network with DHCP and SNMP capable router * SNMP - http://en.wikipedia.org/wiki/Simple_Network_Management_Protocol * zeroconf - http://en.wikipedia.org/wiki/Zeroconf == Devices == * 2 types of devices * Smart Devices * Support network capabilities (TCP UDP IP) * support SNMP * Suppport zeroconf * Dumb devices * Support SNMP * Support zeroconf Each device also has a set of variables and associated values which are manipulated using the SNMP protocol == Device Connection == When a device boots: * Smart devices connect to network using DHCP * Dump devices connect to smart devices and us it as a proxy * all devices use zeroconf to publish metadata (Name of device, type of device i.e. dishwasher, microwave) The genius behind the system is that we don't have to implement any new protocols at all. SNMP and zeroconf, along with a home network, is all that is needed to make this thing work. == User interaction == * Get vars, values, schema via UDP - a Get Bulk type thing * Get specific variable value * Set variable value * Will produce either an ok or error message. * error produced if an innappropriate value is submitted, however, input should be limited to the schema * request Notify * can ask it to notify another device if a variable is changed. * can have it notify multiple devices * Some devices (such as a fire alarm, or security system) can notify all devices with having info requested. * notify == other implementation == * http://en.wikipedia.org/wiki/Domotics * Eric and I found this while looking around for things. It is basically a system that does something very similar to what we are doing. Found it very amusing.