转一个手机开发的帖子(来自开发者俱乐部)_PHP
代码:--------------------------------------------------------------------------------
目前手机短信息的应用越来越广泛,互联网上提供短信息发送的站点也越来越多,但一些站点的服务并不尽如人意,往往发出去的短信息石沉大海。最可靠的发送方法当然是用手中的手机了,如果设置了状态报告,更能确切知道对方是否收到了此条信息。手机发送尽管比较可靠, 但也存在输入麻烦、效率低的问题。本文介绍一种方法,只要手机能够与电脑相连(通过红外端口或用手机数据线连接串行口,同时手机支持GSM AT指令集),就可以通过自行编制的短信息发送软件,实现短信息的发送。
现在市场上的大多数手机均支持类似于Modem控制的GSM AT指令集,该指令集是由诺基亚、爱立信、摩托罗拉和HP等厂家共同为GSM系统研制的,其中包含了对SMS(Short Message Service)的控制。
GSM AT相关指令的介绍
与SMS有关的GSM AT指令如表1所示:
表1 相关的GSM AT指令
对SMS的控制共有三种实现途径:
Block Mode;
基于AT命令的Text Mode;
基于AT命令的PDU Mode。
Text Mode比较简单,多款诺基亚手机均支持该模式。西门子的手机大多只支持PDU模式,PDU模式是发送或接收手机SMS信息的一种方法,短信息正文经过十六进制编码后被传送。目前,PDU已取代Block Mode,因此本文主要探讨PDU模式的发送。
计算机和手机的通信
本文以西门子 S3568i为例,介绍如何实现短信息的发送。
数据线连接
首先,通过S35/25数据线将手机与电脑串行口相连。然后,打开超级终端,选择直接串行口连接,端口参数设为19200速率、无校验、数据位8、停止位1。
红外线连接
如果使用带红外端口的计算机,可以设置与手机的无线连接。首先确认计算机红外端口已打开,并将手机的红外线和收传真/数据功能打开,对接红外端口,计算机系统托盘上应当出现一个红外设备西门子S35(如果没有安装红外监视器,则不显示)。然后,打开超级终端,选择IrDa上的串行口。
连接测试
点击超级终端工具条上的呼叫按钮,输入AT并回车,屏幕上如果出现OK则表明计算机与手机的连接成功,这时就可以输入各类GSM AT指令了。
如:查询手机厂家,输入AT+CGMI=
通常情况下,执行测试命令AT+CMGS=?
If PDU mode (+CMGF=0)+CMGS=
如果短信息格式指令AT+CMGF返回的是0,则SMS格式为PDU模式,再执行AT+CMGS=命令后,手机返回“>”符号并等待输入,输入PDU数据并以^Z或Esc键结束。
如果信息发送成功,则返回OK,并显示信息号:
+CMGS:
如果发送失败,则返回如下信息:
+CMS ERROR:
PDU数据格式的分析
下面通过对存储在手机中的待发信息的分析,来介绍SMS PDU的数据格式。首先,用手机写一条短信息,发送手机号码为13605696031,信息内容为“Hello World!”。通过执行AT+CMGL=2可以读出此条信息。
操作过程如下(斜体字符为响应信息,{}内为注释):
AT
OK
AT+CMGL=2 {读未发短信息}
+CMGL: 1,2,,24 {1表示信息个数,2表示未发信息,24表示信息总容量}
08 91 683108501505F0 11 00 0B 81 3106656930F1 0000A7 0B E8329BFD06DDDF723619
OK
下面分析这条信息:
08:短信息中心地址长度。
91:短信息中心号码类型,91是TON/NPI。TON/NPI遵守International/E.164标准,指在号码前需加‘+’号;此外还可有其他数值,但91最常用。
683108501505F0:短信息号码,是所使用的服务中心地址。由于位置上略有处理,实际号码应为:8613805515500(字母F意指长度减1),这是作者所在地GSM短信息中心的号码。
11:文件头字节(header byte,是一种bitmask)。这里11指正常地发送短信息。
00:信息类型。
0B:被叫号码长度。
81:被叫号码类型。
3106656930F1:被叫号码,也经过了移位处理,实际号码为13605696031。
0000A7:短信息编码类型GSM Default Alphabet,如为中文则是000010。
0B:短信息长度。
E8329BFD06DDDF723619:短信息内容“Hello World!”。
短信息的编码方法及编程实现
下面我们介绍纯英文和纯中文的信息编码方法。通过测试我们发现,每条发送的短信息前面部分均相同,只是被叫号码和短信息内容有变化。
1.英文编码
参见表2,设短信息内容为“Hello World!”。缺省的GSM 字符集为7位编码,可以简单地理解为ASCII码(ASCII值小于80Hex,因此,Bit8被忽略),依次将下一7位编码的后几位逐次移至前面,形成新的8位编码,参见表2箭头指示。需要注意的是第9行,移位计数已达7位,则直接将本编码前加0。GSM并非支持所有的ASCII字符显示。
表2 英文编码的实现过程
下面是实现英文编码的部分Delphi 5代码:
//英文格式编码,s为String
function Encode1(var s:String):String;
var
i,j,len:Integer;
cur:Integer;
t:String;
begin
Result:=‘’;
len:=Length(s);
//j 用于移位计数
i:=1;j:=0;
while ibegin
if i
cur:=(ord(s[i]) shr j) or ((ord(s[i+1]) shl (7-j)) and $ff)
else
cur:=(ord(s[i]) shr j) and $7f;
FmtStr(t,‘%2.2X’,[cur]);
Result:=Result+t;
inc(i);
//移位计数达到7位的特别处理
j:=(j+1) mod 7;if j=0 then inc(i);
end;
end;
2.中文编码
参见表3,设短信息内容为“中文短信息”。中文短信息的实现较简单,只需将??????的中文编码转换为代码页为CP936的Unicode编码即可。
表3 中文编码的实现过程
通过Delphi的WideString类型转换,可以巧妙地实现??????到Unicode的编码转换(注意代码页和操作系统相关联)。下面是实现中文编码的部分Delphi 5代码:
// 中文格式编码,s为Unicode String
function Encode2(var s:WideString):String;
var
i,len:Integer;
cur:Integer;
t:String;
begin
Result:=‘’;
len:=Length(s);
i:=1;
while ibegin
cur:=ord(s[i]);
//BCD转换
FmtStr(t,‘%4.4X’,[cur]);
Result:=Result+t;
inc(i);
end;
end;
小 结
以上介绍了PDU格式的短信息编码。建议英文信息长度不超过140个字符,中文信息不要超过54个汉字。如果使用能够支持文本方式的手机进行发送,实现起来更简单。如发送“Hello World!”,用如下的AT指令即可:
AT+CGMF=1
>Hello World!

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











8月17日のニュースによると、情報源@ibinguniverseが本日Weiboに投稿したところによると、Apple iPhone 16 Pro Maxの正確なサイズは6.88インチで、Galaxy S25 Ultraの正確なサイズはどちらも6.9インチとみなせるとのこと。 。情報源によると、Samsung Galaxy S25 UltraはS24 Ultraよりも本体が狭く、画面が広く、水平方向の画面対本体の比率が94.1%であるのに対し、S24 Ultraの水平方向の画面対本体の比率は91.5%です。 Fenye氏は情報源の関連するWeiboをチェックし、新たに公開されたiPhone 16 Pro Maxの写真についてコメントし、この携帯電話は実際にはストレートスクリーン+2.5Dガラスであると信じていました。

近年、Apple はイノベーションの欠如を批判されていますが、Apple は常に立ち止まっていたわけではありません。少なくともハードウェア設計に関しては、Apple 製品の単価の高さに支えられ、エンジニアはコストの問題をあまり考慮せずに、いくつかの新しいテクノロジーを簡単に試すことができます。たとえば、iPad Proは、Appleのお気に入りの「ディスプレイ技術」テストフィールドとして、2021年のminiLEDから2024年のタンデムOLEDに至るまで、ポータブルスマートデバイスのディスプレイ技術の最前線に立ってきました。 iPad Pro は、miniLED スクリーンを備えた最初のポータブル スマート デバイスではありませんが (MSI は Apple より 1 年早く miniLED ラップトップをリリースしました)、2 つのパラメータを比較すると、それらが同じではないことがすぐにわかります。

8月9日のニュースによると、SK HynixはFMS2024サミットで、仕様がまだ正式にリリースされていないUFS4.1ユニバーサルフラッシュメモリを含む最新のストレージ製品をデモした。 JEDEC Solid State Technology Associationの公式Webサイトによると、現在発表されている最新のUFS仕様は2022年8月のUFS4.0です。理論上のインターフェース速度は46.4Gbpsと高速で、UFS4.1ではさらに伝送速度が向上すると予想されています。レート。 1. Hynix は、321 層 V91TbTLCNAND フラッシュ メモリをベースとした 512GB および 1TBUFS4.1 の汎用フラッシュ メモリ製品をデモしました。 SK Hynixは3.2GbpsV92TbQLC粒子と3.6GbpsV9H1TbTLC粒子も展示した。 Hynix が V7 ベースを披露

7月30日のニュースによると、情報筋のYogesh Brar氏は昨日(7月29日)、Xプラットフォームにツイートを投稿し、Xiaomi POCOM6 Plus 5G携帯電話とPOCO Buds X1ヘッドフォンの物理的な写真を共有しました。この2つの製品の正式発表は2月29日にリリースされます。 8月1日。 Xiaomi POCOM6 Plus 5G携帯電話情報筋によると、Xiaomi POCOM6 Plus 5G携帯電話は6.8インチLCDスクリーン、Qualcomm Snapdragon 4Gen2AEプロセッサー、背面に1億800万画素カメラ、5030mAh容量バッテリーを搭載するとのこと。以前に報告されたように、この電話は紫、黒、銀の 3 色で利用できます。標準の POCOM6 電話とほぼ同じですが、LED フラッシュ リングが比較的目立ちます。ポコブ

Smartprix の報道によると、Xiaomi はコードネーム「Suzaku」というボタンのない携帯電話を開発中です。このニュースによると、コードネームZhuqueというこの携帯電話は、統合コンセプトで設計され、画面下カメラを使用し、Qualcomm Snapdragon 8gen4プロセッサを搭載する予定で、計画が変更されなければ、2025年に登場する可能性が高いとのことです。 。このニュースを見たとき、2019 年に戻ったような気がしました。当時、Xiaomi は Mi MIX Alpha コンセプトフォンをリリースしました。サラウンドスクリーンのボタンのないデザインは非常に素晴らしかったです。ボタンのない携帯電話の魅力を初めて知りました。 「魔法のガラス」が欲しいなら、まずボタンを殺さなければならない、ジョブズはかつて「スティーブ・ジョブズの伝記」の中で、携帯電話が「魔法のガラス」のようなものになりたいと述べた。

8月19日のニュースによると、NubiaはZ50 Ultraのリリース以来、真のフルスクリーンデザインにこだわり、高ピクセルスクリーン下でのプロアクティブな写真撮影の分野を継続的に模索し続けている。本日、デジタルブロガーの Wisdom Pikachu が、今年後半にリリースされる Nubia Z70 Ultra が、業界最高解像度の UDC ソリューションである 1.5K アンダースクリーン カメラ テクノロジーを搭載してデビューするというニュースを発表しました。遠い。 ZTEのアンダースクリーンプロアクティブソリューションは第6世代に進化したと報告されています。最新の画面下プロアクティブ ソリューションは、Nubia Z60 Ultra および Red Magic 9S Pro シリーズで利用できます。画面解像度は 2480x1116 で、解像度は 1080P から 1.5K の間です。今回、Nubia は既存の解像度の限界を打ち破り、業界に新たなベンチマークを設定します。

7月31日のニュースによると、情報元の@ibinguniverse氏が16GBのメモリを搭載していることについてツイートした。 Samsung 携帯電話のメモリ容量のアップデート Samsung は、Galaxy S20 Ultra および Galaxy S21 Ultra 携帯電話に 16GB メモリを搭載することを開始しました。最新の主力携帯電話である Galaxy S24 Ultra を含む Galaxy S22 Ultra 以降、Samsung 携帯電話のメモリ容量は 12GB に制限されています。次期Samsung Galaxy S25およびGalaxy S25+は12GB LPDDを使用すると報告されています

8月8日のニュースによると、Huawei Mate70シリーズの携帯電話の詳細な構成情報が最近公開され、このシリーズの携帯電話は2024年の第4四半期に発売される予定です。 1. レポートによると、Mate70 シリーズ全体は、画面の鮮明さに対するユーザーの要件を満たすために、カスタマイズされたトップレベルの 1.5K 解像度画面を使用する予定です。 Huawei Mate70Proと特大カップバージョンには4番目の奥行きのスクリーンが装備されると予想されていますが、標準のMate70はわずかに小さいストレートスクリーンデザインを採用する可能性があります。画面のアップグレードに加えて、Huawei Mate70シリーズには、新しいベース素材を使用した超大容量バッテリーも搭載され、Huawei Mateシリーズ携帯電話のバッテリー寿命の画期的な進歩を予告します。ファーウェイは超音波指紋ロック解除技術を開発しているが、今年のMate70シリーズにはこの機能は搭載されない。これ
