diff --git a/autorun.lua b/autorun.lua index 4173513..bd6fb78 100644 --- a/autorun.lua +++ b/autorun.lua @@ -1,12 +1,7 @@ -- charge le fichier principal -dofile('out.lua') dofile("main.lua") -- affiche la température du CPU printTemp() --- affiche le résultat du dé sur le neopixel --- dice() --- lance l'hotspot wifi et le serveur web -dofile("web.lua") diff --git a/buzz.lua b/buzz.lua deleted file mode 100644 index 6891c62..0000000 --- a/buzz.lua +++ /dev/null @@ -1,27 +0,0 @@ --- écrit le 23/10/2024 par Lukian Leizour --- ce programme doit tourner sur un ESP32 sous LUARTOS - --- fonction permettant d'allumer un buzzer pendant un temps donné -function buzz(pin, delay) -- pin : la patte sur laquelle le buzzer est connecté; delay : le temps pendant lequel le buzzer reste allumé - pinon(pin) -- on allume le buzzer - tmr.delayms(delay) -- on attend pendand le temps désiré - pinoff(pin) -- on étteint le buzzer une fois la durée atteinte -end - --- fonction permettant de faire "clignoter" un buzzer sur un pin donné pour une durée donnée et un nombre d'itérations donné -function blink_buzz(pin, n, delay) -- pin : la patte du buzzer; n : le nombre d'itérations; delay : le délai en ms - for i=1,n do - buzz(pin, delay) -- on allume le buzzer pendant la durée désirée - tmr.delayms(delay) -- on attend avant de passer à la suite - end -end - --- fonction qui envoie un signal SOS sonore sur un buzzer branché sur la patte D18 de l'ESP32 -function sos_buzz(n) -- n : nombre de fois qu'on fait le signal SOS - for i=1,n do - pinblink_buzz(pio.GPIO18, 3, 400) -- on clignotte 3 fois longuement - pinblink_buzz(pio.GPIO18, 3, 200) -- on clignotte 3 fois courtement - pinblink_buzz(pio.GPIO18, 3, 400) -- on clignotte 3 fois longuement - tmr.delayms(400) -- on fait une longue pause de 400ms - end -end diff --git a/dht22.lua b/dht22.lua deleted file mode 100644 index aa987ba..0000000 --- a/dht22.lua +++ /dev/null @@ -1,53 +0,0 @@ --- écrit par Lukian Leizour le 22/10/2024x - -function print_temp() - s = sensor.attach("DHT22", pio.GPIO18) - tmr.delayms(500) - while true do - print("Temperature : "..s:read("temperature").." Humitité : "..s:read("humidity")) - tmr.delayms(500) - end -end - -function humi_neo(min, max) - s = sensor.attach("DHT22", pio.GPIO18) - neo = neopixel.attach(neopixel.WS2812B, pio.GPIO19, 8) - tmr.delayms(500) - pos = 0 - while true do - neo:setPixel(pos, 0, 0, 0) - pos = math.floor((s:read("humidity") - min)/(max - min) * 8) - neo:setPixel(pos, 240, 150, 140) - neo:update() - tmr.delayms(500) - end -end - -function temp_humi_avg() - temps = {} - humis = {} - s = sensor.attach("DHT22", pio.GPIO18) - device = pwm.attach(pio.GPIO2, 3, 0.5) - blinking = false - tmr.delayms(500) - while true do - temp = s:read("temperature") - humi = s:read("humidity") - if #temps == 10 then - for i=1,9 do - temps[i] = temps[i + 1] - humis[i] = humis[i + 1] - end - temps[10] = temp - humis[10] = humi - else - temps[#temps + 1] = temp - humis[#humis + 1] = humi - end - print("temp: "..temp..", min temp: "..min(temps)..", max temp: "..max(temps)..", avg temp: "..avg(temps)) - print("humi: "..humi..", min humi: "..min(humis)..", max humi: "..max(humis)..", avg humi: "..avg(humis).."\n") - if humi > avg(humis) and not blinking then device:start(); blinking = true - elseif humi <= avg(humis) and blinking then device:stop(); blinking = false end - tmr.delayms(10000) - end -end diff --git a/encoder.lua b/encoder.lua deleted file mode 100644 index e8f27cb..0000000 --- a/encoder.lua +++ /dev/null @@ -1,41 +0,0 @@ --- écrit par Lukian Leizour le 12/10/2024 - -function print_pos() - enc = encoder.attach(pio.GPIO18, pio.GPIO19, pio.GPIO21, function(dir, counter, button) - print(dir, counter, button) - end) -end - -function scroll() - neo = neopixel.attach(neopixel.WS2812B, pio.GPIO22, 8) - pos = 0 - - enc = encoder.attach(pio.GPIO18, pio.GPIO19, pio.GPIO21, function(dir, counter, button) - neo:setPixel(pos, 0, 0, 0) - if (dir == 1) then pos = (pos + 1) % 8 - elseif (dir == -1) then pos = (pos - 1) % 8 end - r, g, b = wheelRGB(math.random(0, 255)) - neo:setPixel(pos, r//10, g//10, b//10) - neo:update() - end) -end - -function led_on_off() - on = false - enc = encoder.attach(pio.GPIO18, pio.GPIO19, pio.GPIO21, function(dir, counter, button) - if button == 1 then on = not on end - if on then pinon(pio.GPIO2) else pinoff(pio.GPIO2) end - end) -end - -function led_speed() - device = pwm.attach(pio.GPIO2, 1, 0.5) - device:start() - pos = 1 - - enc = encoder.attach(pio.GPIO18, pio.GPIO19, pio.GPIO21, function(dir, counter, button) - if (dir == 1) then pos = pos + 1 - elseif (dir == -1 and pos > 1) then pos = (pos - 1) end - device:setfreq(pos) - end) -end diff --git a/leds.lua b/leds.lua deleted file mode 100644 index 6606228..0000000 --- a/leds.lua +++ /dev/null @@ -1,135 +0,0 @@ --- écrit le 23/10/2024 par Lukian Leizour --- ce programme doit tourner sur un ESP32 sous LUARTOS - --- fonction permettant d'allumer la led bleue du du circuit de l'ESP32 -function ledon() - pinon(pio.GPIO2) -end - --- fonction permettant d'étteindre la led bleue du du circuit de l'ESP32 -function ledoff() - pinoff(pio.GPIO2) -end - --- fonction permettant de faire clignoter la led bleue du circuit de l'ESP32 -function blink(n) -- pin : la patte de sortie; n : int, nombre d'itérations - pinblink(pio.GPIO2, n, 200) -- appel de la fonciton blink en lui donnant la bonne patte en paramètre ainsi que le temps d'éclairage -end - --- fonction permettant de faire clignoter la led sur la pin 18 4 fois brièvement -function blink_pwm1() - device = pwm.attach(pio.GPIO18, 1, 0.2) -- 1Hz et 20% de signal "haut" - device:start() -- départ - tmr.delayms(4000) -- on attend que la led ait finit de clignoter - device:stop() -- on arrête le signal - device:detach() -- on se détache de la pin -end - --- fonction permettant de faire clignoter la led sur la pin 18 4 fois longuement -function blink_pwm2() - device = pwm.attach(pio.GPIO18, 1, 0.8) -- 1Hz et 80% de signal "haut" - device:start() -- départ - tmr.delayms(4000) -- on attend que la led ait finit de clignoter - device:stop() -- on arrête le signal - device:detach() -- on se détache de la pin -end - --- fonction permettant d'allumer et étteindre progressivement une led sur la pin 18 -function smooth() - device = pwm.attach(pio.GPIO18, 200, 0) - device:start() - i = 0 - while i <= 1 do - device:setduty(i) - tmr.delayms(200) - i = i + 0.05 - end - i = 1. - while i >= 0 do - device:setduty(i) - tmr.delayms(200) - i = i - 0.05 - end - device:stop() -end - -function rgb(r, g, b) - red = pwm.attach(pio.GPIO21, 2000, r / 256); red:start() - green = pwm.attach(pio.GPIO19, 2000, g / 256); green:start() - blue = pwm.attach(pio.GPIO18, 2000, b / 256); blue:start() - - tmr.delayms(5000) - - red:stop(); red:detach() - green:stop(); green:detach() - blue:stop(); blue:detach() -end - -function allrgb() - red = pwm.attach(pio.GPIO21, 2000, 1.); red:start() - green = pwm.attach(pio.GPIO19, 2000, 0); green:start() - blue = pwm.attach(pio.GPIO18, 2000, 0); blue:start() - - for i=0,255,5 do green:setduty(i / 256); tmr.delayms(50) end - for i=255,0,-5 do red:setduty(i / 256); tmr.delayms(50) end - for i=0,255,5 do blue:setduty(i / 256); tmr.delayms(50) end - for i=255,0,-5 do green:setduty(i / 256); tmr.delayms(50) end - for i=0,255,5 do red:setduty(i / 256); tmr.delayms(50) end - - red:stop(); red:detach() - green:stop(); green:detach() - blue:stop(); blue:detach() -end - --- fonction permettant d'afficher successivement les clouleurs Rouge, Vert et Bleu en connectant la led RGB sur les pins D18, D19 et D21 -function triColors(n) -- n : nombre de fois qu'on réalise le paterne - for i=1,n do - pinblink(pio.GPIO21, 1, 200) -- appel de la fonciton blink pour faire clignoter une fois la led en rouge pendant 200ms - pinblink(pio.GPIO19, 1, 200) -- appel de la fonciton blink pour faire clignoter une fois la led en vert pendant 200ms - pinblink(pio.GPIO18, 1, 200) -- appel de la fonciton blink pour faire clignoter une fois la led en bleu pendant 200ms - end -end - --- fonction qui envoie un signal SOS lumineux sur la led bleu du circuit de l'ESP32 -function sos_led(n) -- n : nombre de fois qu'on affiche le signal SOS - for i=1,n do - pinblink(pio.GPIO2, 3, 400) -- on clignotte 3 fois longuement - pinblink(pio.GPIO2, 3, 200) -- on clignotte 3 fois courtement - pinblink(pio.GPIO2, 3, 400) -- on clignotte 3 fois longuement - tmr.delayms(400) -- on fait une longue pause de 400ms - end -end - -function rgb(r, g, b) - -- on attache et démarre les pins - red = pwm.attach(pio.GPIO21, 2000, r / 256); red:start() - green = pwm.attach(pio.GPIO19, 2000, g / 256); green:start() - blue = pwm.attach(pio.GPIO18, 2000, b / 256); blue:start() - - -- on attend 5 secondes - tmr.delayms(5000) - - -- on stoppe et détache les pins - red:stop(); red:detach() - green:stop(); green:detach() - blue:stop(); blue:detach() -end - -function allrgb() - -- on attache et démarre les pins - red = pwm.attach(pio.GPIO21, 2000, 1.); red:start() - green = pwm.attach(pio.GPIO19, 2000, 0); green:start() - blue = pwm.attach(pio.GPIO18, 2000, 0); blue:start() - - -- on boucle pour afficher toutes les couleurs RGB - for i=0,255,5 do green:setduty(i / 256); tmr.delayms(50) end - for i=255,0,-5 do red:setduty(i / 256); tmr.delayms(50) end - for i=0,255,5 do blue:setduty(i / 256); tmr.delayms(50) end - for i=255,0,-5 do green:setduty(i / 256); tmr.delayms(50) end - for i=0,255,5 do red:setduty(i / 256); tmr.delayms(50) end - - -- on stoppe et détache les pins - red:stop(); red:detach() - green:stop(); green:detach() - blue:stop(); blue:detach() -end diff --git a/main.lua b/main.lua index fb1cbf4..97e19b5 100755 --- a/main.lua +++ b/main.lua @@ -1,80 +1,7 @@ --- programme principal qui charge les fonctions des autres programmes - --- fonction de roue RGB -function wheelRGB(pos) -- pos 0 -> 255 couleur - pos = 255 - pos - if (pos < 85) then - return 255 - pos * 3, 0, pos * 3 - elseif (pos < 170) then - pos = pos - 85 - return 0, pos * 3, 255 - pos * 3 - else - pos = pos - 170 - return pos * 3, 255 - pos * 3, 0 - end -end +-- charge les fonctions du fichier out.lua +dofile("out.lua") -- fonction permettant d'afficher la température du CPU function printTemp() print("Température du CPU :", cpu.temperature()) -end - --- fonction permettant de trouver l'addresse I2C d'un écran OLED -function findaddr() - i2c.setpins(1, 18, 19) - ic = i2c.attach(i2c.I2C1, i2c.MASTER) - - for i = 0, 127 do - try( - function () - ic:start() - ic:address(i, false) - ic:stop() - print(string.format("found # %x", i)) - end, - - function() - print("failed") - end, - - function() end - ) - end -end - -function min(tab) - local min = tab[1] - for i=1,#tab do - if tab[i] < min then min = tab[i] end - end - return min -end - -function max(tab) - local max = tab[1] - for i=1,#tab do - if tab[i] > max then max = tab[i] end - end - return max -end - -function avg(tab) - local sum = 0 - for i=1,#tab do - sum = sum + tab[i] - end - return sum / #tab -end - --- charge tout nos fichiers lua -dofile("leds.lua") -dofile("buzz.lua") -dofile("neopixel.lua") -dofile("encoder.lua") -dofile("dht22.lua") -dofile("screen.lua") -dofile("wifi.lua") - --- attache l'écran -attachscreen(18, 19, 0x3C) -console("Hello, world!") +end \ No newline at end of file diff --git a/neopixel.lua b/neopixel.lua deleted file mode 100644 index a4021bf..0000000 --- a/neopixel.lua +++ /dev/null @@ -1,80 +0,0 @@ --- écrit le 12/10/2024 par Lukian Leizour - -function feux() - neo = neopixel.attach(neopixel.WS2812B, pio.GPIO18, 8) - - while true do - neo:setPixel(7, 255, 0, 0) - neo:update() - - tmr.delayms(3000) - - neo:setPixel(7, 0, 0, 0) - neo:setPixel(5, 0, 255, 0) - neo:update() - - tmr.delayms(3000) - - neo:setPixel(5, 0, 0, 0) - neo:setPixel(6, 255, 255, 0) - neo:update() - - tmr.delayms(1000) - - neo:setPixel(6, 0, 0, 0) - end -end - -function arc() - neo = neopixel.attach(neopixel.WS2812B, pio.GPIO18, 8) - for i=0,7 do - r, g, b = wheelRGB((255*i) // 8) - neo:setPixel(i, r//10, g//10, b//10) - end - neo:update() -end - -function arc_move() - neo = neopixel.attach(neopixel.WS2812B, pio.GPIO18, 8) - pixel = 0 - direction = 0 - - while true do - r, g, b = wheelRGB((255*pixel) // 8) - neo:setPixel(pixel, r, g, b) - neo:update() - tmr.delayms(100) - neo:setPixel(pixel, r//10, g//10, b//10) - if (direction == 0) then - if (pixel == 7) then - direction = 1; pixel = 6 - else - pixel = pixel + 1 - end - else - if (pixel == 0) then - direction = 0; pixel = 1 - else - pixel = pixel - 1 - end - end - end -end - -function fete() - neo = neopixel.attach(neopixel.WS2812B, pio.GPIO18, 8) - while true do - r, g, b = wheelRGB(math.random(0, 255)) - neo:setPixel(math.random(0, 7), r, g, b) - neo:update() - tmr.delayms(50) - end -end - -function dice() -- on note que le dé renvoie toujours la même valeur étant donné qu'il est appelé au démarage et que math.random() a comme seed l'uptime de l'ESP32 - for i=0,math.random(0, 7) do - r, g, b = wheelRGB((255*i) // 8) - neo:setPixel(i, r, g, b) - neo:update() - end -end diff --git a/out.lua b/out.lua index b786172..05a5ea5 100644 --- a/out.lua +++ b/out.lua @@ -2,19 +2,19 @@ -- ce programme doit tourner sur un ESP32 sous LUARTOS -- fonction permettant d'allumer une led sur l'ESP32 sur une patte donnée -function pinon(pin) -- pin : la patte sur laquelle la led est branchée +function pinon (pin) -- pin : la patte sur laquelle la led est branchée pio.pin.setdir(pio.OUTPUT, pin) -- permet d'indiquer que la patte sert de sortie pio.pin.sethigh(pin) -- permet de mettre la tension au max end -- fonction permettant d'eteindre une led sur l'ESP32 sur une patte donnée -function pinoff(pin) -- pin : la patte sur laquelle la led est branchée +function pinoff (pin) -- pin : la patte sur laquelle la led est branchée pio.pin.setdir(pio.OUTPUT, pin) -- permet d'indiquer que la patte GPIO2 sert de sortie pio.pin.setlow(pin) -- permet de mettre la tension au minimum end -- fonction permettant de faire clignoter la led de l'ESP32 -function pinblink (pin, n, delay) -- pin : la patte de sortie; n : int, nombre d'itérations; delay : le temps en ms que la led reste allumé et étteinte +function blink (pin, n, delay) -- pin : la patte de sortie; n : int, nombre d'itérations; delay : le temps en ms que la led reste allumé et étteinte for i=1,n do pinon(pin) -- appel de la fonction ledon tmr.delayms(delay) -- le programme attend en fonction du délai donné @@ -22,3 +22,103 @@ function pinblink (pin, n, delay) -- pin : la patte de sortie; n : int, nombre d tmr.delayms(delay) -- le programme attend en fonction du délai donné end end + +-- fonction permettant de faire clignoter la led sur la pin 18 4 fois brièvement +function blink_pwm1() + device = pwm.attach(pio.GPIO18, 1, 0.2) -- 1Hz et 20% de signal "haut" + device:start() -- départ + tmr.delayms(4000) -- on attend que la led ait finit de clignoter + device:stop() -- on arrête le signal + device:detach() -- on se détache de la pin +end + +-- fonction permettant de faire clignoter la led sur la pin 18 4 fois longuement +function blink_pwm2() + device = pwm.attach(pio.GPIO18, 1, 0.8) -- 1Hz et 80% de signal "haut" + device:start() -- départ + tmr.delayms(4000) -- on attend que la led ait finit de clignoter + device:stop() -- on arrête le signal + device:detach() -- on se détache de la pin +end + +-- fonction permettant d'allumer et étteindre progressivement une led sur la pin 18 +function smooth() + device = pwm.attach(pio.GPIO18, 200, 0) + device:start() + i = 0 + while i <= 1 do + device:setduty(i) + tmr.delayms(200) + i = i + 0.05 + end + i = 1. + while i >= 0 do + device:setduty(i) + tmr.delayms(200) + i = i - 0.05 + end + device:stop()² + + red:start() + green:start() + blue:start() + + tmr.delayms(5000) + + red:stop() + green:stop() + blue:stop() + + red:detach() + green:detach() + blue:detach() +end + +-- fonction permettant d'allumer un buzzer pendant un temps donné +function buzz(pin, delay) -- pin : la patte sur laquelle le buzzer est connecté; delay : le temps pendant lequel le buzzer reste allumé + pinon(pin) -- on allume le buzzer + tmr.delayms(delay) -- on attend pendand le temps désiré + pinoff(pin) -- on étteint le buzzer une fois la durée atteinte +end + +-- fonction permettant de faire "clignoter" un buzzer sur un pin donné pour une durée donnée et un nombre d'itérations donné +function blink_buzz(pin, n, delay) -- pin : la patte du buzzer; n : le nombre d'itérations; delay : le délai en ms + for i=1,n do + buzz(pin, delay) -- on allume le buzzer pendant la durée désirée + tmr.delayms(delay) -- on attend avant de passer à la suite + end +end + +-- fonction permettant de faire clignoter la led bleu du circuit de l'ESP32 +function blink_2(n) -- pin : la patte de sortie; n : int, nombre d'itérations + blink(pio.GPIO2, n, 200) -- appel de la fonciton blink en lui donnant la bonne patte en paramètre ainsi que le temps d'éclairage +end + +-- fonction permettant d'afficher successivement les clouleurs Rouge, Vert et Bleu en connectant la led RGB sur les pins D18, D19 et D21 +function triColors(n) -- n : nombre de fois qu'on réalise le paterne + for i=1,n do + blink(pio.GPIO21, 1, 200) -- appel de la fonciton blink pour faire clignoter une fois la led en rouge pendant 200ms + blink(pio.GPIO19, 1, 200) -- appel de la fonciton blink pour faire clignoter une fois la led en vert pendant 200ms + blink(pio.GPIO18, 1, 200) -- appel de la fonciton blink pour faire clignoter une fois la led en bleu pendant 200ms + end +end + +-- fonction qui envoie un signal SOS lumineux sur la led bleu du circuit de l'ESP32 +function sos_led(n) -- n : nombre de fois qu'on affiche le signal SOS + for i=1,n do + blink(pio.GPIO2, 3, 400) -- on clignotte 3 fois longuement + blink(pio.GPIO2, 3, 200) -- on clignotte 3 fois courtement + blink(pio.GPIO2, 3, 400) -- on clignotte 3 fois longuement + tmr.delayms(400) -- on fait une longue pause de 400ms + end +end + +-- fonction qui envoie un signal SOS sonore sur un buzzer branché sur la patte D18 de l'ESP32 +function sos_buzz(n) -- n : nombre de fois qu'on fait le signal SOS + for i=1,n do + blink_buzz(pio.GPIO18, 3, 400) -- on clignotte 3 fois longuement + blink_buzz(pio.GPIO18, 3, 200) -- on clignotte 3 fois courtement + blink_buzz(pio.GPIO18, 3, 400) -- on clignotte 3 fois longuement + tmr.delayms(400) -- on fait une longue pause de 400ms + end +end diff --git a/screen.lua b/screen.lua deleted file mode 100644 index b0a3d37..0000000 --- a/screen.lua +++ /dev/null @@ -1,133 +0,0 @@ --- introduction IOT / UBS --- (c) Gildas Menier --- gildas.menier@univ-ubs.fr - --- contient les définitions de --- cls() --- console() - --- fonction permettant se s'attacher à l'écran -function attachscreen(sda, scl, i2cadd) - try ( - function () - i2c.setpins(0,sda,scl) - gdisplay.attach(gdisplay.SSD1306_128_64, gdisplay.LANDSCAPE, false, i2cadd) - gdisplay.clear() - gdisplay.setfont(gdisplay.FONT_LCD) - gdisplay.setwrap(false) - end, - - function (where, line, error, message) - print("Couldn't attach the screen.\nError in "..where.." at "..line.." "..error..": "..message) - end, - - function () end - ) -end - -local consolepos = 0 -local consoletab = {} -local consolemax = 6 -local oledflip = 1 - -function flip() - oledflip = oledflip+1; if oledflip > 3 then oledflip = 0 end - if oledflip==0 then - consolemax = 6 - gdisplay.attach(gdisplay.SSD1306_128_64, gdisplay.LANDSCAPE_FLIP, false, i2cadd) - elseif oledflip==1 then - consolemax = 6 - gdisplay.attach(gdisplay.SSD1306_128_64, gdisplay.LANDSCAPE, false, i2cadd) - elseif oledflip==2 then - consolemax = 13 - gdisplay.attach(gdisplay.SSD1306_128_64, gdisplay.PORTRAIT, false, i2cadd) - else - consolemax = 13 - gdisplay.attach(gdisplay.SSD1306_128_64, gdisplay.PORTRAIT_FLIP, false, i2cadd) - end - cls() -end - -function cls() - if (consolemax==6) then gdisplay.clear() - else - gdisplay.rect( {0,0}, 128, 9*consolemax, {0,0,0}, {0,0,0} ) - end - if oledflip ~= 1 then gdisplay.clear() end - consolepos = 0 - consoletab={} - for i=0, consolemax do - consoletab[i] = "" - end -end - -function console(msg) - if (consolepos <= consolemax) then - consoletab[consolepos] = msg - gdisplay.write({0, consolepos*9},msg) - consolepos = consolepos+1 - else - for i = 1, consolemax do - consoletab[i-1] = consoletab[i] - end - consoletab[consolemax] = msg - if (consolemax==6) then gdisplay.clear() - else - gdisplay.rect( {0,0}, 128, 9*consolemax+9, {0,0,0}, {0,0,0} ) - end - for i=0, consolemax do - gdisplay.write({0, i*9},consoletab[i]) - end - end -end - -function top() - local l = thread.list(true) - cls() - for k,v in pairs(l) do - console(l[k]["thid"].." "..l[k]["name"].." "..l[k]["used_stack"]) - end -end - --- fonction permettant de dessiner une courbe selon l'humidité captée par le capteur DHT22 -function displayhumi() - s = sensor.attach("DHT22", pio.GPIO21) - tmr.delayms(500) - width, height = gdisplay.getscreensize() - - values = {} - min_val = s:read("humidity") - max_val = s:read("humidity") - - while true do - humi = s:read("humidity") - -- changement des valeurs min et max - if humi < min_val then min_val = humi - elseif humi > max_val then max_val = humi end - -- si le tableau est plein alors on affiche la courbe - if #values == 10 then - for i=1,9 do - values[i] = values[i + 1] - end - values[10] = humi - cls() - -- on dessine chaque partie de la courbe - for i=1,9 do - -- on dessine la partie de courbe - gdisplay.line( - { - math.floor(i/10 * width), -- coordonnée x du premier point - math.floor((values[i] - min_val)/(max_val - min_val) * (height - 10) + 5) -- valeur comprise entre la val min et la val max avec des espaces de 5px et haut et en bas - }, - { - math.floor((i + 1)/10 * width), -- coordonnée x du deuxième point - math.floor((values[i + 1] - min_val)/(max_val - min_val) * (height - 10) + 5) -- valeur comprise entre la val min et la val max avec des espaces de 5px et haut et en bas - } - ) - end - else - values[#values + 1] = humi - end - tmr.delayms(500) - end -end diff --git a/web.lua b/web.lua deleted file mode 100644 index 06e22c0..0000000 --- a/web.lua +++ /dev/null @@ -1,8 +0,0 @@ -dofile("buzz.lua") --- s = sensor.attach("DHT22", pio.GPIO21) --- tmr.delayms(500) -nets = net.wf.scan(true) -nb = 0 -net.wf.setup(net.wf.mode.AP, "ESP32 Pierre", "sandwich134") -net.wf.start() -net.service.http.start() diff --git a/wifi.lua b/wifi.lua deleted file mode 100644 index 203d2d9..0000000 --- a/wifi.lua +++ /dev/null @@ -1,80 +0,0 @@ -dofile("screen.lua") - -function displaynets() - nets = net.wf.scan(true) - cls() - for i=0,#nets-1 do - console(nets[i].ssid.." "..nets[i].rssi) - end -end - -function displayopennets() - nets = net.wf.scan(true) - cls() - for i=0,#nets-1 do - if nets[i].auth == net.wf.auth.OPEN then - console(nets[i].ssid.." "..nets[i].rssi) - end - end -end - -function scanwifi() - while true do - nets = net.wf.scan(true) - cls() - for i=0,#nets-1 do - console(nets[i].ssid.." "..nets[i].rssi) - end - tmr.delayms(1000) - end -end - -function neorssi() - neo = neopixel.attach(neopixel.WS2812B, pio.GPIO21, 8) - while true do - nets = net.wf.scan(true) - nb = (-nets[0].rssi) * 8 // 100 - for i=0,nb-1 do - r, g, b = wheelRGB(i * 255 // 8) - neo:setPixel(i, r//10, g//10, b//10) - end - neo:update() - tmr.delayms(1000) - end -end - -function curverssi() - width, height = gdisplay.getscreensize() - - values = {} - - while true do - -- car le réseau avec le meilleur rssi est toujours premier dans la liste - rssi = net.wf.scan(true)[0].rssi - -- si le tableau est plein alors on affiche la courbe - if #values == 10 then - for i=1,9 do - values[i] = values[i + 1] - end - values[10] = rssi - cls() - -- on dessine chaque partie de la courbe - for i=1,9 do - -- on dessine la partie de courbe - gdisplay.line( - { - i * width // 10, - (-values[i]) * (height - 10) // 100 + 5 - }, - { - (i + 1) * width // 10, - (-values[i + 1]) * (height - 10) // 100 + 5 - } - ) - end - else - values[#values + 1] = rssi - end - tmr.delayms(500) - end -end diff --git a/www/buzz.lua b/www/buzz.lua deleted file mode 100644 index e448c71..0000000 --- a/www/buzz.lua +++ /dev/null @@ -1,8 +0,0 @@ - -
- - - - diff --git a/www/index.lua b/www/index.lua deleted file mode 100644 index c624e38..0000000 --- a/www/index.lua +++ /dev/null @@ -1,38 +0,0 @@ - - -