From c4f12f8ccacd30ebd844411b4c971ef1e943f8c6 Mon Sep 17 00:00:00 2001 From: mapleafgo Date: Thu, 19 Dec 2024 16:44:58 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E9=80=82=E9=85=8D=E7=BB=A7=E7=94=B5?= =?UTF-8?q?=E5=99=A8=E7=A9=BA=E7=9A=84=E6=83=85=E5=86=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- internal/server.go | 13 ++++++++----- pkg/relay/relay.go | 3 +++ 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/internal/server.go b/internal/server.go index edec86d..5120c1b 100644 --- a/internal/server.go +++ b/internal/server.go @@ -109,11 +109,14 @@ func Run() { tts.DefaultTTS = tts.New(ctx, config.C.Aliyun) // 构建继电器对象 - r, err := relay.New(config.C.Relay) - if err != nil { - zap.S().Panicln("串口连接异常: ", err) + var r relay.Relay + if config.C.Relay != "" { + r, err = relay.New(config.C.Relay) + if err != nil { + zap.S().Panicln("继电器连接异常: ", err) + } + defer r.Close() } - defer r.Close() // 构建全局设备变量 device := common.DefaultDevice(ctx, publishTopic) @@ -127,7 +130,7 @@ func Run() { middleware.DeviceLock(device), middleware.EmergencyStop(common.GlobalStopper), middleware.SoundStart(), - middleware.RelayMaster(nil), + middleware.RelayMaster(r), middleware.TimeoutOver(config.C.MaxTimeout), middleware.TickerAction(), middleware.PlayBgm(), diff --git a/pkg/relay/relay.go b/pkg/relay/relay.go index c027b60..d1fc53c 100644 --- a/pkg/relay/relay.go +++ b/pkg/relay/relay.go @@ -2,6 +2,7 @@ package relay import ( "github.com/grid-x/modbus" + "go.uber.org/zap" "io" ) @@ -53,6 +54,8 @@ func (r *device) Off(num int) error { } func New(address string) (Relay, error) { + zap.S().Infoln("连接继电器: ", address) + h := modbus.NewRTUClientHandler(address) h.SlaveID = 1 h.BaudRate = 9600 From c6b8106c2d646a37a4953808efd9065777bb5327 Mon Sep 17 00:00:00 2001 From: mapleafgo Date: Thu, 19 Dec 2024 16:47:18 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E6=A0=91=E8=8E=93=E6=B4=BE=E5=8F=8C?= =?UTF-8?q?=E5=8F=91=E5=8D=A1=E6=9C=BA=20gpio=20=E9=92=88=E8=84=9A?= =?UTF-8?q?=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- config.yml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/config.yml b/config.yml index bc4ffda..469ab3c 100755 --- a/config.yml +++ b/config.yml @@ -29,4 +29,12 @@ game: push: 13 reset: 19 pull: 26 + - name: gpiochip0 + outOK: 7 + lower: 8 + error: 25 + empty: 24 + push: 10 + reset: 9 + pull: 11 readAddr: /dev/ttyUSB0 # 点位 4 的读卡器配置 \ No newline at end of file