社区
Java SE
帖子详情
请问在windows系统下,如何用java程序与usb口进行通讯?
tainy_zhang
2010-08-31 10:29:46
我调查了一下,Java-usb和jusb似乎只支持linux平台。很苦恼,请问哪位知道解决方案
我需要定期接收(或者查询)usb口的少量数据
...全文
104
1
打赏
收藏
请问在windows系统下,如何用java程序与usb口进行通讯?
我调查了一下,Java-usb和jusb似乎只支持linux平台。很苦恼,请问哪位知道解决方案 我需要定期接收(或者查询)usb口的少量数据
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
1 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
cooljia
2010-08-31
打赏
举报
回复
厂商或者设备提供商没有提供给你驱动和windows API么?如果有,那么就根据jni进行调用吧
计算机收发短信的OCX控件
控件是标准的ActiveX控件,适用于
Windows
平台下的所有开发编程工具,例如Delphi、VB、C#、C++、
Java
、PB等。控件封装了标准AT指令、手机与计算机的通信内容,提供了发送短信、接收短信、拨打电话、接听电话等函数和事件,非常方便二次开发。 控件需要的硬件设备是高深商公司研发的“手机盒”(见下面的名词解析)或能与计算机连接的手机(要求手机通过COM
口
通信)。 名词解析: 超长短信 --- 当短信超过68个字时,就是超长短信。手机自动把超长短信分成几条短信发送,接收时也分多条短信形式存储在SIM卡中,在读短信时,临时组装成超长短信。 手机盒 --- 与计算机连接的设备,插入SIM卡才能使用。该设备尺寸为100mm×58mm×24.5mm(长×宽×高,其中天线21mm),有一个标准的
USB
接
口
,通过标准的
USB
连接线,连接计算机。该设备不用电池,启动计算机后,就会自动开启。利用此设备,可以把计算机当成手机使用,在电脑上收发短信,拨打电话。一台计算机可以连接多个设备,并通过参数devid区分不同的手机盒。有关手机盒的更多详细信息,请拨打电话020-38259081咨询。 主要属性: BaudRate --- 与计算机连接的波特率,最好不要人工设置,而是采用设置函数SetupPort自动查找。 Port --- 与计算机连接的端
口
,同上不要人工设置。 JDConnected --- 与计算机是否已连接,即是否已经打开端
口
。 QueryATSeconds --- 当执行AT查询指令时,最长等待反应时间,默认2秒。 ReadLongSmsSeconds --- 读超长短信时,最长的延时时间,默认30秒。 ReadSmsSeconds --- 读普通短信时,最长的延时时间,默认5秒。 ReadLongSmsWay --- 读短信函数ReadSms的工作方式(针对超长短信),有0、1、2数值可选择: 0 一般用于收到短信事件OnSms中;在读超长短信时,只有当id为最后一条短信id,才完整地读超长短信; 1 常用的读短信方式;当遇到超长短信时,首先计算此超长短信第一条id,按顺序读,当不成功时,读所有短信; 2 只要是超长短信,首先把SIM卡内的所有短信都读出来,拼接成此条超长短信; 建议在OnSms事件中调用ReadSms时,ReadLongSmsWay设为0,其它时候设为1。 ReturnCompleteLongSms --- 默认False;如果设为True,ReadSms读短信,当遇到超长短信时,只有当超长短信读完整,才返回短信内容,读超长短信异常,例如超长短信还没有完整接收时,就执行ReadSms,导致超长短信不能读完整,则ReadSms返回0。 ShowRxChar --- 默认False;如果设为True,显示手机盒与计算机
通讯
的内容,方便调试。 ShowTip --- 默认True,表示当执行ReadSMS、ReadAllSms、QueryAT等函数时,提示手机盒正在与计算机
通讯
。 ExecJDSmsEvent --- 默认True,表示收到短信时自动执行OnJDSms事件;当为False时,不触发OnJDSms,即不执行OnJDSms。 主要事件: OnAfterOpen ---- 打开连接端
口
时触发。 OnAfterClose ---- 关闭连接端
口
时触发。 OnRing --- 当有电话呼入时,手机响铃,触发此事件;有2个传递参数值: no为来电号码; devid是手机盒连接标识号,整数,其值为0,1,2... OnEndRing --- 对方挂断手机,响铃结束,触发此事件;有1个传递参数值: devid是手机盒标识号,其值为0,1,2... OnJDSms --- 手机盒接收到短信,并完整读取短信时,触发此事件;事件在ExecJDSmsEvent=True时有效;有5个传递参数值: id为短信标识号,可根据此id删除SIM卡内的短信; no为发送短信号码; t为接收短信时间; s为短信内容; devid是手机盒标识号。 OnSms --- 手机盒接收到短信时,触发此事件;有2个传递参数值: id为短信标识号,可根据id值读短信; devid是手机盒连接序号; 与OnJDSms事件的不同点: OnSms不读短信,只要接收到短信,就触发此事件; OnJDSms在接收到短信时,马上读取短信,并判断短信是完整的,才触发此事件; 推荐使用OnJDSms。 主要函数: SetupPort --- 设置手机盒与计算机连接的端
口
,可以自动查找端
口
,一般在第一次使用时调用;成功时保存连接参数,并返回True。 Open --- 打开连接,JDConnected设为True。 Close --- 关闭连接,JDConnected设为False。 InitSIM300 --- 对手机盒初始化,一般在第一次使用时调用,返回设置手机盒的参数。 LoadComportParam --- 在
程序
启动时调用,读取手机盒与计算机的连接参数;这些参数是在 SetupPort时保存的。 GetComportCount --- 返回手机盒与计算机的连接数量。 ReadSms --- 读短信函数,返回短信数量;有5个参数: id 短信标识号,函数按id读短信;当是超长短信时,id返回超长短信的第一条短信id; no 发送短信号码,返回值; t 短信接收时间,返回值; msg 短信内容,返回值; devid 手机盒标识号,表示从哪个手机盒读短信;当只有一个手机盒与计算机连接时,赋0。 ReadAllSms --- 读取所有短信函数,返回短信数量;有2个参数: memo 所有短信内容,返回值; devid 手机盒标识号,表示从哪个手机盒读短信。 SendSms --- 发送短信函数,返回成功发送短信的号码;有3个参数: nos 要发送的手机号码,可群发,号码之间用;或空格分隔; msg 要发送的短信内容; devid 手机盒标识号,表示用哪个手机盒发短信。 DeleteSms --- 删除短信的函数;有2个参数: id 短信标识号,函数按id删除短信; devid 手机盒标识号,表示删除哪个手机盒的短信。 QueryAT --- 向手机盒发送AT指令,返回手机盒响应内容,主要用于测试;有3个参数: cmd --- AT指令; mlines --- 返回内容是否有多行; devid 手机盒标识号,表示向哪个手机盒发AT指令。 SIM300Setup --- 设置手机盒音量等参数,成功返回True;有1个参数: devid 手机盒标识号,表示设置哪个手机盒的参数。 DoDial --- 拨号函数,有2个参数: no 拨出号码; devid 手机盒标识号,表示用哪个手机盒拨号。 DoAnswer --- 接听电话函数,摘机,有1个参数: devid 手机盒标识号,表示接听哪个手机盒电话。 DoHold --- 挂断电话函数,挂机,有1个参数: devid 手机盒标识号,表示挂断哪个手机盒电话。 getCNUM --- 返回本机号码,当为空时,表示未设置本机号码;有1个devid参数。 setThisPhoneNo --- 设置本机号码,成功时返回True;有2个参数: no 要设置的本机号码,当为空时,表示清除本机号码; devid 手机盒标识号。 ShowAboutBox --- 显示OCX控件版本。 开发要点: (1)在
程序
启动时,调用LoadComportParam函数。 (2)在第一次使用
程序
时,请调用SetupPort函数,设置与计算机连接的参数;成功设置后,请调用InitSIM300初始化手机盒模块。 (3)
程序
启动后,请调用Open函数打开连接;如果在
程序
设计时,JDConnected=True,则此步骤忽略。 (4)调用DoAnswer、DoHold、DoDial函数,实现拨打、接听电话。 (5)在OnRing、OnEndRing事件中编写处理代码,可实现来电显示。 (6)在OnJDSms中编写处理代码,可自动接收短信。 (7)调用SendSms函数,可发送短信。 (8)调用ReadSms、ReadAllSms、DeleteSms函数,可读取、删除SIM卡内的短信。
物联网的媒介——
java
usb
串
口
通信
背景: 15年暑假期间参加ICAN全国物联网大赛,主题是应用于各种气体危险场合的四轴飞行器的大气参数测试。由于需要地面服务器作为单片机数据与上位机的传输,并且要存储进数据库,开始写
java
usb
串
口
的小
程序
。因各种事情的搁浅,并没有在大赛之前完成这个项目,最近几天将其简单的修改,实现了基本功能。 准备工作:
java
主要发展方向为上位机软件方向,所以底层的开源包较少,且需要C语言写的脚本做...
在
Java
应用
程序
中访问
USB
设备
在本文通过提供使
Java
应用
程序
可以使用
USB
设备的 API 而使这个过程变得更容易.
Java
平台一直都以其平台无关性自豪。虽然这种无关性有许多好处,但是它也使得编写与硬件交互的
Java
应用
程序
的过程变得相当复杂。在本文中,研究科学家蒋清野讨论了两个项目,它们通过提供使
Java
应用
程序
可以使用
USB
设备的 API 而使这个过程变得更容易。虽然这两个项目仍然处于萌芽状态,但是它
在
java
应用
程序
中访问
USB
设备
在本文通过提供使
Java
应用
程序
可以使用
USB
设备的 API 而使这个过程变得更容易.
Java
平台一直都以其平台无关性自豪。虽然这种无关性有许多好处,但是它也使得编写与硬件交互的
Java
应用
程序
的过程变得相当复杂。在本文中,研究科学家蒋清野讨论了两个项目,它们通过提供使
Java
应用
程序
可以使用
USB
设备的 API 而使这个过程变得更容易。虽然这两个项目仍然处于萌芽状态,但是它
Java
利用Rxtx
进行
串
口
通讯
最近在做传感器数据采集的工作,底层是基于Zigbee的无线传感网络,所有数据采集到Zigbee协调器上然后通知上位机数据采集完成,上位机通过
USB
转串
口
去读取数据就可以了。那么问题来了,如何
进行
串
口
通讯
呢?老板说你用
Java
写个
程序
好了嘛,用
Java
写串
口
程序
也是醉了。实验室也没别人写了,所以就让我写了。当我听到要让我用
Java
写串
口
通讯
程序
的时候我本来是拒绝的,然后。。。就没有然后了。。就只能写...
Java SE
62,614
社区成员
307,326
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章