在万物互联的物联网时代,物与物之间的连接主要是通过网络进行,网络之间既可以通过网线载体连接也可以通过4G、WIFY等进行无线连接,在无线远距离通讯中目前主要采用的就是4G技术。4G模块是连接物与物的重要载体,是终端设备接入互联网的核心部件,许多新兴市场对4G通信模块的需求都在日益扩大,4G通信模块把频率接收器和信号增幅器等部件全都整合在一起,实现了一体化。
4G模块用的是龙尚4G模块U9300C,该模块带有串口和USB口,所以向linux内核添加3G模块的驱动(USB转串口驱动)和PPP协议的支持,然后编译内核并下载到开发板。主要是包括两部分Linux驱动层的支持和模块启停脚本调试。
第一部分 应用层4G通讯
4G通讯主要是采用AT指令进行,AT 指令的格式如下
1) 每个 AT 指令行以 AT 字符开头(注:部分以“+”开头),以<CR>作为结束; 2) 每个指令行可以有多个指令组成,相互之间以“;”隔开; 3) 标准 AT 指令符合 GSM Rec. 07.07、 07.05、 3GPP TS 27.005、 27.007 和 ITU-T Rec. V25ter标准; 4) 每个扩展指令都提供了一个测试指令,以检测该指令是否存在及参数的类型或范围; 5) 带参数的指令一般都提供了一个读取指令以读取参数的当前值; 6) 设置指令用来设置参数及完成相应的功能。下图为 U9300C AT 指令指令行的结构:
AT CMD1 CMD2=12; +CMD1 ; +CMD2=,, 15; +CMD2?; +CMD2=? <CR> 1 2 3 4 5 6 7 8 9 1:指令前缀; 2:基本指令; 3:辅助参数; 4:扩展指令(前缀是“+”); 5:扩展指令分解; 6:辅助参数,可被忽略不写; 7:读指令,核对当前的辅助参数值; 8:测试指令,可获取参数的类型和范围; 9:指令终止符。第二部分 驱动层配置
主要是配置内核并向内核添加4G驱动模块 参考 https://www.cnblogs.com/aaronLinux/p/7159660.html