16 个解决方案
#1
跟联通或者移动商量拉一根专线,直接从网络传过来。
#2
不是这样,我好像在哪里看到过用AT指令就可以完成的
#3
信息内容是保存在sim卡上的,modem只有通过读区sim卡才能把信息读出来。除非你的计算机和联通或者移动的服务器连着。
#4
关注,我也记的在哪看过一条指令,不过我忘了
#5
但是如果短信息是存在手机上面的话,就不一样了。
至于AT指令:
AT+CMGR:读短信。信息从+CPMS命令设定的存储器读取。
至于AT指令:
AT+CMGR:读短信。信息从+CPMS命令设定的存储器读取。
#6
短信通常保存在SIM卡上,所以不经过SIM卡是不可能的。不过现在有些手机也支持把短信保存在手机上,这样你可以不经过SIM卡。但实际上这对你的应用有什么很大的区别吗?都要通过一定的接口把短信读出来。可能你的意思是在刚收到短信的时候就把它读出来,不要存到SIM卡上,不过我记得一般情况下底层协议栈是根据SIM卡的情况来决定是否收取下一条短信的,收到之后就保存在SIM上,然后通知上层应用。很久没看了,可能记错了。
#7
看过OldKitty(老猫) 的回复后,又看看楼主的问题,可能是这么个意思吧:
1.手机收到短信息
2.在处理的时候,不是存在手机/SIM卡中,而是通过某一种方式直接传输到PC端存储
3.在此过程中,不经过SIM卡存储再删除的过程
如果是这样的话,实现起来也不难吧,在正常处理的过程中,当启动存储短信息功能/发送特定的signal的时候,换成自己的处理就可以了,处理过程当然要经过检查串口、初始化连接、建立连接、传输信息、检查传输结果、返回的过程。
1.手机收到短信息
2.在处理的时候,不是存在手机/SIM卡中,而是通过某一种方式直接传输到PC端存储
3.在此过程中,不经过SIM卡存储再删除的过程
如果是这样的话,实现起来也不难吧,在正常处理的过程中,当启动存储短信息功能/发送特定的signal的时候,换成自己的处理就可以了,处理过程当然要经过检查串口、初始化连接、建立连接、传输信息、检查传输结果、返回的过程。
#8
当然,在PC端也要有相应的软件来接收短信息才可以成功返回。
#9
用命令AT+CNMI=...我也忘了具体是什么了,只知道这个at指令,你查一下用法,这个命令可以实现短信直接收发,而不通过sim卡。这样的话,短信息到来时,会收到+CMT:命令。
#10
AT COMMAND 你可以手机网站下载
// Try to connect to the Mobile Phone.
//
// Command : AT<CR>
//
// Valid response: <CR><LF>OK<CR><LF>
//
// Error response: <CR><LF>ERROR<CR><LF>
//
// <CR> ... Carriage return
// <LF> ... Line feed
//
////////////////////////////////////////////////////////////////////////////
//
// Request the manufacturer identification.
//
// Command : AT+CGMI<CR>
//
// Valid response: <CR><LF>manufacturer<CR><LF>
// <CR><LF>OK<CR><LF>
//
// manufacturer ... manufacturer identification
//
// Error response: <CR><LF>ERROR<CR><LF>
//
// <CR> ... Carriage return
// <LF> ... Line feed
//
///////////////////////////////////////////////////////////////////////////
//
// Request the model identification.
//
// Command : AT+CGMM<CR>
//
// Valid response: <CR><LF>model<CR><LF>
// <CR><LF>OK<CR><LF>
//
// model ... model identification
//
// Error response: <CR><LF>ERROR<CR><LF>
//
// <CR> ... Carriage return
// <LF> ... Line feed
//
///////////////////////////////////////////////////////////////////////////
//
// Select the phonebook memory storage where phonebook commands operate.
//
// Command : AT+CPBS=storage<CR>
//
// storage ... memory where phonebook commands operate
//
// "FD" ... SIM fixdialling-phonebook
// "LD" ... SIM last-dialling-phonebook
// "ME" ... ME phonebook
// "MT" ... combined ME and SIM phonebook
// "SM" ... SIM phonebook
// "TA" ... TA phonebook
//
// Valid response: <CR><LF>OK<CR><LF>
//
// Error response: <CR><LF>ERROR<CR><LF>
//
// <CR> ... Carriage return
// <LF> ... Line feed
//
///////////////////////////////////////////////////////////////////////////
//
// Read the size of the selected phonebook memory.
//
// Command : AT+CPBR=?<CR>
//
// Valid response: <CR><LF>+CPBR: (index-list),nlength,tlength<CR><LF>
// <CR><LF>OK<CR><LF>
//
// index ..... integer type values in the range of
// location numbers of phonebook memory
// list ...... integer type value indicating the size of
// the selected phonebook memory
// nlength ... integer type value indicating the maximum
// length of the number field
// tlength ... integer type value indicating the maximum
// length of name field
//
// Error response: <CR><LF>ERROR<CR><LF>
//
// <CR> ... Carriage return
// <LF> ... Line feed
//
///////////////////////////////////////////////////////////////////////////
//
// Read all phonebook entries.
//
// Command : AT+CPBR=index<CR>
//
// index ... integer type values in the range of
// location numbers of phonebook memory
//
// Valid response: <CR><LF>+CPBR: index, "number", type, "name"<CR><LF>
// <CR><LF>OK<CR><LF>
//
// index .... integer type values in the range of
// location numbers of phonebook memory
// number ... string type phone number of format type
// type ..... type of address octet in integer format
// name ..... the name of the phonebook entry
//
// Response for
// an empty entry: <CR><LF>OK<CR><LF>
//
// Error response: <CR><LF>ERROR<CR><LF>
//
// <CR> ... Carriage return
// <LF> ... Line feed
//
///////////////////////////////////////////////////////////////////////////
//
// Close the IRDA port.
//
port.Close();
}
// Try to connect to the Mobile Phone.
//
// Command : AT<CR>
//
// Valid response: <CR><LF>OK<CR><LF>
//
// Error response: <CR><LF>ERROR<CR><LF>
//
// <CR> ... Carriage return
// <LF> ... Line feed
//
////////////////////////////////////////////////////////////////////////////
//
// Request the manufacturer identification.
//
// Command : AT+CGMI<CR>
//
// Valid response: <CR><LF>manufacturer<CR><LF>
// <CR><LF>OK<CR><LF>
//
// manufacturer ... manufacturer identification
//
// Error response: <CR><LF>ERROR<CR><LF>
//
// <CR> ... Carriage return
// <LF> ... Line feed
//
///////////////////////////////////////////////////////////////////////////
//
// Request the model identification.
//
// Command : AT+CGMM<CR>
//
// Valid response: <CR><LF>model<CR><LF>
// <CR><LF>OK<CR><LF>
//
// model ... model identification
//
// Error response: <CR><LF>ERROR<CR><LF>
//
// <CR> ... Carriage return
// <LF> ... Line feed
//
///////////////////////////////////////////////////////////////////////////
//
// Select the phonebook memory storage where phonebook commands operate.
//
// Command : AT+CPBS=storage<CR>
//
// storage ... memory where phonebook commands operate
//
// "FD" ... SIM fixdialling-phonebook
// "LD" ... SIM last-dialling-phonebook
// "ME" ... ME phonebook
// "MT" ... combined ME and SIM phonebook
// "SM" ... SIM phonebook
// "TA" ... TA phonebook
//
// Valid response: <CR><LF>OK<CR><LF>
//
// Error response: <CR><LF>ERROR<CR><LF>
//
// <CR> ... Carriage return
// <LF> ... Line feed
//
///////////////////////////////////////////////////////////////////////////
//
// Read the size of the selected phonebook memory.
//
// Command : AT+CPBR=?<CR>
//
// Valid response: <CR><LF>+CPBR: (index-list),nlength,tlength<CR><LF>
// <CR><LF>OK<CR><LF>
//
// index ..... integer type values in the range of
// location numbers of phonebook memory
// list ...... integer type value indicating the size of
// the selected phonebook memory
// nlength ... integer type value indicating the maximum
// length of the number field
// tlength ... integer type value indicating the maximum
// length of name field
//
// Error response: <CR><LF>ERROR<CR><LF>
//
// <CR> ... Carriage return
// <LF> ... Line feed
//
///////////////////////////////////////////////////////////////////////////
//
// Read all phonebook entries.
//
// Command : AT+CPBR=index<CR>
//
// index ... integer type values in the range of
// location numbers of phonebook memory
//
// Valid response: <CR><LF>+CPBR: index, "number", type, "name"<CR><LF>
// <CR><LF>OK<CR><LF>
//
// index .... integer type values in the range of
// location numbers of phonebook memory
// number ... string type phone number of format type
// type ..... type of address octet in integer format
// name ..... the name of the phonebook entry
//
// Response for
// an empty entry: <CR><LF>OK<CR><LF>
//
// Error response: <CR><LF>ERROR<CR><LF>
//
// <CR> ... Carriage return
// <LF> ... Line feed
//
///////////////////////////////////////////////////////////////////////////
//
// Close the IRDA port.
//
port.Close();
}
#11
请楼主发言,我们的理解对不对?是不是可以结贴了?
#12
XH001有EMAIL地址吗,我没有看明白你的意思
#13
用命令AT+CNMI不就可以了吗,我做过的,可以用的,但是这个命令忘了。只知道设置后如果有信息来到,收到的信息如下:
+CMT:……
省略号表示的是pdu信息或者Text信息(这取决于你用那种方式了,即at+cmgf),把这些信息分解一下就分离出来短消息内容了。
+CMT:……
省略号表示的是pdu信息或者Text信息(这取决于你用那种方式了,即at+cmgf),把这些信息分解一下就分离出来短消息内容了。
#14
可能楼主的意思只是在短消息到来的时候就能够知道,然后就可以读取并处理,那么用+CNMI确实就可以了,读一下0705吧
#15
楼主,还是在这儿聊吧,有xysome(胜) 和OldKitty(老猫) 等人的参与,理解会更好。如果,你很想给我联系的话,msn:xh0001cn@hotmail.com
#16
看短消息是CLASS0/1/2/3咯,然后看看你所采用的protocol stack是怎么样支持的,具体看看GSM 03.38,03.40,07.05,07.07,就差不多了。其实,读不读SIM CARD我觉得问题都不是很紧要吧。实现起来并不是很困难的。
#1
跟联通或者移动商量拉一根专线,直接从网络传过来。
#2
不是这样,我好像在哪里看到过用AT指令就可以完成的
#3
信息内容是保存在sim卡上的,modem只有通过读区sim卡才能把信息读出来。除非你的计算机和联通或者移动的服务器连着。
#4
关注,我也记的在哪看过一条指令,不过我忘了
#5
但是如果短信息是存在手机上面的话,就不一样了。
至于AT指令:
AT+CMGR:读短信。信息从+CPMS命令设定的存储器读取。
至于AT指令:
AT+CMGR:读短信。信息从+CPMS命令设定的存储器读取。
#6
短信通常保存在SIM卡上,所以不经过SIM卡是不可能的。不过现在有些手机也支持把短信保存在手机上,这样你可以不经过SIM卡。但实际上这对你的应用有什么很大的区别吗?都要通过一定的接口把短信读出来。可能你的意思是在刚收到短信的时候就把它读出来,不要存到SIM卡上,不过我记得一般情况下底层协议栈是根据SIM卡的情况来决定是否收取下一条短信的,收到之后就保存在SIM上,然后通知上层应用。很久没看了,可能记错了。
#7
看过OldKitty(老猫) 的回复后,又看看楼主的问题,可能是这么个意思吧:
1.手机收到短信息
2.在处理的时候,不是存在手机/SIM卡中,而是通过某一种方式直接传输到PC端存储
3.在此过程中,不经过SIM卡存储再删除的过程
如果是这样的话,实现起来也不难吧,在正常处理的过程中,当启动存储短信息功能/发送特定的signal的时候,换成自己的处理就可以了,处理过程当然要经过检查串口、初始化连接、建立连接、传输信息、检查传输结果、返回的过程。
1.手机收到短信息
2.在处理的时候,不是存在手机/SIM卡中,而是通过某一种方式直接传输到PC端存储
3.在此过程中,不经过SIM卡存储再删除的过程
如果是这样的话,实现起来也不难吧,在正常处理的过程中,当启动存储短信息功能/发送特定的signal的时候,换成自己的处理就可以了,处理过程当然要经过检查串口、初始化连接、建立连接、传输信息、检查传输结果、返回的过程。
#8
当然,在PC端也要有相应的软件来接收短信息才可以成功返回。
#9
用命令AT+CNMI=...我也忘了具体是什么了,只知道这个at指令,你查一下用法,这个命令可以实现短信直接收发,而不通过sim卡。这样的话,短信息到来时,会收到+CMT:命令。
#10
AT COMMAND 你可以手机网站下载
// Try to connect to the Mobile Phone.
//
// Command : AT<CR>
//
// Valid response: <CR><LF>OK<CR><LF>
//
// Error response: <CR><LF>ERROR<CR><LF>
//
// <CR> ... Carriage return
// <LF> ... Line feed
//
////////////////////////////////////////////////////////////////////////////
//
// Request the manufacturer identification.
//
// Command : AT+CGMI<CR>
//
// Valid response: <CR><LF>manufacturer<CR><LF>
// <CR><LF>OK<CR><LF>
//
// manufacturer ... manufacturer identification
//
// Error response: <CR><LF>ERROR<CR><LF>
//
// <CR> ... Carriage return
// <LF> ... Line feed
//
///////////////////////////////////////////////////////////////////////////
//
// Request the model identification.
//
// Command : AT+CGMM<CR>
//
// Valid response: <CR><LF>model<CR><LF>
// <CR><LF>OK<CR><LF>
//
// model ... model identification
//
// Error response: <CR><LF>ERROR<CR><LF>
//
// <CR> ... Carriage return
// <LF> ... Line feed
//
///////////////////////////////////////////////////////////////////////////
//
// Select the phonebook memory storage where phonebook commands operate.
//
// Command : AT+CPBS=storage<CR>
//
// storage ... memory where phonebook commands operate
//
// "FD" ... SIM fixdialling-phonebook
// "LD" ... SIM last-dialling-phonebook
// "ME" ... ME phonebook
// "MT" ... combined ME and SIM phonebook
// "SM" ... SIM phonebook
// "TA" ... TA phonebook
//
// Valid response: <CR><LF>OK<CR><LF>
//
// Error response: <CR><LF>ERROR<CR><LF>
//
// <CR> ... Carriage return
// <LF> ... Line feed
//
///////////////////////////////////////////////////////////////////////////
//
// Read the size of the selected phonebook memory.
//
// Command : AT+CPBR=?<CR>
//
// Valid response: <CR><LF>+CPBR: (index-list),nlength,tlength<CR><LF>
// <CR><LF>OK<CR><LF>
//
// index ..... integer type values in the range of
// location numbers of phonebook memory
// list ...... integer type value indicating the size of
// the selected phonebook memory
// nlength ... integer type value indicating the maximum
// length of the number field
// tlength ... integer type value indicating the maximum
// length of name field
//
// Error response: <CR><LF>ERROR<CR><LF>
//
// <CR> ... Carriage return
// <LF> ... Line feed
//
///////////////////////////////////////////////////////////////////////////
//
// Read all phonebook entries.
//
// Command : AT+CPBR=index<CR>
//
// index ... integer type values in the range of
// location numbers of phonebook memory
//
// Valid response: <CR><LF>+CPBR: index, "number", type, "name"<CR><LF>
// <CR><LF>OK<CR><LF>
//
// index .... integer type values in the range of
// location numbers of phonebook memory
// number ... string type phone number of format type
// type ..... type of address octet in integer format
// name ..... the name of the phonebook entry
//
// Response for
// an empty entry: <CR><LF>OK<CR><LF>
//
// Error response: <CR><LF>ERROR<CR><LF>
//
// <CR> ... Carriage return
// <LF> ... Line feed
//
///////////////////////////////////////////////////////////////////////////
//
// Close the IRDA port.
//
port.Close();
}
// Try to connect to the Mobile Phone.
//
// Command : AT<CR>
//
// Valid response: <CR><LF>OK<CR><LF>
//
// Error response: <CR><LF>ERROR<CR><LF>
//
// <CR> ... Carriage return
// <LF> ... Line feed
//
////////////////////////////////////////////////////////////////////////////
//
// Request the manufacturer identification.
//
// Command : AT+CGMI<CR>
//
// Valid response: <CR><LF>manufacturer<CR><LF>
// <CR><LF>OK<CR><LF>
//
// manufacturer ... manufacturer identification
//
// Error response: <CR><LF>ERROR<CR><LF>
//
// <CR> ... Carriage return
// <LF> ... Line feed
//
///////////////////////////////////////////////////////////////////////////
//
// Request the model identification.
//
// Command : AT+CGMM<CR>
//
// Valid response: <CR><LF>model<CR><LF>
// <CR><LF>OK<CR><LF>
//
// model ... model identification
//
// Error response: <CR><LF>ERROR<CR><LF>
//
// <CR> ... Carriage return
// <LF> ... Line feed
//
///////////////////////////////////////////////////////////////////////////
//
// Select the phonebook memory storage where phonebook commands operate.
//
// Command : AT+CPBS=storage<CR>
//
// storage ... memory where phonebook commands operate
//
// "FD" ... SIM fixdialling-phonebook
// "LD" ... SIM last-dialling-phonebook
// "ME" ... ME phonebook
// "MT" ... combined ME and SIM phonebook
// "SM" ... SIM phonebook
// "TA" ... TA phonebook
//
// Valid response: <CR><LF>OK<CR><LF>
//
// Error response: <CR><LF>ERROR<CR><LF>
//
// <CR> ... Carriage return
// <LF> ... Line feed
//
///////////////////////////////////////////////////////////////////////////
//
// Read the size of the selected phonebook memory.
//
// Command : AT+CPBR=?<CR>
//
// Valid response: <CR><LF>+CPBR: (index-list),nlength,tlength<CR><LF>
// <CR><LF>OK<CR><LF>
//
// index ..... integer type values in the range of
// location numbers of phonebook memory
// list ...... integer type value indicating the size of
// the selected phonebook memory
// nlength ... integer type value indicating the maximum
// length of the number field
// tlength ... integer type value indicating the maximum
// length of name field
//
// Error response: <CR><LF>ERROR<CR><LF>
//
// <CR> ... Carriage return
// <LF> ... Line feed
//
///////////////////////////////////////////////////////////////////////////
//
// Read all phonebook entries.
//
// Command : AT+CPBR=index<CR>
//
// index ... integer type values in the range of
// location numbers of phonebook memory
//
// Valid response: <CR><LF>+CPBR: index, "number", type, "name"<CR><LF>
// <CR><LF>OK<CR><LF>
//
// index .... integer type values in the range of
// location numbers of phonebook memory
// number ... string type phone number of format type
// type ..... type of address octet in integer format
// name ..... the name of the phonebook entry
//
// Response for
// an empty entry: <CR><LF>OK<CR><LF>
//
// Error response: <CR><LF>ERROR<CR><LF>
//
// <CR> ... Carriage return
// <LF> ... Line feed
//
///////////////////////////////////////////////////////////////////////////
//
// Close the IRDA port.
//
port.Close();
}
#11
请楼主发言,我们的理解对不对?是不是可以结贴了?
#12
XH001有EMAIL地址吗,我没有看明白你的意思
#13
用命令AT+CNMI不就可以了吗,我做过的,可以用的,但是这个命令忘了。只知道设置后如果有信息来到,收到的信息如下:
+CMT:……
省略号表示的是pdu信息或者Text信息(这取决于你用那种方式了,即at+cmgf),把这些信息分解一下就分离出来短消息内容了。
+CMT:……
省略号表示的是pdu信息或者Text信息(这取决于你用那种方式了,即at+cmgf),把这些信息分解一下就分离出来短消息内容了。
#14
可能楼主的意思只是在短消息到来的时候就能够知道,然后就可以读取并处理,那么用+CNMI确实就可以了,读一下0705吧
#15
楼主,还是在这儿聊吧,有xysome(胜) 和OldKitty(老猫) 等人的参与,理解会更好。如果,你很想给我联系的话,msn:xh0001cn@hotmail.com
#16
看短消息是CLASS0/1/2/3咯,然后看看你所采用的protocol stack是怎么样支持的,具体看看GSM 03.38,03.40,07.05,07.07,就差不多了。其实,读不读SIM CARD我觉得问题都不是很紧要吧。实现起来并不是很困难的。