====== boot-réseau pour ESP8266 ====== - Code lua basique - OTA boot Over The air et met a jour le firmawre - utilise un serveur http pour se mettre à jour ===== Code Lua facile ===== - L'ESP grace à init.lua va cherche un fichier correspondant à son //chipid// sur l'AP et l'éxecute, Cela permet de de plus avoir à brancher les puces pour les programmer ;-) bon ça bouffe un peu de place ... Pistes : * http://devicehub.net/dev/tutorials/esp8266_senzor_actuator Reste a enlever le dernier caractere... Fichier déposé sur l'AP , mon ESP a 10265575 comme chipID echo "---boot print (node.info()) --fin" > boot-10265575.lua --init.lua --lecture d'un boot-lua reseau function ap_connect () wifi.setmode(wifi.STATION) cfg = { ip="192.168.1.63", netmask="255.255.255.0", gateway="192.168.1.1"} wifi.sta.setip(cfg) wifi.sta.config("SSID","PASSWD") ident = node.chipid() print(ident) end function transboot () conn=net.createConnection(net.TCP, 0) conn:connect(80,"192.168.1.1") conn:on("connection", function(conn, payload) print ("get") conn:send("GET /boot-" .. ident ..".lua" .. " HTTP/1.1\r\nHost: www.local.lan\r\n" .. "Connection: keep-alive\r\nKeep-Alive: timeout=5, max=100 */*\r\n\r\n") print("connection") end ) conn:on("receive", function(conn, payload) print("receive") deb = string.find(payload, "--boot") if (deb) then print ("--boot " .. deb) prog = string.sub(payload, deb) print (prog) file.remove("boot.lua") file.open("boot.lua","a+") file.write(prog) file.close() conn:close() dofile("boot.lua"); end end ) end function boot_fic () if (file.open("boot.lua", "r") ~=nil) then print(file.read("q")) file.close() dofile("boot.lua"); end end ap_connect () transboot() boot_fic() tmr.alarm(1,10000, 1, function() if wifi.sta.status() ~= 5 then print ("AP") ap_connect () transboot() boot_fic() end end) ===== On The Air , boot pour une mise à jour WIFI ===== ==== pistes ==== * http://www.esp8266.com/viewtopic.php?p=33235 * https://gist.github.com/av1024/8d058d31a6dfb74bbd0d une maj par code python ==== Mise à jour par http ==== la librairie ESP8266HTTPUpdateServer