Télécharger le PDF
        SAMOVAR 
×
Menu

Exemples de scripts

Exemple de script que vous pouvez écrire directement dans l'éditeur de l'interface web. Il s'exécute une fois par seconde et, lorsque la température du bouilleur atteint 70 degrés, commence à allumer et éteindre l'appareil raccordé au premier port de l'extenseur PCF8575, tout en l'écrivant dans l'UART et dans la console du navigateur
if TankTemp > 70 then
  if exp_digitalRead(1) == 0 then
    exp_digitalWrite(1,1)
    print("Включено")
  else
    exp_digitalWrite(1,0)
    print("Выключено")
  end
end
 
Exemple de script qui lit la valeur d'un capteur de niveau analogique sur l'entrée LUA_PIN (34 pour la carte DEVKIT) et commande la pompe à eau (par exemple pour pomper le moût fermenté dans le bouilleur). Si le signal est compris entre 1000 et 2000, il allume la pompe ; avec un signal nul, il l'éteint. Le script s'écrit directement dans le navigateur et peut être exécuté dès son enregistrement. La broche 4 est WATER_PUMP_PIN de la carte DEVKIT ; pour les autres cartes, indiquez votre propre numéro.
start_pump = getObject("start_pump", "NUMERIC") + 0 --lire la valeur numérique d'un objet enregistré auparavant et la convertir en nombre
sensor = analogRead() --lire la valeur analogique de LUA_PIN (réservée à Lua)
--sensor = 1500
if sensor >= 1000 and sensor <= 2000 and start_pump == 0 then
  setObject("start_pump", 1) --enregistrer la valeur dans un objet de la mémoire de Samovar pour l'utiliser au cycle d'exécution suivant du script
  digitalWrite(4,1) --mettre la broche 4 au niveau haut
  print("Start pump") --[=[écrire sur le port COM. Vous pouvez aussi utiliser la commande sendMsg("Msg", Level). Si Level = -1, le message est envoyé sur le port COM et dans la console du navigateur, ce qui est pratique pour le débogage. Si Level vaut 0, 1 ou 2, le message est envoyé comme message système]=]
  --sendMsg("Start pump",-1)
elseif sensor == 0 then
  setObject("start_pump", 0) --enregistrer la valeur dans un objet de la mémoire de Samovar pour l'utiliser au cycle d'exécution suivant du script
  if (start_pump == 1) then
    digitalWrite(4,0) --mettre la broche 4 au niveau bas
    print("Finish pump")
  end
end
 
Scripts prêts à l'emploi chargés dans Samovar avec l'interface web :
D'autres exemples se trouvent dans le dossier Lua_script du dépôt Samovar sur GitHub : régulation de la température de fermentation (beer_mash.lua), réglage de la vitesse de la pompe à eau par boutons, distillation avec concentration (dist_degidrate.lua), envoi des relevés à un service web externe par HTTP (http_request_telegram.lua), maintien du pré-engorgement par un capteur de pression et scripts pour la NBK.