8,460
个编辑
更改
无编辑摘要
接着使用 "'''AT DT'''" 命令拨打电话,命令之后紧跟被呼叫的电话号码,并在电话号码前加上国家编号,中国区为 +86。<br>
输入完电话号码之后,以 “;” 结尾,例如 '''AT DT "+86135xxxxxxx;"'''<br>
[[Image:2GIoT-42.png]]<br><br>
以上为一次完整的通话过程。
'''c.C 程序方式发短信'''<br><br>
C 代码中发短信的流程与 AT 发端的流程一样,也使用串口和 Modem 进行通信,然后交换 AT 命令。具体流程如下:<br>
完整程序见附录 “'''OrangePi_2G_IOT_GSM_Demo.c'''” <br>
运行 C 程序效果如下:<br><br>
[[Image:2GIoT-3543.png]]<br><br>[[Image:2GIoT-36.png]]<br><br>[[Image:2GIoT-37.png]]<br><br>[[Image:2GIoT-38.png]]<br><br>[[Image:2GIoT-39.png]]<br><br>最终,手机收到来自 OrangePi 2G-IOT 的短信。<br><br>[[Image:2GIoT-40.png]]<br><br>
* OrangePi_2G_IOT_GSM_Demo.c <br>
Demo 程序请参考上一节。<br><br>
'''3)OrangePi 2G-IOT Linux 发行版 GSM 上网'''
目前官方 OrangePi 2G-IoT Linux 发行版支持 Ubuntu, Debian 和 Raspbian, 这些发新版已经支持 SMS 发短信功能,开发者请到官网(http://www.orangepi.cn/downloadresourcescn/) <br>
下载最新的 Linux 发行版镜像。在使用 SMS 功能之前,请自行准备一张移动或联通 SIM 卡,并确保激活可以使用。<br>
* SMS 前期准备<br>
准备一张中国联通或移动 SIM 卡,国外开发者可以根据频段选择对应的运用商 SIM 卡,OrangePi 2G-IOT 支持的频段如下:<br>
准好 SIM 卡之后,将其安装到 OrangePi 2G-IOT 卡槽中,注意,OrangePi 2G-IOT SIM 卡槽支持 Nano 类型的卡。<br><br>
[[Image:2GIoT-22.png]]<br><br>
安装 SIM 卡,注意插入的方向,SIM 卡缺角方向在外侧<br><br>
[[Image:2GIoT-23.png]]<br><br>
* 登录 Linux<br>
插好卡之后,上电启动 Linux 系统,用户可以使用多种方式连接系统,其中包括串口方式连接,ssh 方式连接等。具体连接方法,请参考官方 OrangePi 2G-IOT 的用户手册。<br><br>
如果使用串口方式连接,波特率请设置为 921600。<br><br>
[[Image:2GIoT-24.png]]<br><br>
* 使用开源工具拨号上网<br>
OrangePi 2G-IOT 目前支持 ppp 方式上网,其上网基于 ppp 和 wvdial 两个开源工具。<br>
开发者首先在 OrangePi 2G-IOT 上安装这两个开源工具,可使用如下命令: sudo apt-get install ppp wvdial<br>
* 配置 wvdial<br>
安装完毕后,对 wvdial 工具进行配置,修改 /etc/wvdial.conf 文件, 如下<br>
[Dialer defaults]
ISDN = 0
Modem Type = Analog Modem
Phone = *99***1#
Stupid Mode = 1
Dial Command = ATDT
Modem = /dev/modem0
Baud = 460800
Init1 = AT+COPS=0
Init2 = AT+CFUN=1
Init3 = AT+CGATT=1
Init4 = AT+CGDCONT=1,"IP","OrangePi_2G-IOT","",0,0
Init5 = AT+CGACT=1,1
Username = " "
Password = " "
* 配置 ppp 工具<br>
安装完 ppp 之后,对 ppp 进行配置,修改 /etc/ppp/peers/wvdial 文件, 如下:<br>
noauth name
wvdial
defaultroute
replacedefaultroute
* 拨号上网<br>
配置好 ppp 和 wvdial 之后,使用命令进行拨号上网,开发者可以使用如下命令:<br>
wvdial Tom &
[[Image:2GIoT-44.png]]<br><br>
使用 ifconfig 查看网络信息<br><br>
[[Image:2GIoT-45.png]]<br><br>
使用 ping 命令测试连通状态<br><br>
[[Image:2GIoT-46.png]]<br><br>
'''* 中国短信中心号码表'''<br><br>
{| class="wikitable" style="width:800px; line-height:35px;"
|-
! 城市/省份 !! 短信中心号码1 !! 短信中心号码2
|-
| 深圳 || 8613010888500 || 008613010888500
|-
| 北京 || 8613010112500 || 008613010112500
|-
| 上海 || 8613010314500 || 008613010314500
|-
| 山东省 || 8613010171500 || 008613010171500
|-
| 江苏省 || 8613010341500 || 008613010341500
|-
| 浙江省 || 8613010360500 || 008613010360500
|-
| 福建省 || 8613010380500 || 008613010380500
|-
| 四川省 || 8613010811500 || 008613010811500
|-
| 重庆市 || 8613010831500 || 008613010831500
|-
| 海南省 || 8613010501500 || 008613010501500
|-
| 黑龙江省 || 8613010980500 || 008613010980500
|-
| 吉林省 || 8613010911500 || 008613010911500
|-
| 天津市 || 8613010130500 || 008613010130500
|-
| 河北省 || 8613010180500 || 008613010180500
|-
| 内蒙古自治区 || 8613010950500 || 008613010950500
|-
| 陕西省 || 8613010701500 || 008613010701500
|-
| 安徽省 || 8613010305500 || 008613010305500
|-
| 新疆自治区 || 8613010969500 || 008613010969500
|-
| 青海省 || 8613010776500 || 008613010776500
|-
| 甘肃省 || 8613010879500 || 008613010879500
|-
| 宁夏自治区 || 8613010796500 || 008613010796500
|-
| 贵州省 || 8613010788500 || 008613010788500
|-
| 云南省 || 8613010868500 || 008613010868500
|-
| 湖南省 || 8613010731500 || 008613010731500
|-
| 湖北省 || 8613010710500 || 008613010710500
|-
| 广东省 || 8613010200500 || 008613010200500
|-
| 广西省 || 8613010591500 || 008613010591500
|-
| 河南省 || 8613010761500 || 008613010761500
|-
| 江西省 || 8613010720500 || 008613010720500
|-
| 辽宁省 || 8613010240500 || 008613010240500
|}
== Android 及 Linux 源码编译 ==
'''硬件:'''下图 Orange Pi 开发板一块,读卡器一个,TF卡一张和电源适配器一个<br><br>
[[Image:I962GIoT-306.png]]<br><br>
'''软件:'''Linux主机硬盘空间至少 50G(可满足一次完全编译) Linux<br>
主机中配置要求:<br>
=== JDK 的安装 ===
sudo update-alternatives --install /user/bin/java java /opt/jdk1.6.0_31/bin/java 300<br>
sudo update-alternatives --install /user/bin/javap javap /opt/jdk1.6.0_31/bin/javap 300<br>
sudo update-alternatives --install /user/bin/javaws javaws /opt/jdk1.6.0_31/bin/javaws 300<br>
sudo update-alternatives --install /user/bin/javapdoc javadoc /opt/jdk1.6.0_31/bin/javadoc 300
sudo update-alternatives --config java<br>
sudo update-alternatives --config javac<br>
sudo update-alternatives --config javaws<br>
sudo update-alternatives --config javadoc
[[Image:I96-31.png]]<br><br>
=== 下载源码 ===
官网目前提供了 Android 源码的下载,详细情况请访问官方英文网站:http源码的下载,详细情况请访问官方英文网站:<br>http://www.orangepi.org/downloadresources/<br>或者中文网站:http或者中文网站:<br>http://www.orangepi.cn/downloadresourcescn/<br><br>
下载分两种,一种为 MEGA 上下载,另一种为百度云。<br><br>
1)如果从 MEGA 上下载,请按如下进行解压下载好压缩包<br>
<span style=" color:red;$cat OrangePi_2G-IOT* > tar.tar.gz</span><br><span style=" color:red;$ tar –xvzf tar.tar.gz </span><br>
解压出来得到 trunk 目录,使用终端进入该目录<br>
如果从百度云上下载,下载完后进行解压,即可获得 trunk 目录。<br><br>
=== Android 源码编译 ===
Android 源码编译之前,请确保 java 已经安装,并且 Java 版本为 1.6. 如果未安装,或者 Java 版本不对,请参考前两节关于 Java 的安装与配置。<br>
Java 安装成功之后,客户可以开始编译 Android 源码。<br>
在编译 Android 之前,无论 Tcard Startup 还是 Nand Startup,都需要编译modem。modem 核是 misp 架构,需要使用对应的交叉编译工具。交叉编译工具请从移交任务压缩包进行解压,可以使用如下命令:<br> $ tar -xvjf OrangePi_Doc.tar.bz2 $ cd Platform/RDA/modem-cross $ tar -xvzf modem-cross-compiler-linux.tar.gz $ cd cross-compiler <br>获得相应的工具之后,对 modem 的交叉编译工具进行安装,按如下步骤进行安装<br>步骤 1:安装交叉编译工具<br> $ sudo tar -xzf ~/modem-cross-compiler-linux.tar.gz -C /opt $ ls /opt/cross-compiler $ sudo chown -R root:root /opt/cross-compiler $ sudo chmod +x /opt/cross-compiler/bin/* <br>步骤 2:环境编译<br> $ sudo sh -c 'echo export PATH=$PATH:/opt/cross-compiler/bin > /etc/profile.d/cross-compiler.sh' $ sudo sh -c 'echo /opt/cross-compiler/lib > /etc/ld.so.conf.d/cross-compiler.conf' $ sudo ldconfig -v $ sudo ldconfig -v | grep '/opt/cross-compiler/lib' $ mips-elf-gcc -v 1)源码选择<br>在命令行切换到 Android 源代码下 <br>cd */trunk/<br><br>* 2)导入开发变量<br>$ source build/envsetup.sh<br><br>* 3)选择工程<br>
$ lunch<br>
目前 OrangePi i96 2G-IOT 支持 T-Card 启动和 Nand 启动,不同的启动方式选择如下:启动,不同的启动方式, 选择如下:<br>T 卡启动,请选择 slt-userdebug ,接着选择 NollecA9V2VV8810P_ext4 Nand 启动,请选择 etu-userdebug,接着选择 NollecA9V2VV8810P<br><br>* 4)编译系统<br>Make -j<br><br>* 5)T 卡启动方式更新镜像<br>T 卡方式启动的 Android 源码编译,在编译完成之后,在 */trunk/out/target/product/slt**/ 目录下会生成对应的镜像, 使用如下命令进行更新:<br> sudo dd if=bootloader.img of=/dev/sdc bs=512 seek=256 count=4096 && sync
sudo dd if=modem.img of=/dev/sdc bs=512 seek=12544 count=8192 && sync
sudo dd if=boot.img of=/dev/sdc bs=512 seek=20736 count=16384 && sync
sudo dd if=recovery.img of=/dev/sdc bs=512 seek=37120 count=20480 && sync
sudo dd if=system.ext4.img of=/dev/sdc bs=512 seek=57600 count=512000 && sync sudo dd if=vendor.ext4.img of=/dev/sdc bs=512 seek=569600 count=512000 && sync <br>/dev/sdc 为 SD 卡在系统上的挂载编号<br><br>* 6)Nand 系统更新<br>编译完镜像之后,在目录*/trunk/out/target/product/etu**/ 目录下生成对应的镜像将生成的镜像使用 目录下生成对应的镜像<br>将生成的镜像使用 Nand 更新工具更新到系统里,具体更新步骤,请参考本文档关于 更新工具更新到系统里,具体更新步骤, 请参考本文档关于 Android Nand 更新方法。<br><br>
=== Linux 源码编译 ===