admin管理员组文章数量:1631138
之前在 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=1\r";
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 模块 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/dongtai/1729086447a1185701.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论