IoT Protocols

From Open Source Ecology
Jump to: navigation, search

IOT Protocols

The protocols for use with the IOT will probably follow industry standards, since currently available protocols are sufficient for our needs and are readily available at very low cost.

Wireless Protocol

802.11

Communication between the IOT will probably use IEEE 802.11: [1]

This is already used with the IOT, but the current implementation is not very robust, due to the limited WIFI ability of the HUZZAH ESP8266.

Controller Protocol

TTL

Transistor to Transistor Logic (TTL) is based on digital voltage levels: Wikipedia TTL

The proposed controller uses direct connections with digital voltage levels to control the relays. This is a limited protocol, since it requires one pin for each line controlled. For example: A 4 relay board requires 4 digital pins from the arduino. The state of each pin (high / low) determines the state of the relay (on / off). Several TTL lines can be multiplexed to expand the number of control lines into addresses - this requires additional hardware.

PWM

Pulse Width Modulation (PWM) uses digital pulses of varying widths to transmit information: Wikipedia PWM

PWM used by the digital input lines of the arduino and is currently used in the IOT to communicate with the DHT22 temperature & humidity sensors and the remote power switch transmitter. PWM is commonly used by arduino compatible devices.

Sensor Protocols

The sensors use two protocols:

I2C

I2C is a two wire bus protocol detailed as follows: Wikipedia I2C

This is already useful for the IOT, since three of the sensors use I2C and it is commonly used in arduino compatible devices. Also, it only requires 2 pins to support hundreds of devices. Often, I2C device addresses are configurable. When they cannot, workarounds are possible, but require additional hardware.

PWM

Pulse Width Modulation (PWM) uses digital pulses of varying widths to transmit information and is documented above.

TTL

Transistor to Transistor Logic (TTL) is based on digital voltage levels in electronics and is documented above.

SPI

The Serial Peripheral Interface Bus (SPI) is a 4 wire bus protocol: Wikipedia SPI

While SPI is supported by the arduino, it is not very common in arduino devices or in available arduino software. It can be useful for this application, as it can be used for the SD Memory card interface.