Quantcast
Channel: 英特尔开发人员专区文章
Viewing all articles
Browse latest Browse all 583

将 GPRS 调制解调器连接至英特尔® Edison

$
0
0

本文将介绍如何通过连接 GPRS 背板与英特尔® Edison 开发板来构建数据网络(使用 ppp)。 该背板使用有源 T-Mobile SIM。

启用内核中的 PPP

启用内核中的 PPP,并安装与 ppp 相关的程序包。

源文件的下载地址为: http://downloadmirror.intel.com/24698/eng/edison-src-ww05-15.tgz

编译源文件之前,建议您增加根文件系统的大小。

参考: https://communities.intel.com/docs/DOC-23449

 

根据系统的不同,构建配置需耗费 2 - 6 小时。

** 已使用 Ubuntu 12.04

 

编译时出现的错误:

 Install libtool using sudo apt-get install libtool.
  1. 错误: 任务 535 (/home/inteldell/edison-src/device-software/meta-edison-distro/recipes-connectivity/libwebsockets/libwebsockets_1.23.bb, do_compile) 失败并退出代码 '1' 

  2. 注: 任务概要: 在尝试的 1,855 项任务中,18 项不需要重新运行,1 项失败。  

解决办法: 在

edison-src/device-software/meta-edison-distro/recipes-connectivity/libwebsockets/libwebsockets_1.23.bb 中替换方案文件中的第 22 行

 

替换前: export OPENSSL_CONF=${TMPDIR}/sysroots/x86_64-linux/usr/lib/ssl/openssl.cnf

替换为: export OPENSSL_CONF=${TMPDIR}/sysroots/i686-linux/usr/lib/ssl/openssl.cnf

 

配置内核中的 PPP

# bitbake virtual/kernel –c menuconfig

ppp-yocto.png

 

(首先,我仅启用了面向异步串行端口的 PPP 支持,这样产生了另一个错误 — 启用 PPP 过滤。 因此最后启用了所有功能。)

现在,安装 http://repo.opkg.net/edison/repo/core2-32/中的 PPP 程序包

通过 pppd,使用 GPRS 背板创建数据连接。

 

安装成功后,您需要查看以下文件结构。

 

Untitled.jpg

 

为与调制解调器进行通信,应启用 GPIO 0 和 GPIO 1 上的硬件串行端口。

启用串行端口:

 

在终端上执行以下命令,以启用针脚 0 和针脚 1 上的串行端口。

 

echo 214 > /sys/class/gpio/export 2>&1
echo high > /sys/class/gpio/gpio214/direction
echo low > /sys/class/gpio/gpio214/direction
echo 131 > /sys/class/gpio/export 2>&1
echo mode1 > /sys/kernel/debug/gpio_debug/gpio131/current_pinmux
echo 249 > /sys/class/gpio/export 2>&1
echo high > /sys/class/gpio/gpio249/direction
echo 1 > /sys/class/gpio/gpio249/value
echo 217 > /sys/class/gpio/export 2>&1
echo high > /sys/class/gpio/gpio217/direction
echo 1 > /sys/class/gpio/gpio217/value
echo out > /sys/class/gpio/gpio131/direction
echo 0 > /sys/class/gpio/gpio131/value
echo 130 > /sys/class/gpio/export 2>&1
echo mode1 > /sys/kernel/debug/gpio_debug/gpio130/current_pinmux
echo 248 > /sys/class/gpio/export 2>&1
echo low > /sys/class/gpio/gpio248/direction
echo 0 > /sys/class/gpio/gpio248/value
echo 216 > /sys/class/gpio/export 2>&1
echo in > /sys/class/gpio/gpio216/direction
echo in > /sys/class/gpio/gpio130/direction
echo high > /sys/class/gpio/gpio214/direction

测试 GPRS 背板:

 

使用 microcom 发送 AT 命令来测试 GPRS 调制解调器的状态。

# microcom /dev/ttyMFD1 –s 115200
AT
OK
AT+CMGF=1                      Set SMS text format
OK
AT+CMGS="+1503*****79"       Send SMS message> Hello World
+CMGS: 14
OK

该状态测试还可通过使用标准串行端口编程或 mraa通用库来完成。

 

启用 GPRS

AT+CGATT=1                                     attach to GPRS network (normally includes in atd*99#)
AT+CGATT?                                      should return +CGATT: 1
AT+CGDCONT=1,"IP","isp.singular"               context definition
AT+CGACT=1                                     PDP context activation
AT+CGDATA="PPP",1                     	       enter data mode

使用 GPRS 连接互联网:

 

创建脚本定义 PDP(分组数据协议)环境并提示已连接。 请查找面向脚本的随附压缩文件。

 

现在,使用命令创建连接

# pppd call gprs &

ppp_ipa.png

您可以通过以下内容查看日志文件

#cat /var/log/ppp/log

Press CTRL-C to close the connection at any stage!
defining PDP context...
AT
OK
ATH
OK
ATE1
OK
AT+CGDCONT=1,"IP","isp.singular","",0,0
OK
waiting for connect...

ATD*99#
CONNECT
Connected.

Serial connection established.
Using interface ppp0
Connect: ppp0 <--> /dev/ttyMFD1
not replacing default route to wlan0 [192.168.1.1]
local  IP address 100.198.64.64
remote IP address 192.200.1.21
primary   DNS address 10.177.0.34
secondary DNS address 10.168.185.116

参考资料:

https://communities.intel.com/docs/DOC-23449

http://repo.opkg.net/edison/repo/core2-32/

https://communities.intel.com/thread/54236

https://communities.intel.com/thread/55790

http://downloadmirror.intel.com/24698/eng/edison-src-ww05-15.tgz

http://www.att.com/esupport/article.jsp?sid=36059&cv=820#fbid=AcRge45P9Za

http://wiki.openmoko.org/wiki/T-Mobile_pppd_scripts

http://www.tldp.org/HOWTO/PPP-HOWTO/

 


Viewing all articles
Browse latest Browse all 583

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>