Project

# Title Team Members TA Documents Sponsor
15 USB Controlled Appliances
Nagarjun Kumar
Peter Jin
Riley Baker
Dean Biskup design_document3.pdf
final_paper1.pdf
other1.pdf
photo1.jpg
presentation1.pdf
proposal3.pdf
Peter Jin (peterhj2), Riley Baker (rileymb3), Nagarjun Kumar (nk7)

Title: USB Controlled Appliances

Problem: There are many kinds of IoT devices, ranging from smart plugs, thermostats, washers and dryers, garage doors, and refrigerators. However, the main issue with these kinds of devices is that the embedded systems that run on those devices are closed-source, out of date, or simply have glaring security and privacy issues. Furthermore, since they usually connect via Wi-Fi to a home network, the attack surface of many of those devices is very large since any computer on the network could access it in some way, allowing attackers on the network to potentially control these devices maliciously. Building a smart plug or appliance by yourself also has challenges. For example, some appliances require switching of high voltages, which may not be safe on a breadboard. This effectively makes a “DIY” version of a smart plug that doesn’t connect to the Internet very difficult to create safely.

Solution: Separate the part that connects to the Internet with the part that actually switches the appliance, and connect them with a safe and well-defined wired protocol. This is what our “USB Controlled Appliances” project intends to do. Instead of connecting to the Internet via Wi-Fi, this “smart plug” connects to a computer via USB. In this way, the computer can be used to control the smart plug, without inherently relying on wireless network protocols. Since this smart plug does not have any Wi-Fi capabilities, the attack surface will be greatly reduced.

The main competitor to our project is the Digital Loggers IoT relay (https://dlidirect.com/products/iot-power-relay). However, the main difference between that and our project is that the former is just the relay itself (with logic level input), whereas our project focuses on being a complete yet separatable kit.

Solution Components:

Appliance Subsystems: These are the actual “smart” appliances. Ideally, these appliances should not have any complex “computer” logic in them. They may have transistors, resistors, capacitors, and simple logic gates. The use of ATMEGA or similar chips are also allowed, but nothing wireless is allowed, and they must be removable from the circuit board by the end user. Currently, we intend to create the following appliances for this project:

* A door opener, using a solenoid. It can be a normal door to a room, or it can be the door to a safe.
* A motion detector, as an example of an "input" device that can be connected to the hub.
* Due to its novelty and simplicity (since it is so generic), the optocoupler switcher will be kept. (The TA originally proposed the use of a garage door opener, which we subsume under this heading, as the mechanism will still be very similar, whether it's the physical button or the remote control.)
* We will still do simple switches with one or more LEDs, just to show the overall proof of concept in a simple manner. (This appliance can still be extended in some way to become a smart plug, for example, and is still meaningful by itself.)
* Finally, even with these appliances in mind, we will design the circuit such that the microcontroller can be safely removed (ideally by putting the IC in a DIP socket or switch, rather than SMD) and the actual terminals that control the appliances are broken out on internal headers, such that alternative logic can be used without having to build a whole new appliance.

Hub Subsystem: This is a device that connects to the computer via USB and also to the appliances themselves. The reason why we need this is because 1) we intend for the appliances to be simple, and so they can be used in other “generic” IoT projects without this hub, 2) it relieves us from having to implement a USB protocol on all four types of appliances directly, and 3) allows multiple appliances to be connected to one USB port, which very few exist on many modern computers.

Computer Subsystem (not formally part of the hardware design): This is the computer that actually controls the “smart devices.” This may be an actual desktop or laptop computer, or it can be a Raspberry Pi or other single-board computer. The software should be able to run on any computer with a USB port regardless of characteristics like the CPU architecture or operating system. When used with software that allows the appliances to be controlled remotely, the computer here is also known as a “bastion host” for the appliances.

Each subsystem will be its own unit with its own circuit board and enclosure. The appliance-to-hub connection will use a protocol that is convenient for the appliance, and the computer-to-hub connection will use USB.

Criterion for success:

* The appliance subsystems will be able to control various types of appliances (remote control, door lock, etc.) electrically using protocols that are simple to implement and are only as complex as necessary for the appliance.

* The hub subsystem will convert between USB and the simple protocols used by the appliances, such that the simple protocols for the appliances don’t need to be broken out on the computer, and each of the appliances doesn’t need to implement USB by itself.

* The appliances, hub, and computer communicate between each other using simple, well-defined protocols.

* The system is designed such that no wireless communications is necessary for any purpose, except those which may be implemented on the computer.

* All components are "separatable" i.e. the microcontroller must be able to be safely removed, and all components which are built into their own enclosures must be independently usable without any of the other components.

Wireless IntraNetwork

Daniel Gardner, Jeeth Suresh

Wireless IntraNetwork

Featured Project

There is a drastic lack of networking infrastructure in unstable or remote areas, where businesses don’t think they can reliably recoup the large initial cost of construction. Our goal is to bring the internet to these areas. We will use a network of extremely affordable (<$20, made possible by IoT technology) solar-powered nodes that communicate via Wi-Fi with one another and personal devices, donated through organizations such as OLPC, creating an intranet. Each node covers an area approximately 600-800ft in every direction with 4MB/s access and 16GB of cached data, saving valuable bandwidth. Internal communication applications will be provided, minimizing expensive and slow global internet connections. Several solutions exist, but all have failed due to costs of over $200/node or the lack of networking capability.

To connect to the internet at large, a more powerful “server” may be added. This server hooks into the network like other nodes, but contains a cellular connection to connect to the global internet. Any device on the network will be able to access the web via the server’s connection, effectively spreading the cost of a single cellular data plan (which is too expensive for individuals in rural areas). The server also contains a continually-updated several-terabyte cache of educational data and programs, such as Wikipedia and Project Gutenberg. This data gives students and educators high-speed access to resources. Working in harmony, these two components foster economic growth and education, while significantly reducing the costs of adding future infrastructure.