diff --git a/Minid1 OLED/hauteur_eau/station_mesure_new/disp_oled.lua b/Minid1 OLED/hauteur_eau/station_mesure_new/disp_oled.lua new file mode 100644 index 0000000..6483304 --- /dev/null +++ b/Minid1 OLED/hauteur_eau/station_mesure_new/disp_oled.lua @@ -0,0 +1,39 @@ +-- Affiche plusieurs lignes sur le mini display OLED du MiniD1 +-- Source: https://wiki.wemos.cc/products:d1_mini_shields:oled_shield +-- font_10x20,font_6x10,font_7x13,font_8x13,font_9x15,font_chikita +print("\n disp_oled.lua zf180826.1807 \n") + +-- config pour le mini display OLED du Wemos Mini_D1 +pin_scl = 1 +pin_sda = 2 +disp_sla = 0x3c + +function init_OLED(sda, scl) + i2c.setup(0, sda, scl, i2c.SLOW) + disp = u8g.ssd1306_64x48_i2c(disp_sla) + disp:setFontRefHeightExtendedText() + disp:setDefaultForegroundColor() +end + +-- font_10x20,font_6x10,font_7x13,font_8x13,font_9x15,font_chikita +--..string.char(233)..":") -- pour afficher un é ! +function draw() + disp:setFont(u8g.font_10x20) + disp:setFontPosTop() + disp:drawStr(0,00,oled_line1) + disp:setFont(u8g.font_chikita) + disp:setFontPosTop() + disp:drawStr(0,17,oled_line2) + disp:drawStr(0,24,oled_line3) + disp:drawStr(0,31,oled_line4) + disp:drawStr(0,38,oled_line5) +end + +function disp_oled() + disp:firstPage() + repeat + draw() + until disp:nextPage() == false +end + +init_OLED(pin_sda, pin_scl) diff --git a/Minid1 OLED/hauteur_eau/station_mesure_new/initz.lua b/Minid1 OLED/hauteur_eau/station_mesure_new/initz.lua new file mode 100644 index 0000000..87c0095 --- /dev/null +++ b/Minid1 OLED/hauteur_eau/station_mesure_new/initz.lua @@ -0,0 +1,19 @@ +-- super mini bootstrap +print("\n init_minizf1.lua zf181024.1922 \n") + +tmr.alarm(0, 7000, tmr.ALARM_SINGLE, function() + +dofile("disp_oled.lua") +oled_line1="RESET" +oled_line2="" +oled_line3="" +oled_line4="" +oled_line5="" +disp_oled() + +--dofile("wifi_ap_start.lua") +--dofile("telnet_srv.lua") +dofile("start_demo.lua") +--dofile("ir_send.lua") + +end) diff --git a/Minid1 OLED/hauteur_eau/station_mesure_new/oldies/cat.lua b/Minid1 OLED/hauteur_eau/station_mesure_new/oldies/cat.lua new file mode 100644 index 0000000..7c309b9 --- /dev/null +++ b/Minid1 OLED/hauteur_eau/station_mesure_new/oldies/cat.lua @@ -0,0 +1,17 @@ +-- fonction cat() pour afficher le contenu d'un fichier dans la flash +print("\n cat.lua zf180826.1109 \n") + +function cat(zfile) + print("\n"..zfile.."\n-------------------------------") + + zfilei = file.open(zfile, "r") + i=1 + zline=file.readline() + repeat + print(i..": "..string.sub(zline,1,string.len(zline)-1)) + i=i+1 zline=file.readline() + until zline== nil + file.close(zfilei) + + print("-------------------------------") +end diff --git a/Minid1 OLED/hauteur_eau/station_mesure_new/oldies/dir.lua b/Minid1 OLED/hauteur_eau/station_mesure_new/oldies/dir.lua new file mode 100644 index 0000000..8bf9414 --- /dev/null +++ b/Minid1 OLED/hauteur_eau/station_mesure_new/oldies/dir.lua @@ -0,0 +1,15 @@ +-- fonction dir() pour afficher les fichiers dans la flash +print("\n dir.lua zf180826.1019 \n") + +function dir() + print("\n-------------------------------") + l=file.list() i=0 + for k,v in pairs(l) do + i=i+v + print(k..string.rep(" ",19-string.len(k)).." : "..v.." bytes") + end + print("-------------------------------") + print('\nUsed: '..i..' bytes\nusage: dofile("file.lua")\n') +end + +dir() diff --git a/Minid1 OLED/hauteur_eau/station_mesure_new/oldies/telnet_srv.lua b/Minid1 OLED/hauteur_eau/station_mesure_new/oldies/telnet_srv.lua new file mode 100644 index 0000000..0e39784 --- /dev/null +++ b/Minid1 OLED/hauteur_eau/station_mesure_new/oldies/telnet_srv.lua @@ -0,0 +1,44 @@ +-- Serveur telnet pour connexion en remote WIFI +print("\n telnet_srv.lua zf180826.1020 \n") + +-- restart server if needed +if telnet_srv ~= nil then + telnet_srv:close() +end +telnet_srv = net.createServer(net.TCP, 180) + +telnet_srv:listen(23, function(socket) + local fifo = {} + local fifo_drained = true + + local function sender(c) + if #fifo > 0 then + c:send(table.remove(fifo, 1)) + else + fifo_drained = true + end + end + + local function s_output(str) + table.insert(fifo, str) + if socket ~= nil and fifo_drained then + fifo_drained = false + sender(socket) + end + end + + node.output(s_output, 0) -- re-direct output to function s_ouput. + + socket:on("receive", function(c, l) + node.input(l) -- works like pcall(loadstring(l)) but support multiple separate line + end) + socket:on("disconnection", function(c) + node.output(nil) -- un-regist the redirect output function, output goes to serial + end) + socket:on("sent", sender) + + print("Welcome to NodeMCU world.") +end) + +print("Telnet server running...\nUsage: telnet -r ip\n") + diff --git a/Minid1 OLED/hauteur_eau/station_mesure_new/oldies/web_cli.lua b/Minid1 OLED/hauteur_eau/station_mesure_new/oldies/web_cli.lua new file mode 100644 index 0000000..f349f4b --- /dev/null +++ b/Minid1 OLED/hauteur_eau/station_mesure_new/oldies/web_cli.lua @@ -0,0 +1,12 @@ +-- Petit script pour envoyer quelque chose sur un serveur WEB +print("\n web_cli.lua zf180828.1849 \n") + +function disp_send() + http.get("http://192.168.4.1/?line1="..zlength.."m", nil, function(code, data) + if (code < 0) then +-- print("HTTP request failed") + else +-- print(code, data) + end + end) +end diff --git a/Minid1 OLED/hauteur_eau/station_mesure_new/oldies/wifi_ap_start.lua b/Minid1 OLED/hauteur_eau/station_mesure_new/oldies/wifi_ap_start.lua new file mode 100644 index 0000000..ce3c29b --- /dev/null +++ b/Minid1 OLED/hauteur_eau/station_mesure_new/oldies/wifi_ap_start.lua @@ -0,0 +1,13 @@ +-- Démarre le WIFI en mode AP +print("\n wifi_ap_start.lua zf180824.2000 \n") + +local zmodewifi=wifi.getmode() +if zmodewifi == wifi.NULLMODE then + print("WIFI mode AP only") + wifi.setmode(wifi.SOFTAP) +elseif zmodewifi == wifi.STATION then + print("WIFI mode AP+CLI") + wifi.setmode(wifi.STATIONAP) +end +wifi.ap.config({ ssid = "NodeMCU "..wifi.ap.getmac(), pwd = "12345678" }) +dofile("wifi_info.lua") diff --git a/Minid1 OLED/hauteur_eau/station_mesure_new/oldies/wifi_ap_stop.lua b/Minid1 OLED/hauteur_eau/station_mesure_new/oldies/wifi_ap_stop.lua new file mode 100644 index 0000000..2738627 --- /dev/null +++ b/Minid1 OLED/hauteur_eau/station_mesure_new/oldies/wifi_ap_stop.lua @@ -0,0 +1,10 @@ +-- Démarre le WIFI en mode AP +print("\n wifi_ap_stop.lua zf180824.2000 \n") + +local zmodewifi=wifi.getmode() +if zmodewifi == wifi.SOFTAP then + wifi.setmode(wifi.NULLMODE) +elseif zmodewifi == wifi.STATIONAP then + wifi.setmode(wifi.STATION) +end +print("WIFI AP arrêté") diff --git a/Minid1 OLED/hauteur_eau/station_mesure_new/oldies/wifi_cli_conf.lua b/Minid1 OLED/hauteur_eau/station_mesure_new/oldies/wifi_cli_conf.lua new file mode 100644 index 0000000..d3cd11e --- /dev/null +++ b/Minid1 OLED/hauteur_eau/station_mesure_new/oldies/wifi_cli_conf.lua @@ -0,0 +1,4 @@ +-- Petit script pour configurer le client WIFI du NodeMCU +print("\n wifi_cli_conf.lua zf180824.2000 \n") + +wifi.sta.config{ssid="Hugo", pwd="tototutu", save=true} diff --git a/Minid1 OLED/hauteur_eau/station_mesure_new/oldies/wifi_cli_start.lua b/Minid1 OLED/hauteur_eau/station_mesure_new/oldies/wifi_cli_start.lua new file mode 100644 index 0000000..aac8bea --- /dev/null +++ b/Minid1 OLED/hauteur_eau/station_mesure_new/oldies/wifi_cli_start.lua @@ -0,0 +1,14 @@ +-- Petit script pour connecter le NodeMCU sur un AP Wifi avec l'accompte sauvé en EEPROM +print("\n wifi_cli_start.lua zf180824.2000 \n") + +local zmodewifi=wifi.getmode() +if zmodewifi == wifi.NULLMODE then + print("WIFI mode CLI only") + wifi.setmode(wifi.STATION) +elseif zmodewifi == wifi.SOFTAP then + print("WIFI mode AP+CLI") + wifi.setmode(wifi.STATIONAP) +end +wifi.sta.autoconnect(1) +wifi.sta.connect() +dofile("wifi_get_ip.lua") diff --git a/Minid1 OLED/hauteur_eau/station_mesure_new/oldies/wifi_cli_stop.lua b/Minid1 OLED/hauteur_eau/station_mesure_new/oldies/wifi_cli_stop.lua new file mode 100644 index 0000000..9429aa5 --- /dev/null +++ b/Minid1 OLED/hauteur_eau/station_mesure_new/oldies/wifi_cli_stop.lua @@ -0,0 +1,10 @@ +-- Démarre le WIFI en mode AP +print("\n wifi_cli_stop.lua zf180824.2000 \n") + +local zmodewifi=wifi.getmode() +if zmodewifi == wifi.STATION then + wifi.setmode(wifi.NULLMODE) +elseif zmodewifi == wifi.STATIONAP then + wifi.setmode(wifi.SOFTAP) +end +print("WIFI CLI arrêté") diff --git a/Minid1 OLED/hauteur_eau/station_mesure_new/oldies/wifi_cnf_start.lua b/Minid1 OLED/hauteur_eau/station_mesure_new/oldies/wifi_cnf_start.lua new file mode 100644 index 0000000..c4294f8 --- /dev/null +++ b/Minid1 OLED/hauteur_eau/station_mesure_new/oldies/wifi_cnf_start.lua @@ -0,0 +1,6 @@ +-- Petit script pour démarrer le mode configuration WIFI du NodeMCU +print("\n wifi_cnf_start.lua zf180824.2000 \n") + +print("\nwifi config http://192.168.4.1\n") +dofile("wifi_get_ip.lua") +enduser_setup.start() diff --git a/Minid1 OLED/hauteur_eau/station_mesure_new/oldies/wifi_cnf_stop.lua b/Minid1 OLED/hauteur_eau/station_mesure_new/oldies/wifi_cnf_stop.lua new file mode 100644 index 0000000..998c5e0 --- /dev/null +++ b/Minid1 OLED/hauteur_eau/station_mesure_new/oldies/wifi_cnf_stop.lua @@ -0,0 +1,6 @@ +-- Petit script pour arrêter le mode configuration WIFI du NodeMCU +print("\n wifi_cnf_stop.lua zf180824.2000 \n") + +enduser_setup.stop() +wifi.sta.autoconnect(1) +wifi.sta.connect() diff --git a/Minid1 OLED/hauteur_eau/station_mesure_new/oldies/wifi_get_ip.lua b/Minid1 OLED/hauteur_eau/station_mesure_new/oldies/wifi_get_ip.lua new file mode 100644 index 0000000..83b6369 --- /dev/null +++ b/Minid1 OLED/hauteur_eau/station_mesure_new/oldies/wifi_get_ip.lua @@ -0,0 +1,12 @@ +-- Petit script pour obtenir l'adresse IP du NodeMCU connecté sur un AP Wifi +print("\n wifi_get_ip.lua zf180824.2000 \n") + +wifitimer1=tmr.create() +tmr.alarm(wifitimer1, 1000, tmr.ALARM_AUTO , function() + if wifi.sta.getip() == nil then + print("Connecting to AP...") + else + tmr.stop(wifitimer1) + dofile("wifi_info.lua") + end +end) diff --git a/Minid1 OLED/hauteur_eau/station_mesure_new/oldies/wifi_info.lua b/Minid1 OLED/hauteur_eau/station_mesure_new/oldies/wifi_info.lua new file mode 100644 index 0000000..d81fc1b --- /dev/null +++ b/Minid1 OLED/hauteur_eau/station_mesure_new/oldies/wifi_info.lua @@ -0,0 +1,30 @@ +-- Petit script pour afficher les infos actuel du WIFI +print("\n wifi_info.lua zf180824.2000 \n") + +local zmodewifi=wifi.getmode() + +--wifi.NULLMODE, wifi.STATION, wifi.SOFTAP, wifi.STATIONAP + +if zmodewifi == wifi.NULLMODE then + print("WIFI OFF") +elseif zmodewifi == wifi.STATION then + print("WIFI mode CLI") + print("Connected IP:\n",wifi.sta.getip()) + do + local sta_config=wifi.sta.getconfig(true) + print(string.format("Current client config:\n\tssid:\"%s\"\tpassword:\"%s\"\n\tbssid:\"%s\"\tbssid_set:%s", sta_config.ssid, sta_config.pwd, sta_config.bssid, (sta_config.bssid_set and "true" or "false"))) + end +elseif zmodewifi == wifi.SOFTAP then + print("WIFI mode AP") + print("AP MAC:\n\t"..wifi.ap.getmac()) + print("AP IP:\n\t"..wifi.ap.getip()) +elseif zmodewifi == wifi.STATIONAP then + print("WIFI mode CLI+AP") + print("Connected IP:\n",wifi.sta.getip()) + do + local sta_config=wifi.sta.getconfig(true) + print(string.format("Current client config:\n\tssid:\"%s\"\tpassword:\"%s\"\n\tbssid:\"%s\"\tbssid_set:%s", sta_config.ssid, sta_config.pwd, sta_config.bssid, (sta_config.bssid_set and "true" or "false"))) + end + print("AP MAC: "..wifi.ap.getmac()) + print("AP IP: "..wifi.ap.getip()) +end diff --git a/Minid1 OLED/hauteur_eau/station_mesure_new/oldies/wifi_off.lua b/Minid1 OLED/hauteur_eau/station_mesure_new/oldies/wifi_off.lua new file mode 100644 index 0000000..c1c7235 --- /dev/null +++ b/Minid1 OLED/hauteur_eau/station_mesure_new/oldies/wifi_off.lua @@ -0,0 +1,9 @@ +-- Déconnecte le WIFI +print("\n wifi_off.lua zf180822.0959 \n") + +wifi.setmode(wifi.NULLMODE) + +--[[ +print(wifi.NULLMODE, wifi.STATION, wifi.SOFTAP, wifi.STATIONAP) +print(wifi.getmode()) +]] diff --git a/Minid1 OLED/hauteur_eau/station_mesure_new/oldies/wifi_start.lua b/Minid1 OLED/hauteur_eau/station_mesure_new/oldies/wifi_start.lua new file mode 100644 index 0000000..7291785 --- /dev/null +++ b/Minid1 OLED/hauteur_eau/station_mesure_new/oldies/wifi_start.lua @@ -0,0 +1,5 @@ +-- Exemple de petit script pour démarrer le WIFI +print("\n wifi_start.lua zf180824.2000 \n") + +dofile("wifi_cli_start.lua") +dofile("wifi_ap_start.lua") diff --git a/Minid1 OLED/hauteur_eau/station_mesure_new/rm_files.lua b/Minid1 OLED/hauteur_eau/station_mesure_new/rm_files.lua new file mode 100644 index 0000000..81241cb --- /dev/null +++ b/Minid1 OLED/hauteur_eau/station_mesure_new/rm_files.lua @@ -0,0 +1,12 @@ +-- pour effacer TOUS les fichiers qui se trouve dans la flash du NodeMCU + +print("\n rm_files.lua zf180907.1511 \n") + + +l=file.list() i=0 +for k,v in pairs(l) do + i=i+v + file.remove(k) +end +print("-------------------------------") +print("\nC'est tout effaced :-) \n") diff --git a/Minid1 OLED/hauteur_eau/station_mesure_new/start_demo.lua b/Minid1 OLED/hauteur_eau/station_mesure_new/start_demo.lua new file mode 100644 index 0000000..6807135 --- /dev/null +++ b/Minid1 OLED/hauteur_eau/station_mesure_new/start_demo.lua @@ -0,0 +1,28 @@ +-- Permet de démarrer une petite démo simplement via telnet +print("\n start_demo1.lua zf181024.1922 \n") + +dofile("disp_oled.lua") + +oled_line1="DEMO" +oled_line2="" +oled_line3="" +oled_line4="" +oled_line5="" +disp_oled() + +function disp_mesure () + print(zlength) + oled_line1=zlength.." m" + oled_line2="" + oled_line3="" + oled_line4="" + oled_line5="181024.1922" + disp_oled() +-- disp_send() +end + +--dofile("web_cli.lua") + +dofile("ultra_son.lua") +tmr.alarm(detectortimer1, 1000, tmr.ALARM_AUTO, zmesure_pulse) + diff --git a/Minid1 OLED/hauteur_eau/station_mesure_new/test_speed.lua b/Minid1 OLED/hauteur_eau/station_mesure_new/test_speed.lua new file mode 100644 index 0000000..d4c3256 --- /dev/null +++ b/Minid1 OLED/hauteur_eau/station_mesure_new/test_speed.lua @@ -0,0 +1,26 @@ +print("\n test_speed.lua zf181026.1233 \n") + +local pin_ir_send = 8 +gpio.mode(pin_ir_send,gpio.OUTPUT) +local write = gpio.write +write(pin_ir_send, 0) + +function pulse_ir() + local i,a + for i = 1,10 do + +t1=tmr.now() + + write(pin_ir_send, 1) +-- a=1 a=1 a=1 a=1 + write(pin_ir_send, 0) + a=1 a=1 a=1 + +t2=tmr.now() +print("durée: "..t2-t1-294) + + end +end + +sendir_tmr1=tmr.create() +tmr.alarm(sendir_tmr1, 3000, tmr.ALARM_AUTO, pulse_ir) diff --git a/Minid1 OLED/hauteur_eau/station_mesure_new/ultra_son.lua b/Minid1 OLED/hauteur_eau/station_mesure_new/ultra_son.lua new file mode 100644 index 0000000..d2fbc85 --- /dev/null +++ b/Minid1 OLED/hauteur_eau/station_mesure_new/ultra_son.lua @@ -0,0 +1,50 @@ +-- Mesure la distance avec le module ultra-son +print("\n ultra_son.lua zf181026.1355 \n") + +--Parametres pour le module ultra son +local ztrig=5 +gpio.mode(ztrig, gpio.OUTPUT) +local fast_write = gpio.write +fast_write(ztrig, 0) + +local zecho=6 +gpio.mode(zecho, gpio.INT, gpio.PULLUP) +detectortimer1=tmr.create() +detectortimer2=tmr.create() +local fast_read = gpio.read + +local ultra_son_start=0 +local ultra_son_stop=0 + +--Function pour envoyer la pulse +function zmesure_pulse() +--t1=tmr.now() + fast_write(ztrig, 1) + fast_write(ztrig, 0) +--t2=tmr.now() +--print("durée: "..t2-t1-314) +end + +--Fonction pour mesurer la pulse +function zmesure() +--print("pin: "..gpio.read(zecho)) + if fast_read(zecho)==1 then + ultra_son_start=tmr.now() + else + ultra_son_stop=tmr.now() +print("Delta: "..ultra_son_stop-ultra_son_start) +-- zlength=math.floor(480*(ultra_son_stop-ultra_son_start)/2/10000)/100 + zlength=480*(ultra_son_stop-ultra_son_start)/2/10000 +-- if zlength>6 then zlength=0 end + disp_mesure() + end +end + +gpio.trig(zecho,"both",zmesure) + + + +-- à commenter après les tests de perf +function disp_mesure() print(zlength) end +tmr.alarm(detectortimer1, 1000, tmr.ALARM_AUTO, zmesure_pulse) +