65.9K
CodeProject 正在变化。 阅读更多。
Home

将 GPRS 调制解调器连接到 Intel® Edison

emptyStarIconemptyStarIconemptyStarIconemptyStarIconemptyStarIcon

0/5 (0投票)

2015 年 7 月 15 日

CPOL

3分钟阅读

viewsIcon

19078

本文尝试解释如何通过将 GPRS 扩展板连接到 Intel® Edison 开发板来建立数据网络(使用 ppp)。 扩展板中使用的是一张可用的 T-Mobile SIM 卡。

获取全新的 Intel® IoT Developer Kit,这是一个完整的硬件和软件解决方案,使开发人员可以使用 Intel® Galileo 和 Intel® Edison 开发板创建令人兴奋的全新解决方案。 访问 Intel® 物联网开发者专区

本文尝试解释如何通过将 GPRS 扩展板 连接到 Intel® 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. ERROR: Task 535 (/home/inteldell/edison-src/device-software/meta-edison-distro/recipes-connectivity/libwebsockets/libwebsockets_1.23.bb, do_compile) failed with exit code '1'

  2. NOTE: Tasks Summary: Attempted 1855 tasks of which 18 didn't need to be rerun and 1 failed.

修复:替换以下位置配方文件中的第 22 行

edison-src/device-software/meta-edison-distro/recipes-connectivity/libwebsockets/libwebsockets_1.23.bb

原始: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 支持,导致另一个错误 - 启用 PPP 过滤。所以最终启用了所有内容。)

现在从 http://repo.opkg.net/edison/repo/core2-32/ 安装 PPP 软件包

使用 pppd,使用 GPRS 扩展板创建数据连接。

成功安装后,您应该看到以下文件结构。

为了与调制解调器通信,必须启用 GPIO 0 和 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","epc.tmobile.com"             context definition (for T-Mobile)
AT+CGACT=1                                     PDP context activation
AT+CGDATA="PPP",1                    enter data mode

使用 GPRS 连接到互联网

创建一个脚本,定义 PDP(分组数据协议)上下文并显示已连接。 请在附加的 zip 文件中查找脚本。

现在使用命令建立连接

# pppd call gprs &




您可以使用以下命令检查日志文件

#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","epc.tmobile.com","",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/

Intel® 物联网开发者中心

立即开始创新!Intel® 物联网开发者计划提供知识、工具、套件以及专家社区,助您快速轻松地将您的创新想法转化为物联网解决方案。

使用适用于 Intel® Edison 和 Intel® Galileo 平台的 Intel® IoT Developer Kit 实现您的梦想并构建您的产品。 这些套件是多功能、性能优化和完全集成的端到端物联网解决方案,支持各种编程环境、工具、安全性、云连接和硬件。

如需更多资源并了解新的 Intel® 物联网开发者套件 v1.0 如何帮助您简化物联网项目

© . All rights reserved.