Example #1
0
        /// <summary>
        /// 发送蓝牙命令
        /// </summary>
        /// <param name="cmd">蓝牙命令</param>
        public void WriteBleCmd(enumBleCmd cmd)
        {
            //安全性检验
            //if (SerialBleStatus == enumBleStatus.Stop)
            //{
            //    //Console.WriteLine("串口未开启,无法发生命令。");
            //    return;
            //}

            //发送蓝牙命令
            string[] arrCmdData = this.GetBleCmd(cmd);
            if (EventBleSerialWrite != null)
            {
                EventBleSerialWrite(arrCmdData);
            }
        }
Example #2
0
        /// <summary>
        /// 获取蓝牙命令
        /// </summary>
        /// <param name="cmd">命令枚举</param>
        /// <returns>串口命令字符串</returns>
        public string[] GetBleCmd(enumBleCmd cmd)
        {
            List <string> listBleCmd = new List <string>();

            setSerialBleCmd(cmd);
            switch (cmd)
            {
            case enumBleCmd.Init:
                setSerialBleStatus(enumBleStatus.Stop);
                listBleCmd.Add("AT");
                break;

            case enumBleCmd.Find:
                if (SerialBleStatus == enumBleStatus.Ready)
                {
                    setSerialBleStatus(enumBleStatus.Find);
                    listBleCmd.Add("AT+DISC?");
                }
                else
                {
                    EventBleLog("搜索失败请重试");
                    return(GetBleCmd(enumBleCmd.Init));
                }
                break;

            case enumBleCmd.Link:
                if (SerialBleStatus == enumBleStatus.Ready)
                {
                    setSerialBleStatus(enumBleStatus.Link);
                    if (ComboBle.Items.Count > 0 && ComboBle.SelectedIndex >= 0)
                    {
                        setSerialBleStatus(enumBleStatus.Link);
                        //listBleCmd.Add("AT+CONN" + ComboBle.SelectedIndex);
                        listBleCmd.Add("AT+CON" + DicListBle[ComboBle.SelectedItem.ToString()]);
                        _bakBleLinkData = ComboBle.SelectedItem.ToString();
                    }
                }
                else
                {
                    Console.WriteLine("请先搜索蓝牙设备。");
                    EventBleLog("请先搜索蓝牙设备");
                }
                break;

            case enumBleCmd.Reset:
                setSerialBleStatus(enumBleStatus.Stop);
                listBleCmd.Add("AT");
                listBleCmd.Add("AT+RESET");
                break;

            case enumBleCmd.ReLink:
                if (ComboBle.Items.Count > 0 && DicListBle.ContainsKey(_bakBleLinkData))
                {
                    ComboBle.SelectedIndex = ComboBle.Items.IndexOf(_bakBleLinkData);
                    return(GetBleCmd(enumBleCmd.Link));
                }
                break;

            default:
                break;
            }
            return(listBleCmd.ToArray());
        }
Example #3
0
 /// <summary>
 /// 设置蓝牙命令
 /// </summary>
 /// <param name="cmd">蓝牙命令枚举</param>
 private void setSerialBleCmd(enumBleCmd cmd)
 {
     this._serialBleCmd = cmd;
 }