概述
之前在 TL5728-EasyEVM 开发板上使用过这个模块,用来在野外采集数据上传到服务器。最近接触另外一个项目,做一个演示用的样机,需要移动的,也是采用了这个模块来上传数据。样机环境是 Ubuntu 16.04 32bit。这里总结下这个模块的使用方法。
其实很简单,一共就以下几个步骤。如果操作失败,尝试使用 sudo,甚至直接使用 root 用户进行操作。
1、加载驱动
sudo modprobe option
2、使能设备
sudo echo 19d2 1476 > /sys/bus/usb-serial/drivers/option1/new_id
这个操作之后应该就能够看到 /dev 下多了 ttyUSB0、ttyUSB1、ttyUSB2 几个设备节点了。
3、打开设备
sudo ./call /dev/ttyUSB1
这里 call 程序是通过 /dev/ttyUSB1 使用 AT 指令配置 ME3630。另外编译生成。
至此,4G 网络就进入就绪状态了,可以畅通访问互联网。
call 程序的代码参考:
#include <stdio.h>
#include "serial.h"
int main(int argc, char **argv) {
if (argc != 2) {
printf("usage: call <<device>> n"
"eg: call /dev/ttyUSB1 n");
return -1;
}
int fd = open_serial(argv[1]);
if(fd < 1)
return -1;
termios_setup(fd, B115200);
tcflush(fd, TCIOFLUSH);
struct timeval tv;
tv.tv_sec = 5;
tv.tv_usec = 0;
const char *cmd_conn = "AT+CGDCONT=1,"IP","CMWAP"r";
serial_write(fd, cmd_conn, strlen(cmd_conn), &tv);
if (serial_wait_ok_string(fd, 5) != 1) {
printf("Setup data call parameter error. exit!n");
goto err;
}
const char *cmd_call = "AT+ZECMCALL=1r";
serial_write(fd, cmd_call, strlen(cmd_call), &tv);
if (serial_wait_ok_string(fd, 5) != 1) {
printf("Setup ECM data call error. exit!n");
goto err;
}
close_serial(fd);
return 0;
err:
close_serial(fd);
return -1;
}
最后
以上就是等待夕阳为你收集整理的Ubuntu 下使用 ZTE ME3630 4G 模块的全部内容,希望文章能够帮你解决Ubuntu 下使用 ZTE ME3630 4G 模块所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复