- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在尝试让我的 Windows Electron 应用程序与另一个设备建立稳定的蓝牙连接(“正常”蓝牙,而不是 BLE)。我已经被安装node-gyp困住了,但我终于正确安装了它(至少我这么认为)。现在我又陷入困境,需要一些提示才能继续。
我尝试了各种不同的库,但似乎没有什么对我有用。在尝试使用 Node 蓝牙(未能为 Electron 重建它)之后,我决定尝试一下蓝牙串行端口。但我又陷入了重建问题。
我遵循了 Bruce 在 this 上的建议侧面(在尝试了一些其他方法之后),但当我应该更改绑定(bind)中的变量属性时不得不停止。gypElectron 文件夹和 bluetooth-serial-port 文件夹都不包含此文件(我暂时将它们安装在不同的文件夹中,因为否则它们会相互覆盖)。
尝试使用node-gyprebuild --target=0.30.1 --dist-url=https://atom.io/download/atom-shell
重建蓝牙串行端口失败输出如下:
$ node-gyp rebuild --target=2.0.2 --dist-url=https://atom.io/download/atom-shell
gyp info it worked if it ends with ok
gyp info using node-gyp@3.7.0
gyp info using node@8.11.3 | win32 | x64
gyp info spawn C:\python27\python.EXE
gyp info spawn args [ 'C:\\Users\\sbraendle\\AppData\\Roaming\\npm\\node_modules\\node-gyp\\gyp\\gyp_main.py',
gyp info spawn args 'binding.gyp',
gyp info spawn args '-f',
gyp info spawn args 'msvs',
gyp info spawn args '-G',
gyp info spawn args 'msvs_version=auto',
gyp info spawn args '-I',
gyp info spawn args 'C:\\Users\\sbraendle\\Desktop\\Electron\\BluetoothTest\\build\\config.gypi',
gyp info spawn args '-I',
gyp info spawn args 'C:\\Users\\sbraendle\\AppData\\Roaming\\npm\\node_modules\\node-gyp\\addon.gypi',
gyp info spawn args '-I',
gyp info spawn args 'C:\\Users\\sbraendle\\.node-gyp\\iojs-2.0.2\\common.gypi',
gyp info spawn args '-Dlibrary=shared_library',
gyp info spawn args '-Dvisibility=default',
gyp info spawn args '-Dnode_root_dir=C:\\Users\\sbraendle\\.node-gyp\\iojs-2.0.2',
gyp info spawn args '-Dnode_gyp_dir=C:\\Users\\sbraendle\\AppData\\Roaming\\npm\\node_modules\\node-gyp',
gyp info spawn args '-Dnode_lib_file=C:\\Users\\sbraendle\\.node-gyp\\iojs-2.0.2\\<(target_arch)\\iojs.lib',
gyp info spawn args '-Dmodule_root_dir=C:\\Users\\sbraendle\\Desktop\\Electron\\BluetoothTest',
gyp info spawn args '-Dnode_engine=v8',
gyp info spawn args '--depth=.',
gyp info spawn args '--no-parallel',
gyp info spawn args '--generator-output',
gyp info spawn args 'C:\\Users\\sbraendle\\Desktop\\Electron\\BluetoothTest\\build',
gyp info spawn args '-Goutput_dir=.' ]
gyp: binding.gyp not found (cwd: C:\Users\sbraendle\Desktop\Electron\BluetoothTest) while trying to load binding.gyp
gyp ERR! configure error
gyp ERR! stack Error: `gyp` failed with exit code: 1
gyp ERR! stack at ChildProcess.onCpExit (C:\Users\sbraendle\AppData\Roaming\npm\node_modules\node-gyp\lib\configure.js:345:16)
gyp ERR! stack at emitTwo (events.js:126:13)
gyp ERR! stack at ChildProcess.emit (events.js:214:7)
gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:198:12)
gyp ERR! System Windows_NT 6.1.7601
gyp ERR! command "C:\\Program Files\\nodejs\\node.exe" "C:\\Users\\sbraendle\\AppData\\Roaming\\npm\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild" "--target=2.0.2" "--dist-url=https://atom.io/download/atom-shell"
gyp ERR! cwd C:\Users\sbraendle\Desktop\Electron\BluetoothTest
gyp ERR! node -v v8.11.3
gyp ERR! node-gyp -v v3.7.0
gyp ERR! not ok
实际设置是:
Win 7 x64
Node 8.11.3
node-gyp 3.7.0
Electron 2.0.2(不完全确定,但安装时是这么说的)。
或者,我也愿意接受其他关于如何与 Electron 建立蓝牙连接的方法,只要有人已经让它工作即可。
<小时/>我不知道我昨天做错了什么,但今天我重新安装了所有东西,这次 Electron 的安装似乎工作正常,蓝牙串行端口(或我的 Node 蓝牙)的安装也正常工作第二次尝试)。我尝试运行该应用程序而不添加任何对蓝牙的引用。程序正常启动。但是,一旦我添加像 const bluetooth = require('node-bluetooth');
这样的行,它就会在两种情况下( Node 蓝牙和蓝牙串行端口)崩溃,并出现以下错误:
$ npm start
> bluetoothtest@1.0.0 start C:\Users\sbraendle\Desktop\Electron\BluetoothTest
> electron .
App threw an error during load
Error: Das System hat keinen Meldungstext für die Meldungsnummer 0x%1 in der Meldungsdatei %2 gefunden.
\\?\C:\Users\sbraendle\Desktop\Electron\BluetoothTest\node_modules\node-bluetooth\build\Release\BluetoothSerialPort.node
at process.module.(anonymous function) [as dlopen] (ELECTRON_ASAR.js:172:20)
at Object.Module._extensions..node (module.js:671:18)
at Object.module.(anonymous function) [as .node] (ELECTRON_ASAR.js:172:20)
at Module.load (module.js:561:32)
at tryModuleLoad (module.js:504:12)
at Function.Module._load (module.js:496:3)
at Module.require (module.js:586:17)
at require (internal/module.js:11:18)
at bindings (C:\Users\sbraendle\Desktop\Electron\BluetoothTest\node_modules\node-bluetooth\node_modules\bindings\bindings.js:76:44)
at Object.<anonymous> (C:\Users\sbraendle\Desktop\Electron\BluetoothTest\node_modules\node-bluetooth\index.js:3:48)
对错误消息中的德语感到抱歉:我想准确地复制它。对此的翻译是:
The system has not found any message text for the message number 0x% 1 in the message file% 2.
有什么建议吗?
最佳答案
我知道这个帖子是一年前打开的,但今天早上我遇到了同样的问题,最终让 Electron 与蓝牙串口一起工作!所以步骤如下:
删除 node_modules
文件夹和 package.lock
文件。
打开终端:npm install --save-dev electro@4.2.6
和 npm install --save-dev electro-rebuild
。
Note: The version of electron should be that exact version. Recent releases are built on Node 12 and this will fail to build the bluetooth library. You can learn more here: https://www.npmjs.com/package/electron-releases
也在您的终端中:npm install --save bluetooth-serial-port
。在撰写本文时,我的版本是 2.2.4。
将此脚本添加到您的 package.json 中:“脚本”:{“重建”:“Electron 重建”}
在您的终端中:npm install
,然后npm runrebuild
您的项目现在应该可以编译,并且您在 Electron 内部有一个工作的蓝牙串行端口模块。我使用 HC-06 收发器测试了该模块。
关于node.js - 让 Electron 与 Node 的蓝牙串行端口一起工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50860088/
我想知道两者都可以 UnicastRemoteObject.exportObject(Remote,portNo) & LocateRegistry.createRegistry(portNo); p
我有一个运行 tomcat 8.0.23 和 apache httpd 服务器的 vps。在 tomcat 中我有 3 个项目让我们用下面的名字来调用它们: /firstpro /secondpro
我试图将非 SSL 端口 8080 上的流量重定向到 SSL 端口 8443(在 Jboss 4.2.3.GA 版本上),但它不起作用。当我在此端口上访问我的 web 应用程序时,它会停留在该端口上并
跟进: Possible to query the native inbox of a mobile from J2ME? 我怎么知道Kannel将 SMS 发送到 native 收件箱端口(我想是端
我想用 python 开发一个代码,它将在本地主机中打开一个端口并将日志发送到该端口。日志只是 python 文件的命令输出。 喜欢: hello.py i = 0 while True:
我的 tomcat 在我的 linux 机器上独立运行在端口 7778 上。我已经将 apache 配置为在端口 443 上的 ssl 上运行。 我的 httpd.conf 如下: Liste
我正在使用 React Native 作为我想要部署到 iOS 和 Android 的头像生成器。我正在为我的服务器使用 Express,它使用 localhost:3000,react native
我正在使用主板(MSI Gaming主板)和两个支持NIC卡的e1000e驱动程序构建自定义操作系统。我想使用NIC卡中的端口而不是板载端口。 为了禁用板载端口,我尝试使用 70-persistanc
我目前使用的是xampp 1.7.0,我的php版本是5.2.8 我将我的 php.ini 文件更改为: [mail function] ; For Win32 only. SMTP = smtp.g
我有以下代码来配置 Jetty 服务器: @Configuration public class RedirectHttpToHttpsOnJetty2Config { @Bean p
我使用 Ubuntu 使用 Certbot 生成了一个 SSL。这已经自动更新了我的 Nginx 配置文件并添加了一个额外的监听端口。我担心我是否只需要监听一个端口(80 或 443)而不是两个端口,
我被困在一个点,我必须调用 pentaho API 来验证来自 reactJS 应用程序的用户。两者都在我的本地机器上。到目前为止我尝试过的事情: a) 在 reactJS 配置文件 - packag
我的 native 项目在 android 模拟器上运行 但是每当我尝试将我的项目与我的 android 设备连接时,就会出现上述错误。 注意:我的手机和笔记本电脑使用相同的 wifi 连接。 请帮我
我正在运行 Elasticsearch 服务器。除了 9200/9300 端口外,Elasticsearch 还开放了很多端口,如下所示。 elasticsearch-service-x64.exe
<portType> 元素是最重要的 WSDL 元素 <portType>可描述一个 web service、可被执行的操作,以及相关的消息 我们可以把 <portT
Stack Overflow 的其他地方有一个关于让 Icecast 出现在端口 80 上的问题,我已经阅读了该问题,但仍然无法让我的服务器在端口 80 上工作。 我的 icecast.xml 有这些
如果这是一个简单的问题,我很抱歉,我对这种事情不熟悉。 我正在尝试确定我的代理服务器 ip 和端口号,以便使用 google 日历同步程序。我使用谷歌浏览器下载了 proxy.pac 文件。最后一行是
我想知道 cassnadra 是否对所有 JMX 连接/节点间通信使用 7199 端口?与早期版本一样,7199 仅用于初始握手,但后来它使用随机选择 1024-65355 端口之间的任何端口。 谢谢
在docker hub中,有一个容器,该容器在启动时会默认打开9000端口。可以通过传递环境变量server__port来覆盖该端口。 我正在尝试在dockerfile中传递Heroku $ PORT
我已经在互联网上公开的虚拟机中安装了 docker。我已经在 VM 的 docker 容器中安装了 mongodb。Mongodb 正在监听 27017港口。 我已经使用以下步骤安装 docker
我是一名优秀的程序员,十分优秀!