SIM7600CE TCP/IP连接与PPP拨号上网 4G上网
SIM7600CE联网测试分为两部分:
1、TCP/IP连接
2、PPP拨号上网
实验环境:ubuntu-meta 16.04
硬件:树莓派3B,SIM7600CE
上网卡:移动的NB-IOT物联网卡
微雪官方教程:http://www.waveshare.net/wiki/SIM7600CE_4G_HAT
把模块插入到树莓派,并USB接口连到树莓派USB口上,开机,如下图所示:
硬件连接
SIM7600X 4G HAT板载树莓派GPIO接口,可直接插入各版本树莓派使用;下表为树莓派管脚与模块引脚连接情况(树莓派三代B 和 树莓派三代B+):
SIM7600X 4G HAT | Raspberry Pi |
---|---|
5V | 5V |
GND | GND |
RXD | TXD (对应BCM的14) |
TXD | RXD (对应BCM的15) |
PWR | P22 (对应BCM的P6) |
FLIGHTMODE | P7 (对应BCM的P4),当拉高时进入飞行模式 |
树莓派初始化设置
使用SIM7600CE模块之前,需要对树莓派初始化设置
- 下载示例程序,解压后,把Raspberry目录下的 c 改名为SIM7600X,然后整个文件夹复制到/home/pi/ 路径下,
- 命令行进入到/home/pi/目录下,执行指令
cd /home/pi/SmartIoTControlSystem/SIM7600X/c
chmod sim7600_4G_hat_init
- 设置开机初始化脚本,运行命令:
sudo nano /etc/rc.local
- 在exit 0前面加入 (如下图所示):
sh /home/pi/SmartIoTControlSystem/SIM7600X/c/sim7600_4G_hat_init
树莓派串口配置
由于树莓派串口默认用于终端调试,如需使用串口,则需要修改树莓派设置。执行如下命令进入树莓派配置:
sudo raspi-config
选择Interfacing Options ->Serial ->no -> yes,关闭串口调试功能。
打开/boot/config.txt文件,找到如下配置语句使能串口,如果没有,可添加在文件最后面:
sudo nano /boot/config.txt
重启生效。
树莓派minicom串口调试
1、将模块插入树莓派中
2、安装minicom,minicom是linux平台串口调试工具:
sudo apt-get install minicom
3、执行minicom -D /dev/ttyS0(ttyS0为树莓派3B/3B+的串口)。
默认波特率为115200
树莓派2B/zero,用户串口设备号为ttyAMA0,树莓派3B/3B+串口设备号为ttyS0。
4、以AT同步测试为例,发送相关指令,如下图所示:
sudo minicom -D /dev/ttyS0
到此,SIM7600的初始化完成!
1. TCP/IP连接测试
C语言版:
1、将模块插入树莓派中;
2、下载示例程序,把整个SIM7600X文件夹复制到/home/pi/SmartIoTControlSystem 路径下;
3、进入到bcm2835目录,编译安装BCM2835库:
cd /home/pi/SmartIoTControlSystem/SIM7600X/c/bcm2835
chmod +x configure && ./configure && sudo make && sudo make install
说明:如果编译出现问题,请参考FAQ的说明操作。
4、分别进到对应实例目录下,编译和运行程序,相关指令说明如下(以TCP程序为例):
sudo make clean //清除原来的执行文件
sudo make //重新编译
sudo ./TCP //运行程序
上述命令组合使用:
sudo make clean && sudo make && sudo ./TCP
微雪官网给的python例子需要python3环境,而现在的环境为python2,不再测试。
2. ppp拨号软件安装与配置
安装ppp
sudo apt-get install ppp
新建一个script脚本
sudo su
cd /etc/ppp/peers
cp provider gprs
修改gprs配置文件
nano gprs
修改内容如下:
# example configuration for a dialup connection authenticated with PAP or CHAP
#
# This is the default configuration used by pon() and poff().
# See the manual page pppd() for information on all the options. # MUST CHANGE: replace myusername@realm with the PPP login name given to
# your by your provider.
# There should be a matching entry with the password in /etc/ppp/pap-secrets
# and/or /etc/ppp/chap-secrets.
user "myusername@realm" # MUST CHANGE: replace ******** with the phone number of your provider.
# The /etc/chatscripts/pap chat script may be modified to change the
# modem initialization string.
connect "/usr/sbin/chat -v -f /etc/chatscripts/gprs" # Serial device to which the modem is connected.
/dev/ttyUSB2 #由于我们使用SIM7600CE的4G模块,并且该模块的驱动已经默认添加到raspbian的内核的,ttyUSB2为ppp的拨号端口 # Speed of the serial line.
nocrtscts #增加
debug #增加
nodetach #增加
ipcp-accept-local #增加
ipcp-accept-remote #增加 # Assumes that your IP address is allocated dynamically by the ISP.
noipdefault
# Try to get the name server addresses from the ISP.
usepeerdns
# Use this connection as the default route.
defaultroute # Makes pppd "dial again" when the connection is lost.
persist
# Do not ask the remote to authenticate.
noauth
查看SIM7600CE的串口
ls /dev/ttyUSB*
使用minicom串口调试工具简单测试(如果未安装使用 sudo apt-get install minicom 进行安装)
连接 /dev/ttyUSB2 串口调试
minicom -D /dev/ttyUSB2
调试过程如下:
AT
OK
AT+CSQ
+CSQ: , OK
AT+CPIN?
+CPIN: READY OK
AT+COPS?
+COPS: ,,"CHINA MOBILE CMCC", OK
AT+CREG?
+CREG: , OK
AT+CPSI?
+CPSI: LTE,Online,-,0x69B1,,,EUTRAN-BAND40,,,,-,-, OK
AT+CEREG?
+CEREG: , OK
调试完成退出。
查看网卡信息
ifconfig
开始拨号
pppd call gprs
拨号成功!
再次查看网卡信息:
可以看到多出ppp0网卡,即成功拨号,并获得一个临时IP。
使用 指定网卡进行ping操作 测试ppp0网卡是否可以连通外网
eth0网卡测试:
ping -I 192.168.1.179 www.baidu.com
成功!
ppp0网卡测试:
ping -I 100.104.6.86 www.baidu.com
无法ping通!
因为初次,拨号上网后,DNS无法解析,上不了网,可以加上指令:
route add -net 0.0.0.0 ppp0
成功!
SIM7600CE TCP/IP连接与PPP拨号上网 4G上网的更多相关文章
- 通过端口 8080 连接到主机 localhost 的 TCP/IP 连接失败
错误:“connect timed out.请验证连接属性,并检查 SQL Server 的实例正在主机上运行,且在此端口接受 TCP/IP 连接,还要确保防火墙没有阻止到此端口的 TCP 连接.”这 ...
- com.microsoft.sqlserver.jdbc.SQLServerException: 到主机 的 TCP/IP 连接失败。 java.net.ConnectException: Connection refused: connect
问题描述:最简单的数据库连接报错,到主机 的 TCP/IP 连接失败.(win 7 操作系统) 错误信息: com.microsoft.sqlserver.jdbc.SQLServerExcep ...
- 【转】Java JDBC连接SQL Server2005错误:通过端口 1433 连接到主机 localhost 的 TCP/IP 连接失败
错误原因如下: Exception in thread "main" org.hibernate.exception.JDBCConnectionException: Cannot ...
- Java JDBC连接SQL Server2005错误:通过port 1433 连接到主机 localhost 的 TCP/IP 连接失败
错误原因例如以下: Exception in thread "main" org.hibernate.exception.JDBCConnectionException: Cann ...
- [转]linux下iftop工具的安装与使用详解(图文)——实时的网络流量,监控TCP/IP连接(单机)
原文链接:http://www.jbxue.com/LINUXjishu/10735.html 在linux中监控系统资源.进程.内存占用等信息,可以使用top命令.查看网络状态可以使用netstat ...
- Java JDBC连接SQL Server2005错误:通过端口 1433 连接到主机 localhost 的 TCP/IP 连接失败 及sql2008外围服务器
转载:Java JDBC连接SQL Server2005错误:通过端口 1433 连接到主机 localhost 的 TCP/IP 连接失败 错误原因如下: Exception in thread & ...
- JDBC:SqlServer连接TCP/IP连接失败,到主机 的 TCP/IP 连接失败。报错信息:com.microsoft.sqlserver.jdbc.SQLServerException: 到主机 的 TCP/IP 连接失败。
作者QQ:1161493927,欢迎互相交流学习. 报错信息:com.microsoft.sqlserver.jdbc.SQLServerException: 到主机 的 TCP/IP 连接失败. j ...
- SQLServerException:通过端口 1433 连接到主机 localhost 的 TCP/IP 连接失败。
一.问题描述: 1.连接数据库时抛出的异常: com.microsoft.sqlserver.jdbc.SQLServerException: 通过端口 1433 连接到主机 localhost 的 ...
- 第5章 Cisco测试命令和TCP/IP连接故障处理
第5章 Cisco测试命令和TCP/IP连接故障处理 一.故障处理命令 1.show命令: 1) 全局命令: show version :显示系统硬件和软件版本.DRAM.Flash show sta ...
随机推荐
- 题解【AcWing178】第K短路
题面 经典的 \(\text{A*}\) 算法例题. 我们可以把估价函数 \(f(i)\) 设置成当前点 \(i\) 到终点 \(t\) 的最短距离,这可以建反图使用 \(\text{Dijkstra ...
- 【转】常见的hash算法及其原理
Hash,一般翻译做“散列”,也有直接音译为“哈希”的,就是把任意长度的输入(又叫做预映射, pre-image),通过散列算法,变换成固定长度的输出,该输出就是散列值.这种转换是一种压缩映射,也就是 ...
- C++-随机数的产生
一.随机数 以前学C语言的时候感觉随机数没啥用的,现在想想是自己无知啦,在帮人做一个项目的时候发现随机数还是相当有用的,我们可以利用随机数来生成大量的测试数据. 有两种方法可以让你的程序每次运行结果不 ...
- Android基础知识 -- Fragment
Fragment是android3.0后提供的API(所以android:minSdkVersion="11"以上版本),主要针对平板UI.有自己的生命周期,但是必须依附在Acti ...
- js -- 操作sqlite数据库
最近看到一个使用js来操作sqlite数据库的,测试了一下,具体使用的是 js操作类: https://github.com/kripken/sql.js/(sqlite js 驱动) 异步请求:ht ...
- yii2模型
多对多可以使用all()来调用 对数据提供者进行修改 /** * Lists all ArticleCate models. * @return mixed */ public function ac ...
- cc.Sprite 与 ccui.ImageView 改变图片
sprite.setTexture(fileName); imageView.loadTexture(fileName);
- STM32F103之ADC学习记录
1.问题 1)10位ADC的误差是多少? 首先要分清分辨率与精度的区别. 10cm的尺子,有100个等分刻度,则该尺子的分辨率为1mm. 但不能说这把尺子的精度是1mm. 在冬天,尺子会热胀冷缩,依然 ...
- pikaqiu练习平台(XSS(跨站脚本))
XSS(跨站脚本)概述 Cross-Site Scripting 简称为“CSS”,为避免与前端叠成样式表的缩写"CSS"冲突,故又称XSS.一般XSS可以分为如下几种常见类型: ...
- 2.17NOIP模拟赛(by hzwer) T1 小奇挖矿
[题目背景] 小奇要开采一些矿物,它驾驶着一台带有钻头(初始能力值 w)的飞船,按既定 路线依次飞过喵星系的 n 个星球. [问题描述] 星球分为 2 类:资源型和维修型. 1. 资源型:含矿物质量 ...