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. package org.test;
  2. import org.loon.framework.test.sms.SMS;
  3. import org.loon.framework.test.sms.SMSImpl;
  4. /**
  5.  * Copyright 2008
  6.  * 
  7.  * Licensed under the Apache License, Version 2.0 (the "License"); you may not
  8.  * use this file except in compliance with the License. You may obtain a copy of
  9.  * the License at
  10.  * 
  11.  * http://www.apache.org/licenses/LICENSE-2.0
  12.  * 
  13.  * Unless required by applicable law or agreed to in writing, software
  14.  * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
  15.  * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
  16.  * License for the specific language governing permissions and limitations under
  17.  * the License.
  18.  * 
  19.  * @project loonframework
  20.  * @author chenpeng
  21.  * @email:ceponline@yahoo.com.cn
  22.  * @version 0.1
  23.  */
  24. public class SendManager {
  25.     public static void main(String[] args) throws Exception {
  26.         SMS sms = new SMSImpl();
  27.         // 与默认手机端口建立通讯
  28.         sms.begin();
  29.         // 发送短信,1:目标手机号码,比如13010112500 2:短信内容,默认使用pdu模式,7-bit编码
  30.         sms.getDriver().sendMessage("13010112500","收到此短信者速速请我吃饭,仿膳标准即可,神兵火急如律令111……");
  31.         // 关闭通讯
  32.         sms.end();
  33.     }
  34. }

 源码下载:

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

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
课程说明 1 课程介绍 1 课程目标 1 相关资料 1 第1章 七号信令系统概述 2 1.1 七号信令的概念和特点 2 1.1.1 基本术语 2 1.1.2 信令传送方式 3 1.2 七号信令系统的功能级结构 4 1.2.1 功能级结构原理 4 1.2.2 七号信令系统的功能级结构 4 1.3 GSM系统中的接口和协议 6 第2章 消息传递部分(MTP) 8 2.1 MTP功能级结构 8 2.1.1 信令数据链路级 8 2.1.2 信令链路功能级 8 2.1.3 信令网功能级 9 2.2 MTP信令消息格式 11 第3章 信令连接控制部分(SCCP) 14 3.1 SCCP概述 14 3.1.1 为什么需要SCCP 14 3.1.2 SCCP的应用特点 14 3.2 SCCP业务功能 15 3.2.1 无连接业务 15 3.2.2 面向连接业务 16 3.3 SCCP消息格式 17 3.3.1 SCCP消息结构 17 3.3.2 SCCP消息类型 18 3.3.3 SCCP消息参数 19 第4章 基站子系统应用部分(BSSAP) 23 4.1 BSSAP整体结构 23 4.2 BSSAP的分配功能 24 4.3 直接转移应用部分DTAP 24 4.4 BSS移动应用部分BSSMAP 25 4.5 BSSAP消息举例 25 4.5.1 BSSMAP消息举例 25 4.5.2 DTAP消息举例 26 第5章 A接口消息详解 27 5.1 概述 27 5.2 连接建立消息 28 5.2.1 位置更新消息( Location updating Request ) 28 5.2.2 CM业务请求消息( CM Service Request ) 31 5.2.3 连接确认消息(Connect Confirm ) 32 5.3 正常有连接消息 33 5.3.1 鉴权请求消息(AUTHENTICATION REQUEST ) 33 5.3.2 鉴权响应消息(AUTHENTICATION RESPONSE ) 35 5.3.3 加密命令消息(CIPHER MODE COMMAND ) 35 5.3.4 加密结束消息(CIPHER MODE COMPLETE ) 36 5.3.5 位置更新接收消息(LOCATION UPDATING ACCEPT ) 37 5.3.6 CM业务接收消息(CM SERVICE ACCEPT ) 38 5.3.7 SETUP消息(SETUP ) 38 5.3.8 呼叫进行消息( CALL PROCEEDING ) 39 5.3.9 指配请求消息(ASSIGNMENT REQUEST ) 40 5.3.10 指配结束消息(ASSIGNMENT COMPLETE ) 41 5.3.11 振铃消息(ALERTING ) 42 5.3.12 通话建立消息(CONNECT ) 43 5.3.13 连接确认消息(CONNECT ACKNOWLEDGE ) 43 5.3.14 挂机消息(DISCONNECT) 44 5.3.15 释放消息(RELEASE) 45 5.3.16 释放结束消息(RELEASE COMPLETE ) 45 5.3.17 清除命令( CLEAR COMMANG ) 46 5.3.18 清除结束(CLEAR COMPLETE) 47 5.4 无连接消息 47 5.4.1 复位电路(RESET CIRCUIT) 47 5.4.2 阻塞电路(BLOCK CIRCUIT) 49 5.4.3 解闭电路 ( UNBLOCK CIRCUIT ) 50 5.4.4 复位消息( RESET ) 51 5.4.5 未安装电路(unequipped circuit) 51 第6章 A-bis接口信令分析 53 6.1 A-bis接口主叫阶段信令分析 53 6.2 A-bis接口被叫阶段信令分析 54 6.3 A-bis接口拆线阶段信令分析 55 附录一 DTAP消息 58 附录二 BSSMAP消息 60

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值