| | |
| | | |
| | | func (r *Reader) ReadResponse() (int, error) { |
| | | buf := make([]byte, 1024) // 根据协议最大数据长度调整缓冲区 |
| | | return r.DevPort.Read(buf) |
| | | n, err := r.DevPort.Read(buf) |
| | | fmt.Printf("Recive message %x\n", buf[:n]) |
| | | |
| | | return n, err |
| | | } |
| | | |
| | | func (r *Reader) ScanSpecificEPC(target string, minCount int) (bool, error) { |
| | |
| | | } |
| | | } |
| | | } |
| | | |
| | | func (r *Reader) GetPower() error { |
| | | cmd := "5A0001020200002959" |
| | | data, _ := hex.DecodeString(cmd) |
| | | |
| | | _, err := r.DevPort.Write(data) |
| | | if err != nil { |
| | | return nil |
| | | } |
| | | |
| | | // todo parse response |
| | | r.ReadResponse() |
| | | |
| | | return err |
| | | } |
| | | |
| | | func (r *Reader) SetPower20() error { |
| | | cmd := "5A0001020100020132D230" |
| | | |
| | | data, _ := hex.DecodeString(cmd) |
| | | |
| | | _, err := r.DevPort.Write(data) |
| | | if err != nil { |
| | | return nil |
| | | } |
| | | |
| | | // todo parse response |
| | | r.ReadResponse() |
| | | |
| | | return err |
| | | } |