用户
 找回密码
 立即注册

13

主题

22

帖子

431

积分

中级会员

Rank: 3Rank: 3

积分
431
发表于 2020-10-23 22:19:25
老师,这个蓝牙插件是怎么用的呀,为什么我“查找并连接蓝牙”后点击“发送蓝牙信息”,却提示未连接到蓝牙设备,不是因该已连上了吗?
我感觉是没有连上,如果连上的话在我手机里的蓝牙设置页面中应该可以看到iblue3A蓝牙设备已连接,但我测试后实际没有显示已连接。
-----------------------------以下是我的完整测试代码,老师帮看看是不是少了什么代码呢 ,下面的代码我是从官网上复制过来测试的。---------------------------------
using System;
using System.Collections.Generic;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using Smobiler.Core;
using Smobiler.Core.Controls;

namespace 控件测试
{
    partial class frmRTypeTemplate : Smobiler.Core.Controls.MobileForm
    {
        public frmRTypeTemplate() : base()
        {
            InitializeComponent();
            this.Load += SmobilerForm1_Load;
        }

        private void SmobilerForm1_Load(object sender, EventArgs e)
        {
            timer1.Start();
            button4_Press(null, null);//获取蓝牙连接状态
        }


        private void title1_ImagePress(object sender, EventArgs e)
        {
            this.Close();
        }
        //关闭蓝牙
        private void button1_Press(object sender, EventArgs e)
        {
            bluetooth1.Close((abj, args) =>
            {
                if (args.isError == true)
                    Toast(args.error);
                else
                    Toast("success");
            });
        }
        //断开连接上的蓝牙设备
        private void button2_Press(object sender, EventArgs e)
        {
            bluetooth1.CloseConnect((abj, args) =>
            {
                if (args.isError == true)
                    Toast(args.error);
                else
                    Toast("success");
            });
        }
        //连接指定蓝牙
        private void button3_Press(object sender, EventArgs e)
        {
            //bluetooth1.Connect("00:0D:18:00:19:98", (abj, args) =>
            //{
            //    if (args.isError == true)
            //        Toast(args.error);
            //    else
            //        Toast("success");
            //});
            bluetooth1.Connect("00:23:02:31:E7:06", (abj, args) =>
            {
                if (args.isError == true)
                    Toast(args.error);
                else
                    Toast("success");
            });
        }
        //获取蓝牙连接状态
        private void button4_Press(object sender, EventArgs e)
        {
            bluetooth1.GetStatus((abj, args) =>
            {
                if (args.isError == true)
                    Toast(args.error);
                else
                {
                    Toast(args.Status + "  " + args.Name + "  " + args.MacAddress);
                    MessageBox.Show(args.Status + "  " + args.Name + "  " + args.MacAddress);
                }
            });
        }
        //打开蓝牙
        private void button5_Press(object sender, EventArgs e)
        {
            bluetooth1.Open((abj, args) =>
            {
                if (args.isError == true)
                    Toast(args.error);
                else
                    Toast("success");
            });
        }
        //查找并连接蓝牙
        private void button6_Press(object sender, EventArgs e)
        {
            bluetooth1.Search((abj, args) =>
            {
                if (args.isError == true)
                    Toast(args.error);
                else
                {
                    Toast("success " + args.Name + "  " + args.MacAddress);
                    MessageBox.Show(args.Name + "  " + args.MacAddress);
                }
            });
        }
        //发送蓝牙信息
        private void button7_Press(object sender, EventArgs e)
        {
            //发送的TSPL指令
            string str = "690000001";
            string print = "SIZE 80 mm,40 mm\r\n" + "REFERENCE 0,0\r\n" + "SPEED 4.0\r\n" + "DENSITY 8\r\n" + "SET PEEL OFF\r\n" + "SET CUTTER OFF\r\n" + "SET TEAR ON\r\n" + "DIRECTION 0\r\n" + "SHIFT 0\r\n" + "OFFSET 0 mm\r\n" + "CLS\r\n" + "BARCODE 20,20,\"128M\",160,1,0,4,12,\"" + str + "\"\r\n" + "TEXT 20,190,\"ARIAL.TTF\",0,15,15,\"" + str + "\"\n" + "RINT 3,1\r\n";

            string print1 = "SIZE 50 mm,80 mm\r\n" + "GAP 2 mm,0 mm\r\n" + "TEXT 30,0,\"TST24.BF2  \",0,1,1,\"" + "Smobiler" + "\n" + "TEXT 30,60,\"ROMAN.TTF \",0,1,1,\"" + "110mm×300m" + "\r\n" + "TEXT 30,120,\"TST24.BF2  \",0,1,1,\"" + "石磨" + "\r\n" + "TEXT 30,180,\"ROMAN.TTF \",0,1,1,\"" + "上海石磨信息科技有限公司" + "\r\n" + "TEXT 30,240,\"ROMAN.TTF \",0,1,1,\"" + "Smobiler" + "\r\n" + "REFERENCE 0,0\r\n" + "SPEED 4.0\r\n" + "DENSITY 8\r\n" +
             "SET PEEL OFF\r\n" + "SET CUTTER OFF\r\n" + "SET TEAR ON\r\n" + "DIRECTION 0\r\n" + "SHIFT 0\r\n" + "OFFSET 0 mm\r\n" + "CLS\r\n" + "QRCODE 350,0,H,4,A,0,M6,S7,\"" + str + "\"\r\n" + "TEXT 350,240,\"TSS24.BF2 \",0,1,1,\"" + "页数 1" + "\n" + "RINT 1,1\r\n";
            bluetooth1.WriteData(System.Text.Encoding.GetEncoding("gbk").GetBytes(print1), (abj, args) =>
            {
                if (args.isError == true)
                    Toast(args.error);
                else
                    Toast("success");
            });
        }
        /// <summary>
        /// 接收蓝牙后发生
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void bluetooth1_DataReceived(object sender, Smobiler.Plugins.BluetoothDataReceivedEventArgs e)
        {
            Toast(e.Data.ToString());
            MessageBox.Show(System.Text.Encoding.GetEncoding("gbk").GetString(e.Data));
        }
        private void timer1_Tick(object sender, EventArgs e)
        {
            label1.Text = bluetooth1.BluetoothStatus.ToString();
        }

    }
}

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
使用道具 举报 回复
发表于 2020-10-23 22:21:08
底下的图片是我测试截的。
使用道具 举报 回复 支持 反对
发表于 2020-10-28 09:44:41
请确认设备是否支持标准蓝牙,如果支持,确认设备uuid是否为默认值"00001101-0000-1000-8000-00805F9B34FB",uuid参数请参考https://www.smobiler.com/Help/ht ... uetooth_Search.htm. 如果无法自行确认,可百度查找安装专门的蓝牙连接app,查看其uuid.
使用道具 举报 回复 支持 反对
发新帖
您需要登录后才可以回帖 登录 | 立即注册