Re-organize documentation
Drops support for localized content, #2213 Restructure some content to match more closely what we have in master, #2542
This commit is contained in:
parent
f03a8e4526
commit
6a485568a5
|
@ -1,6 +0,0 @@
|
|||
# NodeMCU Dokumentation
|
||||
|
||||
NodeMCU ist eine [eLua](http://www.eluaproject.net/)-basierende firmware für den [ESP8266 WiFi SOC von Espressif](http://espressif.com/en/products/esp8266/). Dies ist ein Partnerprojekt für die beliebten [NodeMCU dev kits](https://github.com/nodemcu/nodemcu-devkit-v1.0) - open source NodeMCU boards mit ESP8266-12E chips.
|
||||
|
||||
Diese firmware nutzt das Espressif NON-OS SDK, das Dateisystem basiert auf [spiffs](https://github.com/pellepl/spiffs).
|
||||
|
|
@ -1,51 +0,0 @@
|
|||
# NodeMCU Documentation
|
||||
|
||||
NodeMCU is an [eLua](http://www.eluaproject.net/) based firmware for the [ESP8266 WiFi SOC from Espressif](http://espressif.com/en/products/esp8266/). The firmware is based on the Espressif NON-OS SDK and uses a file system based on [spiffs](https://github.com/pellepl/spiffs). The code repository consists of 98.1% C-code that glues the thin Lua veneer to the SDK.
|
||||
|
||||
The NodeMCU *firmware* is a companion project to the popular [NodeMCU dev kits](https://github.com/nodemcu/nodemcu-devkit-v1.0), ready-made open source development boards with ESP8266-12E chips.
|
||||
|
||||
## Programming Model
|
||||
The NodeMCU programming model is similar to that of [Node.js](https://en.wikipedia.org/wiki/Node.js), only in Lua. It is asynchronous and event-driven. Many functions, therefore, have parameters for callback functions. To give you an idea what a NodeMCU program looks like study the short snippets below. For more extensive examples have a look at the `/lua_examples` folder in the repository on GitHub.
|
||||
|
||||
```lua
|
||||
-- a simple HTTP server
|
||||
srv = net.createServer(net.TCP)
|
||||
srv:listen(80, function(conn)
|
||||
conn:on("receive", function(sck, payload)
|
||||
print(payload)
|
||||
sck:send("HTTP/1.0 200 OK\r\nContent-Type: text/html\r\n\r\n<h1> Hello, NodeMCU.</h1>")
|
||||
end)
|
||||
conn:on("sent", function(sck) sck:close() end)
|
||||
end)
|
||||
```
|
||||
```lua
|
||||
-- connect to WiFi access point
|
||||
wifi.setmode(wifi.STATION)
|
||||
wifi.sta.config("SSID", "password")
|
||||
```
|
||||
|
||||
```lua
|
||||
-- register event callbacks for WiFi events
|
||||
wifi.sta.eventMonReg(wifi.STA_CONNECTING, function(previous_state)
|
||||
if(previous_state==wifi.STA_GOTIP) then
|
||||
print("Station lost connection with access point. Attempting to reconnect...")
|
||||
else
|
||||
print("STATION_CONNECTING")
|
||||
end
|
||||
end)
|
||||
```
|
||||
|
||||
```lua
|
||||
-- manipulate hardware like with Arduino
|
||||
pin = 1
|
||||
gpio.mode(pin, gpio.OUTPUT)
|
||||
gpio.write(pin, gpio.HIGH)
|
||||
print(gpio.read(pin))
|
||||
```
|
||||
|
||||
## Getting Started
|
||||
1. [Build the firmware](build.md) with the modules you need.
|
||||
1. [Flash the firmware](flash.md) to the chip.
|
||||
1. [Upload code](upload.md) to the firmware.
|
||||
|
||||
|
|
@ -1,5 +0,0 @@
|
|||
# Getting started
|
||||
## Obtain the firmware
|
||||
[Build the firmware](build.html) or download it from ?
|
||||
## Flash the firmware
|
||||
There are a number of tools for flashing the firmware.
|
|
@ -1,18 +1,53 @@
|
|||
# NodeMCU Documentation
|
||||
|
||||
!!! attention
|
||||
This branch is frozen at the last commit before the Espressif SDK was upgraded to 2.0!
|
||||
NodeMCU is an open source [Lua](https://www.lua.org/) based firmware for the [ESP8266 WiFi SOC from Espressif](http://espressif.com/en/products/esp8266/) and uses an on-module flash-based [SPIFFS](https://github.com/pellepl/spiffs) file system. NodeMCU is implemented in C and is layered on the [Espressif NON-OS SDK](https://github.com/espressif/ESP8266_NONOS_SDK).
|
||||
|
||||
NodeMCU is an [eLua](http://www.eluaproject.net/) based firmware for the [ESP8266 WiFi SOC from Espressif](http://espressif.com/en/products/esp8266/). The NodeMCU *firmware* is a companion project to the popular [NodeMCU dev kits](https://github.com/nodemcu/nodemcu-devkit-v1.0), ready-made open source development boards with ESP8266-12E chips.
|
||||
The firmware was initially developed as is a companion project to the popular ESP8266-based [NodeMCU development modules](https://github.com/nodemcu/nodemcu-devkit-v1.0), but the project is now community-supported, and the firmware can now be run on _any_ ESP module.
|
||||
|
||||
## Programming Model
|
||||
The NodeMCU programming model is similar to that of [Node.js](https://en.wikipedia.org/wiki/Node.js), only in Lua. It is asynchronous and event-driven. Many functions, therefore, have parameters for callback functions. To give you an idea what a NodeMCU program looks like study the short snippets below. For more extensive examples have a look at the [`/lua_examples`](https://github.com/nodemcu/nodemcu-firmware/tree/master/lua_examples) folder in the repository on GitHub.
|
||||
|
||||
```lua
|
||||
-- a simple HTTP server
|
||||
srv = net.createServer(net.TCP)
|
||||
srv:listen(80, function(conn)
|
||||
conn:on("receive", function(sck, payload)
|
||||
print(payload)
|
||||
sck:send("HTTP/1.0 200 OK\r\nContent-Type: text/html\r\n\r\n<h1> Hello, NodeMCU.</h1>")
|
||||
end)
|
||||
conn:on("sent", function(sck) sck:close() end)
|
||||
end)
|
||||
```
|
||||
```lua
|
||||
-- connect to WiFi access point
|
||||
wifi.setmode(wifi.STATION)
|
||||
wifi.sta.config("SSID", "password")
|
||||
```
|
||||
|
||||
```lua
|
||||
-- register event callbacks for WiFi events
|
||||
wifi.sta.eventMonReg(wifi.STA_CONNECTING, function(previous_state)
|
||||
if(previous_state==wifi.STA_GOTIP) then
|
||||
print("Station lost connection with access point. Attempting to reconnect...")
|
||||
else
|
||||
print("STATION_CONNECTING")
|
||||
end
|
||||
end)
|
||||
```
|
||||
|
||||
```lua
|
||||
-- manipulate hardware like with Arduino
|
||||
pin = 1
|
||||
gpio.mode(pin, gpio.OUTPUT)
|
||||
gpio.write(pin, gpio.HIGH)
|
||||
print(gpio.read(pin))
|
||||
```
|
||||
|
||||
## Releases
|
||||
|
||||
This project uses two main branches, `master` and `dev`. `dev` is actively worked on and it's also where PRs should be created against. `master` thus can be considered "stable" even though there are no automated regression tests. The goal is to merge back to `master` roughly every 2 months. Depending on the current "heat" (issues, PRs) we accept changes to `dev` for 5-6 weeks and then hold back for 2-3 weeks before the next snap is completed.
|
||||
|
||||
A new tag is created every time `dev` is merged back to `master`. They are listed in the [releases section on GitHub](https://github.com/nodemcu/nodemcu-firmware/releases). Tag names follow the `<SDK-version>-master_yyyymmdd` pattern.
|
||||
|
||||
## Up-To-Date Documentation
|
||||
At the moment the only up-to-date documentation maintained by the current NodeMCU team is in [English](en/index.md). It is part of the source code repository (`/docs` subfolder) and kept in sync with the code.
|
||||
|
||||
We encourage you to help transferring the outdated translations (see below) into the repository.
|
||||
|
||||
## Outdated And Sparse Documentation
|
||||
The following translations are based on outdated documentation, use them with caution. The links point to the [NodeMCU wiki on GitHub](https://github.com/nodemcu/nodemcu-firmware/wiki).
|
||||
|
||||
- Chinese, [中文](https://github.com/nodemcu/nodemcu-firmware/wiki/nodemcu_api_cn)
|
||||
- Russian, [русский](https://github.com/nodemcu/nodemcu-firmware/wiki/nodemcu_api_ru)
|
||||
- Spanish, [español](https://github.com/nodemcu/nodemcu-firmware/wiki/nodemcu_api_es)
|
||||
At the moment the only up-to-date documentation maintained by the current NodeMCU team is in English. It is part of the source code repository (`/docs` subfolder) and kept in sync with the code.
|
||||
|
|
139
docs/js/extra.js
139
docs/js/extra.js
|
@ -1,16 +1,9 @@
|
|||
var nodemcu = nodemcu || {};
|
||||
(function () {
|
||||
'use strict';
|
||||
//var languageCodeToNameMap = {en: 'English', de: 'Deutsch'};
|
||||
var languageCodeToNameMap = {en: 'English'};
|
||||
var languageNames = values(languageCodeToNameMap);
|
||||
var defaultLanguageCode = 'en';
|
||||
|
||||
$(document).ready(function () {
|
||||
addToc();
|
||||
fixSearch();
|
||||
hideNavigationForAllButSelectedLanguage();
|
||||
addLanguageSelectorToRtdFlyOutMenu();
|
||||
replaceRelativeLinksWithStaticGitHubUrl();
|
||||
});
|
||||
|
||||
|
@ -44,96 +37,6 @@ var nodemcu = nodemcu || {};
|
|||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* RTD messes up MkDocs' search feature by tinkering with the search box defined in the theme, see
|
||||
* https://github.com/rtfd/readthedocs.org/issues/1088. This function sets up a DOM4 MutationObserver
|
||||
* to react to changes to the search form (triggered by RTD on doc ready). It then reverts everything
|
||||
* the RTD JS code modified.
|
||||
*/
|
||||
function fixSearch() {
|
||||
var target = document.getElementById('rtd-search-form');
|
||||
var config = {attributes: true, childList: true};
|
||||
|
||||
var observer = new MutationObserver(function(mutations) {
|
||||
// if it isn't disconnected it'll loop infinitely because the observed element is modified
|
||||
observer.disconnect();
|
||||
var form = $('#rtd-search-form');
|
||||
form.empty();
|
||||
form.attr('action', 'https://' + window.location.hostname + '/en/' + determineSelectedBranch() + '/search.html');
|
||||
$('<input>').attr({
|
||||
type: "text",
|
||||
name: "q",
|
||||
placeholder: "Search docs"
|
||||
}).appendTo(form);
|
||||
});
|
||||
|
||||
if (window.location.origin.indexOf('readthedocs') > -1) {
|
||||
observer.observe(target, config);
|
||||
}
|
||||
}
|
||||
|
||||
function hideNavigationForAllButSelectedLanguage() {
|
||||
var selectedLanguageCode = determineSelectedLanguageCode();
|
||||
var selectedLanguageName = languageCodeToNameMap[selectedLanguageCode];
|
||||
// Finds all subnav elements and hides them if they're /language/ subnavs. Hence, all 'Modules' subnav elements
|
||||
// won't be hidden.
|
||||
// <ul class="subnav">
|
||||
// <li><span>Modules</span></li>
|
||||
// <li class="toctree-l1 ">
|
||||
// <a class="" href="EN/modules/node/">node</a>
|
||||
// </li>
|
||||
$('.subnav li span').not(':contains(' + selectedLanguageName + ')').each(function (index) {
|
||||
var spanElement = $(this);
|
||||
if ($.inArray(spanElement.text(), languageNames) > -1) {
|
||||
spanElement.parent().parent().hide();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Adds a language selector to the RTD fly-out menu found bottom left. Example:
|
||||
*
|
||||
* <dl>
|
||||
* <dt>Languages</dt>
|
||||
* <dd><a href="http://nodemcu.readthedocs.io/en/<branch>/de/">de</a></dd>
|
||||
* <strong>
|
||||
* <dd><a href="http://nodemcu.readthedocs.io/en/<branch>/en/">en</a></dd>
|
||||
* </strong>
|
||||
* </dl>
|
||||
*
|
||||
* UGLY! That fly-out menu is added by RTD with an AJAX call after page load. Hence, we need to
|
||||
* react to the subsequent DOM manipulation using a DOM4 MutationObserver. The provided structure
|
||||
* is as follows:
|
||||
*
|
||||
* <div class="rst-other-versions">
|
||||
* <!-- Inserted RTD Footer -->
|
||||
* <div class="injected">
|
||||
*/
|
||||
function addLanguageSelectorToRtdFlyOutMenu() {
|
||||
var flyOutWrapper = $('.rst-other-versions');
|
||||
// only relevant on RTD
|
||||
if (flyOutWrapper.size() > 0) {
|
||||
var observer = new MutationObserver(function (mutations) {
|
||||
// since mutation on the target node was triggered we can safely assume the injected RTD div has now been added
|
||||
var injectedDiv = $('.rst-other-versions .injected');
|
||||
var selectedLanguageCode = determineSelectedLanguageCode();
|
||||
var dl = document.createElement('dl');
|
||||
var dt = document.createElement('dt');
|
||||
dl.appendChild(dt);
|
||||
dt.appendChild(document.createTextNode('Languages'));
|
||||
for (var languageCode in languageCodeToNameMap) {
|
||||
dl.appendChild(createLanguageLinkFor(languageCode, selectedLanguageCode === languageCode));
|
||||
}
|
||||
injectedDiv.prepend(dl);
|
||||
// no need for that observer anymore
|
||||
observer.disconnect();
|
||||
});
|
||||
|
||||
// observed target node is the fly-out wrapper, the only event we care about is when children are modified
|
||||
observer.observe(flyOutWrapper[0], {childList: true});
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* The module doc pages contain relative links to artifacts in the GitHub repository. For those links to work both
|
||||
* on GitHub (i.e. when the page is viewed on GitHub) and on RTD they are defined with a relative URL. This function
|
||||
|
@ -148,48 +51,6 @@ var nodemcu = nodemcu || {};
|
|||
});
|
||||
}
|
||||
|
||||
function createLanguageLinkFor(languageCode, isCurrentlySelected) {
|
||||
var strong;
|
||||
// split[0] is an '' because the path starts with the separator
|
||||
var pathSegments = window.location.pathname.split('/');
|
||||
var dd = document.createElement("dd");
|
||||
var href = document.createElement("a");
|
||||
href.setAttribute('href', '/' + pathSegments[1] + '/' + pathSegments[2] + '/' + languageCode);
|
||||
href.appendChild(document.createTextNode(languageCode));
|
||||
dd.appendChild(href);
|
||||
if (isCurrentlySelected) {
|
||||
strong = document.createElement("strong");
|
||||
strong.appendChild(dd);
|
||||
return strong;
|
||||
} else {
|
||||
return dd;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Analyzes the URL of the current page to find out what the selected language is. It's usually
|
||||
* part of the location path. The code needs to distinguish between running MkDocs standalone
|
||||
* and docs served from RTD. If no valid language could be determined the default language is
|
||||
* returned.
|
||||
*
|
||||
* @returns 2-char language code
|
||||
*/
|
||||
function determineSelectedLanguageCode() {
|
||||
var selectedLanguageCode, path = window.location.pathname;
|
||||
if (window.location.origin.indexOf('readthedocs') > -1) {
|
||||
// path is like /en/<branch>/<lang>/build/ -> extract 'lang'
|
||||
// split[0] is an '' because the path starts with the separator
|
||||
selectedLanguageCode = path.split('/')[3];
|
||||
} else {
|
||||
// path is like /<lang>/build/ -> extract 'lang'
|
||||
selectedLanguageCode = path.substr(1, 2);
|
||||
}
|
||||
if (!selectedLanguageCode || selectedLanguageCode.length > 2) {
|
||||
selectedLanguageCode = defaultLanguageCode;
|
||||
}
|
||||
return selectedLanguageCode;
|
||||
}
|
||||
|
||||
/**
|
||||
* Analyzes the URL of the current page to find out what the selected GitHub branch is. It's usually
|
||||
* part of the location path. The code needs to distinguish between running MkDocs standalone
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
# ADC Module
|
||||
| Since | Origin / Contributor | Maintainer | Source |
|
||||
| :----- | :-------------------- | :---------- | :------ |
|
||||
| 2014-12-24 | [Zeroday](https://github.com/funshine) | [jmattsson](https://github.com/jmattsson) | [adc.c](../../../app/modules/adc.c)|
|
||||
| 2014-12-24 | [Zeroday](https://github.com/funshine) | [jmattsson](https://github.com/jmattsson) | [adc.c](../../app/modules/adc.c)|
|
||||
|
||||
The ADC module provides access to the in-built ADC.
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
# ADXL345 Module
|
||||
| Since | Origin / Contributor | Maintainer | Source |
|
||||
| :----- | :-------------------- | :---------- | :------ |
|
||||
| 2016-04-08 | [Jason Schmidlapp](https://github.com/jschmidlapp) | [Jason Schmidlapp](https://github.com/jschmidlapp) | [adxl345.c](../../../app/modules/adxl345.c)|
|
||||
| 2016-04-08 | [Jason Schmidlapp](https://github.com/jschmidlapp) | [Jason Schmidlapp](https://github.com/jschmidlapp) | [adxl345.c](../../app/modules/adxl345.c)|
|
||||
|
||||
|
||||
This module provides access to the [ADXL345](https://www.sparkfun.com/products/9836) triple axis accelerometer.
|
|
@ -1,7 +1,7 @@
|
|||
# AM2320 Module
|
||||
| Since | Origin / Contributor | Maintainer | Source |
|
||||
| :----- | :-------------------- | :---------- | :------ |
|
||||
| 2016-02-14 | [Henk Vergonet](https://github.com/hvegh) | [Henk Vergonet](https://github.com/hvegh) | [am2320.c](../../../app/modules/am2320.c)|
|
||||
| 2016-02-14 | [Henk Vergonet](https://github.com/hvegh) | [Henk Vergonet](https://github.com/hvegh) | [am2320.c](../../app/modules/am2320.c)|
|
||||
|
||||
|
||||
This module provides access to the [AM2320](https://akizukidenshi.com/download/ds/aosong/AM2320.pdf) humidity and temperature sensor, using the i2c interface.
|
|
@ -1,7 +1,7 @@
|
|||
# APA102 Module
|
||||
| Since | Origin / Contributor | Maintainer | Source |
|
||||
| :----- | :-------------------- | :---------- | :------ |
|
||||
| 2016-01-26 | [Robert Foss](https://github.com/robertfoss)| [Robert Foss](https://github.com/robertfoss)| [apa102.c](../../../app/modules/apa102.c)|
|
||||
| 2016-01-26 | [Robert Foss](https://github.com/robertfoss)| [Robert Foss](https://github.com/robertfoss)| [apa102.c](../../app/modules/apa102.c)|
|
||||
|
||||
This module provides Lua access to [APA102 RGB LEDs](https://youtu.be/UYvC-hukz-0) which are similar in function to the common [WS2812](ws2812) addressable LEDs.
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
# bit Module
|
||||
| Since | Origin / Contributor | Maintainer | Source |
|
||||
| :----- | :-------------------- | :---------- | :------ |
|
||||
| 2014-12-24 | [https://github.com/LuaDist/bitlib](https://github.com/LuaDist/bitlib), [Zeroday](https://github.com/funshine) | [Zeroday](https://github.com/funshine) | [bit.c](../../../app/modules/bit.c)|
|
||||
| 2014-12-24 | [https://github.com/LuaDist/bitlib](https://github.com/LuaDist/bitlib), [Zeroday](https://github.com/funshine) | [Zeroday](https://github.com/funshine) | [bit.c](../../app/modules/bit.c)|
|
||||
|
||||
|
||||
Bit manipulation support, on 32bit integers.
|
|
@ -1,7 +1,7 @@
|
|||
# BME280 module
|
||||
| Since | Origin / Contributor | Maintainer | Source |
|
||||
| :----- | :-------------------- | :---------- | :------ |
|
||||
| 2016-02-21 | [vsky279](https://github.com/vsky279) | [vsky279](https://github.com/vsky279) | [bme280.c](../../../app/modules/bme280.c)|
|
||||
| 2016-02-21 | [vsky279](https://github.com/vsky279) | [vsky279](https://github.com/vsky279) | [bme280.c](../../app/modules/bme280.c)|
|
||||
|
||||
This module provides a simple interface to [BME280/BMP280 temperature/air presssure/humidity sensors](http://www.bosch-sensortec.com/bst/products/all_products/bme280) (Bosch Sensortec).
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
# BMP085 Module
|
||||
| Since | Origin / Contributor | Maintainer | Source |
|
||||
| :----- | :-------------------- | :---------- | :------ |
|
||||
| 2015-08-03 | [Konrad Beckmann](https://github.com/kbeckmann) | [Konrad Beckmann](https://github.com/kbeckmann) | [bmp085.c](../../../app/modules/bmp085.c)|
|
||||
| 2015-08-03 | [Konrad Beckmann](https://github.com/kbeckmann) | [Konrad Beckmann](https://github.com/kbeckmann) | [bmp085.c](../../app/modules/bmp085.c)|
|
||||
|
||||
|
||||
This module provides access to the [BMP085](https://www.sparkfun.com/tutorials/253) temperature and pressure sensor. The module also works with BMP180.
|
|
@ -1,7 +1,7 @@
|
|||
# CJSON Module
|
||||
| Since | Origin / Contributor | Maintainer | Source |
|
||||
| :----- | :-------------------- | :---------- | :------ |
|
||||
| 2015-03-16 | [Mark Pulford](http://kyne.com.au/~mark/software/lua-cjson.php), [Zeroday](https://github.com/funshine) | [Zeroday](https://github.com/funshine) | [cjson](../../../app/modules/cjson.c) |
|
||||
| 2015-03-16 | [Mark Pulford](http://kyne.com.au/~mark/software/lua-cjson.php), [Zeroday](https://github.com/funshine) | [Zeroday](https://github.com/funshine) | [cjson](../../app/modules/cjson.c) |
|
||||
|
||||
The JSON support module. Allows encoding and decoding to/from JSON.
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
# CoAP Module
|
||||
| Since | Origin / Contributor | Maintainer | Source |
|
||||
| :----- | :-------------------- | :---------- | :------ |
|
||||
| 2015-02-04 | Toby Jaffey <toby@1248.io>, [Zeroday](https://github.com/funshine) | [Zeroday](https://github.com/funshine) | [coap.c](../../../app/modules/coap.c) |
|
||||
| 2015-02-04 | Toby Jaffey <toby@1248.io>, [Zeroday](https://github.com/funshine) | [Zeroday](https://github.com/funshine) | [coap.c](../../app/modules/coap.c) |
|
||||
|
||||
The CoAP module provides a simple implementation according to [CoAP](http://tools.ietf.org/html/rfc7252) protocol.
|
||||
The basic endpoint server part is based on [microcoap](https://github.com/1248/microcoap), and many other code reference [libcoap](https://github.com/obgm/libcoap).
|
|
@ -1,7 +1,7 @@
|
|||
# crypto Module
|
||||
| Since | Origin / Contributor | Maintainer | Source |
|
||||
| :----- | :-------------------- | :---------- | :------ |
|
||||
| 2015-06-02 | [DiUS](https://github.com/DiUS), [Johny Mattsson](https://github.com/jmattsson) | [Johny Mattsson](https://github.com/jmattsson) | [crypto.c](../../../app/modules/crypto.c)|
|
||||
| 2015-06-02 | [DiUS](https://github.com/DiUS), [Johny Mattsson](https://github.com/jmattsson) | [Johny Mattsson](https://github.com/jmattsson) | [crypto.c](../../app/modules/crypto.c)|
|
||||
|
||||
The crypto modules provides various functions for working with cryptographic algorithms.
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
# DHT Module
|
||||
| Since | Origin / Contributor | Maintainer | Source |
|
||||
| :----- | :-------------------- | :---------- | :------ |
|
||||
| 2015-06-17 | [RobTillaart](https://github.com/RobTillaart/Arduino/tree/master/libraries/DHTlib) | [Vowstar](https://github.com/vowstar) | [dhtlib](../../../app/dhtlib/)|
|
||||
| 2015-06-17 | [RobTillaart](https://github.com/RobTillaart/Arduino/tree/master/libraries/DHTlib) | [Vowstar](https://github.com/vowstar) | [dhtlib](../../app/dhtlib/)|
|
||||
|
||||
## Constants
|
||||
Constants for various functions.
|
|
@ -1,7 +1,7 @@
|
|||
# encoder Module
|
||||
| Since | Origin / Contributor | Maintainer | Source |
|
||||
| :----- | :-------------------- | :---------- | :------ |
|
||||
| 2016-02-26 | [Terry Ellison](https://github.com/TerryE) | [Terry Ellison](https://github.com/TerryE) | [encoder.c](../../../app/modules/encoder.c)|
|
||||
| 2016-02-26 | [Terry Ellison](https://github.com/TerryE) | [Terry Ellison](https://github.com/TerryE) | [encoder.c](../../app/modules/encoder.c)|
|
||||
|
||||
The encoder modules provides various functions for encoding and decoding byte data.
|
||||
|
|
@ -1,11 +1,11 @@
|
|||
# enduser setup Module
|
||||
| Since | Origin / Contributor | Maintainer | Source |
|
||||
| :----- | :-------------------- | :---------- | :------ |
|
||||
| 2015-09-02 | [Robert Foss](https://github.com/robertfoss) | [Robert Foss](https://github.com/robertfoss) | [enduser_setup.c](../../../app/modules/enduser_setup.c)|
|
||||
| 2015-09-02 | [Robert Foss](https://github.com/robertfoss) | [Robert Foss](https://github.com/robertfoss) | [enduser_setup.c](../../app/modules/enduser_setup.c)|
|
||||
|
||||
This module provides a simple way of configuring ESP8266 chips without using a serial interface or pre-programming WiFi credentials onto the chip.
|
||||
|
||||
![enduser setup config dialog](../../img/enduser-setup.jpg "enduser setup config dialog")
|
||||
![enduser setup config dialog](../img/enduser-setup.jpg "enduser setup config dialog")
|
||||
|
||||
After running [`enduser_setup.start()`](#enduser_setupstart), a wireless network named "SetupGadget_XXXXXX" will start (this prefix can be overridden in `user_config.h` by defining
|
||||
`ENDUSER_SETUP_AP_SSID`). Connect to that SSID and then navigate to the root
|
|
@ -1,7 +1,7 @@
|
|||
# file Module
|
||||
| Since | Origin / Contributor | Maintainer | Source |
|
||||
| :----- | :-------------------- | :---------- | :------ |
|
||||
| 2014-12-22 | [Zeroday](https://github.com/funshine) | [Zeroday](https://github.com/funshine) | [file.c](../../../app/modules/file.c)|
|
||||
| 2014-12-22 | [Zeroday](https://github.com/funshine) | [Zeroday](https://github.com/funshine) | [file.c](../../app/modules/file.c)|
|
||||
|
||||
The file module provides access to the file system and its individual files.
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
# gdbstub Module
|
||||
| Since | Origin / Contributor | Maintainer | Source |
|
||||
| :----- | :-------------------- | :---------- | :------ |
|
||||
| 2016-09-18 | [Philip Gladstone](https://github.com/pjsg) | [Philip Gladstone](https://github.com/pjsg) | [gdbstub.c](../../../app/modules/gdbstub.c)|
|
||||
| 2016-09-18 | [Philip Gladstone](https://github.com/pjsg) | [Philip Gladstone](https://github.com/pjsg) | [gdbstub.c](../../app/modules/gdbstub.c)|
|
||||
|
||||
This module provides basic source code debugging of the firmware when used in conjunction with a version of gdb built for the lx106. If you
|
||||
enable this module, then fatal errors (like invalid memory reads) will trap into the gdbstub. This uses UART0 to talk to GDB. If
|
|
@ -1,7 +1,7 @@
|
|||
# GPIO Module
|
||||
| Since | Origin / Contributor | Maintainer | Source |
|
||||
| :----- | :-------------------- | :---------- | :------ |
|
||||
| 2014-12-22 | [Zeroday](https://github.com/funshine) | [Zeroday](https://github.com/funshine) | [gpio.c](../../../app/modules/gpio.c)|
|
||||
| 2014-12-22 | [Zeroday](https://github.com/funshine) | [Zeroday](https://github.com/funshine) | [gpio.c](../../app/modules/gpio.c)|
|
||||
|
||||
|
||||
This module provides access to the [GPIO](https://en.wikipedia.org/wiki/General-purpose_input/output) (General Purpose Input/Output) subsystem.
|
|
@ -1,7 +1,7 @@
|
|||
# HMC5883L Module
|
||||
| Since | Origin / Contributor | Maintainer | Source |
|
||||
| :----- | :-------------------- | :---------- | :------ |
|
||||
| 2016-04-09 | [Jason Schmidlapp](https://github.com/jschmidlapp) | [Jason Schmidlapp](https://github.com/jschmidlapp) | [hmc5883l.c](../../../app/modules/hmc5883l.c)|
|
||||
| 2016-04-09 | [Jason Schmidlapp](https://github.com/jschmidlapp) | [Jason Schmidlapp](https://github.com/jschmidlapp) | [hmc5883l.c](../../app/modules/hmc5883l.c)|
|
||||
|
||||
|
||||
This module provides access to the [HMC5883L](https://www.sparkfun.com/products/10530) three axis digital compass.
|
|
@ -1,7 +1,7 @@
|
|||
# HTTP Module
|
||||
| Since | Origin / Contributor | Maintainer | Source |
|
||||
| :----- | :-------------------- | :---------- | :------ |
|
||||
| 2016-01-15 | [esphttpclient](https://github.com/Caerbannog/esphttpclient) / [Vowstar](https://github.com/vowstar) | [Vowstar](https://github.com/vowstar) | [http.c](../../../app/modules/http.c)|
|
||||
| 2016-01-15 | [esphttpclient](https://github.com/Caerbannog/esphttpclient) / [Vowstar](https://github.com/vowstar) | [Vowstar](https://github.com/vowstar) | [http.c](../../app/modules/http.c)|
|
||||
|
||||
Basic HTTP *client* module that provides an interface to do GET/POST/PUT/DELETE over HTTP(S), as well as customized requests. Due to the memory constraints on ESP8266, the supported page/body size is limited by available memory. Attempting to receive pages larger than this will fail. If larger page/body sizes are necessary, consider using [`net.createConnection()`](net.md#netcreateconnection) and stream in the data.
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
# HX711 Module
|
||||
| Since | Origin / Contributor | Maintainer | Source |
|
||||
| :----- | :-------------------- | :---------- | :------ |
|
||||
| 2015-10-09 | [Chris Takahashi](https://github.com/christakahashi) | [Chris Takahashi](https://github.com/christakahashi) | [hx711.c](../../../app/modules/hx711.c)|
|
||||
| 2015-10-09 | [Chris Takahashi](https://github.com/christakahashi) | [Chris Takahashi](https://github.com/christakahashi) | [hx711.c](../../app/modules/hx711.c)|
|
||||
|
||||
This module provides access to an [HX711 load cell amplifier/ADC](https://learn.sparkfun.com/tutorials/load-cell-amplifier-hx711-breakout-hookup-guide). The HX711 is an inexpensive 24bit ADC with programmable 128x, 64x, and 32x gain. Currently only channel A at 128x gain is supported.
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
# I²C Module
|
||||
| Since | Origin / Contributor | Maintainer | Source |
|
||||
| :----- | :-------------------- | :---------- | :------ |
|
||||
| 2014-12-22 | [Zeroday](https://github.com/funshine) | [Zeroday](https://github.com/funshine) | [i2c.c](../../../app/modules/i2c.c)|
|
||||
| 2014-12-22 | [Zeroday](https://github.com/funshine) | [Zeroday](https://github.com/funshine) | [i2c.c](../../app/modules/i2c.c)|
|
||||
|
||||
## i2c.address()
|
||||
Setup I²C address and read/write mode for the next transfer.
|
|
@ -1,7 +1,7 @@
|
|||
# L3G4200D Module
|
||||
| Since | Origin / Contributor | Maintainer | Source |
|
||||
| :----- | :-------------------- | :---------- | :------ |
|
||||
| 2015-04-09 | [Jason Schmidlapp](https://github.com/jschmidlapp) | [Jason Schmidlapp](https://github.com/jschmidlapp) | [l3g4200d.c](../../../app/modules/l3g4200d.c)|
|
||||
| 2015-04-09 | [Jason Schmidlapp](https://github.com/jschmidlapp) | [Jason Schmidlapp](https://github.com/jschmidlapp) | [l3g4200d.c](../../app/modules/l3g4200d.c)|
|
||||
|
||||
|
||||
This module provides access to the [L3G4200D](https://www.sparkfun.com/products/10612) three axis digital gyroscope.
|
|
@ -1,7 +1,7 @@
|
|||
# mDNS Module
|
||||
| Since | Origin / Contributor | Maintainer | Source |
|
||||
| :----- | :-------------------- | :---------- | :------ |
|
||||
| 2016-02-24 | [Philip Gladstone](https://github.com/pjsg) | [Philip Gladstone](https://github.com/pjsg) | [mdns.c](../../../app/modules/mdns.c)|
|
||||
| 2016-02-24 | [Philip Gladstone](https://github.com/pjsg) | [Philip Gladstone](https://github.com/pjsg) | [mdns.c](../../app/modules/mdns.c)|
|
||||
|
||||
[Multicast DNS](https://en.wikipedia.org/wiki/Multicast_DNS) is used as part of Bonjour / Zeroconf. This allows system to identify themselves and the services that they provide on a local area network. Clients are then able to discover these systems and connect to them.
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
# MQTT Module
|
||||
| Since | Origin / Contributor | Maintainer | Source |
|
||||
| :----- | :-------------------- | :---------- | :------ |
|
||||
| 2015-01-23 | [Stephen Robinson](https://github.com/esar/contiki-mqtt), [Tuan PM](https://github.com/tuanpmt/esp_mqtt) | [Vowstar](https://github.com/vowstar) | [mqtt.c](../../../app/modules/mqtt.c)|
|
||||
| 2015-01-23 | [Stephen Robinson](https://github.com/esar/contiki-mqtt), [Tuan PM](https://github.com/tuanpmt/esp_mqtt) | [Vowstar](https://github.com/vowstar) | [mqtt.c](../../app/modules/mqtt.c)|
|
||||
|
||||
|
||||
The client adheres to version 3.1.1 of the [MQTT](https://en.wikipedia.org/wiki/MQTT) protocol. Make sure that your broker supports and is correctly configured for version 3.1.1. The client is backwards incompatible with brokers running MQTT 3.1.
|
|
@ -1,7 +1,7 @@
|
|||
# net Module
|
||||
| Since | Origin / Contributor | Maintainer | Source |
|
||||
| :----- | :-------------------- | :---------- | :------ |
|
||||
| 2014-12-22 | [Zeroday](https://github.com/funshine) | [Zeroday](https://github.com/funshine) | [net.c](../../../app/modules/net.c)|
|
||||
| 2014-12-22 | [Zeroday](https://github.com/funshine) | [Zeroday](https://github.com/funshine) | [net.c](../../app/modules/net.c)|
|
||||
|
||||
**SSL/TLS support**
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
# node Module
|
||||
| Since | Origin / Contributor | Maintainer | Source |
|
||||
| :----- | :-------------------- | :---------- | :------ |
|
||||
| 2014-12-22 | [Zeroday](https://github.com/funshine) | [Zeroday](https://github.com/funshine) | [node.c](../../../app/modules/node.c)|
|
||||
| 2014-12-22 | [Zeroday](https://github.com/funshine) | [Zeroday](https://github.com/funshine) | [node.c](../../app/modules/node.c)|
|
||||
|
||||
The node module provides access to system-level features such as sleep, restart and various info and IDs.
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
# 1-Wire Module
|
||||
| Since | Origin / Contributor | Maintainer | Source |
|
||||
| :----- | :-------------------- | :---------- | :------ |
|
||||
| 2014-12-22 | [Zeroday](https://github.com/funshine) | [Zeroday](https://github.com/funshine) | [ow.c](../../../app/modules/ow.c)|
|
||||
| 2014-12-22 | [Zeroday](https://github.com/funshine) | [Zeroday](https://github.com/funshine) | [ow.c](../../app/modules/ow.c)|
|
||||
|
||||
This module provides functions to work with the [1-Wire](https://en.wikipedia.org/wiki/1-Wire) device communications bus system.
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
# pcm module
|
||||
| Since | Origin / Contributor | Maintainer | Source |
|
||||
| :----- | :-------------------- | :---------- | :------ |
|
||||
| 2016-06-05 | [Arnim Läuger](https://github.com/devsaurus) | [Arnim Läuger](https://github.com/devsaurus) | [pcm.c](../../../app/modules/pcm.c)|
|
||||
| 2016-06-05 | [Arnim Läuger](https://github.com/devsaurus) | [Arnim Läuger](https://github.com/devsaurus) | [pcm.c](../../app/modules/pcm.c)|
|
||||
|
||||
Play sounds through various back-ends.
|
||||
|
||||
|
@ -11,7 +11,7 @@ The ESP contains a sigma-delta generator that can be used to synthesize audio wi
|
|||
|
||||
The external filter circuit is shown in the following schematic. Note that the voltage divider resistors limit the output voltage to 1 V<sub>PP</sub>. This should match most amplifier boards, but cross-checking against your specific configuration is required.
|
||||
|
||||
![low-pass filter](../../img/sigma_delta_audiofilter.png "low-pass filter for sigma-delta driver")
|
||||
![low-pass filter](../img/sigma_delta_audiofilter.png "low-pass filter for sigma-delta driver")
|
||||
|
||||
|
||||
!!! important
|
||||
|
@ -25,7 +25,7 @@ Audio is expected as a mono raw unsigned 8 bit stream at sample rates betwe
|
|||
sox jump.wav -r 8000 -b 8 -c 1 jump_8k.u8
|
||||
```
|
||||
|
||||
Also see [play_file.lua](../../../lua_examples/pcm/play_file.lua) in the examples folder.
|
||||
Also see [play_file.lua](../../lua_examples/pcm/play_file.lua) in the examples folder.
|
||||
|
||||
## pcm.new()
|
||||
Initializes the audio driver.
|
|
@ -1,7 +1,7 @@
|
|||
# perf Module
|
||||
| Since | Origin / Contributor | Maintainer | Source |
|
||||
| :----- | :-------------------- | :---------- | :------ |
|
||||
| 2016-02-26 | [Philip Gladstone](https://github.com/pjsg) | [Philip Gladstone](https://github.com/pjsg) | [perf.c](../../../app/modules/perf.c)|
|
||||
| 2016-02-26 | [Philip Gladstone](https://github.com/pjsg) | [Philip Gladstone](https://github.com/pjsg) | [perf.c](../../app/modules/perf.c)|
|
||||
|
||||
|
||||
This module provides simple performance measurement for an application. It samples the program counter roughly every 50 microseconds and builds a histogram of the values that it finds. Since there is only a small amount
|
|
@ -1,7 +1,7 @@
|
|||
# PWM Module
|
||||
| Since | Origin / Contributor | Maintainer | Source |
|
||||
| :----- | :-------------------- | :---------- | :------ |
|
||||
| 2014-12-22 | [Zeroday](https://github.com/funshine) | [Zeroday](https://github.com/funshine) | [pwm.c](../../../app/modules/pwm.c)|
|
||||
| 2014-12-22 | [Zeroday](https://github.com/funshine) | [Zeroday](https://github.com/funshine) | [pwm.c](../../app/modules/pwm.c)|
|
||||
|
||||
## pwm.close()
|
||||
Quit PWM mode for the specified GPIO pin.
|
|
@ -1,4 +1,4 @@
|
|||
# RC Module
|
||||
| Since | Origin / Contributor | Maintainer | Source |
|
||||
| :----- | :-------------------- | :---------- | :------ |
|
||||
| 2015-06-12 | [Mike Wen](https://github.com/mikewen) | - | [rc.c](../../../app/modules/rc.c)|
|
||||
| 2015-06-12 | [Mike Wen](https://github.com/mikewen) | - | [rc.c](../../app/modules/rc.c)|
|
|
@ -1,7 +1,7 @@
|
|||
# rfswitch Module
|
||||
| Since | Origin / Contributor | Maintainer | Source |
|
||||
| :----- | :-------------------- | :---------- | :------ |
|
||||
| 2016-12-01 | [Roman Fedorov](https://github.com/ffedoroff) | [Roman Fedorov](https://github.com/ffedoroff) | [rfswitch.c](../../../app/modules/rfswitch.c)|
|
||||
| 2016-12-01 | [Roman Fedorov](https://github.com/ffedoroff) | [Roman Fedorov](https://github.com/ffedoroff) | [rfswitch.c](../../app/modules/rfswitch.c)|
|
||||
|
||||
|
||||
Module for operate 433/315Mhz devices like power outlet sockets, relays, etc.
|
|
@ -1,7 +1,7 @@
|
|||
# rotary Module
|
||||
| Since | Origin / Contributor | Maintainer | Source |
|
||||
| :----- | :-------------------- | :---------- | :------ |
|
||||
| 2016-03-01 | [Philip Gladstone](https://github.com/pjsg) | [Philip Gladstone](https://github.com/pjsg) | [rotary.c](../../../app/modules/rotary.c)|
|
||||
| 2016-03-01 | [Philip Gladstone](https://github.com/pjsg) | [Philip Gladstone](https://github.com/pjsg) | [rotary.c](../../app/modules/rotary.c)|
|
||||
|
||||
|
||||
This module can read the state of cheap rotary encoder switches. These are available at all the standard places for a dollar or two. They are five pin devices where three are used for a gray code encoder for rotation, and two are used for the push switch. These switches are commonly used in car audio systems.
|
|
@ -1,7 +1,7 @@
|
|||
# RTC FIFO Module
|
||||
| Since | Origin / Contributor | Maintainer | Source |
|
||||
| :----- | :-------------------- | :---------- | :------ |
|
||||
| 2015-06-26 | [DiUS](https://github.com/DiUS), [Johny Mattsson](https://github.com/jmattsson), Bernd Meyer <bmeyer@dius.com.au> | [Johny Mattsson](https://github.com/jmattsson) | [rtcfifo.c](../../../app/modules/rtcfifo.c)|
|
||||
| 2015-06-26 | [DiUS](https://github.com/DiUS), [Johny Mattsson](https://github.com/jmattsson), Bernd Meyer <bmeyer@dius.com.au> | [Johny Mattsson](https://github.com/jmattsson) | [rtcfifo.c](../../app/modules/rtcfifo.c)|
|
||||
|
||||
The rtcfifo module implements a first-in,first-out storage intended for sensor readings. As the name suggests, it is backed by the [RTC](https://en.wikipedia.org/wiki/Real-time_clock) user memory and as such survives deep sleep cycles. Conceptually it can be thought of as a cyclic array of `{ timestamp, name, value }` tuples. Internally it uses a space-optimized storage format to allow the greatest number of samples to be kept. This comes with several trade-offs, and as such is not a one-solution-fits-all. Notably:
|
||||
- Timestamps are stored with second-precision.
|
|
@ -1,7 +1,7 @@
|
|||
# RTC User Memory Module
|
||||
| Since | Origin / Contributor | Maintainer | Source |
|
||||
| :----- | :-------------------- | :---------- | :------ |
|
||||
| 2015-06-25 | [DiUS](https://github.com/DiUS), [Johny Mattsson](https://github.com/jmattsson) | [Johny Mattsson](https://github.com/jmattsson) | [rtcmem.c](../../../app/modules/rtcmem.c)|
|
||||
| 2015-06-25 | [DiUS](https://github.com/DiUS), [Johny Mattsson](https://github.com/jmattsson) | [Johny Mattsson](https://github.com/jmattsson) | [rtcmem.c](../../app/modules/rtcmem.c)|
|
||||
|
||||
The rtcmem module provides basic access to the [RTC](https://en.wikipedia.org/wiki/Real-time_clock) (Real Time Clock) memory.
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
# RTC Time Module
|
||||
| Since | Origin / Contributor | Maintainer | Source |
|
||||
| :----- | :-------------------- | :---------- | :------ |
|
||||
| 2015-06-25 | [DiUS](https://github.com/DiUS), [Johny Mattsson](https://github.com/jmattsson), Bernd Meyer <bmeyer@dius.com.au> | [Johny Mattsson](https://github.com/jmattsson) | [rtctime.c](../../../app/modules/rtctime.c)|
|
||||
| 2015-06-25 | [DiUS](https://github.com/DiUS), [Johny Mattsson](https://github.com/jmattsson), Bernd Meyer <bmeyer@dius.com.au> | [Johny Mattsson](https://github.com/jmattsson) | [rtctime.c](../../app/modules/rtctime.c)|
|
||||
|
||||
The rtctime module provides advanced timekeeping support for NodeMCU, including keeping time across deep sleep cycles (provided [`rtctime.dsleep()`](#rtctimedsleep) is used instead of [`node.dsleep()`](node.md#nodedsleep)). This can be used to significantly extend battery life on battery powered sensor nodes, as it is no longer necessary to fire up the RF module each wake-up in order to obtain an accurate timestamp.
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
# Sigma-delta Module
|
||||
| Since | Origin / Contributor | Maintainer | Source |
|
||||
| :----- | :-------------------- | :---------- | :------ |
|
||||
| 2016-02-20 | [Espressif example](http://bbs.espressif.com/viewtopic.php?t=49), [Arnim Läuger](https://github.com/devsaurus) | [Arnim Läuger](https://github.com/devsaurus) | [sigma_delta.c](../../../app/modules/sigma_delta.c)|
|
||||
| 2016-02-20 | [Espressif example](http://bbs.espressif.com/viewtopic.php?t=49), [Arnim Läuger](https://github.com/devsaurus) | [Arnim Läuger](https://github.com/devsaurus) | [sigma_delta.c](../../app/modules/sigma_delta.c)|
|
||||
|
||||
This module provides access to the [sigma-delta](https://en.wikipedia.org/wiki/Delta-sigma_modulation) component. It's a hardware signal generator that can be routed to any of the GPIOs except pin 0.
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
# SNTP Module
|
||||
| Since | Origin / Contributor | Maintainer | Source |
|
||||
| :----- | :-------------------- | :---------- | :------ |
|
||||
| 2015-06-30 | [DiUS](https://github.com/DiUS), [Johny Mattsson](https://github.com/jmattsson) | [Johny Mattsson](https://github.com/jmattsson) | [sntp.c](../../../app/modules/sntp.c)|
|
||||
| 2015-06-30 | [DiUS](https://github.com/DiUS), [Johny Mattsson](https://github.com/jmattsson) | [Johny Mattsson](https://github.com/jmattsson) | [sntp.c](../../app/modules/sntp.c)|
|
||||
|
||||
The SNTP module implements a [Simple Network Time Procotol](https://en.wikipedia.org/wiki/Network_Time_Protocol#SNTP) client. This includes support for the "anycast" [NTP](https://en.wikipedia.org/wiki/Network_Time_Protocol) mode where, if supported by the NTP server(s) in your network, it is not necessary to even know the IP address of the NTP server.
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
# Somfy module
|
||||
| Since | Origin / Contributor | Maintainer | Source |
|
||||
| :----- | :-------------------- | :---------- | :------ |
|
||||
| 2016-09-27 | [vsky279](https://github.com/vsky279) | [vsky279](https://github.com/vsky279) | [somfy.c](../../../app/modules/somfy.c)|
|
||||
| 2016-09-27 | [vsky279](https://github.com/vsky279) | [vsky279](https://github.com/vsky279) | [somfy.c](../../app/modules/somfy.c)|
|
||||
|
||||
This module provides a simple interface to control Somfy blinds via an RF transmitter (433.42 MHz). It is based on [Nickduino Somfy Remote Arduino skecth](https://github.com/Nickduino/Somfy_Remote).
|
||||
|
||||
|
@ -42,4 +42,4 @@ To start with controlling your Somfy blinds you need to:
|
|||
- execute `somfy.sendcommand(4, 123, somfy.PROG, 1, 2)` - the blinds will react and your ESP8266 remote control is now registered
|
||||
- running `somfy.sendcommand(4, 123, somfy.DOWN, 2, 16)` - fully closes the blinds
|
||||
|
||||
For more elaborated example please refer to [`somfy.lua`](../../../lua_examples/somfy.lua).
|
||||
For more elaborated example please refer to [`somfy.lua`](../../lua_examples/somfy.lua).
|
|
@ -1,7 +1,7 @@
|
|||
# SPI Module
|
||||
| Since | Origin / Contributor | Maintainer | Source |
|
||||
| :----- | :-------------------- | :---------- | :------ |
|
||||
| 2015-01-16 | [Ibrahim Abd Elkader](https://github.com/iabdalkader) | [Arnim Läuger](https://github.com/devsaurus) | [spi.c](../../../app/modules/spi.c)|
|
||||
| 2015-01-16 | [Ibrahim Abd Elkader](https://github.com/iabdalkader) | [Arnim Läuger](https://github.com/devsaurus) | [spi.c](../../app/modules/spi.c)|
|
||||
|
||||
All transactions for sending and receiving are most-significant-bit first and least-significant last.
|
||||
For technical details of the underlying hardware refer to [metalphreak's ESP8266 HSPI articles](http://d.av.id.au/blog/tag/hspi/).
|
|
@ -1,7 +1,7 @@
|
|||
# Struct Module
|
||||
| Since | Origin / Contributor | Maintainer | Source |
|
||||
| :----- | :-------------------- | :---------- | :------ |
|
||||
| 2015-02-13 | [Roberto Ierusalimschy](http://www.inf.puc-rio.br/~roberto/struct/), [Philip Gladstone](https://github.com/pjsg) | [Philip Gladstone](https://github.com/pjsg) | [struct.c](../../../app/modules/struct.c)|
|
||||
| 2015-02-13 | [Roberto Ierusalimschy](http://www.inf.puc-rio.br/~roberto/struct/), [Philip Gladstone](https://github.com/pjsg) | [Philip Gladstone](https://github.com/pjsg) | [struct.c](../../app/modules/struct.c)|
|
||||
|
||||
This module offers basic facilities to convert Lua values to and from C structs. Its main functions are `struct.pack`, which packs multiple Lua values into a struct-like string; and `struct.unpack`, which unpacks multiple Lua values from a given struct-like string.
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
# Switec Module
|
||||
| Since | Origin / Contributor | Maintainer | Source |
|
||||
| :----- | :-------------------- | :---------- | :------ |
|
||||
| 2016-06-26 |[Philip Gladstone](https://github.com/pjsg) | [Philip Gladstone](https://github.com/pjsg) | [switec.c](../../../app/modules/switec.c)|
|
||||
| 2016-06-26 |[Philip Gladstone](https://github.com/pjsg) | [Philip Gladstone](https://github.com/pjsg) | [switec.c](../../app/modules/switec.c)|
|
||||
|
||||
This module controls a [Switec X.27](http://www.jukenswisstech.com/?page_id=103) (or compatible) instrument stepper motor. These are the
|
||||
stepper motors that are used in modern automotive instrument clusters. They are incredibly cheap
|
|
@ -1,7 +1,7 @@
|
|||
# TM1829 Module
|
||||
| Since | Origin / Contributor | Maintainer | Source |
|
||||
| :----- | :-------------------- | :---------- | :------ |
|
||||
| 2016-05-15 | [Sebastian Haas](https://github.com/sebi2k1) | [Sebastian Haas](https://github.com/sebi2k1) | [tm1829.c](../../../app/modules/tm1829.c)|
|
||||
| 2016-05-15 | [Sebastian Haas](https://github.com/sebi2k1) | [Sebastian Haas](https://github.com/sebi2k1) | [tm1829.c](../../app/modules/tm1829.c)|
|
||||
|
||||
tm1829 is a library to handle led strips using Titan Micro tm1829
|
||||
led controller.
|
|
@ -1,7 +1,7 @@
|
|||
# Timer Module
|
||||
| Since | Origin / Contributor | Maintainer | Source |
|
||||
| :----- | :-------------------- | :---------- | :------ |
|
||||
| 2014-12-12 | [Zeroday](https://github.com/funshine) | [dnc40085](https://github.com/dnc40085) | [tmr.c](../../../app/modules/tmr.c)|
|
||||
| 2014-12-12 | [Zeroday](https://github.com/funshine) | [dnc40085](https://github.com/dnc40085) | [tmr.c](../../app/modules/tmr.c)|
|
||||
|
||||
The tmr module allows access to simple timers, the system counter and uptime.
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
# TSL2561 Module
|
||||
| Since | Origin / Contributor | Maintainer | Source |
|
||||
| :----- | :-------------------- | :---------- | :------ |
|
||||
| 2015-08-22 | [Michael Lucas](https://github.com/Aeprox) | [Michael Lucas](https://github.com/Aeprox) | [tsl2561.c](../../../app/modules/tsl2561.c)|
|
||||
| 2015-08-22 | [Michael Lucas](https://github.com/Aeprox) | [Michael Lucas](https://github.com/Aeprox) | [tsl2561.c](../../app/modules/tsl2561.c)|
|
||||
|
||||
## tsl2561.getlux()
|
||||
Reads sensor values from the device and returns calculated lux value.
|
|
@ -1,7 +1,7 @@
|
|||
# u8g Module
|
||||
| Since | Origin / Contributor | Maintainer | Source |
|
||||
| :----- | :-------------------- | :---------- | :------ |
|
||||
| 2015-01-30 | [Oli Kraus](https://github.com/olikraus/u8glib), [Arnim Läuger](https://github.com/devsaurus) | [Arnim Läuger](https://github.com/devsaurus) | [u8glib](../../../app/u8glib/)|
|
||||
| 2015-01-30 | [Oli Kraus](https://github.com/olikraus/u8glib), [Arnim Läuger](https://github.com/devsaurus) | [Arnim Läuger](https://github.com/devsaurus) | [u8glib](../../app/u8glib/)|
|
||||
|
||||
U8glib is a graphics library developed at [olikraus/u8glib](https://github.com/olikraus/u8glib) with support for many different displays. The NodeMCU firmware supports a subset of these.
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
# UART Module
|
||||
| Since | Origin / Contributor | Maintainer | Source |
|
||||
| :----- | :-------------------- | :---------- | :------ |
|
||||
| 2014-12-22 | [Zeroday](https://github.com/funshine) | [Zeroday](https://github.com/funshine) | [uart.c](../../../app/modules/uart.c)|
|
||||
| 2014-12-22 | [Zeroday](https://github.com/funshine) | [Zeroday](https://github.com/funshine) | [uart.c](../../app/modules/uart.c)|
|
||||
|
||||
The [UART](https://en.wikipedia.org/wiki/Universal_asynchronous_receiver/transmitter) (Universal asynchronous receiver/transmitter) module allows configuration of and communication over the UART serial port.
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
# ucg Module
|
||||
| Since | Origin / Contributor | Maintainer | Source |
|
||||
| :----- | :-------------------- | :---------- | :------ |
|
||||
| 2015-08-05 | [Oli Kraus](https://github.com/olikraus/ucglib), [Arnim Läuger](https://github.com/devsaurus) | [Arnim Läuger](https://github.com/devsaurus) | [ucglib](../../../app/ucglib/)|
|
||||
| 2015-08-05 | [Oli Kraus](https://github.com/olikraus/ucglib), [Arnim Läuger](https://github.com/devsaurus) | [Arnim Läuger](https://github.com/devsaurus) | [ucglib](../../app/ucglib/)|
|
||||
|
||||
Ucglib is a graphics library developed at [olikraus/ucglib](https://github.com/olikraus/ucglib) with support for color TFT displays. The NodeMCU firmware supports a subset of these:
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
# Websocket Module
|
||||
| Since | Origin / Contributor | Maintainer | Source |
|
||||
| :----- | :-------------------- | :---------- | :------ |
|
||||
| 2016-08-02 | [Luís Fonseca](https://github.com/luismfonseca) | [Luís Fonseca](https://github.com/luismfonseca) | [websocket.c](../../../app/modules/websocket.c)|
|
||||
| 2016-08-02 | [Luís Fonseca](https://github.com/luismfonseca) | [Luís Fonseca](https://github.com/luismfonseca) | [websocket.c](../../app/modules/websocket.c)|
|
||||
|
||||
A websocket *client* module that implements [RFC6455](https://tools.ietf.org/html/rfc6455) (version 13) and provides a simple interface to send and receive messages.
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
# WiFi Module
|
||||
| Since | Origin / Contributor | Maintainer | Source |
|
||||
| :----- | :-------------------- | :---------- | :------ |
|
||||
| 2015-05-12 | [Zeroday](https://github.com/funshine) | [dnc40085](https://github.com/dnc40085) | [wifi.c](../../../app/modules/wifi.c)|
|
||||
| 2015-05-12 | [Zeroday](https://github.com/funshine) | [dnc40085](https://github.com/dnc40085) | [wifi.c](../../app/modules/wifi.c)|
|
||||
|
||||
The NodeMCU WiFi control is spread across several tables:
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
# WS2801 Module
|
||||
| Since | Origin / Contributor | Maintainer | Source |
|
||||
| :----- | :-------------------- | :---------- | :------ |
|
||||
| 2015-07-12 | [Espressif example](https://github.com/CHERTS/esp8266-devkit/blob/master/Espressif/examples/EspLightNode/user/ws2801.c), [Konrad Beckmann](https://github.com/kbeckmann) | [Konrad Beckmann](https://github.com/kbeckmann) | [ws2801.c](../../../app/modules/ws2801.c)|
|
||||
| 2015-07-12 | [Espressif example](https://github.com/CHERTS/esp8266-devkit/blob/master/Espressif/examples/EspLightNode/user/ws2801.c), [Konrad Beckmann](https://github.com/kbeckmann) | [Konrad Beckmann](https://github.com/kbeckmann) | [ws2801.c](../../app/modules/ws2801.c)|
|
||||
|
||||
|
||||
## ws2801.init()
|
|
@ -1,7 +1,7 @@
|
|||
# WS2812 Module
|
||||
| Since | Origin / Contributor | Maintainer | Source |
|
||||
| :----- | :-------------------- | :---------- | :------ |
|
||||
| 2015-02-05 | [Till Klocke](https://github.com/dereulenspiegel), [Thomas Soëte](https://github.com/Alkorin) | [Till Klocke](https://github.com/dereulenspiegel) | [ws2812.c](../../../app/modules/ws2812.c)|
|
||||
| 2015-02-05 | [Till Klocke](https://github.com/dereulenspiegel), [Thomas Soëte](https://github.com/Alkorin) | [Till Klocke](https://github.com/dereulenspiegel) | [ws2812.c](../../app/modules/ws2812.c)|
|
||||
|
||||
ws2812 is a library to handle ws2812-like led strips.
|
||||
It works at least on WS2812, WS2812b, APA104, SK6812 (RGB or RGBW).
|
|
@ -32,8 +32,8 @@ Connection of `SS/CS` can be done to any of the GPIOs on pins 1 to 12. This allo
|
|||
|
||||
The adapter does not require level shifters since SD and ESP are supposed to be powered with the same voltage. If your specific model contains level shifters then make sure that both sides can be operated at 3V3.
|
||||
|
||||
![1:1 micro-sd adapter](../img/micro_sd-small.jpg "1:1 micro-sd adapter")
|
||||
![micro-sd shield](../img/micro_sd_shield-small.jpg "micro-sd shield")
|
||||
![1:1 micro-sd adapter](img/micro_sd-small.jpg "1:1 micro-sd adapter")
|
||||
![micro-sd shield](img/micro_sd_shield-small.jpg "micro-sd shield")
|
||||
|
||||
## Lua bindings
|
||||
|
|
@ -8,7 +8,7 @@ Note that the NodeMCU serial interface uses 115'200bps at boot time. To change t
|
|||
|
||||
> The essential multiplatforms tools for any ESP8266 developer from luatool author’s, including Lua for NodeMCU and MicroPython. Also, all AT commands are supported. Requires Java (Standard Edition - SE ver 7 and above) installed.
|
||||
|
||||
![ESPlorer](../img/ESPlorer.jpg "ESPlorer")
|
||||
![ESPlorer](img/ESPlorer.jpg "ESPlorer")
|
||||
|
||||
Source: [https://github.com/4refr0nt/ESPlorer](https://github.com/4refr0nt/ESPlorer)
|
||||
|
129
mkdocs.yml
129
mkdocs.yml
|
@ -3,7 +3,7 @@ site_description: Description of the NodeMCU documentation
|
|||
repo_url: https://github.com/nodemcu/nodemcu-firmware/
|
||||
|
||||
theme: readthedocs
|
||||
strict: true
|
||||
strict: false
|
||||
|
||||
markdown_extensions:
|
||||
#http://pythonhosted.org/Markdown/extensions/admonition.html
|
||||
|
@ -18,72 +18,69 @@ extra_css:
|
|||
extra_javascript:
|
||||
- js/extra.js
|
||||
|
||||
site_favicon: img/favicon.png
|
||||
|
||||
pages:
|
||||
- Overview: 'index.md'
|
||||
- English:
|
||||
- Home: 'en/index.md'
|
||||
- Building the firmware: 'en/build.md'
|
||||
- Flashing the firmware: 'en/flash.md'
|
||||
- Internal filesystem notes: 'en/spiffs.md'
|
||||
- Filesystem on SD card: 'en/sdcard.md'
|
||||
- Uploading code: 'en/upload.md'
|
||||
- Basics:
|
||||
- Building the firmware: 'build.md'
|
||||
- Flashing the firmware: 'flash.md'
|
||||
- Uploading code: 'upload.md'
|
||||
- Support: 'support.md'
|
||||
- FAQs:
|
||||
- Lua Developer FAQ: 'en/lua-developer-faq.md'
|
||||
- Extension Developer FAQ: 'en/extn-developer-faq.md'
|
||||
- Hardware FAQ: 'en/hardware-faq.md'
|
||||
- Support: 'en/support.md'
|
||||
- Lua Developer FAQ: 'lua-developer-faq.md'
|
||||
- Extension Developer FAQ: 'extn-developer-faq.md'
|
||||
- Hardware FAQ: 'hardware-faq.md'
|
||||
- Whitepapers:
|
||||
- Filesystem on SD card: 'sdcard.md'
|
||||
- Internal filesystem: 'spiffs.md'
|
||||
- Modules:
|
||||
- 'adc': 'en/modules/adc.md'
|
||||
- 'adxl345': 'en/modules/adxl345.md'
|
||||
- 'am2320': 'en/modules/am2320.md'
|
||||
- 'apa102': 'en/modules/apa102.md'
|
||||
- 'bit': 'en/modules/bit.md'
|
||||
- 'bme280': 'en/modules/bme280.md'
|
||||
- 'bmp085': 'en/modules/bmp085.md'
|
||||
- 'cjson': 'en/modules/cjson.md'
|
||||
- 'coap': 'en/modules/coap.md'
|
||||
- 'crypto': 'en/modules/crypto.md'
|
||||
- 'dht': 'en/modules/dht.md'
|
||||
- 'encoder': 'en/modules/encoder.md'
|
||||
- 'enduser setup': 'en/modules/enduser-setup.md'
|
||||
- 'file': 'en/modules/file.md'
|
||||
- 'gpio': 'en/modules/gpio.md'
|
||||
- 'hmc5883l': 'en/modules/hmc5883l.md'
|
||||
- 'http': 'en/modules/http.md'
|
||||
- 'hx711' : 'en/modules/hx711.md'
|
||||
- 'i2c' : 'en/modules/i2c.md'
|
||||
- 'l3g4200d' : 'en/modules/l3g4200d.md'
|
||||
- 'mdns': 'en/modules/mdns.md'
|
||||
- 'mqtt': 'en/modules/mqtt.md'
|
||||
- 'net': 'en/modules/net.md'
|
||||
- 'node': 'en/modules/node.md'
|
||||
- 'ow (1-Wire)': 'en/modules/ow.md'
|
||||
- 'pcm' : 'en/modules/pcm.md'
|
||||
- 'perf': 'en/modules/perf.md'
|
||||
- 'pwm' : 'en/modules/pwm.md'
|
||||
- 'rc' : 'en/modules/rc.md'
|
||||
- 'rfswitch' : 'en/modules/rfswitch.md'
|
||||
- 'rotary' : 'en/modules/rotary.md'
|
||||
- 'rtcfifo': 'en/modules/rtcfifo.md'
|
||||
- 'rtcmem': 'en/modules/rtcmem.md'
|
||||
- 'rtctime': 'en/modules/rtctime.md'
|
||||
- 'sigma delta': 'en/modules/sigma-delta.md'
|
||||
- 'sntp': 'en/modules/sntp.md'
|
||||
- 'somfy': 'en/modules/somfy.md'
|
||||
- 'spi': 'en/modules/spi.md'
|
||||
- 'struct': 'en/modules/struct.md'
|
||||
- 'switec': 'en/modules/switec.md'
|
||||
- 'tm1829': 'en/modules/tm1829.md'
|
||||
- 'tmr': 'en/modules/tmr.md'
|
||||
- 'tsl2561': 'en/modules/tsl2561.md'
|
||||
- 'u8g': 'en/modules/u8g.md'
|
||||
- 'uart': 'en/modules/uart.md'
|
||||
- 'ucg': 'en/modules/ucg.md'
|
||||
- 'websocket': 'en/modules/websocket.md'
|
||||
- 'wifi': 'en/modules/wifi.md'
|
||||
- 'ws2801': 'en/modules/ws2801.md'
|
||||
- 'ws2812': 'en/modules/ws2812.md'
|
||||
#- Deutsch:
|
||||
# - Home: 'de/index.md'
|
||||
- 'adc': 'modules/adc.md'
|
||||
- 'adxl345': 'modules/adxl345.md'
|
||||
- 'am2320': 'modules/am2320.md'
|
||||
- 'apa102': 'modules/apa102.md'
|
||||
- 'bit': 'modules/bit.md'
|
||||
- 'bme280': 'modules/bme280.md'
|
||||
- 'bmp085': 'modules/bmp085.md'
|
||||
- 'cjson': 'modules/cjson.md'
|
||||
- 'coap': 'modules/coap.md'
|
||||
- 'crypto': 'modules/crypto.md'
|
||||
- 'dht': 'modules/dht.md'
|
||||
- 'encoder': 'modules/encoder.md'
|
||||
- 'enduser setup': 'modules/enduser-setup.md'
|
||||
- 'file': 'modules/file.md'
|
||||
- 'gdbstub': 'modules/gdbstub.md'
|
||||
- 'gpio': 'modules/gpio.md'
|
||||
- 'hmc5883l': 'modules/hmc5883l.md'
|
||||
- 'http': 'modules/http.md'
|
||||
- 'hx711' : 'modules/hx711.md'
|
||||
- 'i2c' : 'modules/i2c.md'
|
||||
- 'l3g4200d' : 'modules/l3g4200d.md'
|
||||
- 'mdns': 'modules/mdns.md'
|
||||
- 'mqtt': 'modules/mqtt.md'
|
||||
- 'net': 'modules/net.md'
|
||||
- 'node': 'modules/node.md'
|
||||
- 'ow (1-Wire)': 'modules/ow.md'
|
||||
- 'pcm' : 'modules/pcm.md'
|
||||
- 'perf': 'modules/perf.md'
|
||||
- 'pwm' : 'modules/pwm.md'
|
||||
- 'rc' : 'modules/rc.md'
|
||||
- 'rfswitch' : 'modules/rfswitch.md'
|
||||
- 'rotary' : 'modules/rotary.md'
|
||||
- 'rtcfifo': 'modules/rtcfifo.md'
|
||||
- 'rtcmem': 'modules/rtcmem.md'
|
||||
- 'rtctime': 'modules/rtctime.md'
|
||||
- 'sigma delta': 'modules/sigma-delta.md'
|
||||
- 'sntp': 'modules/sntp.md'
|
||||
- 'somfy': 'modules/somfy.md'
|
||||
- 'spi': 'modules/spi.md'
|
||||
- 'struct': 'modules/struct.md'
|
||||
- 'switec': 'modules/switec.md'
|
||||
- 'tm1829': 'modules/tm1829.md'
|
||||
- 'tmr': 'modules/tmr.md'
|
||||
- 'tsl2561': 'modules/tsl2561.md'
|
||||
- 'u8g': 'modules/u8g.md'
|
||||
- 'uart': 'modules/uart.md'
|
||||
- 'ucg': 'modules/ucg.md'
|
||||
- 'websocket': 'modules/websocket.md'
|
||||
- 'wifi': 'modules/wifi.md'
|
||||
- 'ws2801': 'modules/ws2801.md'
|
||||
- 'ws2812': 'modules/ws2812.md'
|
||||
|
|
Loading…
Reference in New Issue