C#中通过串口访问蓝牙数据

2024-02-09

所以我在Unity3D中工作,用C#编程,我听说可以通过串行端口从蓝牙适配器读取数据。我尝试使用此方法将多个蓝牙 USB 适配器连接到我的电脑上。但是,当我尝试打开串行端口时,收到一条错误消息,指出端口不存在。我只包含与问题相关的代码,但 portI 是一个字符串(“COM11”或“COM12”),而 PortIn 是 SerialPort 类型。

void OnGUI() {
    GUI.Label(new Rect(btnX, btnY, btnW, btnH), "PortIn = " + portI);
    if(!connected) {
        for (int i = 0; i<ports.Length; i++) {
            if(GUI.Button(new Rect(btnX, btnY + btnH + (btnH * i), btnW, btnH), ports[i])) {
                portI = ports[i];
            }
        }           
    }       
    if(GUI.Button(new Rect(btnX + (btnW * 2 + 20), btnY, btnW, btnH), "Connect")) {
        portIn = new SerialPort(portI, 9600);               
        portIn.ReadTimeout = 1000;
        if (!portIn.IsOpen) {
            portIn.Open();
        }
        connected = true;
        }
    }       
}

这是我正在处理的一些代码,只要配对时 COM 端口(在我的例子中为 COM9)与蓝牙设备相同,它就会从蓝牙连接获取数据到独立的 PC 构建(或在编辑器中)它。

配对后,转到蓝牙设置 > COM 端口,然后查看带有您设备名称的端口。它可能会说 COM8 或 COM9 或其他什么。如果设备已配对并且代码中的 COM 端口与蓝牙设置中的相同,并且超时数和波特率与您发送数据的应用程序中的相同...那么您将得到当你运行这段代码时,会得到一些东西。这只是为了帮助通过蓝牙连接建立到串行的连接。

希望它能帮助某人。通过阅读这些论坛,我得到了很多很好的建议;)

using System.Collections;
using System.IO.Ports;

public class checker : MonoBehaviour {

    public static SerialPort sp = new SerialPort("COM9", 9600, Parity.None, 8, StopBits.One);
    public string message, message1;
    public string message2;

    void Start() {
        OpenConnection();   
    }

    void Update() { 
        message2 = sp.ReadLine(); 
    } 

    void OnGUI()    {
        GUI.Label(new Rect(10, 180, 100, 220), "Sensor1: " + message2);
    }

    public void OpenConnection() {
        if (sp != null) 
        {
            if (sp.IsOpen) 
            {
                sp.Close();
                message = "Closing port, because it was already open!";
            }
            else 
            {
                sp.Open(); 
                sp.ReadTimeout = 1000;  
                message = "Port Opened!";
            }
        }
        else 
        {
            if (sp.IsOpen)
            {
                print("Port is already open");
            }
            else 
            {
                print("Port == null");
            }
        }
    }

    void OnApplicationQuit() {
        sp.Close();
    }

}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C#中通过串口访问蓝牙数据 的相关文章

  • 使用内部构造函数实例化类

    我有一个类 其构造函数被定义为内部 这意味着我无法实例化它 虽然这可能有道理 但出于调试和研究目的 我仍然愿意做一次 是否可以通过反射来做到这一点 我知道我可以访问私有 内部成员 但是我可以调用内部构造函数吗 或者 由于构造函数没有做任何重
  • boost::interprocess 准备好迎接黄金时间了吗? [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我正在开发一个由内存映射文件支持的线
  • C/C++ 中随机数生成器的实现[重复]

    这个问题在这里已经有答案了 我对 C 中随机数生成器的实现有点困惑 它也与 C 中的明显不同 如果我理解正确 对 srand seed 的调用会以某种方式初始化可通过 rand 访问的隐藏变量 种子 该变量又将函数指向预先生成的序列 例如例
  • C++ - 模板专业化和部分专业化

    我一直在互联网和 stackoverflow 上寻找具体的答案 但我似乎找不到 我必须创建一个通用类 然后实现特定的功能 我的具体说明是 您需要使用模板表达式参数以及模板类专业化和部分专业化 我有一个模板类 template
  • 可选参数“必须是编译时常量”

    我有一个类分为两个部分文件 如下所示 public partial class PersonRepository BaseRepository
  • 隐形打开的弹出窗口

    第二天就解决这个问题 要重现 请创建新的 WPF 应用程序 xaml
  • C# ConfigurationManager 从 app.config 检索错误的连接字符串

    我有一个简单的 WinForms 应用程序 它最终将成为一个游戏 现在 我正在研究它的数据访问层 但遇到了障碍 我创建了一个单独的项目 名为DataAccess在其中 我创建了一个本地 mdfSQL Server 数据库文件 我还创建了一个
  • Windows 程序如何临时更改其时区?

    我写了一个函数来返回time t与给定日期的午夜相对应的值 当给定日期没有午夜时 它返回最早可用的时间 例如 当埃及进入夏令时时 这种情况就可能发生 今年 时间更改于 4 月 29 日晚上午夜生效 因此时钟直接从 23 59 转到 01 0
  • 首先EntityFramework数据库 - 类型映射 - 将binary(8)从SQL映射到C#中的int

    在 SQL 内部 我有一个主键为二进制 8 的表 当我使用该表添加到我的模型中时Update Model from Database我可以看到该列有 type Binary 在 C 中 我将该列设为byte 我可以将该列映射到 int 吗
  • ASP MVC 5 - 403 customError 不起作用

    我正在尝试为我的应用程序创建自定义错误页面 它在大部分情况下都有效 但不适用于403 errors 我的网络配置
  • 使用 cudamalloc()。为什么是双指针?

    我目前正在浏览有关的教程示例http code google com p stanford cs193g sp2010 http code google com p stanford cs193g sp2010 学习CUDA 演示的代码 g
  • 打破条件变量死锁

    我遇到这样的情况 线程 1 正在等待条件变量 A 该变量应该由线程 2 唤醒 现在线程 2 正在等待条件变量 B 该变量应该由线程 1 唤醒 在我使用的场景中条件变量 我无法避免这样的死锁情况 我检测到循环 死锁 并终止死锁参与者的线程之一
  • 函数模板重载解析期间的 MSVC 与 Clang/GCC 错误,其中一个函数模板包含参数包

    当我使用参数包时 我注意到这样一种情况 如下所示 在 gcc 和 clang 中编译得很好 但在 msvc 中却不行 template
  • 如果数组为空,LINQ 返回 null

    public class Stuff public int x other stuff 我有一个IEnumerable
  • 如何使用eclipse构建C++应用程序

    我已经从以下位置下载了 Eclipse Juno for C here http www eclipse org downloads download php file technology epp downloads release ju
  • 向每个收件人发送一封包含不同内容的电子邮件(使用抄送字段)

    在你因为这个问题 毫无意义 和 不可能 而驳回之前 请听我说完 问题 我们在使用我们的系统发送的每封电子邮件中实施跟踪像素 即具有唯一 URL 的可下载 GIF 文件 这有助于我们跟踪电子邮件的打开情况 问题是 当我们抄送一些收件人时 跟踪
  • 如何在Linux上构建GLFW3项目?

    我已经使用 cmake 和 make 编译了 glfw3 和包含的示例 没有出现任何问题 开始编写我的第一个项目 作为 opengl 和 glfw 的新手 并且对 C 和 CMake 没有经验 我正在努力理解示例构建文件 甚至要链接哪些库和
  • 无效的模板相关成员函数模板推导 - 认为我正在尝试使用 std::set

    我有一个继承自基类模板的类模板 基类模板有一个数据成员和一个成员函数模板 我想从我的超类中调用它 我知道为了消除对成员函数模板的调用的歧义 我必须使用template关键字 我必须明确引用this在超级班里 this gt base mem
  • 计算两个日期之间的工作日数?

    在C 中 如何计算business 或工作日 两个日期之间的天数 我以前曾经遇到过这样的任务 并且我已经找到了解决方案 当可以避免的时候 我会避免列举其间的所有日子 这里就是这种情况 正如我在上面的一个答案中看到的那样 我什至没有提到创建一
  • 请解释为什么Java和C对此代码给出不同的答案

    public class Test public static void main String args int i 10 i i System out println value of i is i 输出是 10 当我在中执行类似的代码

随机推荐

  • 更改多窗口应用程序任务栏组中显示的图标

    在 Windows 7 上 应用程序可以控制如何在任务栏上对 Windows 进行分组 Windows 有一些与可执行文件 快捷方式创建方式 程序名称等相关的默认设置 以应用一些默认分组 基于主机的应用程序 例如 Java 的问题在于 许多
  • 禁止访问“/SVN/[repo name]/!svn/me”[重复]

    这个问题在这里已经有答案了 我遇到了一些 SVN 用户的问题 他们收到以下消息 禁止访问 SVN repo name svn me 我在找出其根本原因时遇到了一些问题 当前设置是在 Windows 上使用 Visual SVN 我们为用户使
  • Spark2 + YARN - 准备 AM 容器时出现 nullpointerException

    我正在尝试跑步 pyspark master yarn 火花版本 2 0 0 Hadoop版本 2 7 2 Hadoop 纱线 Web 界面是 成功启动 发生的情况是这样的 16 08 15 10 00 12 DEBUG Client Us
  • MockMvc 返回 null 而不是对象

    我正在开发一个微服务应用程序 我需要测试一个发布请求 到控制器 手动测试可以工作 但测试用例始终返回 null 我在 Stackoverflow 和文档中读过很多类似的问题 但还没有弄清楚我错过了什么 以下是我目前所拥有的以及我为使其发挥作
  • UITextField 将不间断空格转换为空格?

    看来 UITextFields 全部转换不间断空格 http en wikipedia org wiki Non breaking space nbsp U 00A0 至spaces http en wikipedia org wiki S
  • 无法设置 Cloud Firebase 每日支出限额

    我刚刚购买了 Firebase blaze 计划 无限制 但我尝试按照其文档中的建议设置每日配额 https firebase google com docs firestore quotas set spending limits htt
  • Bootstrap 移动菜单不会保持打开状态

    第一个问题 谢谢大家的耐心解答 我寻找了一个类似的问题 但很惊讶我没有找到一个诚实的问题 我也学到了足够的知识来为此创建一个小提琴 你可以在这里看到它 https jsfiddle net jhallwebdev gm6r6mLu 5 HT
  • 将大文本分割成小块的最快方法

    我使用下面的代码来分割字符串 但这需要很多时间 using StreamReader srSegmentData new StreamReader fileNamePath string strSegmentData string line
  • java spring boot 是否提供像 php CodeIgniter 查询生成器一样的查询生成器

    我们正在 Spring Boot 中开发一个应用程序 我们将在运行时创建动态表单并将其发布到我们的应用程序中 以 JSON 格式将表单数据发布到数据库 MySql 中 我们想要创建一个通用的 api 来处理所有动态表单的 CRUD 操作 我
  • 如何将 SSL 从 Tomcat 迁移到 Apache HTTPD?

    我正在将我的单服务器 tomcat 迁移到集群 由 Apache HTTPD 使用 mod proxy 进行反向代理 进行负载平衡和缓存 是否可以将证书和密钥转换为 apache 格式 或者我必须重新颁发整个内容 直接使用提取证书非常容易k
  • 返回字符串第一次出现之前和之后的单词

    我有一个从搜索查询返回的文本正文 我们称之为 body 现在 我想做的是让脚本找到搜索查询 query 的第一次出现 我知道我可以用 strripos 找到第一次出现的情况 一旦找到 我希望脚本在字符串第一次出现之前返回几个单词 以及在第一
  • 如何处理多个构建目标,例如开发、测试、主要?

    我目前正在从 Maven 迁移到 SBT 并且我正在努力理解如何处理多个构建目标 开发 测试 训练 生产等 例如 我有一个persistence xml看起来像这样
  • R markdown:使用for循环生成文本并显示图形/表格

    我认为 R markdown 可以使用 for 循环生成文本部分 请参阅这个帖子 https stackoverflow com questions 36674824 use loop to generate section of text
  • 如何将包含图像信息的 .xml 文件转换为 jpeg 或 png

    我的任务是为人体动作检测算法准备数据 总而言之 我收到了一些图像 xml 文件 使用 Kinect 传感器拍摄的 我想将其转换为 jpeg 或 png 以便从算法中读取 我想我必须使用 OpenCV 我确信这是一个初学者的问题 但我在互联网
  • 如何使“git log”仅显示提交日期,而不显示其他内容

    我只是想快速浏览一下项目的历史git log show only提交日期 没有其他 我们怎样才能最好地做到这一点 Update 事实证明我实际上是在要求author日期 显示的是git log 为了看到提交者日期也可以不同 运行git lo
  • python-polars使用字典按列值将数据帧分割成许多dfs

    我想使用字典通过唯一列值将单个 df 拆分为多个 df 下面的代码展示了如何使用 pandas 来完成此操作 我怎样才能在极地中执行以下操作 import pandas as pd Favorite color of 10 people d
  • 如何在 Subversion 服务器中搜索文件?

    有没有办法在颠覆存储库中搜索文件 类似于 Unix 的东西find命令 用它我可以找到存储库中文件的位置 我知道有svn list 但这给了我一个目录中所有文件的列表 我想找到文件所在的目录 您可以在服务器上使用以下命令和 grep svn
  • 无法在两个账户之间使用 Amazon S3 跨区域复制

    我希望有人可以帮助我处理 Amazon S3 跨区域复制查询 我有两个 Amazon AWS 账户 每个账户在不同区域都有一个存储桶 我想将数据从一个存储桶复制到另一个存储桶 据我了解 这应该是一个简单的创建过程 然而 我真的很挣扎 我不知
  • 浮点数如何存储在内存中[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 由于计算机只能理解下面的 0 和 1 像 12 1234 这样的浮点数如何在内存中表示为一组 0 和 1 它是否通过相应的 ASCII
  • C#中通过串口访问蓝牙数据

    所以我在Unity3D中工作 用C 编程 我听说可以通过串行端口从蓝牙适配器读取数据 我尝试使用此方法将多个蓝牙 USB 适配器连接到我的电脑上 但是 当我尝试打开串行端口时 收到一条错误消息 指出端口不存在 我只包含与问题相关的代码 但