require "rmodbus" require "ccutrer-serialport" require './sms/sms' mode = ARGV[0]&.strip controller_id = ARGV[1]&.to_i value = ARGV[2]&.to_i begin ModBus::RTUClient.new("/dev/ttyUSB0", 9600) do |cl| cl.with_slave(controller_id) do |slave| regs = slave.holding_registers case mode when "temp" regs[2] = value when "power" regs[22] = value else # type code here end sleep 0.1 end end rescue error_message = "[#{Time.now}] #{mode} 실행 실패 (station_id: #{controller_id}, value: #{value})" res = Sms.send_one( { to: '01062619801', from: '01062619801', text: error_message } ) puts res end