Difference between revisions of "TinyOS Documentation Wiki"

From TinyOS Wiki
Jump to: navigation, search
m
 
(153 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.<br>
+
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''').<br>
 
Consult the [http://meta.wikimedia.org/wiki/Help:Contents User's Guide] for information on using the wiki software.<br>
 
<br>
 
= TinyOS Documentation Index =
 
'''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.
 
  
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].
+
== 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
 +
|}
  
We prefer all documentation to live on this site, rather than having links to external sites, but external links are OK too.
+
== 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
 +
|}
  
== Installing TinyOS ==
+
== Hardware ==
 +
{| 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
 +
|}
  
* [http://www.tinyos.net/tinyos-2.x/doc/html/install-tinyos.html Linux / Windows]
+
== Source ==
** [[java_cygwin | Common Java problems on Cygwin]]
+
{| style="border: 1px solid #cccccc; border-collapse: collapse; color: black; margin: 1em 0;"
** [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]
+
| 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]
* [http://gentoo-wiki.com/TinyOS Installing TinyOS on Gentoo]
+
| style="background-color: #ffffff; border: 1px solid #cccccc; padding: 0.2em 0.6em;"                  | The active TinyOS development source tree on GitHub
* [http://www.5secondfuse.com/tinyos/install.html Installing TinyOS on Ubuntu]
+
|-
* [http://toilers.mines.edu/Public/XubunTOS Installing TinyOS on XubunTOS]
+
| 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]
* [[Installing tinyos-2.x on Mac OS X (Tiger) | Installing TinyOS on Mac OS (Tiger)]]
+
| style="background-color: #F9F9F9; border: 1px solid #cccccc; padding: 0.2em 0.6em;"                  | nesC source on GitHub
 +
|}
  
== Programming Tutorials ==
+
== 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
 +
|}
  
* [[TinyOS Tutorials|Tutorials on Getting Started with TinyOS Programming]]
+
== Site and other content ==
* [[Boomerang|Boomerang and Tmote Resources from Moteiv]]
+
{| style="border: 1px solid #cccccc; border-collapse: collapse; color: black; margin: 1em 0;"
* [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; 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
 +
|}
  
== Other Documents ==
+
== Notes on Contributing Documentation ==
* [[FAQs| Frequently Asked Questions (FAQs)]]
+
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.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 ==
+
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>
  
Please feel free to add additional topics or create pages for each of the topics below.
+
'''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.
* 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 =
+
== Statistics ==
 +
There are actually [[Special:Statistics|{{NUMBEROFARTICLES}}]] articles in this Wiki.
  
* [http://www.mediawiki.org/wiki/Help:Configuration_settings Configuration settings list]
+
 
* [http://www.mediawiki.org/wiki/Help:FAQ MediaWiki FAQ]
+
[[Category:Articles]]
* [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.