1、M26 模块使用方法及编程策略初始化模块:MCU:ATE0rn (关闭命令回显)M26: OKrnMCU: AT+CPIN? rn (查询 SIM 卡状态:SIM 卡损坏或者无 SIM 卡)M26:+CPIN: READYrn (非 Ready 可认为 SIM 卡异常)MCU:AT+CREG?rn (确定找网成功)M26: +CREG: 0,1rn (表明成功,逗号之后的数字:1 表示已注册本地网,5 表示漫游,否则异常)MCU: AT+CGATT?rn (查询 GPRS 附着是否成功)M26: +CGATT: 1rn (1:成功;0:失败)MCU: AT+QIFGCNT=0rn (将 Con
2、text0 设为前台)M26: OKrnMCU: AT+QINDI=1rn (接收数据缓存模式)M26: OKrnMCU: AT+QISDE=0rn (发送时,关闭数据回显)M26: OKrnMCU: AT+QIDNSIP=0rn (0:使用 IP 地址连接;1:使用域名连接)M26: OKrn建立 TCP 连接:MCU:AT+QISTATErn (查询连接状态)M26:(回应有以下可能)1. CONNECT OKrn (连接已建立,应先关闭连接)MCU:AT+QICLOSErn (关闭连接)M26:CLOSE OKrn (关闭成功)2. PDP DEACTrn (GPRS 场景异常,应重启模
3、块)3. IP INITIALrn (或者)IP CLOSErn (连接已准备好了, 可建立连接)MCU: AT+QIOPEN=“TCP“,“120.24.76.130“,6800rn (建立连接到 120.24.76.130:6800 的 TCP 连接)M26: OKrn (语法无误则返回 OK,否则返回 ERROR) MCU: (等待连接结果返回,结果有以下可能)1. CONNECT OKrn (连接成功)2. CONNECT FAILrn (连接失败)发送数据到 M26:MCU:AT+QISEND=10rn (10:要发送给 M26 的字节数。 M26 内存为 1460 字节)M26:
4、(或者)ERROR (M26 会根据当前内部缓存大小判断,足够 5 个则回应:;不够则返回“ERROR” ) 。MCU:1234567890 (数据内容)M26:SEND OKrn(或者)SEND FAILrn (FAIL 出现说明网络错误?)(总结:数据可以分批发送,不足数量,则 M26 一直等待(无返回) ;超出则丢弃多余,并返回 SEND OKrn)M26: +QIRDI: 0,1,0rn (数据到达通知; 多条数据也只通知一次,除非到达前已经被读空)从 M26 中读数据:MCU: AT+QIRD=0,1,0,6rn (6:要求读取 6 个字节)M26: +QIRD: 120.24.76
5、.130:6800,TCP,6rn123456 rnOKrn(123456:数据)MCU: AT+QIRD=0,1,0,6rn (6:要求读取 6 个字节)M26: +QIRD: 120.24.76.130:6800,TCP,4rn7890 rnOKrn (7890:被读取数据)MCU: AT+QIRD=0,1,0,6rn (6:读取 6 个字节)M26: rn OKrn (没有数据被读出)(总结:1)总会返回 OK:有数据被读出则携带读出数量; 空则直接 OK;2)可以固定大小,如果返回小于,表明已经读空; 如果相等,则只能再读,直到出现小于情况或直接返回 OK 情况;3)在命令回显关闭条件
6、下:模块回应为连续字节输出;否则,在命令回显后有一个 500us 左右不等时长之间隔;)FTP 下载:MCU: AT+QIFGCNT=0rn (设置 Contex 0 为前台)M26: OKrnMCU: AT+QFTPUSER=“vigi“rn (设置 FTP 用户,这里是“vigi“)M26: OKrnMCU: AT+QFTPPASS=“vigi“rn (设置 FTP 密码)M26: OKrnMCU: AT+QFTPOPEN=“120.24.76.130“,21rn (建立 FTP 连接)M26: OKrnM26: +QFTPOPEN:0rn (0 为成功,非 0 为异常)MCU: AT+Q
7、FTPCFG=4,“/RAM/dwl.txt“rn (设置本地存放路径)M26: OKrnM26: +QFTPCFG:0rn (0 为成功,非 0 为异常)MCU: AT+QFTPPATH=“/home/vigi/share/TcpSvr/“rn (设置服务端目录)M26: OKrnM26: +QFTPPATH:0rn (0 为成功,非 0 为异常)MCU: AT+QFTPGET=“db.c“rn (下载文件 db.c 保存到指定的路径)M26: OKrnM26: +QFTPGET:1146rn (小于 0 为异常,否则为下载文件大小)MCU: AT+QFOPEN=“RAM:dwl.txt“,
8、2rn (只读模式打开文件)M26: +QFOPEN: 134072rn (返回文件句柄 134072)OKrnMCU: AT+QFREAD=134072,1024rn (读句柄为 134072 的文件 1024 字节)M26: CONNECT 1024rn (返回实际读取字节数). (返回数据,此处为了编写文档的便利,省略数据内容)OKrnMCU: AT+QFREAD=134072,1024rn (继续读句柄为 134072 的文件 1024 字节)M26: CONNECT 122rn (如果实际读取的字节数小于要读的字节数,则表明是最后一个数据包 ). (返回数据,此处为了编写文档的便利,省略数据内容)OKrnMCU: AT+QFCLOSE=134072rn (关闭句柄为 134072 的文件)M26: OKrn