salutation à tous, je suis un vieux vieux nouveau venu (genre je ne m'étais pas connecté depuis quelques année)
J'ai en ce moment jeté mon dévolu sur le LUA pour l'utilisation de module ESP8266 (Wemos D1 mini et NodeMCU).
pour l'instant, je tatonne, je lis des tutos de découverte LUA par ci par là et je découvre.
Je suis en ce moment bloqué sur un pb qui à mon sens ne devrait pas en être un avec le lua et son "typage automatique" de variables.
Donc j'utilise ESPCut comme IDE, et le firmware est lui injecté dans un ESP8266
J'ai réussi à faire que mon module se connecte à mon réseau WIFI et je bug sur la fonction suivante :
et voila l'erreur qui m'es retournée qd j'appelle la fonction
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 -- test de lecture d'un capteur de TEMP NTC PT100 function getTemp() print("testTemp") local R1 = 10000.0 -- valeur de la res du pont diviseur local c1 = 1.009249522e-03 local c2 = 2.378405444e-04 local c3 = 2.019202697e-07 local valeur = adc.read(0) --lecture de l'entrée analogique A0 local R2 = R1*(1023.0/(valeur-1.0)) print("R2= " .. R2 .. " est de type :" .. type(R2)) --test local logR2 = math.log(R2) print("LogR2 = " .. logR2) local T = (1.0 / (c1 + c2*logR2 + c3*logR2*logR2*logR2) ) local Tc = T - 273.15 -- affichage de la température print(Tc) return Tc end
que ce soit en ligne de commande sur l'ESP ou en "auto" via l'appel de la fonction dans le script de boot init.lua
Il me parle de "nil value", et pourtant R2 contient bien une valeur, et est de type number, alors je ne comprends pas...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 > =print(getTemp()) testTemp R2= 21312.5 est de type :number func.lua:44: attempt to call field 'log' (a nil value) stack traceback: func.lua:44: in function 'getTemp' stdin:1: in main chunk
Help !
Partager