Taiko Resources
This page contains various sample projects, functions and code snippets which demonstrate various ways of doing things in TIDE. All code below may be used freely within your own projects.
Disclaimer
The code below is provided for educational purposes only. Tibbo is not responsible for any damage or failures caused by any of the code from this page. The Tibbo Warranty does not cover the demo projects below! Use at your own risk.
The projects may need to be modified to work in some scenarios -- they are absolutely not guaranteed to work every time. If you do make a change and improve some project, feel free to send it to us and we'll re-publish it, crediting you for the improvement.
User Submitted Projects
The samples with [USER SUBMITTED] behind the project name were submitted by valued Tibbo users and customers. Thank you!
Wi-Fi Demo
This simple demo shows the step on how to setup Wi-Fi (wln object).
I2C communication with a Philips PCA9555 IC - [USER SUBMITTED]
This demo project was created by Tibbo user Seulater. The PCA9555 is a 16-bit I2C bus expander. This project shows how to communicate with it.
NetBIOS Naming Service Demo
This demo shows the basics of how to interface with the NBNS protocol. When a network device searches using NetBIOS name, the demo will reply with the proper answer.
TCP Server Demo
A simple demo showing the basic idea behind how to implement TCP server. This demo utilizes all 16 sockets and responses with a welcome message when a connection is made.
FTP Client Demo V2
The original demo project was created by Carlo Tauraso and has been updated to reflect the current Taiko environement. More comments were added to help understand how it works. This demo transforms a Tibbo device into a FTP-Client, so you can publish different kind of data on an external WebServer directly without worry about ISP Dynamic Addressing. This code was originally developed to interface DS-202 with WS-2300 Professional Weather Station and get updated information through internet. (Refer to the JPG file)
Asynchronous Serial Data Splitter
This demo demonstrates how to have asynchronous data transfer between serial ports by using the ser.notifysent syscall. There is also a telnet data dump monitor!
IP-based Access Control using Lookup Table
Access Control demo that uses an IP Look-up table for allowed connections. Connections that are not allowed are dropped, an easy but effective way to make your DS inaccessable to unwanted computers.
32-bit variable, Array, User Defined Type Demo
Easy to understand simple demo of the new features found on the release 2 of Taiko and EM1000. Showcase the use of arrays, user defined types and 32-bit variables in a dynamic web page environment using the built-in resouorce file capability of the Taiko environment.
Alarm Clock Demo
Alarm Clock Demo shows how to work with 2 newly introduced objects in EM1000 platfrom, beeper and rtc. The beeper object can be used to generate sounds, and rtc can keep track of time even when device is powered off.
CRC16 Demo
CRC is a type of hash function used to produce a checksum ¡V a small, fixed number of bits ¡V against a block of data, such as a packet of network traffic or a block of a computer file. The checksum is used to detect errors after transmission or storage.
Yahoo Weather Demo
This demo shows how to make your Taiko-programmable device to work as a client and read information in webpages. In this case Taipei temperature, on Yahoo Weathers XML pages.
Internet Time Demo
This demo shows how to get the current time from an SNTP (Simple Network Time Protocol) server. It also incorporates the DNS library, because the IP address of SNTP servers may change at times.
SMTP Demo
This demo shows how to make your Taiko-programmable device send an email. The contents of the email is obtained from the serial port.
DNS Demo
This is actually a complete library for querying DNS servers and getting an IP address according to a DNS hostname. You no longer need to know the IP address of your destination!
DHCP + Setup Demo
This demo makes the device lease a dynamic IP address from a DHCP server, and also includes code to configure the serial port and sockets.
DHCP Demo
This is a pretty complex demo, and actually a reusable function. It allows the device to lease a dynamic IP from a DHCP server, and also register a device name with the server.
Multiple Socket Connections - [USER SUBMITTED]
This demo project was created by Dr. Phil Dixon. This demo listens for incoming connections on multiple sockets. Several such connections can be made simultanouesly. The program then forwards any data it receives from a socket to the serial port, and sends responses to the last socket used.
Controlling LEDs Using Inband Commands
This demo shows how simple it is to implement inband commands. Using the $ and % characters as delimiters, you can control the LEDs of your device using a telnet connection, and also transfer data.
Read/Write from External Serial EEPROM - [USER SUBMITTED]
This demo project was created by Sebastjan Vodopivec. It allows a Taiko device to read and write data from an external EEPROM, and thus use external memory for storing and retrieving data for your project.
To try the demo, you would need serial EEPROMs from the 24Cxx family (such as 24C16, 2kbytes EEPROM). Using serial EEPROMs is somewhat slow, but the project is a very good proof-of-concept and it works!
EEPROM and Resource Files Demo
The purpose of this demo program is to show users how romfiles and EPROM memory work. These are the two places a user can have data stored, even when the device is powered off.
How does this demo work?
- Fill the form. The data will be saved into EPROM memory, and will stay there even when device is reset (restarted).
- Check the saved data by opening "login.html" page, and entering the correct usernames and passwords.
- Add, delete or edit user:password pairs by changing the ID.txt file within the project.
HTML Form Demo
This project implements a simple HTML login form. On /index.html you enter user name and password, then click login>. Login result is displayed on the next HTML page (/login.html).
LED and Webserver Demo
This demo program sets up a simple web page on the device, with a form which is used to control the LEDs of the device. The form can be used to turn on either of the two LEDs, and also for entering a complex sequence of LED flashes. When entering a complex sequence and submitting the form, the sequence can then be played by pressing the button on the device itself.
The demo shows the following basics:
- Building an interactive web page with embedded Tibbo BASIC code
- Using web forms
- Controlling the LEDs
- Interacting with the hardware button -- working with events
Simple Device Server
This project implements the simplest "serial device server" possible. There is a single TCP connection. Once this connection is established, whatever is received through TCP is sent out via the serial port and vice versa.
The project comes in four different variations -- each progressively more sophisticated.
| 1 | 2 | 3 | 4 |
|
Without active opens, without buffer redirection |
Without active opens, with buffer redirection |
With active opens, without buffer redirection |
With active opens, with buffer redirection |
Quote Machine
This project will turn your device into a Quote Machine -- it will output selected quotes from Star Wars (TM) whenever you push the button. There's even a special mode for Wookiees!
Hello World in Morse Code
This project uses LEDs to send "HELLO WORLD!" message in morse code. It builds on the LED blinker project and shows how a long LED pattern (that cannot be set in the pat.play in one "go") is split and loaded basing on the on_pat event.
LED Blinker
This is (perhaps) the simplest demo of Tibbo BASIC. Red LED blinks 3 times fast when you push the button. At all other times the LED is green. Also, at power-up both Green and Red LEDs blink together 3 times.



