短信开发

关于短信群发软件的开发 前段时间因为公司要对会员群发短信,因为来不及开发,买了二郎腿软件短信群发软件(800元),在使用中发现当人数过多(上一千)时,速度就会很慢,而且在对方号码错误时,经常会弹出对话框,并中止发送过程。与自已做的消费者管理软件集成度也不高,要用户导出,再导入短信软件。种种不便,引发了我开发短信群发软件的想法。在csdn论坛上查了一下,发现网上很多牛人已经把源代码都公布出来了。首先是wuzhiwen (蚕 阅读详情

原文:http://www.blogjava.net/flyffa/archive/2006/05/15/46180.html

 

1.1. 基本知识
短信开发指通过串口 at 命令驱动短信猫进行短信发送和接收操作。
在 java 中 主要使用 javax.comm 包进行开发,
sun 公司网上地址 : http://java.sun.com/products/javacomm/
使用工具 : windows 自带超级终端
 
短信猫操作分为 三种模式: block,pdu 和 Text
短信传送有 三种编码: 7 位, 8 位, UniCode
at 命令 ,at 命令是驱动短信设备的标准工业命令,除了业界的标准之外,每个厂商可能会对其进行扩展,不过一般来说,标准命令应该够用,这次用的是西门子 tc35i ,有专门的 at 命令文档。
 
1.1.1.     相关文档
Gsm03.38 规范: Alphabets and language-specific information 着重介绍短信发送中对字符集的控制部分
Gsm03.40 规范: Technical realization of the Short Message Service (SMS) Point-to-Point (PP) 详细介绍各种不同短信的不同实现
Gsm07.05 规范: Use of Data Terminal Equipment - Data Circuit terminating;Equipment (DTE - DCE) interface for Short Message Service (SMS) and Cell Broadcast Service (CBS) ,介绍 at 的一些控制命令。
Gsm07.07 规范:着重介绍 at 的短信相关命令,可以说是 at 的 sms 规范。
1.1.2.     Block 模式
Block 模式基本已经被 pdu 模式取代,没有具体研究
1.1.3.     Text 模式
Text 模式比较简单,但是支持的设备不是很全,而且对于中文似乎有些问题,在金笛的网站技术资料中似乎提到了一句不能实现中文。
AT  +  CGMF=1<CR>
AT  +  CGMS=  “  13605696031  ”  ,129<CR> 
>Hello World!<^Z>
1.1.4.     Pdu 模式
pdu 编码主要包括两个主要的部分,一是 pdu 串的整体数据格式,分别因为发送信息串和接收信息串而有区别,二是 pdu 中文本部分的编码,分别因为字符集而不同。
我们也可以这样来理解这个 pdu 编码的格式, sms 相当于一个协议栈,最简单的协议栈:
根据 gsm03.40 规范, sms 协议包括以下几层:
1、 SM-AL :应用层。这个部分就是数据部分。
2、 SM-TL :传输层。我们可以清楚的看到这里描述了主要的短信内容,包括发送号码,接收号码,信息类型,编码,数据报长度等等,这也是我们编程主要要面对的问题。
3、 SM-RL :中继层。这个指的是短信在网关之间中继需要的协议。
4、 SM-LL: 链路层。
从上述描述中我们可以清楚的看到,我们编程主要集中于传输层。
 
PDU  串的用户信息  (TP-UD)  段最大容量是  140  字节,所以在这三种编码方式下,可以发送的短消息的最大字符数分别是 160  、  140  和  70  。这里,将一个英文字母、一个汉字和一个数据字节都视为一个字符。
 
1.2. SMS 用户数据的编码方法
1.2.1.     英文 7 位编码
图片不能正确显示

这是
  gsm  的默认编码方式
由于这样的移位,我们可以看到我们能发的最多英文字符等于:  140*8/7 = 160  。
1.2.2.     数据 8 位编码
8-bit  编码通常用于发送数据消息,比如图片和铃声等;
1.2.3.     中文 pdu 编码
发送中文时,必须用 UCS2 ( utf-16 )进行编码,最多可以发 140/2 = 70 个汉字。
UniCode 编码转换也比较简单,以中文为例,一个中文字符是两个字节,直接对高位字节和低位字节进行十六进制转换就可以了。如“欢迎”, UniCode 编码是  6B22 8FCE  ,这同时也就是转换的结果,如果发送的串中有英文字符,那么在前面补全  00  ,以保证一个字符对应两个字节。
1.2.4.     Wap-push 中的中文编码
做 wap-push 短信的时候有些问题了,开始的时候也按照 Unicode 编码处理,总是失败,后来才发现,有个编码字段设为了 uft-8 ,所以在这种情况下,还是可以出现其他编码方式的。
 
1.3. 短信报头分析
1.3.1.     短信类型
详细请参考  gsm 0438  规范和  gsm0440  规范,里面有详细的关于各种短消息类型的描述。
在  sms  中到底支持多少种类型的短信,短信类型由什么进行控制,这是我们在这里需要着重介绍的问题。
在传输层来分,一共有六大短信类型:  SMS-DELIVER , SMS-DELIVER-REPORT , SMS-SUBMIT
,  SMS-SUBMIT-REPORT , SMS-STATUS-REPORT , SMS-COMMAND  ,这六种短信类型,由短信中心地址后的第一个字节的最低两位控制。

bit1
bit0
Message type
0
0
SMS-DELIVER (in the direction SC to MS)
0
0
SMS-DELIVER REPORT (in the direction MS to SC)
1
0
SMS-STATUS-REPORT (in the direction SC to MS)
1
0
SMS-COMMAND (in the direction MS to SC)
0
1
SMS-SUBMIT (in the direction MS to SC)
0
1
SMS-SUBMIT-REPORT (in the direction SC to MS)
1
1
Reserved

 
也就是说,每个短信在短信中心地址之后的第一个字节的最低两位是至关重要的。他决定了如何读这条短信(结合是发送的,还是接收的)
1.3.2.     地址编码
短信发送中都会涉及到短信地址的问题,他们的编码规则是一致的 , 简单来说就是 BCD8421码编码。
如: 08 91  683108501505F  0  ,
08  :地址长度,(号码类型  +  号码长度)  /2  的十六进制表示
91  :号码类型
683108501505F  0  :号码,实际号码应为:  8613805515500  ,号码处理方法为  ,  如果为  +86  开始  ,  将  + 号去掉  ,  然后判断是否为偶数  ,  不是在末尾补  F,  然后将奇数位和偶数位互换
1.3.3.     TP-DCS( 数据编码格式 )
这个字节比较特殊,表明整个短信的字符编码,数据内容等信息。详细说明参考 gsm03.38 规范。
1.3.4.     第一个字节
Pdu 编码的第一个字节比较有意思,这个字节会根据六种不同的短信按位有不同的意思,拿句专业一点的话来说,叫 bitmask. 用图来大概描述一下,详细参考 gsm0340 的 9.2.3 段。
 

位数 MSG_Deliever MSG_SUBMIT
7 TP_RP (回复地址) TP_RP
6 TP_UDHI (数据报头) TP_UDHI
5 TP_SRI (需要回复) TP_SRR (请求回复)
4   TP_VPF( 时间格式 )
3  
2 TP_MMS (多条短信标志, 1 为无, 0 为有) TP_RD( 拒绝重复标志 )
1 , 0 TP_MTI (短信类型) TP_MTI
常见值 04 ,正常收到, 44 ,有报头短信 11 ,正常发送, 51 ,有报头短信

1.3.5.     TP-PID (协议标识)
在这个里面还有一个字节比较特殊,就是协议标识。
一般都是 00 ,表示点到点的标准短信。
1.3.6.     超长短信
参考 gsm0340 的 9.2.3 .24TP_UD 部分,这个部分中间的一种情况就是描述超长短信的处理。
长短信关键涉及一个数据报头的问题,数据报头由“长度”和多个“数据元素”组成。
1.3.7.     Wap-push 短信
WAP  的推送协议中定义了服务指示(  SI  :  Service Indication  )和服务加载(  SL  :  Service Load  )两项服务,以给用户和网络运营者更多的选择。服务指示是将新信息的指示和相关的通用资源标识符(  URI  )推送给用户,由用户选择是立即处理信息还是以后处理。服务加载是将一项服务的  URI  推送给用户,然后客户端自动地使用  PULL  技术根据该  URI  启动服务。两种服务的区别在于用户是否介入推送信息的处理过程。  SL  对推送信息的处理对用户来说是透明的,而  SI  则在指示用户的同时,请用户对随后的处理做出选择。 
PUSH
  可以将某一站点或某一业务的链接通过短信发送到支持  WAP PUSH  功能的手机上,这样用户只需要阅读这条短信,打开短信中的链接,就可以直接访问业务了。因此,  WAP PUSH  实现了短信和  WAP  业务的结合,节省了用户寻找业务的时间,方便用户直接找到并使用自己喜欢的业务。
Wap-push  短信的核心不同之处就在于:
1、  含有数据报头,也就是  TP_UDHI  位为  1  ,一般来说  pdu  的第一个字节发送时为  51  ,接收时为  44  。
2、  TP_DSC  字节不同,一般为  F5  ,表明字符集为  8  位,短信类型为  Class 1;  详细解释参看  gsm03.38  的第四章。
1.4. 编码示例
1.4.1.     发送信息的 PDU 串:
用手机写一条短信息,发送手机号码为  13605696031  ,信息内容为“  Hello World!  ”。通过执行  AT  + CMGL=2  可以读出此条信息。
 
AT + CMGL=2 { 读未发短信息 } 
+ CMGL: 1,2,,24 {1 表示信息个数, 2 表示未发信息, 24 表示信息总容量 } 
08 91 683108501505F0 11 00 0B 81 3106656930F1 0000FF 0B E8329BFD06DDDF723619 
OK
 
下面分析这条信息:

08 短信息中心地址长度。(短信息中心号码类型 + 短信息中心号码长度 /2 的十六进制表示)
91 短信息中心号码类型, 91 是 TON/NPI 。 TON/NPI 遵守International/E.164 标准,指在号码前需加‘+’号 ; 此外还可有其他数值,但 91 最常用。
683108501505F 0 短信息中心号码,是所使用的服务中心地址。由于位置上略有处理,实际号码应为: 8613805515500( 字母 F 意指长度减 1), 这是作者所在地 GSM 短信息中心的号码。 ( 号码处理方法为 , 如果为 +86 开始 , 将 + 号去掉 , 然后判断是否为偶数 , 不是在末尾补 F, 然后将奇数位和偶数位互换 )
11 文件头字节 (header byte, 是一种 bitmask) 。这里 11 指正常地发送短信息。
00
信息参考号。(  TP-MR  )
0D 被叫号码长度。被叫号码长度的十六进制表示。
81 被叫号码类型。
3106656930F 1 被叫号码,也经过了移位处理,实际号码为 13605696031。
00 协议标识 (TP-PID), 是普通 GSM 类型,点到点方式
00 用户信息编码方式 (TP-DCS) , 7-bit 编码( 08 : UCS2 编码)
FF 有效期 (TP-VP), 短信的有效时间
0B 短信息长度
E8329BFD06DDDF723619 短信息内容“ Hello World! ”。

1.4.2.     接受信息的 PDU 串
读取以上发送出来的短信,可以收到如下信息  ,  接受到来自  13600554267  的“欢迎“  PDU  串为: 0891683108503705F0040D91683106504562F7000830507001021500046B228FCE  。而接受到的“欢迎“  PDU  串为:
0891683108503705F0040D91683106504562F70000305070010201000AE8329BFD4697D9EC37  。对以上的  PDU  串分析如下表:
 

段 含义 说明
08 SMSC 地址信息的长度 共 8 个八位字节 ( 包括 91)
91 SMSC 地址格式 (TON/NPI) 用国际格式号码 ( 在前面加 ‘+’)
683108503705F 0 SMSC 地址 8613800573500 ,补 ‘F’ 凑成偶数个
04 基本参数 (TP-MTI/MMS/RP) 接收,无更多消息,有回复地址,如果为 00 ,就没有以下关于回复地址的三个段
0D 回复地址数字个数 共 13 个十进制数 ( 不包括 91 和 ‘F’)
91 回复地址格式 (TON/NPI) 用国际格式号码 ( 在前面加 ‘+’)
683106504562F 7 回复地址 (TP-RA) 8613600554267 ,补 ‘F’ 凑成偶数个
00 协议标识 (TP-PID) 是普通 GSM 类型,点到点方式
08 用户信息编码方式 (TP-DCS) UCS2 编码(即中文)
30507001021500 时间戳 (TP-SCTS) 2003-3-12 08:36:45 +8 时区
04 用户信息长度 (TP-UDL) 实际长度 4 个字节
6B228FCE 用户信息 (TP-UD) “ 欢迎 !”

1.4.3.     超长短信
所谓超长短信不同的地方无非就是数据报文需要有个拼接的过程,这个详细可以参考 gsm03.40 的 9.2.3 .24.1 段。下面是个例子,表明的是短信的第一条和第二条。
第一条

0891683108100005F0 SMSC 地址
44 有协议头标志
0D91683118216553F6 回复地址
0008 TP-PID , TP-DCS
60403011142423 时间戳 (TP-SCTS)
8C 用户信息长度 (TP-UDL)
05 协议头的长度
00 标志这是个分拆短信
03 分拆数据元素的长度
39 唯一标志(用于把两条短信合并)
02 一共两条
01 这是第一条
4E8C96F64E005B9A4
F1A597D597D597D76
8465F 665F 665F 695F 4
4E0D597D597D597D7684
60254F1A4E8654754F604
E5F4E0D898157284E006
B21751F76EE8FDB665A
70B954275417662F4E00
4E2A4E1C5F20897F6211
4E0D662F62117231597D
4E86541754758BBE7F6E
597D597D554A51765B83
662F554A5475547554754
F607684547562A4
数据内容

第二条

0891683108100005F0 SMSC 地址
44 有协议头标志
0D91683118216553F6 回复地址
0008 TP-PID , TP-DCS
60403011145423 时间戳 (TP-SCTS)
26 用户信息长度 (TP-UDL)
05 协议头的长度
00 标志这是个分拆短信
03 分拆数据元素的长度
39 唯一标志(用于把两条短信合并)
02 一共两条
02 这是第二条
81EA4ECE524D5C317761
7740542754755475007A0
07A006C0076006C006F0
07A
数据

 
1.4.4.     Wap-push 短信
发送的 pdu ,关于 wap-push 短信中间的 wbxml 该如何转变和编码,请参考 WAP Service Indication 规范。

0891683108100005F0 SMSC 地址
51 有协议头标志
00 TP_MR 消息基准值
0D91683118216553F6 回复地址
00 TP-PID
F5 TP-DCS
A7 有效期 TP-VP
85 用户信息长度( TP-UDL )
0B WAP PUSH 头部的总长度
05 协议头的长度
00 标志这是个分拆短信
03 分拆数据元素的长度
03 唯一标志(用于把两条短信合并)
01 一共一条
01 这是第一条
05040B8423F0 表示接下来是一个 WAP PUSH
29060603AE81EA8DCA WSP
02 标记位
05 -//WAPFORUM//DTD SI 1.0//EN
6A UTF-8
00 标记开始
45 <si>
C6 <indication
08 <action=signal-high>
0C href="http://
03 字符串开始
3231312e3133362e31353
32e33302f776170707573
682f70757368496e64657
82e6a73703f7075736849
643d3035303531313134
313630353231
URL
00 URL 字符串结束
01 > 
03 内容描述字符串开始
E8AFB7E782B9E587BB
E4BBA5E4B88BE993B
EE68EA5E88EB7E58F
96E5BDA9E4BFA1E5
8685E5AEB9
内容描述字符串
00 内容描述字符串结束
01 </si>
01 </indication>
全面掌握Android模拟短信应用开发 开发一个自定义模拟短信应用需要多步骤的过程,每一步都是确保应用质量和用户体验的关键环节。 阅读详情

相关推荐

短信应用开发完整指南与实践

短信服务一直是通信行业不可或缺的一部分,尤其在移动设备普及的今天,短信程序开发的市场需求稳步增长。它涉及到从简单的文本信息发送到复杂的用户交互系统,为开发者提供了丰富的应用场景。短信程序开发不仅仅是编写代码那么简单,它需要开发者对SMS协议、编程语言以及相关的API接口有深入了解。开发流程中可能涉及到协议的选择、安全性措施、用户体验设计、错误处理、批量发送策略以及法律法规遵守等多个环节。本章我们将从概述的角度了解短信程序开发的关键点,为深入探讨后续章节打下基础。

weixin_33480380的博客 732

用自己的Android手机做迷你短信机

用自己的Android手机做迷你短信机,基于httpcore作为webservice

lonelyrains的专栏 2919

移动通讯GSM03.40,03.48标准协议

移动通讯GSM03.40,GSM03.48标准协议。

mas短信机webvice发送与回执

最近,工作遇到要与短信机对接,研究些许时间,最终用webvice接口,个人测试采用webvice要比用API发送快 步骤1、mas wsd地址:http://xxx.xxx.xxx.xxx/axis/services/SMsg?WSDL        2.通过axis1.4 生成客户端代码 在网上可以下载,官网已经没有 set AXIS_HOME=E:\axis\WEB-INF set C

zrf112233的博客 966

GSM0340/GSM0338/PDU长短信说明

英文的,看不懂英文的不愿意学习的请不要下载!(一个程序员如果英语都看不懂那还是算了吧。)长短信编码格式及资料,各种的详细资料含GSM0340/GSM0338/PDU长短信说明,里面有个网页的资料里面有例子,本人以前在公司做长短信的时候,找了很多资料,发现国内的都讲得很含糊,照着做老是实现不了长短信发送,后来找到国外的这个网页,按照其说明一步成功。整理出来给大家以免浪费精力做重复劳动!

GSM 03.40中文版

GSM 03.40是描述GSM网络中用于携带短消息的短消息传输协议(SM-TP)的传输协议数据单元(TPDU)的格式的移动电话标准。在GSM 移动网络中的整个消息传输过程中使用这种格式。相反,应用服务器使用不同的协议,如短消息点对点或通用计算机协议,在它们和短消息服务中心(SMSC)之间交换消息。

短信机的封装

为什么80%的码农都做不了架构师?>>> ...

weixin_33937778的博客 134

GSM短消息&长短信解码

在收发短信方面,按时间产生先后,共产生了三种模式:Block Mode、基于 AT 指令的 Text Mode、基于 AT 指令的 PDU Modem。 Text Mode 是纯文本方式, 可使用不同的字符集,主要用于欧美地区。从技术上说也可用于发送中文短消息, 但国内手机基本上不支持。PDU Mode 被所有手机支持,可以使用任何字符集, 这也是手机默认的编码方式。PDU 模式下短信息正文经过十六进制编码后被传 送

如何设计一个短信发送功能

1.梳理多个平台短信API的发送参数,集成封装提供统一的API,支持多个短信平台(阿里云、腾讯云、百度云、京东云、七牛云)灵活切换2.提供存储方案,表结构设计3.提供真实生产项目代码案例,实现异步机制、定时发送、超时取消发送等功能4.文末提供代码仓库,有兴趣的小伙伴可以fork代码。

JQ棣的博客 4172

GSM 03.40 手机短信 SMS PDU 标准

GSM行业标准,针对手机发送超长短信做了统一的规定

全差分运放+开关电容共模反馈

设计一种CMOS全差分折叠式共源共栅结构的运放,其共模反馈用的是开关电容(SC-CMFB)。 下面分别是主运放、偏置电路和开关电容共模反馈电路图 在设计时碰到的问题: 1、增益怎么测? 2、输出波形不平滑? 3、开关的时序频率设置多高? 解答: 1、先设计好主运放和偏置电路,使得运放的输出接近VDD/2,且主运放的管子都工作在饱和区,然后再参考何乐年的《模拟集成电路设计与仿真》仿增益。 2、增益仿完后,仿真瞬态,看电路的工作情况,于是将偏置电路上接Vb4与主运放断开,接到共模反馈上的Vbia上,然后就

qq_36686804的博客 1万+

短信平台开发之短信猫资料简介

短信猫      短信猫 所谓短信猫,其实是一种用来收发短信的设备,他和我们用的手机一样,需要手机SIM卡的支持,在需要收发短信的时候,在短信猫里面插入一张我们平时用的手机卡,插上电源,通过(USB或者串口、网口)数据线和电脑相连,在电脑的应用管理软件中就

韩锋 3990

Bresenham画圆算法在嵌入式屏幕(如ILI9806G)上的实战:从C代码到单片机显示

本文详细介绍了Bresenham画圆算法在嵌入式屏幕(如ILI9806G)上的高效实现与优化方法。通过整数化改造和针对STM32等微控制器的特殊优化,显著提升了图形显示性能,适用于资源受限的嵌入式系统开发。文章还分享了实心圆与空心圆的实现策略及实战经验。

weixin_33712987的博客 390

android 短信 开发,Android 短信开发学习

短信 sms文件 /data/data/com.android.providers.telephony/databases/mmssms.db这个数据库有13张表,sms表存了短信信息。sms表的uri是public static final Uri CONTENT_URI = Uri.parse("content://sms");strColumnName=_id st...

weixin_33532756的博客 359

Java实现双色球&大乐透随机选号算法——原理详解与代码实战

掌握核心语法:集合操作、随机数生成、排序。贴近实际场景:将编程知识应用于生活问题的解决。

wangchl0932的博客 4977

静态与动态LACP链路聚合:原理、配置与排错实战指南

链路聚合技术是提升网络带宽与可靠性的核心方案,通过将多个物理端口逻辑捆绑,实现带宽叠加与链路冗余。其原理基于IEEE 802.3ad标准,通过负载均衡算法将数据流分布到不同物理链路,既避免了数据包乱序,又提升了整体吞吐量。该技术的核心价值在于消除单端口瓶颈、提供毫秒级故障切换,并能简化网络拓扑管理。在企业服务器接入、数据中心互联及虚拟化平台等场景中,链路聚合已成为构建高可用网络的基础。实践中,动态LACP模式通过协议报文协商,能主动检测链路故障并防止配置错误导致的网络环路,相比静态聚合更为可靠。本文将深入解

weixin_31412781的博客 268

短信过滤 APP 开发

本文字数:7033字预计阅读时间:42分钟一直想开发一个自己的短信过滤 APP,但是一直没有具体实施,现在终于静下心来,边开发边记录下整体的开发过程。01垃圾短信样本遇到的第一个问题是,既然要过滤垃圾短信,那首先要识别哪些是垃圾短信?如何识别呢?参考之前训练识别钢管计数的经验,决定通过CoreML 训练Text模型来识别,那问题来了,要训练模型的短信数据集怎么来?一开始打算网上找到垃圾短信样...

SOHU_TECH的博客 646

别再只看成交量了!用通达信这个VOL监测公式,一眼识别主力吸筹与出货信号

本文详细介绍了通达信VOL监测公式的实战应用,通过彩色量柱和换手率分层技术,帮助投资者识别主力吸筹与出货信号。该公式结合动态量能标准化和多周期均线组合,提供可视化主力行为图谱,提升交易决策的准确性。

weixin_28693447的博客 661

添加短信内容模板,腾讯云短信开发案例-短信平台验证码开发4

我们在上一篇文章, 讲解了怎么添加短信签名, 今天来说说怎么设置短信内容模板。 一、 短信内容模板作用 考虑到很多企业发短信给用户时, 并不是一条固定的短信, 而是会根据具体的情况, 把对应的短信内容发给用户。 最常见的就是我们的短信验证码功能, 发给用户的验证码是随机生成, 而不是固定数字。 短信内容模板的作用: 就

4606

流媒体学习之路(mediasoup)——simulcast 与 svc 简介(7)

流媒体学习之路(mediasoup)——simulcast 与 svc(7) 文章目录流媒体学习之路(mediasoup)——simulcast 与 svc(7)

qw225967的博客 7339

YOLO11,ultralytics-main源代码目录结构详解

本文详细介绍了YOLO11框架的ultralytics-main源代码目录结构,帮助用户更好地理解和使用YOLO模型。主要目录包括:docker文件夹,包含多种Docker镜像文件,适用于不同硬件环境;docs文件夹,存放YOLO的说明文档;examples文件夹,提供YOLO使用的示例代码;tests文件夹,包含单元测试模块;ultralytics文件夹,为核心代码所在,包含推理逻辑、配置、数据处理等模块。其中,engine文件夹负责训练和推理引擎,models文件夹存放模型架构,nn定义神经网络结构

qq_30279827的博客 1282

面向短信接口开发实例

1、开发背景 前提拥有短信网关的凭证、且信息有效。自行购买、此实例以“浪驰”商务短信快车为例。 现如今遇到很多的情况都要用的短信发送的功能、比如:用户注册获取验证码、平台给用户推送信息等等、其实现原理大致相同、无复杂的逻辑需要理解、只需要熟悉对 应的短信网关亦或是邮件网关的相应规则即可。 2、java开发实例 a)以配置文件的形式来存储短信网关的账户信息、每次需要调用是、通过调用加密的配

骆杨飞-克己习礼成仁 3493

搞定ESD(九):静电放电之PCB设计

不同信号参考地平面应尽量保持完整,减小静电电流流过参考地平面时造成的电位差,防止电位差导致的信号传输电平错误.主芯片GPIO信号布线应保持最短化,减小与参考地平面之间的电场耦合,同时也防止因信号环路面积较大耦合静电放电噪声干扰。外部端子接地引脚顶层采用分地设计,最好是直接过孔到完整参考地平面接地,避免与顶层信号包地、其它包地相连,防止顶层串扰耦合到其它信号,造成ESD问题。

记得诚 1951

短信开发流程

具体开发文档,参考阿里短信服务中心: https://help.aliyun.com/document_detail/55288.html?spm=a2c4g.11186623.6.557.20d71a813rxue9

qq_34227896的博客 6541

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

上一篇: 手机AT指令 AT+CMGS发信息
下一篇: OSI七层网络模型与TCP/IP四层网络模型
GeoJava
博客等级 码龄19年 3粉丝 16原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值