Federico Bonelli 2 years ago
parent
commit
8a6cb6c444

BIN
media/fonts/dowse-related/Exported Fonts/VDS/VDS_Bold_Italic_New.ttf


BIN
media/fonts/dowse-related/Exported Fonts/VDS/VDS_Bold_New.ttf


BIN
media/fonts/dowse-related/Exported Fonts/VDS/VDS_Italic_New.ttf


BIN
media/fonts/dowse-related/Exported Fonts/VDS/VDS_New.ttf


BIN
media/fonts/dowse-related/Exported Fonts/VDS/VDS_Thin.ttf


BIN
media/fonts/dowse-related/Exported Fonts/VDS/VDS_Thin_Ita.ttf


+ 297 - 150
www/documentation.html

@@ -1,165 +1,312 @@
1 1
 <!DOCTYPE html>
2 2
 <html lang="en">
3
-
4
-<head>
5
-
6
-    <meta charset="utf-8">
7
-    <meta http-equiv="X-UA-Compatible" content="IE=edge">
8
-    <meta name="viewport" content="width=device-width, initial-scale=1">
9
-    <meta name="description" content="">
10
-    <meta name="author" content="">
11
-
12
-    <title>Dowse.eu - IoT On/Off button</title>
13
-
14
-    <!-- Bootstrap Core CSS -->
15
-    <link href="css/bootstrap.min.css" rel="stylesheet">
16
-
17
-    <!-- Custom CSS -->
18
-    <link href="css/modern-business.css" rel="stylesheet">
19
-
20
-    <!-- Custom Fonts -->
21
-    <link href="font-awesome/css/font-awesome.min.css" rel="stylesheet" type="text/css">
22
-
23
-    <!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
24
-    <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
25
-    <!--[if lt IE 9]>
3
+    <head>
4
+        <meta charset="utf-8">
5
+        <meta http-equiv="X-UA-Compatible" content="IE=edge">
6
+        <meta name="viewport" content="width=device-width, initial-scale=1">
7
+        <meta name="description" content="">
8
+        <meta name="author" content="">
9
+        <title>Dowse.eu - IoT On/Off button</title>
10
+        <!-- Bootstrap Core CSS -->
11
+        <link href="css/bootstrap.min.css" rel="stylesheet">
12
+        <!-- Custom CSS -->
13
+        <link href="css/modern-business.css" rel="stylesheet">
14
+        <!-- Custom Fonts -->
15
+        <link href="font-awesome/css/font-awesome.min.css" rel="stylesheet" type="text/css">
16
+        <!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
17
+        <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
18
+        <!--[if lt IE 9]>
26 19
         <script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
27 20
         <script src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script>
28 21
     <![endif]-->
29 22
         <link href="css/dowse.css" rel="stylesheet" type="text/css">
30
-</head>
31
-
32
-<body>
33
-
34
-  <!-- Navigation -->
35
-  <nav class="navbar navbar-inverse navbar-fixed-top" role="navigation">
36
-      <div class="container">
37
-          <!-- Brand and toggle get grouped for better mobile display -->
38
-          <div class="navbar-header">
39
-              <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
40
-                  <span class="sr-only">Toggle navigation</span>
41
-                  <span class="icon-bar"></span>
42
-                  <span class="icon-bar"></span>
43
-                  <span class="icon-bar"></span>
44
-              </button>
45
-              <a class="navbar-brand" href="index.html">Dowse.eu</a>
46
-          </div>
47
-          <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
48
-              <ul class="nav navbar-nav navbar-right">
49
-                  <li>
50
-                      <a href="about.html" class="dowser">About Dowse</a>
51
-                  </li>
52
-                  <li>
53
-                      <a href="download.html">Downloads</a>
54
-                  </li>
55
-                  <li>
23
+    </head>
24
+    <body>
25
+        <!-- Navigation -->
26
+        <nav class="navbar navbar-inverse navbar-fixed-top" role="navigation">
27
+            <div class="container">
28
+                <!-- Brand and toggle get grouped for better mobile display -->
29
+                <div class="navbar-header">
30
+                    <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
31
+                        <span class="sr-only">Toggle navigation</span>
32
+                        <span class="icon-bar"></span>
33
+                        <span class="icon-bar"></span>
34
+                        <span class="icon-bar"></span>
35
+                    </button>
36
+                    <a class="navbar-brand" href="index.html">Dowse.eu</a>
37
+                </div>
38
+                <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
39
+                    <ul class="nav navbar-nav navbar-right">
40
+                        <li>
41
+                            <a href="about.html" class="dowser">About Dowse</a>
42
+                        </li>
43
+                        <li>
44
+                            <a href="download.html">Downloads</a>
45
+                        </li>
46
+                        <li>
56 47
 </li>
57
-                  <li>
58
-                      <a href="faq.html">FAQ</a>
59
-                  </li>
60
-                  <li class="dropdown">
61
-                      <a href="#" class="dropdown-toggle" data-toggle="dropdown">Resources <b class="caret"></b></a>
62
-                      <ul class="dropdown-menu">
63
-                          <li>
64
-                              <a href="https://github.com/dyne/dowse">Github Project page</a>
65
-                          </li>
66
-                          <li>
67
-                              <a href="https://github.com/dyne/dowse/wiki">Wiki</a>
68
-                          </li>
69
-                          <li>
70
-                              <a href="https://crowd.dowse.eu">Crowdfunding page</a>
71
-                          </li>
72
-                      </ul>
73
-                  </li>
74
-                  <li>
48
+                        <li>
49
+                            <a href="faq.html">FAQ</a>
50
+                        </li>
51
+                        <li class="dropdown">
52
+                            <a href="#" class="dropdown-toggle" data-toggle="dropdown">Resources <b class="caret"></b></a>
53
+                            <ul class="dropdown-menu">
54
+                                <li>
55
+                                    <a href="https://github.com/dyne/dowse">Github Project page</a>
56
+                                </li>
57
+                                <li>
58
+                                    <a href="https://github.com/dyne/dowse/wiki">Wiki</a>
59
+                                </li>
60
+                                <li>
61
+                                    <a href="https://crowd.dowse.eu">Crowdfunding page</a>
62
+                                </li>
63
+                            </ul>
64
+                        </li>
65
+                        <li>
75 66
 </li>
76
-                  <li>
77
-                      <a href="past-events.html">Events</a>
78
-                  </li>
79
-                  <li>
80
-                      <a href="workshops.html">Workshops</a>
81
-                  </li>
82
-                  <li>
83
-                      <a href="contact.html">Contact</a>
84
-                  </li>
85
-              </ul>
86
-          </div>
87
-          <!-- Collect the nav links, forms, and other content for toggling -->
88
-          <!-- /.navbar-collapse -->
89
-      </div>
90
-      <!-- /.container -->
91
-  </nav>
92
-
93
-    <!-- Page Content -->
94
-    <div class="container">
95
-
96
-        <!-- Page Heading/Breadcrumbs -->
97
-        <div class="row">
98
-            <div class="col-lg-12">
99
-                <h1 class="page-header">Sidebar Page
100
-                    <small>Subheading</small>
101
-                </h1>
102
-                <ol class="breadcrumb">
103
-                    <li><a href="index.html">Home</a>
104
-                    </li>
105
-                    <li class="active">Sidebar Page</li>
106
-                </ol>
107
-            </div>
108
-        </div>
109
-        <!-- /.row -->
110
-
111
-        <!-- Content Row -->
112
-        <div class="row">
113
-            <!-- Sidebar Column -->
114
-            <div class="col-md-3">
115
-                <div class="list-group">
116
-                    <a href="index.html" class="list-group-item">Home</a>
117
-                    <a href="about.html" class="list-group-item">About</a>
118
-                    <a href="services.html" class="list-group-item">Services</a>
119
-                    <a href="contact.html" class="list-group-item">Contact</a>
120
-                    <a href="portfolio-1-col.html" class="list-group-item">1 Column Portfolio</a>
121
-                    <a href="portfolio-2-col.html" class="list-group-item">2 Column Portfolio</a>
122
-                    <a href="portfolio-3-col.html" class="list-group-item">3 Column Portfolio</a>
123
-                    <a href="portfolio-4-col.html" class="list-group-item">4 Column Portfolio</a>
124
-                    <a href="portfolio-item.html" class="list-group-item">Single Portfolio Item</a>
125
-                    <a href="blog-home-1.html" class="list-group-item">Blog Home 1</a>
126
-                    <a href="blog-home-2.html" class="list-group-item">Blog Home 2</a>
127
-                    <a href="blog-post.html" class="list-group-item">Blog Post</a>
128
-                    <a href="full-width.html" class="list-group-item">Full Width Page</a>
129
-                    <a href="sidebar.html" class="list-group-item active">Sidebar Page</a>
130
-                    <a href="faq.html" class="list-group-item">FAQ</a>
131
-                    <a href="404.html" class="list-group-item">404</a>
132
-                    <a href="pricing.html" class="list-group-item">Pricing Table</a>
67
+                        <li>
68
+                            <a href="past-events.html">Events</a>
69
+                        </li>
70
+                        <li>
71
+                            <a href="workshops.html">Workshops</a>
72
+                        </li>
73
+                        <li>
74
+                            <a href="contact.html">Contact</a>
75
+                        </li>
76
+                    </ul>
133 77
                 </div>
78
+                <!-- Collect the nav links, forms, and other content for toggling -->
79
+                <!-- /.navbar-collapse -->
134 80
             </div>
135
-            <!-- Content Column -->
136
-            <div class="col-md-9">
137
-                <h2>Section Heading</h2>
138
-                <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Soluta, et temporibus, facere perferendis veniam beatae non debitis, numquam blanditiis necessitatibus vel mollitia dolorum laudantium, voluptate dolores iure maxime ducimus fugit.</p>
139
-            </div>
140
-        </div>
141
-        <!-- /.row -->
142
-
143
-        <hr>
144
-
145
-        <!-- Footer -->
146
-        <footer>
81
+            <!-- /.container -->
82
+        </nav>
83
+        <!-- Page Content -->
84
+        <div class="container">
85
+            <!-- Page Heading/Breadcrumbs -->
147 86
             <div class="row">
148 87
                 <div class="col-lg-12">
149
-                    <p>Copyright &copy; Your Website 2014</p>
88
+                    <h1 class="page-header">Dowse<small>  Documentation</small></h1>
150 89
                 </div>
151 90
             </div>
152
-        </footer>
153
-
154
-    </div>
155
-    <!-- /.container -->
156
-
157
-    <!-- jQuery -->
158
-    <script src="js/jquery.js"></script>
159
-
160
-    <!-- Bootstrap Core JavaScript -->
161
-    <script src="js/bootstrap.min.js"></script>
162
-
163
-</body>
164
-
91
+            <!-- /.row -->
92
+            <!-- Content Row -->
93
+            <div class="row">
94
+                <!-- Sidebar Column -->
95
+                <div class="col-md-3">
96
+                    <h1>Dowse</h1>
97
+                    <div class="list-group">
98
+                        <a href="index.html" class="list-group-item">Home</a>
99
+                        <a href="about.html" class="list-group-item">Install Dowse</a>
100
+                        <a href="services.html" class="list-group-item">HOW</a>
101
+                        <a href="contact.html" class="list-group-item">Start Buiding</a>
102
+                        <a href="portfolio-1-col.html" class="list-group-item">OSC</a>
103
+                        <a href="portfolio-2-col.html" class="list-group-item">MQTT</a>
104
+                        <a href="portfolio-3-col.html" class="list-group-item">Web Sockets</a>
105
+                        <a href="portfolio-4-col.html" class="list-group-item">Project Portfolio</a>
106
+                    </div>
107
+                </div>
108
+                <!-- Content Column -->
109
+                <div class="col-md-9">
110
+                    <h1 id="notes-for-dowse-workshops-setup-and-materials">Workshops setup and workshop materials</h1>
111
+                    <h1 id="dowse">Dowse pr</h1>
112
+                    <strong>Mailing list is dowse@dyne.org</strong>
113
+                    <ul>
114
+                        <li>Web site is www.dowse.eu</li>
115
+                        <li>Dyne is spelled as here; our website is www.dyne.org</li>
116
+                        <li>irc channel is irc.dyne.org #dowse, feel welcome also to join in via 
117
+                            <a href="https://irc.dyne.org">https://irc.dyne.org</a>
118
+                        </li>
119
+                        <li>fredd email is fredd@dyne.org</li>
120
+                        <li>Mailing list is dowse@dyne.org</li>
121
+                    </ul>
122
+                    <h1 id="how-to-deploy-dowse-on-a-raspberry-pi">How to deploy Dowse on a Raspberry Pi</h1>
123
+                    <ul>
124
+                        <li>you need:</li>
125
+                        <li>a Raspberry Pi (version 2 or 3)</li>
126
+                        <li>a power supply with at least 2A power (the Raspberry Pi 3 needs 2.5A) and a Micro-USB connector</li>
127
+                        <li>a MicroSD card with at least 4GB capacity, class 10</li>
128
+                        <li>
129
+                            <p>the Dowse image file from <a href="http://www.dowse.eu/">http://www.dowse.eu/</a> (until the new file is up you can take it from here. This is the image that Jaromil gave out at the workshop on September 27: <a href="https://www.khm.de/~sievers/devuan_dowse_raspi2.img">https://www.khm.de/~sievers/devuan_dowse_raspi2.img</a> )</p>
130
+                        </li>
131
+                        <li>
132
+                            <p>use your computer to clone the image onto the SD card (<a href="https://duckduckgo.com/?q=clone+raspberry+sd+card">https://duckduckgo.com/?q=clone+raspberry+sd+card</a>)</p>
133
+                        </li>
134
+                        <li>put the SD card into your Raspberry Pi</li>
135
+                        <li>connect it to your access point/router via an Ethernet cable</li>
136
+                        <li>optional: you can connect a monitor via HDMI and keyboard and mouse, but you&#39;ll have to do it before powering it up. This might be useful at the beginning because you can log in to it right away, get its IP address and change settings, etc.</li>
137
+                        <li>connect it to power to boot it up</li>
138
+                        <li>
139
+                            <p>Dowse should now be running!</p>
140
+                        </li>
141
+                        <li>
142
+                            <p>Log in to your home router/access point</p>
143
+                        </li>
144
+                        <li>disable DHCP (also for IPv6 if that is on, as apparently Windows 10 uses IPv6 for DNS)</li>
145
+                    </ul>
146
+                    <ul>
147
+                        <li>The router will give you the Dowse box&#39;s IP address. With the default SD card image Dowse takes its IP via DHCP</li>
148
+                        <li>Use that to SSH into your Dowse box, i.e. with ssh root@192.168.0.1</li>
149
+                        <li>set up a static IP address for your dowse box (edit /etc/network/interfaces). After all, you have disabled the router&#39;s DHCP, so if you ever reboot the Dowse box (your new DHCP server), it will want to know which IP it should have.</li>
150
+                    </ul>
151
+                    <p>There are two users set up, root and dowse. The default password for root is toor, for the user dowse it is dowse. Log in as dowse to go straight to the interactive Dowse console.</p>
152
+                    <h2 id="how-to-say-dowse-is-running-">How to say Dowse is running:</h2>
153
+                    <ul>
154
+                        <li>
155
+                            <p>find out its IP address. Your router might tell you if you log in to its web interface, or try an app like <a href="https://github.com/adafruit/Adafruit-Pi-Finder/releases/tag/3.0.0">https://github.com/adafruit/Adafruit-Pi-Finder/releases/tag/3.0.0</a></p>
156
+                        </li>
157
+                        <li>
158
+                            <p>Let&#39;s assume it&#39;s 10.0.1.10. Open a Terminal and type<br>ping 10.0.1.10</p>
159
+                        </li>
160
+                        <li>
161
+                            <p>or open <a href="http://dowse.it">http://dowse.it</a> in your browser. You should see the captive portal. Enter yourself as the administrator.</p>
162
+                        </li>
163
+                        <li>
164
+                            <p>another way to check that the captive portal works:<br>dig 10.0.1.10 dowse.it</p>
165
+                        </li>
166
+                    </ul>
167
+                    <h2 id="how-to-say-dowse-is-running-on-win-machines">How to say dowse is running on WIN machines</h2>
168
+                    <ul>
169
+                        <li>Open the startmenu and type as a command to run &#39;cmd&#39; - it will open a commandprompt</li>
170
+                        <li>run &#39;ping dowse.it&#39;</li>
171
+                        <li>if it says &#39;xx bytes from dowse.it … time=xx ms&#39; a few times, it works!</li>
172
+                        <li>Open &#39;dowse.it&#39; in your browser</li>
173
+                    </ul>
174
+                    <h2 id="troubleshooting">Troubleshooting</h2>
175
+                    <ul>
176
+                        <li>Dowse runs your DHCP. If it fails, try to disable the DHCP on your router</li>
177
+                        <li>Check if there is a seperate DHCPv6 that might cause IPv6 resolving issues (Windows 10 uses IPv6 for DNS)</li>
178
+                    </ul>
179
+                    <h1 id="how-to-start-osc">How to start OSC</h1>
180
+                    <p>ssh into the dowse box (See &#39;Putty&#39; further down if you are on Windows)</p>
181
+                    <p>then start:</p>
182
+                    <p>/usr/local/dowse/bin/dowse-to-osc osc.udp://ip-of-machine-to-send-to:port/path</p>
183
+                    <p>to make it start at every boot, put this line inside the file /etc/rc.local (edit as root)</p>
184
+                    <h2 id="node-red">Node Red</h2>
185
+                    <p>A graphical editor to edit node patches/flows. Such flows allow reacting to input (like Dowse MQTT data). Not required to use Dowse. You can write your own programms or create gadgets that recieve MQTT or OSC data and do things with it.</p>
186
+                    <ul>
187
+                        <li>
188
+                            <a href="http://nodered.org">http://nodered.org</a>
189
+                        </li>
190
+                    </ul>
191
+                    <p>after installing node red you can follow a great tutorial :</p>
192
+                    <ul>
193
+                        <li>
194
+                            <a href="http://noderedguide.com/node-red-lecture-2-building-your-first-flows-15/">http://noderedguide.com/node-red-lecture-2-building-your-first-flows-15/</a>
195
+                        </li>
196
+                    </ul>
197
+                    <p>(It can also be installed on the dowse box, right? Following the instructions here, will report back if it works: <a href="https://learn.adafruit.com/raspberry-pi-hosting-node-red/setting-up-node-dot-js">https://learn.adafruit.com/raspberry-pi-hosting-node-red/setting-up-node-dot-js</a></p>
198
+                    <h3 id="node-js">Node.js</h3>
199
+                    <ul>
200
+                        <li>
201
+                            <a href="https://nodejs.org/en/download/">https://nodejs.org/en/download/</a>
202
+                        </li>
203
+                    </ul>
204
+                    <h3 id="installation-linux">Installation Linux</h3>
205
+                    <ul>
206
+                        <li>install node.js</li>
207
+                        <li>in terminal
208
+                            <br>sudo npm install -g --unsafe-perm node-red
209
+                        </li>
210
+                    </ul>
211
+                    <h3 id="installation-mac">Installation Mac</h3>
212
+                    <ul>
213
+                        <li>
214
+                            <p>install via homebrew <a href="https://brew.sh/">https://brew.sh/</a><br>First install brew if it isn&#39;t already, then follow instructions here: <a href="http://flnkr.com/2016/03/node-red-install-on-mac-os-x/">http://flnkr.com/2016/03/node-red-install-on-mac-os-x/</a></p>
215
+                        </li>
216
+                        <li>
217
+                            <p>once installed run: /usr/local/bin/node-red -v</p>
218
+                        </li>
219
+                        <li>then open 
220
+                            <a href="http://127.0.0.1:1880">http://127.0.0.1:1880</a> in your browser
221
+                            <br>follow instructions on node-red documentation
222
+                        </li>
223
+                    </ul>
224
+                    <h3 id="installation-win">Installation Win</h3>
225
+                    <p>go to node.js website and install node.js<br><a href="https://nodejs.org/en/">https://nodejs.org/en/</a></p>
226
+                    <p>open node terminal<br>type: sudo npm install -g --unsafe-perm node-red</p>
227
+                    <h2 id="gource">Gource</h2>
228
+                    <p>Gource allows to visualize the data using a colorful, dynamic and animated graph. It&#39;s processor-intensive so it should be run on a client machine.</p>
229
+                    <ul>
230
+                        <li>
231
+                            <a href="http://gource.io/">http://gource.io/</a>
232
+                        </li>
233
+                    </ul>
234
+                    <h3 id="how-to-use-gource-on-a-windows-machine">How to use Gource on a windows machine</h3>
235
+                    <ul>
236
+                        <li>Windows does not come with SSH. It is possible to use an alternative SSH-client called &#39;Putty&#39; (Download URL: 
237
+                            <a href="https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html">https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html</a>)
238
+                        </li>
239
+                        <li>After installing, there is a ssh console client called plink.exe. It might not be in your &#39;PATH&#39;. To run it from windows commandline, you need to specify the whole path. E.g. &quot;c:\Program Files\Putty\plink.exe …&quot;</li>
240
+                        <li>When piping the output to gource, Windows does not show the interactive prompot for the password. But you can specify the password via the commandline switch -pw</li>
241
+                    </ul>
242
+                    <p>&lt;full_path_to_putty&gt;\plink.exe -pw dowse -l dowse dowse.it /usr/local/dowse/bin/dowse-to-gource | &lt;full_path_to_gource&gt;\gource.exe --log-format custom -</p>
243
+                    <p>Alternative:</p>
244
+                    <ul>
245
+                        <li>Instead of cmd/powershell, use a shell that knows SSH and such tools like &#39;
246
+                            <a href="https://babun.github.io/">https://babun.github.io/</a>&#39;
247
+                        </li>
248
+                        <li>Untested, please document :-)</li>
249
+                    </ul>
250
+                    <h3 id="on-mac-">On Mac:</h3>
251
+                    <p>install via homebrew <a href="https://brew.sh/">https://brew.sh/</a><br>First install brew if it isn&#39;t already, then just do brew install gource<br>Once installed, start gource on your own laptop with<br>ssh -l dowse 10.0.1.10 /usr/local/dowse/bin/dowse-to-gource | gource --log-format custom - #password is dowse</p>
252
+                    <h3 id="general">general</h3>
253
+                    <p>you can also get dns queries listed directly in your shell i.e. with<br>ssh -l dowse 10.0.1.10 /usr/local/dowse/bin/dowse-to-gource</p>
254
+                    <h2 id="notes-about-making-the-workshop-better-feel-free-to-add-">Notes about making the workshop better (feel free to add)</h2>
255
+                    <ul>
256
+                        <li>Remember that to Setup dowse for WS takes always a bit...</li>
257
+                        <li>Start a local etterpad for the workshop to begin with</li>
258
+                        <li>point to a page already populated with documentation,</li>
259
+                        <li>instruct on how to change the documentation</li>
260
+                        <li>Bring white board markers !</li>
261
+                        <li>default dowse for WORKSHOPS is partymode (everyone gets online immediately)</li>
262
+                        <li>explain rapidly how the lan works in regard to DNS queries</li>
263
+                    </ul>
264
+                    <h2 id="esp">ESP</h2>
265
+                    <ul>
266
+                        <li>pointer page 
267
+                            <a href="https://blog.falafel.com/esp8266-firmware/">https://blog.falafel.com/esp8266-firmware/</a>
268
+                        </li>
269
+                        <li>ESP boards to Arduino IDE 
270
+                            <a href="https://github.com/esp8266/arduino">https://github.com/esp8266/arduino</a>
271
+                        </li>
272
+                        <li>
273
+                            <a href="http://esp8266.github.io/Arduino/versions/2.3.0/doc/installing.html">http://esp8266.github.io/Arduino/versions/2.3.0/doc/installing.html</a>
274
+                        </li>
275
+                        <li>
276
+                            <a href="https://learn.adafruit.com/adafruit-feather-huzzah-esp8266/using-nodemcu-lua?view=all">https://learn.adafruit.com/adafruit-feather-huzzah-esp8266/using-nodemcu-lua?view=all</a>
277
+                        </li>
278
+                    </ul>
279
+                    <h3 id="node-mcu">Node MCU</h3>
280
+                    <ul>
281
+                        <li>
282
+                            <a href="http://www.nodemcu.com/index_en.html">http://www.nodemcu.com/index_en.html</a>
283
+                        </li>
284
+                    </ul>
285
+                    <h3 id="node-red-to-arduino">Node-red to Arduino</h3>
286
+                    <ul>
287
+                        <li>
288
+                            <a href="https://nodered.org/docs/hardware/arduino">https://nodered.org/docs/hardware/arduino</a>
289
+                        </li>
290
+                    </ul>
291
+                </div>
292
+            </div>
293
+            <!-- /.row -->
294
+            <hr>
295
+            <!-- Footer -->
296
+            <footer>
297
+                <div class="row">
298
+                    <div class="col-lg-12">
299
+                        <ul> 
300
+                            <p>Copyright &copy; dyne.org 2017</p>
301
+                        </ul>
302
+                    </div>
303
+                </div>
304
+            </footer>
305
+        </div>
306
+        <!-- /.container -->
307
+        <!-- jQuery -->
308
+        <script src="js/jquery.js"></script>
309
+        <!-- Bootstrap Core JavaScript -->
310
+        <script src="js/bootstrap.min.js"></script>
311
+    </body>
165 312
 </html>

File diff suppressed because it is too large
+ 1 - 1
www/pinegrow.json