Difference between revisions of "TinyOS Documentation Wiki"

From TinyOS Wiki
Jump to: navigation, search
m (Meta-documentaiton for the Wiki site)
 
(158 intermediate revisions by 34 users not shown)
Line 1: Line 1:
This is the new Wiki site for the TinyOS Documentation Working Group.
+
__NOTOC__
Everyone is welcome to edit these pages and contribute TinyOS documentation.
+
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!
  
In order to edit, you must first create an account, using the link on the upper right ('''Login / create account''').
+
== Starting with 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;" | [[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
 +
|}
  
= TinyOS Documentation Index =
+
== Hardware ==
'''Purpose of this Wiki Site:''' This site is part of a new effort (as of October 2007) to establish a single, common site for all TinyOS Documentation, akin to the Linux Documentation Project (but for TinyOS, of course). Right now, TinyOS documentation is scattered across many sites and is often poorly maintained. We hope that by using a Wiki - and making the site fairly open to edits from anyone - that it will be possible to create and ''maintain'' TinyOS documentation over a longer period of time.
+
{| 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
 +
|}
  
So, you are encouraged to contribute documentation to this site simply by editing this page and adding a link to a new (empty) page. Come back and click on that link and start creating content for the new page. Don't worry too much about organization right now, since we can re-organize things later on if need be. If you are not familiar with the Wiki system, consult the [http://meta.wikimedia.org/wiki/Help:Contents User's Guide].
+
== Source ==
 +
{| 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://github.com/tinyos/tinyos-main TinyOS Development Tree]
 +
| style="background-color: #ffffff; border: 1px solid #cccccc; padding: 0.2em 0.6em;"                  | The active TinyOS development source tree on GitHub
 +
|-
 +
| 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]
 +
| style="background-color: #F9F9F9; border: 1px solid #cccccc; padding: 0.2em 0.6em;"                  | nesC source on GitHub
 +
|}
  
We prefer all documentation to live on this site, rather than having links to external sites, but external links are OK too.
+
== 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
 +
|}
  
== Installing TinyOS ==
+
== 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
 +
|}
  
* [http://www.tinyos.net/tinyos-2.x/doc/html/install-tinyos.html Linux / Windows]
+
== Notes on Contributing Documentation ==
** [[java_cygwin | Common Java problems on Cygwin]]
+
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://www.isis.vanderbilt.edu/projects/NEST/tinyos-2.x-iris/doc/html/install-tinyos-iris.html Updating external tools to support the IRIS mote]
 
* [http://gentoo-wiki.com/TinyOS Installing TinyOS on Gentoo]
 
* [http://www.5secondfuse.com/tinyos/install.html Installing TinyOS on Ubuntu]
 
* [http://toilers.mines.edu/Public/XubunTOS Installing TinyOS on XubunTOS]
 
* [[Installing tinyos-2.x on Mac OS X (Tiger) | Installing TinyOS on Mac OS (Tiger)]]
 
  
== Programming Tutorials ==
+
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>
  
* [[TinyOS Tutorials|Tutorials on Getting Started with TinyOS Programming]]
+
'''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.
* [[Boomerang|Boomerang and Tmote Resources from Moteiv]]
 
* [http://www.tinyos.net/tinyos-2.x/doc/pdf/tinyos-programming.pdf TinyOS Programming Manual]
 
  
== Other Documents ==
+
== Statistics ==
* [[FAQs| Frequently Asked Questions (FAQs)]]
+
There are actually [[Special:Statistics|{{NUMBEROFARTICLES}}]] articles in this Wiki.
* [http://www.cs.utah.edu/~regehr/tos_avrora.html Using TinyOS with the Avrora Simulator]
 
* [http://www.cs.utah.edu/~regehr/debugging_tinyos/ TinyOS Debugging Tutorial]
 
* [http://homepages.dcc.ufmg.br/~bpires/tutorials/tutorial/ Tutorial on setting up a complete TinyOS 2.x Network]
 
* [http://homepages.dcc.ufmg.br/~bpires/tutorials/manuals/ Some Datasheets]
 
* [http://homepages.dcc.ufmg.br/~bpires/tutorials/dossie Tutorial in Portuguese]
 
  
= Documents that need to be written =
 
  
Please feel free to add additional topics or create pages for each of the topics below.
+
[[Category:Articles]]
* Platforms
 
**Overview of commonly used platforms with software porting/compatibility issues
 
* Sensors
 
** Sensor boards
 
** Which TinyOS modules to use for which sensor
 
** How to convert the raw sensor values to commonly used formats
 
* RSSI / LQI
 
** 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)
 
 
 
 
 
 
 
 
 
 
 
== Meta-documentation for the Wiki site ==
 
 
 
* [http://www.mediawiki.org/wiki/Help:Configuration_settings Configuration settings list]
 
* [http://www.mediawiki.org/wiki/Help:FAQ MediaWiki FAQ]
 
* [http://mail.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki release mailing list]
 

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.