8,460
个编辑
更改
无编辑摘要
}<br>
|}
'''2)OrangePi 2G-IOT Linux 发行版打电话'''<br>
目前官方 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 卡槽中,注意,OrangePi2G-IoT SIM 卡槽支持 Micro 类型的卡。<br><br>
[[Image:2GIoT-22.png]]<br><br>
安装 SIM 卡,注意插入的方向,SIM 卡缺角方向在外侧<br><br>
[[Image:2GIoT-23.png]]<br><br>
插入耳机<br><br>
[[Image:2GIoT-41.png]]<br><br>
* 登录 Linux<br>
插好卡之后,上电启动 Linux 系统,用户可以使用多种方式连接系统,其中包括串口方式连接,ssh 方式连接等。<br><br>
* 如果使用串口方式连接,波特率请设置为 921600。<br><br>
[[Image:2GIoT-24.png]]<br><br>
1)多种方式使用 SMS<br>
OrangePi 2G-IoT 的 Linux 发行版有多种方式可以使用 SMS 功能,本文重点介绍串口方式和 C 程序方式。<br><br>
'''a.串口方式'''<br>
该方式需要在 OrangePi 2G-IOT 上安装串口工具 minicom,开发者可以在OrangePi 2G-IoT 上进行安装,安装之前请确保 OrangePi 2G-IOT 已经连上wifi。<br>
开发者使用如下命令进行 minicom 的安装:<br>
sudo apt-get install minicom
OrangePi 中 AP 核与 Modem 之间通过串口进行通信,Linux 系统启动之后, 会在 /dev/ 目录下生成 modem0 节点。<br>
开发者可以使用串口工具连接到 /dev/modem0 节点上。其中推荐使用 minicom 进行连接,开发者也可以参照使用其他串口工具。<br>
开发者在使用 minicom 或其他串口工具进行连接时,请参考一下步骤:<br>
在 OrangePi 2G-IOT Linux 系统上使用 minicom 连接 /dev/modem0, 用户可以使用如下命令进行配置<br>
sudo minicmo -s
输入命令之后,进入配置界面,如下图,选择 "Serial port setup"<br><br>
[[Image:2GIoT-25.png]]<br><br>
按下 “A” 修改 '''Serial Device 为 /dev/modem0'''<br><br>
[[Image:2GIoT-26.png]]<br><br>
'''b.使用 AT 指令集进行短信的发送'''<br>
首先输入 '''AT''' 命令对 Modem 状态进行检查,如果 Modem 回复 OK,表示 Modem 连接正常。<br><br>
[[Image:2GIoT-27.png]]<br><br>
接着使用 "'''AT DT'''" 命令拨打电话,命令之后紧跟被呼叫的电话号码,并在电话号码前加上国家编号,中国区为 +86。<br>
输入完电话号码之后,以 “;” 结尾,例如 '''AT DT "+86135xxxxxxx;"'''<br>
接着输入 AT +cfun=1 命令打开 Modem 的全功能, Modem 将返回命令执行的结果<br><br>
[[Image:2GIoT-28.png]]<br><br>
+CIEV 代表<br>
接着设置短信的明码或暗码方式,例子使用明码方式。<br>
使用 "AT +CMGF=1" 进行指定,设置成功后,Modem 将返回 OK。<br><br>
[[Image:2GIoT-29.png]]<br><br>
然后设置消息中心号码,这个设置很重要,如果这个设置不对,信息无法发送。每个城市有不同的消息中心号码,具体消息中心号码,请参考本文关于消息中心号码的介绍。<br>
例如,测试卡所在的城市是'''深圳''',深圳对应的消息中心号码为: '''8613010888500''' 或者 '''008613010888500'''<br>
开发者可以使用 “'''AT+CSCA?'''” 查询当前的消息中心号码,如果消息中心号码与本城市对应的消息中心号码不同,可以使用 '''AT +CSCA="+86xxxxx"''' 指定。<br><br>
[[Image:2GIoT-30.png]]<br><br>
最后使用命令 AT +CMGS 进行短信的发送,命令后面紧接要发送的号码,号码以 + 号开始,后接国家编号,具体国家编号可以执行 google,中国编号为 86, 在接上接收方号码。<br>
输入该命令之后,串口会打印 > 提示输出短信的内容,然后开发者输入要发送的内容。<br>
输入完之后,同时按下 Ctrl + Z 来进行短信的发送。<br><br>
[[Image:2GIoT-31.png]]<br><br>
'''c.C 程序方式发短信'''<br><br>
C 代码中发短信的流程与 AT 发端的流程一样,也使用串口和 Modem 进行通信,然后交换 AT 命令。具体流程如下:<br>
首先,初始化串口:<br>
[[Image:2GIoT-32.png]]<br><br>
发送 AT 命令函数<br><br>
[[Image:2GIoT-33.png]]<br><br>
AT 发短信流程<br><br>
[[Image:2GIoT-34.png]]<br><br>
完整程序见附录 “'''OrangePi_2G_IOT_GSM_Demo.c'''” <br>
运行 C 程序效果如下:<br><br>
[[Image:2GIoT-35.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>
== Android 及 Linux 源码编译 ==