Sana is an infrared remote control interface. This design is intended to allow a wide range of non-connected remote control devices to be controlled via the Internet. This provides a wide range of application opportunities; from a simple universal TV remote that is never lost or out of batteries, to intelligent climate control and automation. Because Sana talks to client devices over the existing IR remote-control interface, no modification to the client device is required to allow it to become an Internet-connected device.
Sana is designed to be paired with an AC power supply board, called Sophie. Sophie is a very straightforward design: it is simply an integrated AC-to-5V-DC power supply tailored to fit the Bud Industries PPB-11861 enclosure, with an on-board 3.3V LDO to provide a clean supply rail for the Sana board. Sophie also includes the opto components (bicolor LED and phototransistor for BlinkUp) for the Sana board. The Sana design includes landings for opto components on-board, so Sana can be used in absence of Sophie.
Sana uses the imp’s built-in SPI interface and PWM output to produce IR codes. The PWM output is configured to produce a carrier signal at the carrier frequency for a given device. Given a binary string and timing definitions for a given receiving device, the imp then generates a pulse train and sends it over the SPI bus. A simple AND gate modulates the carrier with the IR pulse train, and uses the resulting signal to drive a FET, gating power to an external IR LED.
Sana uses a Vishay TSOP6238TT IR Receiver / Demodulator IC to 'listen' for new IR codes from other IR transmitting devices. This is useful for discovering existing codes from a device’s original remote control. The TSOP6238TT includes an integrated IR Phototransistor and input filter, and can learn codes from any 38kHz carrier device.
The example firmware includes the IR Receiver example class, which demonstrates how to use the TSOP6238TT or similar part to decode IR signals with the imp.
Because the receiver will be called as soon as the receive pin changes state, the device does not require a 'listen' mode or learn button. Simply point the remote or other transmitting device at the IR receiver and send a code to initiate the receive/decode process.
Sana includes 433MHz ASK transmitter module for transmitting arbitrary signals to generic 433MHz devices. This is useful for controlling some generic home automation devices, such as plug-top switches. Pulse trains are generated and sent to the 433MHz transmitter in the same manner as is used for the IR transmitter.
Revision-controlled example firmware for the Sana board is available on the electric imp github examples page.. The Sana firmware includes several modular classes: