Визуальное проектирование управляющей логики фитнес-браслета
作者
Модель фитнес-браслета
In [ ]:
# @markdown ## Начало работы
# @markdown 1. Откройте модель `fitness_tracker.engee`;
# @markdown 2. Запустите этот скрипт для инициализации параметров;
# @markdown 3. Запустите скрипт `run_interactive_simulation.jl` для начала симуляции.
@enum Activity begin
Sleep
Rest
Walk
Run
end
In [ ]:
# @markdown ## Настройка параметров симуляции
# @markdown ### Пользователь
# @markdown Выберите деятельность:
activity = "Rest" # @param ["Sleep","Rest","Walk","Run"]
# @markdown Задайте интенсивность бега:
intensity = 3 # @param {type:"slider", min:1, max:5, step:1}
# @markdown ### Фитнес-браслет
# @markdown Настройте уведомления:
# @markdown * Предлагать отдых, если время физической активности превышает (мин):
threshold_action = 0.25 # @param {type:"number"}
# @markdown * Предлагать физическую активность, если время отдыха превышает (мин):
threshold_rest = 0.5 # @param {type:"number"}
# @markdown * Предупреждать, если частота сердечных сокращений превышает (уд/мин):
threshold_heart_rate = 150 # @param {type:"integer"}
engee.set_param!("fitness_tracker/parameter_threshold_action", "Value" => threshold_action * 60, sync_gui=true);
engee.set_param!("fitness_tracker/parameter_threshold_rest", "Value" => threshold_rest * 60, sync_gui=true);
engee.set_param!("fitness_tracker/parameter_threshold_heart_rate", "Value" => threshold_heart_rate, sync_gui=true);
engee.set_param!("fitness_tracker/parameter_activity", "Value" => Int(eval(Symbol(activity))), sync_gui=true);
engee.set_param!("fitness_tracker/parameter_intensity", "Value" => intensity, sync_gui=true);