我想在我的计算机上创建一个COM端口列表(COM端口+描述).我的观点是创建一个COM端口列表,以便使用USB/RS232转换器与交换机通信.
到目前为止我尝试了什么:
Get-WMIObject Win32_SerialPort | Select-Object DeviceID,Description
Run Code Online (Sandbox Code Playgroud)
但是没有出现所有COM端口(例如:缺少COM11)
另一种尝试:
[System.IO.Ports.SerialPort]::getportnames()
Run Code Online (Sandbox Code Playgroud)
这里我需要的端口存在,但缺少描述.(示例:COM11存在但没有详细信息)
假设我找到符合我标准的节点,我需要停止搜索.
有人知道如何更改Windows映射到USB虚拟COM端口的COM端口号吗?您可以通过"设备管理器"更改此设置并单击"高级"按钮..但是如何通过API,注册表更改或命令行操作执行此操作?
有什么想法吗?
我不知道我的代码发生了什么.我没有错误,也没有回应.我正在将数据写入serialport并通过激活等待响应 port.notifyOnDataAvailable(true);但是此事件未被触发且inputstream.available()始终返回0.可能有什么问题?我在linux中使用RXTX.
编辑
package testConn;
import forms_helper.global_variables;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.PrintStream;
import java.io.UnsupportedEncodingException;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.comm.*;
import java.util.*;
/** Check each port to see if it is open. **/
public class openPort implements SerialPortEventListener {
static Enumeration portList;
static CommPortIdentifier portId;
static String messageString;
public static SerialPort serialPort;
static OutputStream outputStream;
InputStream inputStream;
static boolean outputBufferEmptyFlag = false;
private BufferedReader is;
private PrintStream os;
public void open() { …Run Code Online (Sandbox Code Playgroud) 是否有人使用Magento与Apache worker MPM?
我已经阅读了使用worker而不是prefork的稳定性和安全性的相互矛盾的报告,但也读到了工作者比prefork快得多.
我想在Linux Android上开发一个应用程序whitch控制串口设备.
Android OS是支持USB主机的3.1.
Q1:请告诉我如何安装串行设备的端口.
当我在Dalvik Debug Monitor上获得"转储设备状态"时,我可能会收到USB设备信息.
并且,我使用adb检查了android设备上的/ dev/tty*.
我不知道串行设备是哪一个(/ dev/tty ??).
adb shell
$ ls/dev/tty*
/ dev/tty
/ dev/ttyFIQ0
/ dev/ttyHS0
/ dev/ttyHS2
/ dev/ttyHS3
/ dev/ttyHS4
/ dev/ttyS0
/ dev/ttyS1
/ dev/ttyS2
/ dev/ttyS3
Q2:请告诉我如何在没有root权限的情况下控制Android上的串行设备.
我有一个应用程序(exe),可以控制Linux上的串行设备.
我试图在android上做,但是我不能拒绝许可.
并且,我尝试重定向到串口(可能)
$ ls>/dev/ttyS0
但我不能.
无法创建/ dev/ttyS0:权限被拒绝.
请让我知道如何控制和访问串行设备.
我将字典存储在Django会话中,可以通过多个线程访问.所有线程都可以更新该字典,线程也从字典中获取值以运行该进程.我想知道Django Session是线程安全的还是我必须使用锁或信号量?
典型例子:
Thread1:
threadDict = request.session.get('threadDict', None)
if threadDict['stop']:
#break the for loop exit the thread
else:
#do some processing and update some values in thread dictionary
threadDict['abc'] = 0
request.session['threadDict'] = threadDict (Point1)
def someFunction():
#this function is used to send stop signal to thread
threadDict = request.session.get('threadDict', None)
threadDict['stop'] = True
request.session['threadDict'] = threadDict (Point2)
Run Code Online (Sandbox Code Playgroud)
是否有可能Point2在会话更新后更新线程字典Point1也更新它,然后我stop退出线程丢失.
更多信息
ajax请求启动四个线程,从4个不同的URL下载样本.为什么我使用线程?因为我想向用户显示当前正在下载的样本和剩下的样本.所有线程都将在会话中的字典中更新其状态.线程启动后,我每隔两秒钟发出一次ajax请求,并从会话中获取字典并读取线程的当前状态.但是这个想法失败了,因为线程独立于请求及其会话.每个ajax请求肯定都有它的会话,但是我无法将该会话传递给线程,因为当它们一旦开始时它们独立于世界的其余部分(可能是我可以通过它但我可能不会快速通过它,因为处理正在由线程).所以要解决这个问题,我选择缓存框架而不是会话.因为缓存可以从任何地方访问.线程将它们的状态存储在字典中并重新放入缓存中,每两秒钟后我从缓存中获取字典并读取状态.根据我的经验,缓存还有一件事是线程安全的.因此,对于四个线程,我使用了四个字典.
默认情况下,Spring创建的Bean是单例.它们是线程安全的,因为它们是无状态的.当我们希望Spring创建有状态Bean时,我们需要使用原型范围来定义Bean.我们需要为他们处理线程安全问题.当原型bean注入时,所有无状态Bean都将被污染.所以,我只是无法想象我们可以在哪里使用原型范围.你能给出一些我们可以/需要使用原型Spring Bean的典型场景吗?另外,我们怎样才能消除其他单身豆的有状态污染?
我正在为项目使用串行设备,而我正在尝试完成PC端,正在侦听串行设备发送的命令,解释查询,根据查询运行一些代码,以及传回结果.
说实话,我尝试使用PHP作为监听器,它很有效,不幸的是,使脚本充当接收器所需的无限循环将CPU加载到25%.所以这不是最好的选择.
我现在正在使用cygwin,我想使用linux native命令创建一个bash脚本.
我可以使用以下方式接收数据:
cat /dev/ttyS2
Run Code Online (Sandbox Code Playgroud)
并发送回复:
echo "command to send" > /dev/ttyS2
Run Code Online (Sandbox Code Playgroud)
我的问题是,如何使自动侦听器能够接收和发送数据?我遇到的主要问题实际上是如何在收到信息后停止cat/dev/ttyS2命令,将其放入变量中,然后我可以将其与交换机或一系列if else then块进行比较.然后发回响应并重新开始循环?
谢谢