The Lexitron system has two physical parts. The first is a LAN-connected base station I call the TickerNut that is a small, ultra low power embedded webserver running custom firmware to gather information and communicate it to the remote display (the Lexitron) through a remote radio modem link. The decision to have it in two parts was to keep the display itself small and lightweight yet fully capable with a minimum of connections and to give me a chance to play with RF data transfer.
What does it do?
- RSS Reader
The Lexitron shows new RSS items as breaking headlines as they arrive. Any practical number of different feeds are supported, each with it's own icon and notification sound. Items can be filtered by category, browsed and reviewed on demand using the IR remote control.
- Weather forecast
The Lexitron displays the local weather forecast as a popup from time to time, and updates weather data from the Bureau at specific times accompanied by a more detailed report.
- Email gateway
The Tickernut has it's own email address to which short messages can be sent. These are displayed on the Lexitron with a trumpeting alert as they arrive.
- XBMC Client
The Tickernut can control our entertainment system from the IR remote and the Lexitron shows what's currently playing as it comes on.
- Mail check
The Lexitron lets me know when I have new mail.
Of course, the clock. With alarms, chimes, network updated for accuracy.
There are other more mundane activities (like user message)
The heart of the system is a software activity sequencer on the Tickernut that reads a list of activities from an XML file on the SD card and performs the activities as needed. An activity can be any of the above examples or a user activity.
An embedded web interface allows configuration and interaction with the Tickernut. It can list and modify activities, browse onboard files, show settings and performance statistics and control the Lexitron directly.
A Windows application written in C# called Nutboot provides lower level interaction with the Tickernut. As well as being able to test and program both devices over the network, Nutboot has a log server and a CLI for the Tickernut and a pixel and icon editor for the Lexitron. It can also use the Tickernut's radio to scan the 2.4GHz band to look for free channels.
Tickernut is based on Ethernut, an Open Source implementation of a Embedded Operating System called Nut/OS and a TCP/IP protocol suite named Nut/Net. This is running on custom hardware, home brewed from mostly second hand parts.
TickerNut uses radio communication to control the Lexitron to provide short text messages and notifications. Information and updates are gathered through an ethernet connection to the local network which provides Internet accessibility. An onboard SD card interface provides local file storage. Audio output from the TickerNut speaker can produce alert sounds from WAV files. An infrared receiver can decode messages from most common remote controls.
The secret of how the system copes with documents bigger than it's own physical memory is an XML parser able to selectively extract information of interest from big XML documents and capable of dealing with and removing the vagaries of web formatting. This module reads just about any large RSS feed without using more than about 8k of physical RAM.
The TickerNut has several hardware peripherals additional to the Ethernut reference design. This includes PWM audio, infrared remote, nRF24L01 radio communication and hardware health monitors.
|CPU||ATmega2561 @ 18.432Mhz|
|OS||Ethernut NUT/OS 126.96.36.199|
|Memory||256K Flash, 40K RAM, 4K EEPROM|
|Storage||SD Card, up to 2MB, FAT32|
|Audio||8-bit, 11.025Khz playback, LM386 audio amplifier.|
|Protocols||HTTP 1.1 Server - Web access for control and configuration.|
FTP Server - Full remote SD card access.
Telnet Server - Low-level configuration and debugging.
WINS Client - For Windows...