meta data for this page
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
esp8266:nodemcu [2015/09/20 22:34] – niziak | home_automation:esp8266:nodemcu [2017/01/19 07:55] (current) – [Other Projects] niziak | ||
---|---|---|---|
Line 12: | Line 12: | ||
file.close() | file.close() | ||
</ | </ | ||
- | This method is not comfortable, | + | This method is not comfortable, |
or [[https:// | or [[https:// | ||
Line 18: | Line 18: | ||
custom builds: http:// | custom builds: http:// | ||
+ | * https:// | ||
+ | * https:// | ||
+ | * https:// | ||
- | https:// | + | ====== Programming ====== |
- | https:// | + | * Devel API (latest): [[https:// |
- | https:// | + | * GPIO MAP: [[https:// |
+ | * Current API: [[https:// | ||
- | ===== Programming | + | ===== Saving memory |
- | Devel API (latest): [[https:// | + | * Avoid upvalues for context passed between event callbacks, as its very difficulat to get a handle on memory leaks created by these. Only use globals for this usecase. |
- | Current API: [[https:// | + | * Nil globals once they are no longer needed so that they can be properly GCed. |
+ | * Allocate resources and create closures on a just-in-time basis. | ||
+ | * The cost of require or dofile is relatively small, so break your program into overlays one per event and use a small stub function as a callback to load each. | ||
+ | * Use compiled .lc files and load using dofile(). | ||
- | ==== Scan WiFi ==== | + | ===== Scan WiFi ===== |
<code lua> | <code lua> | ||
function listap(t) | function listap(t) | ||
Line 39: | Line 46: | ||
</ | </ | ||
| | ||
- | ==== Connect to WiFi ==== | + | ===== Connect to WiFi ===== |
<code lua> | <code lua> | ||
wifi.setmode(wifi.STATION) | wifi.setmode(wifi.STATION) | ||
Line 46: | Line 53: | ||
</ | </ | ||
- | ==== Scan 1 wire bus ==== | + | ===== Scan 1 wire bus ===== |
<code lua> | <code lua> | ||
ow.setup(1) | ow.setup(1) | ||
Line 52: | Line 59: | ||
</ | </ | ||
- | ===== Projects | + | ===== Resolving DNS ===== |
- | ==== 1-wire | + | It is not so easy. It need socket instance which will be used only for one DNS request, then socket will be destroyed. Response is performed by callback. |
- | [[http:// | + | There is sth about easier API: [[https:// |
+ | |||
+ | ===== Compile to byte code ===== | ||
+ | You can compile everytihn except init.lua. | ||
+ | < | ||
+ | Will produce myprog.lc. | ||
+ | |||
+ | ====== Other Projects ====== | ||
+ | * 1-wire temp sensor reporting to [[http:// | ||
+ | * 1-wire temp sensor reporting to [[http:// | ||
+ | * [[http:// | ||
+ | * 1-wire temp sensor [[https:// | ||
+ | * Control 2 GPIO from Web [[http:// | ||
+ | * Http server [[https:// | ||
+ | * Remote update [[http:// | ||
+ | |||
+ | ===== Free Cloud/ | ||
+ | * Thingspeak: [[http:// | ||
+ | * Telit: [[http:// | ||
+ | * Google: [[https:// | ||
+ | * IBM: [[https:// | ||
+ | |||
+ | todo | ||
+ | * https:// | ||