summaryrefslogtreecommitdiffstats
path: root/doc
diff options
context:
space:
mode:
Diffstat (limited to 'doc')
-rw-r--r--doc/CHANGELOG84
-rw-r--r--doc/INSTALL46
-rw-r--r--doc/LICENSE204
-rw-r--r--doc/README60
-rwxr-xr-xdoc/updatedoc23
5 files changed, 417 insertions, 0 deletions
diff --git a/doc/CHANGELOG b/doc/CHANGELOG
new file mode 100644
index 0000000..16206fd
--- /dev/null
+++ b/doc/CHANGELOG
@@ -0,0 +1,84 @@
1==0.6 (27/03/13)==
2 Added CoAP ([http://tools.ietf.org/html/draft-ietf-core-coap-14 draft-14]) implementation (Server and Client)
3 Added Python WebIOPi Client class (HTTP or CoAP with HTTP fallback)
4 Added Python WebIOPi MulticastClient class (CoAP)
5 Added Serial, I2C, SPI and 1-Wire support
6 Python lightweight drivers with no dependency
7 Automatically load required linux modules
8 Added many device drivers, see [DEVICES device support page]
9 Added [Configuration] file
10 Added Serial monitor web app
11 Added Devices monitor web app
12 Added Devices abstractions Javascript class
13 Added GPIO digitalRead/Write and getFunction methods
14 Added Cache-Control REST response header
15 Added Server logging facility
16 Added jQuery-mobile
17 Improved button up/down handling on mobile devices
18 Fixed error fetching python-dev package during setup
19 Fixed webiopi-passwd missing execution flag when installing with PiStore
20 Fixed binary file serving
21 Fixed iOS6 Safari Mobile bug
22
23
24==0.5.3 (01/07/13)==
25 Added board revision REST URI (submitted by Andreas Riegg)
26 Added encrypted passwd file to store credentials used for HTTP authentication
27 Added webiopi-passwd command-line program to generate passwd file
28 Moved demo to examples/custom folder, added examples/basic
29 Changed /dev/mem access to allow webiopi import without root privileges when not using GPIOs
30 Disabled update checker to avoid "Update available" link
31 Improved GPIO error handling
32 Fixed encoding issue with python 2.x giving a blank page
33 Fixed setup script
34
35==0.5.2 (12/21/12 - PiStore only)==
36 Fixed blank page and file handling when server start at boot
37 Improved macros handling to allow zeo, one or more args
38 Added server loop helper
39 Improved setup.sh for the PiStore
40 Added play.sh for the PiStore to open the browser
41
42==0.5.1 (11/16/12)==
43===New Features===
44 REV 2 boards support
45 Added setup script to ease WebIOPi install
46 Use WebIOPi in your own Python scripts
47 Login/Password protection
48 Software PWM
49 Binary sequence output
50
51===Python Server & REST API===
52 Usable as a library
53 Added Python 3 support
54 Removed RPi.GPIO library dependency
55 Improved security
56 Improved file serving
57 Improved REST API
58 Added ability to use custom REST macro
59 Added ability to output a single pulse
60 Added ability to output a binary sequence
61 Added software PWM
62
63===Javascript Library===
64 Improved and simplified
65 Added ability to create custom buttons with one or two callbacks (mousedown and mouseup)
66 Added helpers for new REST functions (macro, pulse, sequence, PWM, ...)
67
68===Other changes===
69 PHP Server discontinued
70
71
72==0.3 (08/27/12)==
73 Fixed security issue in the Python server
74 Python server general improvements
75 Python server display real IP
76 Allow PHP5 < 5.4 (Works on Debian wheezy)
77 Added update tracking
78 Refactored Javascript code to be used as a library
79 Changed IDs and CSS naming
80 Added expert app
81
82
83==0.2 (08/21/12)==
84 Initial release \ No newline at end of file
diff --git a/doc/INSTALL b/doc/INSTALL
new file mode 100644
index 0000000..e34f9db
--- /dev/null
+++ b/doc/INSTALL
@@ -0,0 +1,46 @@
1WebIOPi is developed and tested on Raspbian.
2
3You only need Python, either 2.7 or 3.2. Download, then extract and install WebIOPi. The setup script will automatically download and install required dependencies using apt-get. You may have to manually install GCC and Python development headers if you are not using Raspbian.
4
5$ wget http://webiopi.googlecode.com/files/WebIOPi-0.6.0.tar.gz
6$ tar xvzf WebIOPi-0.6.0.tar.gz
7$ cd WebIOPi-0.6.0
8$ sudo ./setup.sh
9
10Finally, run Python using webiopi command :
11$ sudo webiopi [-h] [-c config] [-l log] [-s script] [-d] [port]
12
13 Options:
14 -h, --help Display this help
15 -c, --config file Load config from file
16 -l, --log file Log to file
17 -s, --script file Load script from file
18 -d, --debug Enable DEBUG
19
20 Arguments:
21 port Port to bind the HTTP Server
22
23You're done, and ready to enjoy WebIOPi ! But the server and GPIO state will be lost when you'll stop the script (CTRL-C) or close the terminal.
24
25You can also start/stop the background service :
26$ sudo /etc/init.d/webiopi start
27and
28$ sudo /etc/init.d/webiopi stop
29
30You can even setup your system to start webiopi at startup :
31$ sudo update-rc.d webiopi defaults
32
33
34=Usage=
35If your are directly using your Raspberry Pi with keyboard/mouse/display plugged, open a browser to http://localhost:8000/
36
37If your Raspberry Pi is connected to your network, you can open a browser to http://raspberrypi:8000/ with any device of your network. Replace raspberrypi by its IP.
38
39You can even add a port redirection on your router (and/or use IPv6) to control your GPIOs over Internet !
40
41Default user is "webiopi" and password is "raspberry"
42
43By choosing the GPIO Header link on the main page, you will be able to control GPIO using a web UI which looks like the board header.
44 Click/Tap the OUT/IN button to change GPIO direction.
45 Click/Tap pins to change the GPIO output state.
46http://trouch.com/wp-content/uploads/2012/08/webiopi-chrome.png \ No newline at end of file
diff --git a/doc/LICENSE b/doc/LICENSE
new file mode 100644
index 0000000..4112d3e
--- /dev/null
+++ b/doc/LICENSE
@@ -0,0 +1,204 @@
1
2
3 Apache License
4 Version 2.0, January 2004
5 http://www.apache.org/licenses/
6
7 TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
8
9 1. Definitions.
10
11 "License" shall mean the terms and conditions for use, reproduction,
12 and distribution as defined by Sections 1 through 9 of this document.
13
14 "Licensor" shall mean the copyright owner or entity authorized by
15 the copyright owner that is granting the License.
16
17 "Legal Entity" shall mean the union of the acting entity and all
18 other entities that control, are controlled by, or are under common
19 control with that entity. For the purposes of this definition,
20 "control" means (i) the power, direct or indirect, to cause the
21 direction or management of such entity, whether by contract or
22 otherwise, or (ii) ownership of fifty percent (50%) or more of the
23 outstanding shares, or (iii) beneficial ownership of such entity.
24
25 "You" (or "Your") shall mean an individual or Legal Entity
26 exercising permissions granted by this License.
27
28 "Source" form shall mean the preferred form for making modifications,
29 including but not limited to software source code, documentation
30 source, and configuration files.
31
32 "Object" form shall mean any form resulting from mechanical
33 transformation or translation of a Source form, including but
34 not limited to compiled object code, generated documentation,
35 and conversions to other media types.
36
37 "Work" shall mean the work of authorship, whether in Source or
38 Object form, made available under the License, as indicated by a
39 copyright notice that is included in or attached to the work
40 (an example is provided in the Appendix below).
41
42 "Derivative Works" shall mean any work, whether in Source or Object
43 form, that is based on (or derived from) the Work and for which the
44 editorial revisions, annotations, elaborations, or other modifications
45 represent, as a whole, an original work of authorship. For the purposes
46 of this License, Derivative Works shall not include works that remain
47 separable from, or merely link (or bind by name) to the interfaces of,
48 the Work and Derivative Works thereof.
49
50 "Contribution" shall mean any work of authorship, including
51 the original version of the Work and any modifications or additions
52 to that Work or Derivative Works thereof, that is intentionally
53 submitted to Licensor for inclusion in the Work by the copyright owner
54 or by an individual or Legal Entity authorized to submit on behalf of
55 the copyright owner. For the purposes of this definition, "submitted"
56 means any form of electronic, verbal, or written communication sent
57 to the Licensor or its representatives, including but not limited to
58 communication on electronic mailing lists, source code control systems,
59 and issue tracking systems that are managed by, or on behalf of, the
60 Licensor for the purpose of discussing and improving the Work, but
61 excluding communication that is conspicuously marked or otherwise
62 designated in writing by the copyright owner as "Not a Contribution."
63
64 "Contributor" shall mean Licensor and any individual or Legal Entity
65 on behalf of whom a Contribution has been received by Licensor and
66 subsequently incorporated within the Work.
67
68 2. Grant of Copyright License. Subject to the terms and conditions of
69 this License, each Contributor hereby grants to You a perpetual,
70 worldwide, non-exclusive, no-charge, royalty-free, irrevocable
71 copyright license to reproduce, prepare Derivative Works of,
72 publicly display, publicly perform, sublicense, and distribute the
73 Work and such Derivative Works in Source or Object form.
74
75 3. Grant of Patent License. Subject to the terms and conditions of
76 this License, each Contributor hereby grants to You a perpetual,
77 worldwide, non-exclusive, no-charge, royalty-free, irrevocable
78 (except as stated in this section) patent license to make, have made,
79 use, offer to sell, sell, import, and otherwise transfer the Work,
80 where such license applies only to those patent claims licensable
81 by such Contributor that are necessarily infringed by their
82 Contribution(s) alone or by combination of their Contribution(s)
83 with the Work to which such Contribution(s) was submitted. If You
84 institute patent litigation against any entity (including a
85 cross-claim or counterclaim in a lawsuit) alleging that the Work
86 or a Contribution incorporated within the Work constitutes direct
87 or contributory patent infringement, then any patent licenses
88 granted to You under this License for that Work shall terminate
89 as of the date such litigation is filed.
90
91 4. Redistribution. You may reproduce and distribute copies of the
92 Work or Derivative Works thereof in any medium, with or without
93 modifications, and in Source or Object form, provided that You
94 meet the following conditions:
95
96 (a) You must give any other recipients of the Work or
97 Derivative Works a copy of this License; and
98
99 (b) You must cause any modified files to carry prominent notices
100 stating that You changed the files; and
101
102 (c) You must retain, in the Source form of any Derivative Works
103 that You distribute, all copyright, patent, trademark, and
104 attribution notices from the Source form of the Work,
105 excluding those notices that do not pertain to any part of
106 the Derivative Works; and
107
108 (d) If the Work includes a "NOTICE" text file as part of its
109 distribution, then any Derivative Works that You distribute must
110 include a readable copy of the attribution notices contained
111 within such NOTICE file, excluding those notices that do not
112 pertain to any part of the Derivative Works, in at least one
113 of the following places: within a NOTICE text file distributed
114 as part of the Derivative Works; within the Source form or
115 documentation, if provided along with the Derivative Works; or,
116 within a display generated by the Derivative Works, if and
117 wherever such third-party notices normally appear. The contents
118 of the NOTICE file are for informational purposes only and
119 do not modify the License. You may add Your own attribution
120 notices within Derivative Works that You distribute, alongside
121 or as an addendum to the NOTICE text from the Work, provided
122 that such additional attribution notices cannot be construed
123 as modifying the License.
124
125 You may add Your own copyright statement to Your modifications and
126 may provide additional or different license terms and conditions
127 for use, reproduction, or distribution of Your modifications, or
128 for any such Derivative Works as a whole, provided Your use,
129 reproduction, and distribution of the Work otherwise complies with
130 the conditions stated in this License.
131
132 5. Submission of Contributions. Unless You explicitly state otherwise,
133 any Contribution intentionally submitted for inclusion in the Work
134 by You to the Licensor shall be under the terms and conditions of
135 this License, without any additional terms or conditions.
136 Notwithstanding the above, nothing herein shall supersede or modify
137 the terms of any separate license agreement you may have executed
138 with Licensor regarding such Contributions.
139
140 6. Trademarks. This License does not grant permission to use the trade
141 names, trademarks, service marks, or product names of the Licensor,
142 except as required for reasonable and customary use in describing the
143 origin of the Work and reproducing the content of the NOTICE file.
144
145 7. Disclaimer of Warranty. Unless required by applicable law or
146 agreed to in writing, Licensor provides the Work (and each
147 Contributor provides its Contributions) on an "AS IS" BASIS,
148 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
149 implied, including, without limitation, any warranties or conditions
150 of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
151 PARTICULAR PURPOSE. You are solely responsible for determining the
152 appropriateness of using or redistributing the Work and assume any
153 risks associated with Your exercise of permissions under this License.
154
155 8. Limitation of Liability. In no event and under no legal theory,
156 whether in tort (including negligence), contract, or otherwise,
157 unless required by applicable law (such as deliberate and grossly
158 negligent acts) or agreed to in writing, shall any Contributor be
159 liable to You for damages, including any direct, indirect, special,
160 incidental, or consequential damages of any character arising as a
161 result of this License or out of the use or inability to use the
162 Work (including but not limited to damages for loss of goodwill,
163 work stoppage, computer failure or malfunction, or any and all
164 other commercial damages or losses), even if such Contributor
165 has been advised of the possibility of such damages.
166
167 9. Accepting Warranty or Additional Liability. While redistributing
168 the Work or Derivative Works thereof, You may choose to offer,
169 and charge a fee for, acceptance of support, warranty, indemnity,
170 or other liability obligations and/or rights consistent with this
171 License. However, in accepting such obligations, You may act only
172 on Your own behalf and on Your sole responsibility, not on behalf
173 of any other Contributor, and only if You agree to indemnify,
174 defend, and hold each Contributor harmless for any liability
175 incurred by, or claims asserted against, such Contributor by reason
176 of your accepting any such warranty or additional liability.
177
178 END OF TERMS AND CONDITIONS
179
180 APPENDIX: How to apply the Apache License to your work.
181
182 To apply the Apache License to your work, attach the following
183 boilerplate notice, with the fields enclosed by brackets "[]"
184 replaced with your own identifying information. (Don't include
185 the brackets!) The text should be enclosed in the appropriate
186 comment syntax for the file format. We also recommend that a
187 file or class name and description of purpose be included on the
188 same "printed page" as the copyright notice for easier
189 identification within third-party archives.
190
191 Copyright [yyyy] [name of copyright owner]
192
193 Licensed under the Apache License, Version 2.0 (the "License");
194 you may not use this file except in compliance with the License.
195 You may obtain a copy of the License at
196
197 http://www.apache.org/licenses/LICENSE-2.0
198
199 Unless required by applicable law or agreed to in writing, software
200 distributed under the License is distributed on an "AS IS" BASIS,
201 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
202 See the License for the specific language governing permissions and
203 limitations under the License.
204
diff --git a/doc/README b/doc/README
new file mode 100644
index 0000000..f17ecc9
--- /dev/null
+++ b/doc/README
@@ -0,0 +1,60 @@
1===WebIOPi is a fully integrated Internet of Things framework for the Raspberry Pi.===
2 Control, debug, and use your Pi's GPIO locally or remotely, from a browser or any app.
3 WebIOPi is the perfect Swiss-knife to make connected things with the Raspberry Pi.
4 Developed and provided by Eric PTAK, french R&D engineer in networks, software, and Internet of Things.
5
6===Features===
7 REST API over HTTP and CoAP (draft-14) with multicast support
8 Server written in Python with zero dependency
9 Supports GPIO, Serial, I2C, SPI, 1-Wire with zero dependency
10 Supports more than [DEVICES 30 devices] including DAC, ADC, sensors...
11 Full Python library for the Server, GPIO, Serial, I2C, SPI and devices drivers
12 Compatible with both Python 2 and 3
13 Extensible and highly customizable
14 Login/Password protection
15 Mobile devices compatible
16 Includes debug web apps
17 GPIO Header
18 GPIO List
19 Serial Monitor
20 Devices Monitor
21 Javascript client library built on top of jQuery
22 Python client library with HTTP and CoAP support
23
24===What for===
25 Use webiopi.GPIO library to control GPIO in your Python scripts
26 Use devices drivers to interact with DAC, ADC, sensors and more in your Python scripts
27 Use Serial, I2C and SPI webiopi classes in your Python scripts
28 Use the GPIO Header web-app to play with GPIO and debug circuits
29 Use the Serial Monitor web-app to debug Serial devices
30 Use the Devices Monitor web-app to debug devices like DAC, ADC, sensors and more
31 Create a web-app with the Javascript library to remote controls things connected on GPIO
32 Add webiopi in your existing Python script to simply add all WebIOPi features
33 Extends webiopi with your own macro
34 Extends webiopi with scripts loading facilities in a Arduino fashion way (setup, loop, destroy)
35 Use the Python Client to make Pi-2-Pi communication through the REST API
36 Use the Python Multicast Client to control multiple Pis with a single REST call
37 Use the Java Client to use the REST API from a Java application, including Android
38 Use the REST API from any technology/language
39
40===Where to start===
41 [INSTALL Installation]
42 [http://groups.google.com/group/webiopi Support & Discussion]
43 [http://trouch.com Developer's Blog (Eric/trouch)]
44 [http://issuu.com/themagpi/docs/issue9final?mode=window WebRobotCam Part 1 in MagPi #9] by Eric
45 [http://issuu.com/themagpi/docs/issue10final?mode=window WebRobotCam Part 2 in MagPi #10] by Eric
46 [http://www.youtube.com/watch?v=wGahWkjettw Video tutorial] by RaspberryPiBeginners
47
48<p></p>
49
50http://trouch.com/wp-content/uploads/2012/11/webiopi-architecture.png
51
52http://trouch.com/wp-content/uploads/2012/08/webiopi-chrome.png
53
54http://trouch.com/wp-content/uploads/2013/03/webiopi-0.6-serialmon.png
55
56http://trouch.com/wp-content/uploads/2013/03/webiopi-0.6-devices1.png
57
58<p></p>
59
60<p align="center"><a href="https://www.paypal.com/cgi-bin/webscr?cmd=s-xclick&hostedbuttonid=79EM7ZV9FQ4HU">https://www.paypal.com/enUS/i/btn/btndonateCCLG.gif</a></p> \ No newline at end of file
diff --git a/doc/updatedoc b/doc/updatedoc
new file mode 100755
index 0000000..aa0e5bc
--- /dev/null
+++ b/doc/updatedoc
@@ -0,0 +1,23 @@
1#!/bin/sh
2
3if [ -z "$*" ]; then
4 files=`ls`
5else
6 files="$*"
7fi
8
9for file in $files; do
10 echo "Downloading $file..."
11 wget -q http://webiopi.googlecode.com/svn/wiki/$file.wiki &&
12 echo "Processing $file..." &&
13 mv $file.wiki $file &&
14 sed -i 's/<font color="red">\|<\/font>//g' $file &&
15 sed -i 's/<pre>\|<\/pre>//g' $file &&
16 sed -i 's/[_*]//g' $file &&
17 sed -i '/{{{\|}}}/d' $file &&
18 echo "$file OK" ||
19 echo "$file not on wiki"
20done
21
22echo "Uploading changes on SVN..."
23svn commit -m "updated doc from wiki" \ No newline at end of file