The summary of Tibbo Project System Tibbo Project System (TPS) is a highly configurable and affordable automation platform. Its flexibility is based on Tibbits® – miniature blocks that implement specific I/O features. Need a certain I/O function? Install the right Tibbit. Have no use for something? There is no need to have it in your device. This module-based approach saves you money by allowing you to precisely define the features you want in your automation controller. With TPS, we have completely rethought not just the hardware, but also the configuration and ordering process. Read on and see for yourself! A Tibbo Project PCB is the foundation of the Tibbo Project System. Available in Tibbo OS (TiOS), as well as two sizes, each board carries a CPU, memory, an Ethernet port, power input for +5V regulated power, and a number of sockets for Tibbit Modules and Connectors. Choose a board, plug in desired Tibbits, put the assembly into an optional Tibbo Project Box, and you've got yourself a cost-effective, highly customized automation device that carries no unwanted excess. To achieve an economical basic unit price, we kept the onboard circuitry to the necessary minimum. For example, there is no built-in power supply – the boards directly accept only regulated +5V power. Realworld power processing (12V, 24V, PoE, etc.) is achieved by adding power supply Tibbits. This "no excess" approach is the cornerstone of the Tibbo Project System.

TPP2 Runs Tibbo OS (TiOS). Up to 6 Tibbit Modules, and up to 6 Tibbit Connectors. Compatible with TPB2 and TPB2L enclosures.

TPP3 Runs Tibbo OS (TiOS). Up to 14 Tibbit Modules, and up to 14 Tibbit Connectors. Compatible with the TPB3 enclosure.

The Basic of Tibbo Project System 1. The detail explain for TPS2 PCB:

Capacity:  24 I/O lines  3 Tiles  6 sockets for Tibbit modules  6 sockets for Tibbit connectors  1 extra socket for Tibbit #37 (RF connector) Compatible with:  All Tibbits  

GA1000 Wi-Fi add-on TPB2 and TPB2L enclosures

Please reference the following diagram for the Tiles define and placement:

There are two difference version of TPS2 one is general type the another one contain 4” LCD display and 4 touch button called TPS2L

TPS2

TPS2L

2. The detail explain for TPS3 PCB:

PCB 規格: 

47 I/O lines

 7 Tiles  14 sockets for Tibbit modules  14 sockets for Tibbit connectors  1 extra socket for Tibbit #37 (RF connector) Compatible with:  All Tibbits  GA1000 Wi-Fi add-on  TPB3 enclosure Please reference the following diagram for the Tiles define and placement:

On next chapters, We will start introduce how to use TIDE to connect and communication with TPS2, TPS2L, TPS3 and how to write the Tibbo BASIC to test the Module functions.

The TIDE Installing In this chapter we will start to introduce how to install software programmer TIDE I/O Ninja into Windows system for TPS2 1. Please browse the following web address: http://tibbo.com/downloads.html Please find the TIDE software for windows as below:

Please download the TIDE and install into your Windows system. The software TIDE is a Tibbo Basic or Tibbo C code complier Please go to the following web link to download IO Ninja: http://tibbo.com/ninja.html

Software TIDE is Tibbo Basic or Tibbo C code complier Software IO Ninja is the TCP or SSH connect and test software

2. The following up is a Tibbo Basic or Tibbo C On-line Document 1) http://docs.tibbo.com/taiko/index.html?the_reference.htm Please click the ” THE GUIDE” then choice ”Tibbo BASIC/C” for Tibbo Basic or Tibbo C programming Document. 1) The following web link is a Tibbo Basic or Tibbo C sample code for you reference: http://tibbo.com/programmable/applications.html#/ 3. The following web link is a Tibbo Basic or Tibbo C Reference Guide http://docs.tibbo.com/taiko/index.html?the_reference.htm 4. Please reference the following diagram for TIDE and TPS2 connection :

5. Please browser the following web link to know how to open the new project with TPS2 : http://docs.tibbo.com/taiko/index.html?the_reference.htm -> click THE REFERENCE -> click Tibbo IDE (TIDE) Software -> click Dialogs-> click New Project Dialog

6. Launch TIDE: 1) Launch by click this ICON

2) Click “New Project” button 3) The TIDE will show out a “new Project” dialog box like below: Please type the project name on the “new Project” field

4) Change the “Platform” to “TPP2W” like below diagram:

5) Input the “Project name” like below diagram:

6) Click “Select” button to select your device on the network like below diagram: a). when you press “Select” button, then the system will pop-up Device Explorer, you can select a device for you use.

a. When you select a network device then ”Device Explorer” dialog box will change like following :

If you press the ”Buzz” button then the device’s TPS2 Status LED2 will stop to flashing.

b. After verify the TPS2 connect with TIDE then please click “OK” to complete the setting:

c. After you select the right programming device then press “OK” then the TIDE will show out the following up diagram:

During the programming, sometime you may forget the command or you want to verify the command then you can use the TIDE’s hot-key (like following) to launch the TIDE auto-help: Ctrl+Alt+t or Ctrl+space for the auto-help hot-key

TPS Module placement & Learning Project The Following TPS2 module placement for the TPS2 learning project, we will use this module placement as below for the several lessons, we will use the red square frame this part of lesson.

to show out which module use in

TPS Project programming example 0. Ethernet test: test the Ethernet feedback function: Project name->TCPIP function Test 1 Project environment: the data from TPS2’s Ethernet to computer Ethernet’s then receive by IO Ninja Then send back from IO Ninja to the computer and TPS2 by Ethernet. We use this project to realize the TPS2 Ethernet function. 2 The TPS2 Tibbits module setup like following diagram:

3 Hardware connection: 1 Plug-in the net-work line 2 Plug-in the power adaptor 4 The Tibbo BASIC program: sub on_sys_init() net.ip="192.168.1.39" 'setup TPS2 IP address net.netmask="255.255.255.0" sock.num=0 'setup TCP/IP communication level=0 sock.protocol=PL_SOCK_PROTOCOL_TCP sock.localportlist="2000" 'setup TCP/IP port=2000 sock.rxbuffrq(2) 'setup TCP/IP data receive buffer area sock.txbuffrq(2) 'setup TCP/IP data transfer buffer area sock.inconmode=PL_SOCK_INCONMODE_ANY_IP_ANY_PORT sock.reconmode=PL_SOCK_RECONMODE_3 sys.buffalloc 'system start to build up data buffer area

end sub ‘the above is the TPS2 system initial process sub on_sock_data_arrival() dim x as string x = sock.getdata(255) 'put the received TCP/IP sock data into variable ”x” sock.setdata(X) 'put the received TCP/IP sock data into TCP/IP data sending buffer area sock.send 'send the TCP/IP data from TCP/IP data buffer to TCP/IP sock port 2000 end sub Enter program into TIDE like below:

Please press the Build

button in the TIDE, the TIDE will execute the pre-complier to find out the

wrong type or error area in the program like below diagram:

Like the above diagram, the output field shows out the complier is complete, please press

to start the

formal complier, the TIDE will send the executable program by Ethernet to the TPS2, you will see the TPS2 LED single to understand the TPS2 situation. b) Use IO Ninja to verify the program function: 4 Launch the

to execute the IO Ninja and the screen will show out like following diagram:

5 Click

to select a new network connect session, like following diagram:

Click ”TCP Connection Socket” for network connect function then click ”OK” then the screen

show out like following:

Please input “192.168.1.39:2000” at address field then press

and the screen will show out like

following:

That’s mean the IO Ninja successfully connect with TPS2, then please click “Transmit” as below

, enter “123456” at the command prompt for the TCP/IP send out data then the screen will show out like following:

Then click

and the screen will show out like following:

The line This is the IO Ninja send out TCP/IP data This line is the TPS2 feedback data from TCP/IP port We successfully use Tibbo BASIC to test the TCP/IP function with TPS2 6 The project files structure like below:

(The demo program in the Lesson-0 folder) This Lesson will make you to understand how the TPS2 transmission and received data from Ethernet

1. Temperature test: When temperature over setup value then enable other device: Project name ->Temperature function Test 1 Project environment: when ambient temperature over setup value then enable a device, such as Fan, sprinkle water or air-condition to reduce the temperature. 2 The TPS2 Tibbits module setup like following diagram: The Red square use by the project

3 The detail of Tibbits for the project:

Tibbits #09 x 1 Tibbits #00_3 x 2 Tibbits #03_1 x 1 4 Project environment setting: When the temperature over 31℃ then light up the blue LED and enable Relay to start the Fan, after temperature lower than 30℃ then turn off the blue LED and disable the Relay to stop the Fan

5 We use the sample code for the temperature sensor but we need to add some command into main.tbs to determine when temperature change then LED & Relay actions, the program like following up: sub on_sys_init() ………… ………… 'setup LED io.num=PL_IO_NUM_15_TX3 'IO position 15 io.enabled=YES 'enable the IO position 15 io.state=HIGH 'setup IO position 15 status=low 'setup Relay io.num=PL_IO_NUM_32 'IO position 32 io.enabled=YES 'enable IO position 32 io.state=HIGH 'setup IO position 32 status=low end sub ‘ when the program start, we must define and initial the GPIO Pin and it originally status sub on_sys_timer() ‘ on_sys_timer: this is a very special Function, the system will execute the command by each o.5 ‘ second sys.debugprint(ftostr(tbt29_get_c(),FTOSTR_MODE_AUTO,4)+" C"+CR_LF) ‘Read the Tibbits#29’s value then print it in the debug area if ftostr(tbt29_get_c(),FTOSTR_MODE_AUTO,4) >= 31 then ‘Right now the temperature over than 31? io.lineset(PL_IO_NUM_15_TX3,LOW) 'When the temperature over 31 then enable LED io.lineset(PL_IO_NUM_32,LOW) 'When the temperature over 31 then enable "Relay"

end if if ftostr(tbt29_get_c(),FTOSTR_MODE_AUTO,4) < 30 then ‘Right now the temperature lower than 30? io.lineset(PL_IO_NUM_15_TX3,HIGH) 'When the temperature lower 30 then disable LED io.lineset(PL_IO_NUM_32,HIGH) 'When the temperature lower 30 then disable "Relay" end if end sub 6 After Lesson and extended function design: In this Lesson, we use temperature change to enable Relay to control the device, we can use another kind of sensor to control relay, such as: a) Humidity b) liquid position

2. Entrance control test: When use correct card to the card reader then the electronic door-lock will disable till times up then electronic door-lock will lock the door again: Project name->Card Reader & Door Lock function Test 1 Project environment: use Wiegand card module to read the Wiegand card then determine which card is right then disable the electronic door lock 2 The TPS2 Tibbits module setup like following diagram: The Red square use by the project

3 The detail of Tibbits for the project:

Tibbits #09 Tibbits #08

x1 x1

Tibbits #00_3 x 1 Tibbits #03_1 x 1 4 When card reader read the setup default card, then TPS2 will enable Relay for 3 seconds to disable the electronic door lock and open the door, after 3 seconds then TPS2 will enable electronic door lock to close the door, the following diagram is the device connection:

5 When the card-reader read the correct card then enable the relay to unlock the door for 3 seconds, if the card number is incorrect then the relay is no function, the program is like following: sub on_sys_init() ser.num=0 ser.mode=PL_SER_MODE_WIEGAND ser.rxbuffrq(2) ser.txbuffrq(2) sys.buffalloc ser.interchardelay=5

ser.enabled=YES ser.rxclear() 'Configure C1 in Wiegand mode io.num=PL_IO_NUM_0 io.enabled=YES io.state=HIGH 'setup Relay GPIO 33 io.num=PL_IO_NUM_33 'IO position 33 io.enabled=YES 'enable IO positionm 33 io.state=HIGH 'setup IO position 33 status=low end sub sub on_ser_data_arrival() ' TODO: place "on_ser_data_arrival" event handler code here... dim w as string dim x as string dim i as integer x="10101011001111000100100000" 'open door card number w=ser.getdata(255) 'the card reader read the card number sys.debugprint("Data Length ("+str(len(w))+") "+w+chr(10)+chr(13)) if x=w then 'the card number is correct? for i = 1 to 30000 io.lineset(PL_IO_NUM_33,LOW) 'card number is correct enable Relay for 3 second next i io.lineset(PL_IO_NUM_33,HIGH)'after 3 second then close the door end if end sub 6 After Lesson and extended function design: This lesson we use Wiegand card reader to control relay for unlock the door lock, we can also enable other device at the same time: 1 Living room light 2 Living room air-condition

3. GPIO pin trigger test: when IR sensor enable then enable the light at the same time Project name->GPIO pin trigger relay function Test 1 Project environment: In the deep rainy night, when the courtyard IR sensor enable then we need to Enable the light at the same time for camera record 2 The TPS2 Tibbits module setup like following diagram: The Red square use by the project:

3 The detail of Tibbits for the project:

Tibbits #00_3 x 1 Tibbits #03_1 x 1 Tibbits #09 x 1 4 Project environment setup: When GPIO Pin level to the low voltage(ground) then Relay enable to open the Light device, the program is like following: sub on_sys_init() 'setup Relay GPIO 32 io.num=PL_IO_NUM_32 'IO position 32 io.enabled=YES 'enable IO position 32 io.state=HIGH 'IO position 32 status =low io.num=PL_IO_NUM_11_TX1 'IO position 11 'io.enabled=YES 'enable IO Position 11 io.state=HIGH 'IO position 11 status = low end sub sub on_sys_timer() if io.lineget(PL_IO_NUM_11_TX1)=LOW then 'when the trigger happen io.lineset(PL_IO_NUM_32,LOW) 'enable other inside device end if if io.lineget(PL_IO_NUM_11_TX1)=HIGH then 'when the trigger stop io.lineset(PL_IO_NUM_32,HIGH) end if end sub

'disable other inside device

5 After Lesson and extended function design: This lesson we use IR motion detect to enable Relay to power-on or start the other device, we also can use other sensor to enable the Relay to control other device: 1) Wave detect 2) Rainwater detect

4. Network trigger on Client & Server type of TPS2 test: Use two TPS2 to be the Server and Client, when client device trigger then it will enable some device at local and also will send the trigger signal by Ethernet to another TPS2(server) to enable far-end device Project name -> Client – Server function test 1 Project environment: when client TPS2 GPIO Pin trigger, we need to trigger another TPS2 (server) at The same time 2 The TPS2 Tibbits module setup like following diagram: The Red square use by the project: Client module setup: Server module setup:

3 The detail of Tibbits for the project:

Client: Tibbits #00_3 x 1 Tibbits #03_1 x 1 Tibbits #09 x 1

Server: Tibbits #09 x 1 Tibbits #06 x 1

4 The program is like following: there are two parts of program, one is client and the other one is Server , and the detail is like following: Client: it will automatic to search the setup server IP: sock.targetip(Server IP) sub on_sys_init() net.ip="192.168.1.39" 'setup TPS2 IP adress net.netmask="255.255.255.0" sock.num=0 'setup TCP/IP communication level=0 sock.protocol=PL_SOCK_PROTOCOL_TCP sock.localportlist="2000" 'setup TCP/IP port=2000 sock.rxbuffrq(2) 'setup TCP/IP receive data buffer area sock.txbuffrq(2) 'setup TCP/IP transmission data buffer area sock.inconmode=PL_SOCK_INCONMODE_ANY_IP_ANY_PORT sock.reconmode=PL_SOCK_RECONMODE_3 sock.targetip="192.168.1.95" sock.targetport"2000" sys.buffalloc 'system start to create the data buffer 'setup Relay GPIO 33 io.num=PL_IO_NUM_33 'IO position 33 io.enabled=YES 'enable IO position 33 io.state=HIGH 'IO position 33 status = low

io.num=PL_IO_NUM_11_TX1 'IO position 11 'io.enabled=YES 'enable IO position 11 io.state=HIGH 'IO position 11 status = low end sub sub on_sys_timer() 'local trigger if io.lineget(PL_IO_NUM_11_TX1)=LOW then 'when out-side trigger io.lineset(PL_IO_NUM_33,LOW) 'enable other device inside sock.num=0 sock.setdata(chr(02)+"12"+chr(13)) sock.send else io.lineset(PL_IO_NUM_33,HIGH) 'outside stop trigger then also stop trigger inside device end if end sub Server: Wait for client connect and also wait for client transfer trigger signal data dim io_12_counter as byte=0 sub on_sys_init() net.ip="192.168.1.95" sock.num=0 sock.protocol=PL_SOCK_PROTOCOL_TCP sock.inconmode=PL_SOCK_INCONMODE_ANY_IP_ANY_PORT sock.reconmode=PL_SOCK_RECONMODE_3 sock.targetip="192.168.1.39" sock.targetport="2000" sock.rxbuffrq(2) sock.txbuffrq(2) sys.buffalloc 'setup Relay GPIO 12 io.num=PL_IO_NUM_12_RX2 'IO position 12 io.enabled=YES 'enable IO position 12 io.state=HIGH 'IO position 12 status = low

end sub sub on_sock_data_arrival() dim x as string if sock.rxlen >= 4 then x = sock.getdata(255) if x = chr(02)+"12"+chr(13) then io.lineset(PL_IO_NUM_12_RX2,LOW) 'trigger inside others device end if end if end sub sub on_sys_timer() sock.num=0 if sock.statesimple <> PL_SSTS_EST then sock.connect end if if io.lineget(PL_IO_NUM_12_RX2) = LOW then if io_12_counter>2 then io.lineset(PL_IO_NUM_12_RX2,HIGH) io_12_counter=0 else io_12_counter=io_12_counter+1 end if end if end sub 5 After Lesson and extended function design: This lesson we use Server & Client construction to design TPS2 action, when Client GPIO Pin trigger then except the TPS2 actions, it also will trigger the server GPIO Pin by the Ethernet so the Server side will do the other actions, under this kind of structure, we can have the other difference mode like following: 1) 1 TPS2 Server to 2-3 Clients structure

5. Integration application: follow up the TPS2 lesson like above, we can integration a system environment, We can try to use TPS2 to do the home entrance control and temperature control and also security Control and we can use two TPS2 to communication and transfer data for control and reaction, we Can design a sample like below: 1 TPS2 control function description (Client): 1) Entrance control management 2) Automatic control & adjust temperature & humidity in the living room 3) Windows position control 4) IR + Wave detect in the living room 5) Fire detect in the living room 6) IR detect to automatic enable light 2 TPS2 control function description (Server): 1) Server TPS2 & client TPS2real-time data transfer 2) When client TPS2trigger then transfer data to the Server TPS2 then, Server TPS2 will feedback To client TPS2at same time and also light up LED for Server TPS2 already transfer information 3) Client TPS2out-side IR trigger, it will send the data to the Server TPS2and also light up the client TPS2 LED for out-side IR has been triggered In the brief to say, the TPS2 already can management the Home automatic and intelligence control center, I hope every student can pay more attention to learn more TPS2 module and programming for the following projects.

The summary of Tibbo Project System - GitHub

To achieve an economical basic unit price, we kept the onboard circuitry to the necessary minimum. For example, there is no built-in power supply – the boards directly accept only regulated +5V power. Real- world power processing (12V, 24V, PoE, etc.) is achieved by adding power supply Tibbits. This "no excess" ...

2MB Sizes 42 Downloads 306 Views

Recommend Documents

Summary - GitHub
A desktop or laptop computer. 1. A Mac, PC, or Linux .... 10. 4. Specifying the CellProfiler name and type of image channels. 1. Select the NamesAndTypes ...

Summary (.pdf) - GitHub
Apr 4, 2017 - The main datasets used is Caltech-UCSD Birds (CUB) and MPII Human Pose (MPH). CUB contains 11,788 images of birds across 200 species ...

Summary: Application of DDE in the imaging step - GitHub
This is an EXACT map from sky plane to the Visibilities in the UVW space! ... Because UV coverage is not continuous and infinite? Because UV ... Grid the data.

The Dissident File System - GitHub
Preferably compressed data like media files. Cryptographically secure ... Analysis of Adversary and Threats. Some attack ... Store sensitive data in free space?

Project 4.3 - Project Proposal - GitHub
Nov 5, 2013 - software will find the optimal meet time for all users. This component is similar to the ... enjoy each others company! Existing Approaches:.

PROject SuMMARy - Our Future Planet
LONG TERM GDP GROWTH. CO2 REDUCTION. SMART ENERGY GRID. RENEWABLE ENERGY. INTERGRATED EU. INTERGRATED EU. CO2 REDUCTION.

PROject SuMMARy - Our Future Planet
RENEWABLE ENERGY ... Energy Efficiency measures, creating cost savings and reducing demand. 2. ... energy sources, the future cost of electricity is.

routine management system - GitHub
10. Figure 4 - Sample Data Set of Routine Management System . .... platform apps, conventional software architectural design patterns may be adopted and ...

System Requirements Specification - GitHub
This section describes the scope of Project Odin, as well as an overview of the contents of the SRS doc- ument. ... .1 Purpose. The purpose of this document is to provide a thorough description of the requirements for Project Odin. .... Variables. â€

System Requirements Specification - GitHub
System Requirements Specification. Project Odin. Kyle Erwin. Joshua Cilliers. Jason van Hattum. Dimpho Mahoko. Keegan Ferrett. Note: This document is constantly under revision due to our chosen methodology, ... This section describes the scope of Pro

Monkey Clicks Project - GitHub
Apr 24, 2014 - Support Google admonb ads. • Share on social media. This manual describe the Tree android application V1 from Monkey. Clicks projects ...

Project Zygote - GitHub
Hardware : Thread, WiFi, Zigbee, BT 4.0, Z-Wave... ○ Network : 6LoWPAN, CoAP, XMPP, MQTT, STOMP... ○ App : WoT ... Using the framework. We will use the Zygote ... Even as a developer you need to know only JS to take full advantage.

FreeBSD ports system - GitHub
Search - make search (cont'd). Port: rsync-3.0.9_3. Path: /usr/ports/net/rsync. Info: Network file distribution/synchronization utility. Maint: [email protected].

final project requirements - GitHub
In the course of the project, we expect you to complete the following tasks: 1) Gather ... The presentations should target a non-technical audience and serve the ...

Project 1 - GitHub
The analytical solution for this PDE is given by: ... 2 dr is the complementary error ... Show that the accuracy of the solution improves on a finer mesh (as ∆y ...

CodaLab Worker System - GitHub
The worker system consists of 3 components: • REST server: ... a ”check out” call which is used to tell the server that a worker is shutting down and prevent it from.

CBIR System - GitHub
Final result was a Matlab built software application, with an image database, that utilized ... The main idea is to integrate the strengths of content- and keyword-based image ..... In the following we present some of the best search results.

Feature Project Summary: Mobiles in Malawi Jopsa.org Summary
In the summer of 2008, an SMS-based communications network was implemented for a ... free computer program developed to act as a central text message hub. ... positive patients to support groups, and relays outreach HIV testing schedules ...

FASIDS development and dependency summary - GitHub
FASIDS development and dependency summary. System Components ... Web Framework Implementation. Software Tool: ... Landscape application. GET.

Project 2 - GitHub
Use the following explicit schemes: 1. Finite-Volume: FTCS for both convection and diffusion. 2. Finite-Volume: First order upwind for convection, FTCS for ...

Project 3 - GitHub
Discuss the following: 1. Plot the residual vs. number of iteration for each method. Use different relaxation factors for PSOR and LSOR. 2. What relaxation factor ...

Project 4 - GitHub
Project 4. Vorticity-Stream F\rnction Method. Due: Mon., Dec. 6, 2010 at 6:00 pm. Consider the incompressible laminar flow in the plane channel shown below.

Open Vehicle Monitoring System - GitHub
Aug 14, 2013 - 10. CONFIGURE THE GPRS DATA CONNECTION (NEEDED FOR ...... Using the OVMS smartphone App (Android or Apple iOS), set Feature ...

Historical Query/Response System - GitHub
Feb 12, 2010 - developer website. Tick Query Examples. In order to query all the ticks for Google between 9 am and 12 pm on February 3, 2009, execute:.