Outils pour utilisateurs

Outils du site


esp8266:boot-reseau

boot-réseau pour ESP8266

  1. Code lua basique
  2. OTA boot Over The air et met a jour le firmawre
  3. utilise un serveur http pour se mettre à jour

Code Lua facile

  1. 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 :

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

Mise à jour par http

la librairie ESP8266HTTPUpdateServer

esp8266/boot-reseau.txt · Dernière modification: 2017/04/11 15:13 (modification externe)