`
mmdev
  • 浏览: 13242874 次
  • 性别: Icon_minigender_1
  • 来自: 大连
文章分类
社区版块
存档分类
最新评论

Java串口与手机通信

 
阅读更多
最近公司没事找事,本来想干的事情又被耽误了……不连贯啊~~~555555555555……

半夜睡不着觉,想起博客又一段时间没更新了,准备写点新内容。

————————————————————————————————————————————

众所周知,SMS(Short Messaging Service)即短消息业务,是由Etsi所制定的一个规范(GSM 03.40 和 GSM03.38)。当使用其7-bits编码时,可以发送最多160个字符;使用8-bit编码,最多可以发送140个字符,通常无法直接通过手机显示;还有用16-bit编码时,最多70个字符,被用来显示Unicode(UCS2)文本信息,可以被大多数的手机所显示。由于SMS是目前大众所使用的几大主流信息传递手段之一,虽然鄙人并不从事短信服务开发,但作为一个程序员来讲始终艺不压身,尤其最近十一期间业余接触了相关资料(给朋友群发短信玩……),因此准备将一些资料放在博客上以供有需要者参考。

目前来说,短信的软件发送大体有三种途径:

1、 网关方式:就是向当地的电信部门申请,不需要额外的设备,利用对方提供的API调用程序发送短信,适用于大型的通信公司,像华为、傲天、中兴、亚信等。
2、 终端方式:就是借助像GSM MODEM之类的设置(支持AT指令的手机也行),通过数据线连接电脑,来发送短信,用这种方法比较适用于小型及个人。要实现这种方式必须理解串口通信、AT指令、短信编码、解码。
3、 利用网站实现,由网站代发短信数据,对网站依赖性太高,对网络的要求也比较高,不适于进行项目开发。

由于我是个人使用,所以本文选择了AT命令方式作为讲解。

所谓AT,即Attention。AT命令集是从Terminal Equipment或Data Terminal Equipment向Terminal Adapter或Data Circuit Terminating Equipment发送的,通过TA、TE发送AT命令来控制Mobile Station的功能与GSM网络业务进行交互。我们可以通过AT命令进行呼叫短信、电话本、数据业务、补充业务、传真等方面的控制。

在Java编程中,我们可以通过Java Comm进行手机与电脑的串口通讯,以此通过AT指令控制手机操作。

在Google code上有一名为SMSLib的项目,是一个以AT指令实现手机操作的组件(http://code.google.com/p/smslib/downloads/list),有兴趣者可以直接下载并使用。

但由于AT指令操作是非常之简单的,我们完全可以自己写组件完成相关操作,而且针对联通、移动、小灵通等不同的服务需求,自制组件反而更容易控制及扩充,故此我也写了一个简单的SMS组件发布在此文中。

使用示例如下:

  1. packageorg.test;
  2. importorg.loon.framework.test.sms.SMS;
  3. importorg.loon.framework.test.sms.SMSImpl;
  4. /**
  5. *Copyright2008
  6. *
  7. *LicensedundertheApacheLicense,Version2.0(the"License");youmaynot
  8. *usethisfileexceptincompliancewiththeLicense.Youmayobtainacopyof
  9. *theLicenseat
  10. *
  11. *http://www.apache.org/licenses/LICENSE-2.0
  12. *
  13. *Unlessrequiredbyapplicablelaworagreedtoinwriting,software
  14. *distributedundertheLicenseisdistributedonan"ASIS"BASIS,WITHOUT
  15. *WARRANTIESORCONDITIONSOFANYKIND,eitherexpressorimplied.Seethe
  16. *Licenseforthespecificlanguagegoverningpermissionsandlimitationsunder
  17. *theLicense.
  18. *
  19. *@projectloonframework
  20. *@authorchenpeng
  21. *@email:ceponline@yahoo.com.cn
  22. *@version0.1
  23. */
  24. publicclassSendManager{
  25. publicstaticvoidmain(String[]args)throwsException{
  26. SMSsms=newSMSImpl();
  27. //与默认手机端口建立通讯
  28. sms.begin();
  29. //发送短信,1:目标手机号码,比如130101125002:短信内容,默认使用pdu模式,7-bit编码
  30. sms.getDriver().sendMessage("13010112500","收到此短信者速速请我吃饭,仿膳标准即可,神兵火急如律令111……");
  31. //关闭通讯
  32. sms.end();
  33. }
  34. }

源码下载:

http://download.csdn.net/source/689214

分享到:
评论

相关推荐

    Java串口通信编程

    Java 语言作为一门跨平台的编程语言,能够在不同的操作系统上运行,能够与串口通信设备进行交互。 RXTX 是一个开源的 Java 类库,提供了串口和并口通信的功能。RXTX 主要是在 COMM 开源包中做扩张,以前的 COMM 包...

    java实现串口通信demo(含串口通信jar包)

    Java串口通信是一种在计算机之间或计算机与其他设备(如PLC、Arduino等)进行低级数据传输的方法。在Java中实现串口通信通常需要依赖外部库,如本示例中的"RXTXcomm.jar"。这个jar包包含了32位和64位版本,适用于...

    Java实现串口通信

    Java实现串口通信是计算机编程中的一个重要领域,特别是在嵌入式系统、自动化设备以及物联网(IoT)设备的控制和数据传输中。Java虽然不是直接支持串口操作的语言,但通过一些库和API,我们可以创建应用程序来实现串口...

    JAVA串口通信实例(GUI图像化界面)

    Java串口通信是一种在计算机之间通过串行接口进行数据传输的技术。...这个实例对于学习Java串口通信和GUI编程是非常有价值的,它将理论与实践相结合,帮助开发者掌握如何在Java环境中创建一个功能完整的串口通信应用。

    java_chuankou.rar_java串口通信_pc串口_串口_串口 java_串口通信JAVA

    Java串口通信是一种在两台计算机之间通过串行接口进行数据传输的技术,广泛应用于设备控制、数据采集、物联网等场景。在Java中实现串口通信,通常需要借助第三方库,如RXTX或JSSC(Java Simple Serial Connector)。...

    Java与手机串口通信及AT文档

    通过Java串口通信,我们可以实现自动化的短信收发功能,例如在后台服务中监控特定事件并发送通知。 在本项目中的`Smsproject`可能是一个包含Java源代码、配置文件和相关文档的项目结构,其中可能有以下组成部分: 1...

    java源码 JAVA串口通信源码 2018127

    Java串口通信是一种在计算机之间或计算机与外部设备(如传感器、打印机等)之间通过串行数据传输的方式进行通信的方法。在Java中实现串口通信,通常需要利用Java的javax.comm库或者第三方库如RXTX。下面我们将深入...

    java串口通信编程.zip

    Java串口通信编程是Java应用程序与外部设备之间通过串行接口进行数据交换的一种技术。在Java中实现串口通信,通常需要借助第三方库,RXTXcomm.jar就是这样一个常用的库,它提供了Java语言访问串口的功能。这个压缩包...

    java与android串口通信示例代码

    Java与Android串口通信是设备间进行数据交互的一种常见方式,尤其在物联网和嵌入式系统中广泛应用。本文将深入探讨如何使用Java和Android进行串口通信,以及相关的技术细节。 首先,我们要知道什么是串口通信。串口...

    java串口通信全套完整代码-导入eclipse直接用

    Java串口通信是一种在计算机与外部设备之间进行数据交换的技术,尤其在嵌入式系统、自动化设备、物联网应用中广泛应用。本资源“java串口通信全套完整代码-导入eclipse直接用”提供了一套完整的Java串口通信实现,...

    java串口通信例程

    Java串口通信是一种在计算机与外部设备之间进行数据交换的技术,它通过标准的串行物理接口(例如RS-232)实现。在Java中,虽然标准库并未直接支持串口通信,但可以通过第三方库来实现,如RXTX和Java Comm API。本...

    java串口通信.zip

    Java串口通信是一种在计算机与外部设备之间进行数据交换的技术,尤其适用于低速或中速的数据传输场景,如连接扫码枪、打印机等硬件设备。在本案例中,我们看到一个名为"java串口通信.zip"的压缩包,它可能包含了实现...

    java串口通信

    java串口通信实例,仅供大家学习参考。Java串口,本实例大致工作流程是:将以下的所有java类都放在一个包下面,run as ---java application ,打开的是一个图形化界面,最上面的是一个输入文本框(也就是你要发射的...

    java串口通信实例

    Java串口通信是一种在计算机与外部设备之间进行数据交换的技术,尤其在嵌入式系统、自动化设备、物联网应用中广泛应用。本实例旨在提供一个简单的Java串口通信基础,帮助开发者快速掌握这一技术并应用于上位机开发。...

    java 串口通信 rxtx demo

    Java串口通信是一种在Java应用程序之间或Java应用程序与硬件设备之间进行数据传输的方法。RXTX是一个开源的Java库,它提供了对串行(RS232)和并行(IEEE1284)通信的支持,使得Java开发者能够方便地进行串口通信。...

    java串口通信详解

    Java串口通信是一种在计算机与外部设备之间进行数据交换的技术,它通过标准的串行端口(如COM1、COM2等)实现设备间的通信。本文将深入探讨Java中的串口通信,包括基本概念、使用Java进行串口编程的关键技术和实践...

    Java串口通信详解

    Java串口通信是一种在Java程序中与硬件设备通过串行端口进行交互的技术,主要应用于嵌入式系统、传感器网络的通信以及PC机与设备之间的数据交换。在Java中,串口通信通常依赖于`javax.comm`包,该包包含了处理串口...

Global site tag (gtag.js) - Google Analytics