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/目录下,执行指令
    1. cd /home/pi/SmartIoTControlSystem/SIM7600X/c
      chmod sim7600_4G_hat_init
  • 设置开机初始化脚本,运行命令:

    1. sudo nano /etc/rc.local
  • 在exit 0前面加入 (如下图所示):

    1. sh /home/pi/SmartIoTControlSystem/SIM7600X/c/sim7600_4G_hat_init

树莓派串口配置

由于树莓派串口默认用于终端调试,如需使用串口,则需要修改树莓派设置。执行如下命令进入树莓派配置:

  1. sudo raspi-config

选择Interfacing Options ->Serial ->no -> yes,关闭串口调试功能。

打开/boot/config.txt文件,找到如下配置语句使能串口,如果没有,可添加在文件最后面:

  1. sudo nano /boot/config.txt

重启生效。

树莓派minicom串口调试

1、将模块插入树莓派中
2、安装minicom,minicom是linux平台串口调试工具:

  1. sudo apt-get install minicom

3、执行minicom -D /dev/ttyS0(ttyS0为树莓派3B/3B+的串口)。
默认波特率为115200
树莓派2B/zero,用户串口设备号为ttyAMA0,树莓派3B/3B+串口设备号为ttyS0。
4、以AT同步测试为例,发送相关指令,如下图所示:

  1. sudo minicom -D /dev/ttyS0

到此,SIM7600的初始化完成!

1. TCP/IP连接测试

 C语言版:

1、将模块插入树莓派中;

2、下载示例程序,把整个SIM7600X文件夹复制到/home/pi/SmartIoTControlSystem 路径下;

3、进入到bcm2835目录,编译安装BCM2835库:

  1. cd /home/pi/SmartIoTControlSystem/SIM7600X/c/bcm2835
    chmod +x configure && ./configure && sudo make && sudo make install

说明:如果编译出现问题,请参考FAQ的说明操作。
4、分别进到对应实例目录下,编译和运行程序,相关指令说明如下(以TCP程序为例):

  1. sudo make clean //清除原来的执行文件
  2. sudo make //重新编译
  3. sudo ./TCP //运行程序

上述命令组合使用:

  1. sudo make clean && sudo make && sudo ./TCP

微雪官网给的python例子需要python3环境,而现在的环境为python2,不再测试。

2. ppp拨号软件安装与配置

安装ppp

  1. sudo apt-get install ppp

新建一个script脚本

  1. sudo su
    cd /etc/ppp/peers
  2. cp provider gprs

修改gprs配置文件

  1. nano gprs

修改内容如下:

  1. # example configuration for a dialup connection authenticated with PAP or CHAP
  2. #
  3. # This is the default configuration used by pon() and poff().
  4. # See the manual page pppd() for information on all the options.
  5.  
  6. # MUST CHANGE: replace myusername@realm with the PPP login name given to
  7. # your by your provider.
  8. # There should be a matching entry with the password in /etc/ppp/pap-secrets
  9. # and/or /etc/ppp/chap-secrets.
  10. user "myusername@realm"
  11.  
  12. # MUST CHANGE: replace ******** with the phone number of your provider.
  13. # The /etc/chatscripts/pap chat script may be modified to change the
  14. # modem initialization string.
  15. connect "/usr/sbin/chat -v -f /etc/chatscripts/gprs"
  16.  
  17. # Serial device to which the modem is connected.
  18. /dev/ttyUSB2 #由于我们使用SIM7600CE的4G模块,并且该模块的驱动已经默认添加到raspbian的内核的,ttyUSB2为ppp的拨号端口
  19.  
  20. # Speed of the serial line.
  21. nocrtscts #增加
  22. debug #增加
  23. nodetach #增加
  24. ipcp-accept-local #增加
  25. ipcp-accept-remote #增加
  26.  
  27. # Assumes that your IP address is allocated dynamically by the ISP.
  28. noipdefault
  29. # Try to get the name server addresses from the ISP.
  30. usepeerdns
  31. # Use this connection as the default route.
  32. defaultroute
  33.  
  34. # Makes pppd "dial again" when the connection is lost.
  35. persist

 # Do not ask the remote to authenticate.
 noauth

查看SIM7600CE的串口

  1. ls /dev/ttyUSB*

使用minicom串口调试工具简单测试(如果未安装使用 sudo apt-get install minicom 进行安装)

连接 /dev/ttyUSB2 串口调试

  1. minicom -D /dev/ttyUSB2

调试过程如下:

  1. AT
  2. OK
  3. AT+CSQ
  4. +CSQ: ,
  5.  
  6. OK
  7. AT+CPIN?
  8. +CPIN: READY
  9.  
  10. OK
  11. AT+COPS?
  12. +COPS: ,,"CHINA MOBILE CMCC",
  13.  
  14. OK
  15. AT+CREG?
  16. +CREG: ,
  17.  
  18. OK
  19. AT+CPSI?
  20. +CPSI: LTE,Online,-,0x69B1,,,EUTRAN-BAND40,,,,-,-,
  21.  
  22. OK
  23. AT+CEREG?
  24. +CEREG: ,
  25.  
  26. OK

调试完成退出。

查看网卡信息

  1. ifconfig

开始拨号

  1. pppd call gprs

拨号成功!

再次查看网卡信息:

可以看到多出ppp0网卡,即成功拨号,并获得一个临时IP。

使用 指定网卡进行ping操作 测试ppp0网卡是否可以连通外网

eth0网卡测试:

  1. ping -I 192.168.1.179 www.baidu.com

成功!

ppp0网卡测试:

  1. ping -I 100.104.6.86 www.baidu.com

无法ping通!

因为初次,拨号上网后,DNS无法解析,上不了网,可以加上指令:

  1. route add -net 0.0.0.0 ppp0

成功!

SIM7600CE TCP/IP连接与PPP拨号上网 4G上网的更多相关文章

  1. 通过端口 8080 连接到主机 localhost 的 TCP/IP 连接失败

    错误:“connect timed out.请验证连接属性,并检查 SQL Server 的实例正在主机上运行,且在此端口接受 TCP/IP 连接,还要确保防火墙没有阻止到此端口的 TCP 连接.”这 ...

  2. com.microsoft.sqlserver.jdbc.SQLServerException: 到主机 的 TCP/IP 连接失败。 java.net.ConnectException: Connection refused: connect

      问题描述:最简单的数据库连接报错,到主机  的 TCP/IP 连接失败.(win 7 操作系统) 错误信息: com.microsoft.sqlserver.jdbc.SQLServerExcep ...

  3. 【转】Java JDBC连接SQL Server2005错误:通过端口 1433 连接到主机 localhost 的 TCP/IP 连接失败

    错误原因如下: Exception in thread "main" org.hibernate.exception.JDBCConnectionException: Cannot ...

  4. Java JDBC连接SQL Server2005错误:通过port 1433 连接到主机 localhost 的 TCP/IP 连接失败

    错误原因例如以下: Exception in thread "main" org.hibernate.exception.JDBCConnectionException: Cann ...

  5. [转]linux下iftop工具的安装与使用详解(图文)——实时的网络流量,监控TCP/IP连接(单机)

    原文链接:http://www.jbxue.com/LINUXjishu/10735.html 在linux中监控系统资源.进程.内存占用等信息,可以使用top命令.查看网络状态可以使用netstat ...

  6. Java JDBC连接SQL Server2005错误:通过端口 1433 连接到主机 localhost 的 TCP/IP 连接失败 及sql2008外围服务器

    转载:Java JDBC连接SQL Server2005错误:通过端口 1433 连接到主机 localhost 的 TCP/IP 连接失败 错误原因如下: Exception in thread & ...

  7. JDBC:SqlServer连接TCP/IP连接失败,到主机 的 TCP/IP 连接失败。报错信息:com.microsoft.sqlserver.jdbc.SQLServerException: 到主机 的 TCP/IP 连接失败。

    作者QQ:1161493927,欢迎互相交流学习. 报错信息:com.microsoft.sqlserver.jdbc.SQLServerException: 到主机 的 TCP/IP 连接失败. j ...

  8. SQLServerException:通过端口 1433 连接到主机 localhost 的 TCP/IP 连接失败。

    一.问题描述: 1.连接数据库时抛出的异常: com.microsoft.sqlserver.jdbc.SQLServerException: 通过端口 1433 连接到主机 localhost 的 ...

  9. 第5章 Cisco测试命令和TCP/IP连接故障处理

    第5章 Cisco测试命令和TCP/IP连接故障处理 一.故障处理命令 1.show命令: 1) 全局命令: show version :显示系统硬件和软件版本.DRAM.Flash show sta ...

随机推荐

  1. Spring解决bean之间的循环依赖

    转自链接:https://blog.csdn.net/lyc_liyanchao/article/details/83099675通过前几节的分析,已经成功将bean实例化,但是大家一定要将bean的 ...

  2. vue小例子-01

    1.在components下建一个 2.代码如下: <template> <!--1.业务是开始有一组数据,序号,姓名,性别,年龄,操作(删除)     2.有三个输入框输入姓名,性 ...

  3. 在CentOS上通过Docker方式安装Redis

    在CentOS上通过Docker方式安装Redis 首先保证已经安装docker. 拖拽redis镜像 docker pull redis 启动redis docker run -p 6379:637 ...

  4. 【JS】网站运行时间

    <span id="sitetime"></span> <script language=javascript> function siteTi ...

  5. [Codechef - ADITREE] Adi and the Tree - 树链剖分,线段树

    [Codechef - ADITREE] Adi and the Tree Description 树上每个节点有一个灯泡,开始所有灯泡都是熄灭的.每次操作给定两个数 \(a,b\) ,将 \(a,b ...

  6. vue插槽(slot)的模板与JSX写法

    vue官网API: 插槽:https://cn.vuejs.org/v2/guide/components-slots.html JSX:https://cn.vuejs.org/v2/guide/r ...

  7. 后缀数组 poj 3415

    首先,height[i]-k+1  很好理解把,他是说明目前这对后缀中不小于k的公共子串个数. 题解说用单调栈维护,为什么要用单调栈维护呢?因为时间复杂的可以大大降低. 怎么个降低方法呢? 在之前学习 ...

  8. Drf小结

    DRF框架 一. 认识restful架构 REST,即Representational State Transfer的缩写 ,我们一般叫他'表现层状态转化' REST的路径设计思路是简洁: 资源(比如 ...

  9. MFC单文档视图中嵌入GLFW窗口

    开始学习OpenGL由于有一段时间,但是glfw只有窗口区,虽然通过某种手段(移步这里)可以加入工具栏,但仍然无法作为一个标准的GUI,而直接在MFC或Qt里面使用OpenGL API感觉有诸多制肘, ...

  10. php preg正则表达式的组成部分

    定界符号 : 多种都可以,常用为// 原子 : 最小的一个匹配单位 (放在定界符中),在一个正则表达式中,至少要有一个原子 1,打印字符(a-z A-Z 0-9 ~!@#$%^&*()_+.. ...