Difference between revisions of "TinyOS Documentation Wiki"

From TinyOS Wiki
Jump to: navigation, search
 
(181 intermediate revisions by 37 users not shown)
Line 1: Line 1:
<big>'''TinyOS Documentation Wiki'''</big>
+
__NOTOC__
 +
Welcome to TinyOS! This is the official TinyOS Documentation Wiki. Look here for how to get started, hardware overviews, and more detailed documentation of the TinyOS tree. Also, everyone is welcome to edit these pages and contribute TinyOS documentation. So please look around, get TinyOS running, and happy embedded programming!
  
This is the new Wiki site for the TinyOS Documentation Working Group.
+
== Starting with TinyOS ==
Everyone is welcome to edit these pages and contribute TinyOS documentation.
+
{| style="border: 1px solid #cccccc; border-collapse: collapse; color: black; margin: 1em 0;"
 +
| style="background-color: #ffffff; border: 1px solid #cccccc; padding: 0.2em 0.6em; font-size: 1.2em;" | [[TinyOS Overview]]
 +
| style="background-color: #ffffff; border: 1px solid #cccccc; padding: 0.2em 0.6em;"                  | General overview of TinyOS
 +
|-
 +
| style="background-color: #F9F9F9; border: 1px solid #cccccc; padding: 0.2em 0.6em; font-size: 1.2em;" | [[Installing TinyOS]]
 +
| style="background-color: #F9F9F9; border: 1px solid #cccccc; padding: 0.2em 0.6em;"                  | Downloading, installing the most recent version of TinyOS (2.1.2), and where to go next
 +
|-
 +
| style="background-color: #ffffff; border: 1px solid #cccccc; padding: 0.2em 0.6em; font-size: 1.2em;" | [[The simplest TinyOS program|The Simplest TinyOS Program]]
 +
| style="background-color: #ffffff; border: 1px solid #cccccc; padding: 0.2em 0.6em;"                  | Simple example code that compiles
 +
|-
 +
| style="background-color: #F9F9F9; border: 1px solid #cccccc; padding: 0.2em 0.6em; font-size: 1.2em;" | [[Quick Start Guides]]
 +
| style="background-color: #F9F9F9; border: 1px solid #cccccc; padding: 0.2em 0.6em;"                  | Guide to getting going with TelosB motes
 +
|-
 +
| style="background-color: #ffffff; border: 1px solid #cccccc; padding: 0.2em 0.6em; font-size: 1.2em;" | [[TinyOS_Tutorials|Tutorials]]
 +
| style="background-color: #ffffff; border: 1px solid #cccccc; padding: 0.2em 0.6em;"                  | An introduction to TinyOS programming
 +
|}
  
Consult the [http://meta.wikimedia.org/wiki/Help:Contents User's Guide] for information on using the wiki software.
+
== Documentation ==
 +
{| style="border: 1px solid #cccccc; border-collapse: collapse; color: black; margin: 1em 0;"
 +
| style="background-color: #ffffff; border: 1px solid #cccccc; padding: 0.2em 0.6em; font-size: 1.2em;" | [http://www.tinyos.net/tinyos-2.x/doc/pdf/tinyos-programming.pdf TinyOS Programming Manual]
 +
| style="background-color: #ffffff; border: 1px solid #cccccc; padding: 0.2em 0.6em;"                  | This detailed (200 page) book on programming TinyOS 2.0 is an early version of [http://www.amazon.com/TinyOS-Programming-Philip-Levis/dp/0521896061/ TinyOS Programming] ([http://csl.stanford.edu/~pal/pubs/tos-programming-web.pdf Excerpt with chapters 1-7])
 +
|-
 +
| style="background-color: #F9F9F9; border: 1px solid #cccccc; padding: 0.2em 0.6em; font-size: 1.2em;" | [[TEPs]]
 +
| style="background-color: #F9F9F9; border: 1px solid #cccccc; padding: 0.2em 0.6em;"                  | TinyOS Enhancement Proposals, which describe the TinyOS APIs and their implementations
 +
|-
 +
| style="background-color: #ffffff; border: 1px solid #cccccc; padding: 0.2em 0.6em; font-size: 1.2em;" | [[Source Code Documentation]]
 +
| style="background-color: #ffffff; border: 1px solid #cccccc; padding: 0.2em 0.6em;"                  | HTML documentation of TinyOS source code
 +
|-
 +
| style="background-color: #F9F9F9; border: 1px solid #cccccc; padding: 0.2em 0.6em; font-size: 1.2em;" | [https://github.com/tinyos/nesc/blob/master/doc/ref.pdf?raw=true nesC 1.3 reference manual]
 +
| style="background-color: #F9F9F9; border: 1px solid #cccccc; padding: 0.2em 0.6em;"                  | The nesC manual
 +
|-
 +
| style="background-color: #ffffff; border: 1px solid #cccccc; padding: 0.2em 0.6em; font-size: 1.2em;" | [[Networking]]
 +
| style="background-color: #ffffff; border: 1px solid #cccccc; padding: 0.2em 0.6em;"                  | Network documentation
 +
|-
 +
| style="background-color: #F9F9F9; border: 1px solid #cccccc; padding: 0.2em 0.6em; font-size: 1.2em;" | [[Using TinyOS]]
 +
| style="background-color: #F9F9F9; border: 1px solid #cccccc; padding: 0.2em 0.6em;"                  | Complete list of tutorials, programming guides, and other resources for getting started with TinyOS
 +
|-
 +
| style="background-color: #ffffff; border: 1px solid #cccccc; padding: 0.2em 0.6em; font-size: 1.2em;" | [[Other]]
 +
| style="background-color: #ffffff; border: 1px solid #cccccc; padding: 0.2em 0.6em;"                  | Other documentation
 +
|}
  
===Proposed topics for the TinyOS Wiki===
+
== Hardware ==
[[Tinyos Tutorials]]
+
{| style="border: 1px solid #cccccc; border-collapse: collapse; color: black; margin: 1em 0;"
 +
| style="background-color: #ffffff; border: 1px solid #cccccc; padding: 0.2em 0.6em; font-size: 1.2em;" | [[Platform Hardware|Supported Hardware Platforms]]
 +
| style="background-color: #ffffff; border: 1px solid #cccccc; padding: 0.2em 0.6em;"                  | Layouts, chips, and other details
 +
|}
  
* Platforms
+
== Source ==
**Overview of commonly used platforms with software porting/compatibility issues
+
{| style="border: 1px solid #cccccc; border-collapse: collapse; color: black; margin: 1em 0;"
* Sensors
+
| style="background-color: #ffffff; border: 1px solid #cccccc; padding: 0.2em 0.6em; font-size: 1.2em;" | [http://github.com/tinyos/tinyos-main TinyOS Development Tree]
** Sensor boards
+
| style="background-color: #ffffff; border: 1px solid #cccccc; padding: 0.2em 0.6em;"                  | The active TinyOS development source tree on GitHub
** Which TinyOS modules to use for which sensor
+
|-
** How to convert the raw sensor values to commonly used formats
+
| style="background-color: #F9F9F9; border: 1px solid #cccccc; padding: 0.2em 0.6em; font-size: 1.2em;" | [http://github.com/tinyos/nesc nesC Source Repository]
* RSSI / LQI
+
| style="background-color: #F9F9F9; border: 1px solid #cccccc; padding: 0.2em 0.6em;"                  | nesC source on GitHub
** How to obtain RSSI / LQI values for a received packet
+
|}
** How to measure RSSI values without receiving a packet (measuring noise)
 
** Relationship between RSSI / LQI values and physical distance
 
* TX power
 
** How to reduce the TX power
 
*** For all transmissions
 
*** On a per-packet basis
 
* How to debug the programmer
 
** For Mica-based motes, how to ensure they are properly plugged in
 
** For network based programmers, how to verify the communication
 
** Common mistakes, common hardware errors
 
* How to debug the serial communication
 
** Which port to use for MIB520
 
** How to configure network-based programmers
 
* Case Studies (Example applications)
 
* NesC and TinyOS Programming (eg links to [http://www.tinyos.net/tinyos-2.x/doc/pdf/tinyos-programming.pdf TinyOS Programming Manual] and [http://www.tinyos.net/tinyos-2.x/doc/html/tutorial/index.html Tutorials], plus community added tips)
 
* Installing TinyOS
 
** [http://www.tinyos.net/tinyos-2.x/doc/html/install-tinyos.html Linux / Windows]
 
*** [[java_cygwin | Common Java problems on Cygwin]]
 
** [http://gentoo-wiki.com/TinyOS Gentoo]
 
** [http://www.stanford.edu/~klueska/installing_tinyos2.html Mac OS (Tiger)]
 
  
== Links ==
+
== Contributing to TinyOS ==
 +
{| style="border: 1px solid #cccccc; border-collapse: collapse; color: black; margin: 1em 0;"
 +
| style="background-color: #ffffff; border: 1px solid #cccccc; padding: 0.2em 0.6em; font-size: 1.2em;" | [[Contributing Code to TinyOS]]
 +
| style="background-color: #ffffff; border: 1px solid #cccccc; padding: 0.2em 0.6em;"                  | Using <code>tinyos-contrib</code>
 +
|-
 +
| style="background-color: #F9F9F9; border: 1px solid #cccccc; padding: 0.2em 0.6em; font-size: 1.2em;" | [[TinyOS 2.x index of contributed code]]
 +
| style="background-color: #F9F9F9; border: 1px solid #cccccc; padding: 0.2em 0.6em;"                  | Contents of <code>tinyos-contrib</code>
 +
|-
 +
| style="background-color: #ffffff; border: 1px solid #cccccc; padding: 0.2em 0.6em; font-size: 1.2em;" | [[TinyOS_Network_Protocol_Working_Group|TinyOS Network Protocol Working Group]]
 +
| style="background-color: #ffffff; border: 1px solid #cccccc; padding: 0.2em 0.6em;"                  | Notes on the network working group
 +
|}
  
John Regehr says: To save myself from repeating information to students I wrote a very quick guide to getting started with TinyOS and Avrora, the UCLA Mica2 simulator. The point is not to provide any new information but rather to avoid extraneous information. [http://www.cs.utah.edu/~regehr/tos_avrora.html]
+
== Site and other content ==
 +
{| style="border: 1px solid #cccccc; border-collapse: collapse; color: black; margin: 1em 0;"
 +
| style="background-color: #ffffff; border: 1px solid #cccccc; padding: 0.2em 0.6em; font-size: 1.2em;" | [[Special:Allpages|Index]]
 +
| style="background-color: #ffffff; border: 1px solid #cccccc; padding: 0.2em 0.6em;"                  | All of the available pages on this site
 +
|-
 +
| style="background-color: #F9F9F9; border: 1px solid #cccccc; padding: 0.2em 0.6em; font-size: 1.2em;" | [http://www.google.com/coop/cse?cx=000490616372089452102%3Ajdf9nzpy7se Search engine]
 +
| style="background-color: #F9F9F9; border: 1px solid #cccccc; padding: 0.2em 0.6em;"                  | Search TinyOS documentation and mailing lists
 +
|-
 +
| style="background-color: #ffffff; border: 1px solid #cccccc; padding: 0.2em 0.6em; font-size: 1.2em;" | [[WikiDoc]]
 +
| style="background-color: #ffffff; border: 1px solid #cccccc; padding: 0.2em 0.6em;"                  | Wiki documentation
 +
|-
 +
| style="background-color: #F9F9F9; border: 1px solid #cccccc; padding: 0.2em 0.6em; font-size: 1.2em;" | [[Previous Documentation Sites]]
 +
| style="background-color: #F9F9F9; border: 1px solid #cccccc; padding: 0.2em 0.6em;"                  | Old documentations
 +
|}
  
John Regehr says: I have started to work on a TinyOS debugging tutorial.  It is just a skeleton so far. I would be more than happy to integrate pieces of text that are submitted to me.  [http://www.cs.utah.edu/~regehr/debugging_tinyos/]
+
== Notes on Contributing Documentation ==
 +
In order to edit, you must first create an account, using the "create account" link on the upper right. Consult the [http://meta.wikimedia.org/wiki/Help:Contents Wiki User's Guide] for information on using the wiki software.<br>
  
* [http://homepages.dcc.ufmg.br/~bpires/tutorials/tutorial/ Tutorial on setting up a complete TinyOS 2.x Network]
+
This site actively encourages contributions. If you are not familiar with the Wiki system, consult the [http://meta.wikimedia.org/wiki/Help:Contents Wiki User's Guide]. We prefer all documentation to live on this site, rather than having links to external sites, but if you really need to point at an external site, external links are OK too.<br>
* [http://homepages.dcc.ufmg.br/~bpires/tutorials/manuals/ Some Datasheets]
 
* [http://homepages.dcc.ufmg.br/~bpires/tutorials/dossie Tutorial in Portugese]
 
  
== Getting started ==
+
'''All content on this website is covered by the [http://creativecommons.org/licenses/by-sa/3.0/ Creative Commons Attribution-Share Alike 3.0 license].''' By contributing content to this site, you are hereby assigning this license to such content.
  
* [http://www.mediawiki.org/wiki/Help:Configuration_settings Configuration settings list]
+
== Statistics ==
* [http://www.mediawiki.org/wiki/Help:FAQ MediaWiki FAQ]
+
There are actually [[Special:Statistics|{{NUMBEROFARTICLES}}]] articles in this Wiki.
* [http://mail.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki release mailing list]
+
 
 +
 
 +
[[Category:Articles]]

Latest revision as of 20:03, 12 May 2013

Welcome to TinyOS! This is the official TinyOS Documentation Wiki. Look here for how to get started, hardware overviews, and more detailed documentation of the TinyOS tree. Also, everyone is welcome to edit these pages and contribute TinyOS documentation. So please look around, get TinyOS running, and happy embedded programming!

Starting with TinyOS

TinyOS Overview General overview of TinyOS
Installing TinyOS Downloading, installing the most recent version of TinyOS (2.1.2), and where to go next
The Simplest TinyOS Program Simple example code that compiles
Quick Start Guides Guide to getting going with TelosB motes
Tutorials An introduction to TinyOS programming

Documentation

TinyOS Programming Manual This detailed (200 page) book on programming TinyOS 2.0 is an early version of TinyOS Programming (Excerpt with chapters 1-7)
TEPs TinyOS Enhancement Proposals, which describe the TinyOS APIs and their implementations
Source Code Documentation HTML documentation of TinyOS source code
nesC 1.3 reference manual The nesC manual
Networking Network documentation
Using TinyOS Complete list of tutorials, programming guides, and other resources for getting started with TinyOS
Other Other documentation

Hardware

Supported Hardware Platforms Layouts, chips, and other details

Source

TinyOS Development Tree The active TinyOS development source tree on GitHub
nesC Source Repository nesC source on GitHub

Contributing to TinyOS

Contributing Code to TinyOS Using tinyos-contrib
TinyOS 2.x index of contributed code Contents of tinyos-contrib
TinyOS Network Protocol Working Group Notes on the network working group

Site and other content

Index All of the available pages on this site
Search engine Search TinyOS documentation and mailing lists
WikiDoc Wiki documentation
Previous Documentation Sites Old documentations

Notes on Contributing Documentation

In order to edit, you must first create an account, using the "create account" link on the upper right. Consult the Wiki User's Guide for information on using the wiki software.

This site actively encourages contributions. If you are not familiar with the Wiki system, consult the Wiki User's Guide. We prefer all documentation to live on this site, rather than having links to external sites, but if you really need to point at an external site, external links are OK too.

All content on this website is covered by the Creative Commons Attribution-Share Alike 3.0 license. By contributing content to this site, you are hereby assigning this license to such content.

Statistics

There are actually 558 articles in this Wiki.