适配继电器空的情况
This commit is contained in:
@@ -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(),
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user