适配继电器空的情况

This commit is contained in:
2024-12-19 16:44:58 +08:00
parent e7773c88e3
commit c4f12f8cca
2 changed files with 11 additions and 5 deletions

View File

@@ -109,11 +109,14 @@ func Run() {
tts.DefaultTTS = tts.New(ctx, config.C.Aliyun) tts.DefaultTTS = tts.New(ctx, config.C.Aliyun)
// 构建继电器对象 // 构建继电器对象
r, err := relay.New(config.C.Relay) var r relay.Relay
if config.C.Relay != "" {
r, err = relay.New(config.C.Relay)
if err != nil { if err != nil {
zap.S().Panicln("串口连接异常: ", err) zap.S().Panicln("继电器连接异常: ", err)
} }
defer r.Close() defer r.Close()
}
// 构建全局设备变量 // 构建全局设备变量
device := common.DefaultDevice(ctx, publishTopic) device := common.DefaultDevice(ctx, publishTopic)
@@ -127,7 +130,7 @@ func Run() {
middleware.DeviceLock(device), middleware.DeviceLock(device),
middleware.EmergencyStop(common.GlobalStopper), middleware.EmergencyStop(common.GlobalStopper),
middleware.SoundStart(), middleware.SoundStart(),
middleware.RelayMaster(nil), middleware.RelayMaster(r),
middleware.TimeoutOver(config.C.MaxTimeout), middleware.TimeoutOver(config.C.MaxTimeout),
middleware.TickerAction(), middleware.TickerAction(),
middleware.PlayBgm(), middleware.PlayBgm(),

View File

@@ -2,6 +2,7 @@ package relay
import ( import (
"github.com/grid-x/modbus" "github.com/grid-x/modbus"
"go.uber.org/zap"
"io" "io"
) )
@@ -53,6 +54,8 @@ func (r *device) Off(num int) error {
} }
func New(address string) (Relay, error) { func New(address string) (Relay, error) {
zap.S().Infoln("连接继电器: ", address)
h := modbus.NewRTUClientHandler(address) h := modbus.NewRTUClientHandler(address)
h.SlaveID = 1 h.SlaveID = 1
h.BaudRate = 9600 h.BaudRate = 9600