精华内容
下载资源
问答
  • 产品首页 → 无线通讯网络 → 数据传输模块 → 中兴ZTE 4G模块 ME3610 FDD模块中兴ZTE 4G模块 ME3610 FDD模块品牌:ZTE型号:ME3610规格:30*30发布时间:2018-4-4 联系人:吴晓芝电话:13714189441传真:-ME3610...

    产品首页 → 无线通讯网络 → 数据传输模块 → 中兴ZTE 4G模块 ME3610 FDD模块

    中兴ZTE 4G模块 ME3610 FDD模块

    品  牌:ZTE

    型  号:ME3610

    规  格:30*30

    发布时间:2018-4-4

    25aec3137248d32e7d39a3f2e775374c.gif

    059754e7f7e8cb25d9aabe5c2ac92916.png

    联系人:吴晓芝

    电  话:13714189441

    传  真:-

    ME3610采用了中兴物联LCC 30*30mm统一封装,并可兼容支持Mini PCIE封装,支持LTE FDD/EV-DO/CDMA 1X制式。ME3610支持LTE Cat.1速率(10Mbps下行速率和5Mbps上行速率),为行业用户提供极具性价比的4G移动通信方案。凭借紧凑封装、工业级温宽以及软硬件可靠性保障,ME3610可广泛应用于智能电表、车载娱乐系统、远程医疗、POS、工业手持设备等多类型行业应用。

    ME3610与ME3630/ME3620/MW3650/MC8635等4G、3G模块完全兼容,用户可根据不同的需求和场景进行选择,快速推出产品。

    * 支持LTE Cat.1速率(10Mbps下行速率和5Mbps上行速率),适用于物联网行业应用

    * 支持中国电信LTE 800MHz

    * 向前兼容支持中国电信CDMA 1X/EV-DO

    * LCC 30*30 统一封装方式,与vLink系列产品完美兼容

    * 支持多种网络协议(PAP、CHAP、PPP)和多种功能(Remote wakeup, MMS, SMS等)

    * 支持标准AT指令集和中兴物联扩展AT指令集

    * 支持WIN XP/7/8/10、Android、Linux、WinCE、Windows Mobile操作系统

    产品简介

    ME3610采用了中兴物联LCC 30*30mm统一封装,支持LTE FDD/EV-DO/CDMA 1X制式。ME3610支持LTE Cat.1速率(10Mbps下行速率和5Mbps上行速率),为行业用户提供极具性价比的4G移动通信方案。凭借紧凑封装、工业级温宽以及软硬件可靠性保障,ME3610可广泛应用于智能电表、车载娱乐系统、远程医疗、POS、工业手持设备等多类型行业应用。

    ME3610与ME3630/ME3620/MW3650/MC8635等4G、3G模块完全兼容,用户可根据不同的需求和场景进行选择,快速推出产品。

    产品配置

    C2C: LTE FDD B1/3/5, CDMA 1X/EV-DO 800MHz

    产品优势与特点

    * 支持LTE Cat.1速率(10Mbps下行速率和5Mbps上行速率),适用于物联网行业应用

    * 支持中国电信LTE 800MHz

    * 向前兼容支持中国电信CDMA 1X/EV-DO

    * LCC 30*30 统一封装方式,与vLink系列产品完美兼容

    * 支持多种网络协议(PAP、CHAP、PPP)和多种功能(Remote wakeup, MMS, SMS等)

    * 支持标准AT指令集和中兴物联扩展AT指令集

    * 支持WIN XP/7/8、Android、Linux、WinCE、Windows Mobile操作系统

    认证

    CCC

    CTA

    SRRC

    RoHS

    展开全文
  • 4G模块

    2020-11-03 09:15:15
    http://www.360doc.com/content/17/0826/19/28372044_682331105.shtml
    展开全文
  • 4G模块AT连接阿里云

    万次阅读 2020-05-16 09:26:18
    本手册适用于合宙的Air72X系列4G模组,AT指令与LUAT脚本兼容4G所有产品,均可使用本手册进行阿里云连接测试。 手册仅介绍MQTT方式连接与发送数据,其他方式用户可根据手册自行研究。 手册PDF版本AT指令连接阿里...

    本手册适用于合宙的Air72X系列4G模组,AT指令与LUAT脚本兼容4G所有产品,均可使用本手册进行阿里云连接测试。

     

    手册仅介绍MQTT方式连接与发送数据,其他方式用户可根据手册自行研究。

    手册PDF版本AT指令连接阿里云手册一机一密.pdf

    阿里云准备

    新建产品

    打开阿里云找到物联网平台,开通业务后进入控制台。

    点开设备管理的产品页面,点击新建产品。

    根据需求和图示说明创建产品。

    添加设备

    创建产品完成后就可以进入设备页面添加设备了

    根据提示添加设备

    点击我们刚创建的设备,查看设备。

    我们需要这几个参数进行连接。

    设备连接

    AT指令方式

    根据https://ask.openluat.com/article/1058装好驱动和luatools,下载AT固件(出厂默认就是AT)

    Cat1连接设备的串口1,Cat4连接串口2。开发板直接接USB转TTL口到电脑即可,其他的自己设计的板子可使用usb转ttl等工具连接(注意电平转换)

    MCU 向 Air 模块发送的 AT 命令都要以\r 结尾

    下文中的用到的 AT 命令,约定:

    红色为 MCU 发送给 Air 模块

    绿色为 Air 模块发送给 MCU

    配置网络

    训练波特率

    AT

    AT

    OK

    查询设备版本

    AT+CGMR

    AT+CGMR

    +CGMR: "AirM2M_Air724UG_V409_LTE_AT"

    OK

    查看卡状态

    AT+CPIN?

    AT+CPIN?

    +CPIN: READY

    OK

    查询是否附着基站,必须CGATT为1才可进行下一个指令

    AT+CGATT?

    AT+CGATT?

    +CGATT: 1

    OK

    自动选择APN

    AT+CSTT

    AT+CSTT

    OK

    激活PDP

    AT+SAPBR=1,1

    AT+SAPBR=1,1

    OK

    激活移动场景

    AT+CIICR

    AT+CIICR

    OK

    查询本地 IP 地址

    AT+CIFSR

    AT+CIFSR

    100.86.47.178

    查询当前连接状态

    AT+CIPSTATUS

    AT+CIPSTATUS

    OK

    STATE: IP STATUS

    HTTP鉴权

    前文我们添加了一个设备记录了三元组,这里就需要使用三元组进行连接。

    我们的三元组是

    {

      "ProductKey": "a1mxL3s6Z7m",

      "DeviceName": "866714043075174",

      "DeviceSecret": "iWACqPLq90zRsiEhMSdPWHV8gaRAJ78O"

    }

    首先计算一个sign

    sign 为 HmacMD5 算法计算出来的哈希值,使用网址:http://encode.chahuo.com

    明文为:clientId866714043075174deviceName866714043075174productKeya1mxL3s6Z7m

    密钥为:iWACqPLq90zRsiEhMSdPWHV8gaRAJ78O

    结果sign161d9143f5a4ea3f9ab60614583fd1d7

    拼接DOWNLOAD参数

    productKey=a1mxL3s6Z7m&sign=161d9143f5a4ea3f9ab60614583fd1d7&clientId=866714043075174&deviceName=866714043075174

    长度是112,这个 112 是 DOWNLOAD 下面的数据长度(以字节为单位),实际使用时,要根据自 己的数据长度进行修改,切记!!!

    小提示:我这里写了一个小工具可以自动计算参数,网址是http://mqtt.lovemcu.cn 使用方法很简单看页面就知道了。

    初始化HTTP

    AT+HTTPINIT

    AT+HTTPINIT

    OK

    配置请求地址

    AT+HTTPPARA="URL",https://iot-auth.cn-shanghai.aliyuncs.com/auth/devicename

    AT+HTTPPARA="URL",https://iot-auth.cn-shanghai.aliyuncs.com/auth/devicename

    OK

    配置请求头,注意,Content-Type:后面有一个空格!!!

    AT+HTTPPARA="USER_DEFINED","Content-Type: application/x-www-form-urlencoded"

    AT+HTTPPARA="USER_DEFINED","Content-Type: application/x-www-form-urlencoded"

    OK

    配置请求信息,112的意义看前文一定不要错。

    AT+HTTPDATA=112,20000

    AT+HTTPDATA=112,20000

    DOWNLOAD

    出现DOWNLOAD后发送通过前文计算出来的参数

    productKey=a1mxL3s6Z7m&sign=161d9143f5a4ea3f9ab60614583fd1d7&clientId=866714043075174&deviceName=866714043075174

    OK

    请求连接,等待HTTPACTION的信息上报,正常的话会回复状态码200

    AT+HTTPACTION=1

    AT+HTTPACTION=1

    OK

    +HTTPACTION: 1,200,124

    读取请求结果

    AT+HTTPREAD

    AT+HTTPREAD

    +HTTPREAD: 124

    {"code":200,"data":{"iotId":"GAQYuiW0qid2H5NfMu9l000100","iotToken":"^1^1589511374876^27f6f5a03b709fc"},"message":"success"}

    OK

    HTTPREAD返回的数据中有iotId和iotToken,其中iotId的值为MQTT client的用户名, iotToken 的值为 MQTT client 的密码

    关闭HTTP

    AT+HTTPTERM

    AT+HTTPTERM

    OK

    连接阿里云

    配置连接,第一个参数是clientId我使用模块的IMEI,第二个参数和第三个参数是通过HTTP请求得到的,见前文说明

    AT+MCONFIG="866714043075174","GAQYuiW0qid2H5NfMu9l000100","^1^1589511374876^27f6f5a03b709fc"

    AT+MCONFIG="866714043075174","GAQYuiW0qid2H5NfMu9l000100","^1^1589511374876^27f6f5a03b709fc"

    OK

    建立连接,第一个参数需要根据实际项目productKey修改

    AT+SSLMIPSTART="a1mxL3s6Z7m.iot-as-mqtt.cn-shanghai.aliyuncs.com",1883

    AT+SSLMIPSTART="a1mxL3s6Z7m.iot-as-mqtt.cn-shanghai.aliyuncs.com",1883

    OK

    CONNECT OK

    建立会话,收到CONNECT OK后立刻发送指令建立会话,不然会被踢,一定注意!!!

    AT+MCONNECT=1,120

    AT+MCONNECT=1,120

    OK

    CONNACK OK

    到这里连接部分就结束了,打开阿里云就可以看到我们的设备在线了。

    发布与订阅消息

    找到我们设备的详情页可以看到所有主题,根据阿里云文档去选择自己使用的主题我这里使用自定义的主题进行演示。页面有详细权限,我们设备要选择正确的主题。比如发布消息是update结尾的,订阅主题是get结尾的。

    订阅主题

    AT+MSUB=" /a1mxL3s6Z7m/866714043075174/user/get ",0  

    AT+MSUB="/a1mxL3s6Z7m/866714043075174/user/get",0

    OK

    SUBACK

    设置收到数据时的打印方式

    配置为0时主动上报到串口。有新订阅消息时,上报的 URC 为+MSUB:,,

    配置为1时缓存模式。有新订阅消息时,上报的 URC 为: +MSUB: 然后用 AT+MQTTMSGGET 来读消息

    我这里配置为0

    AT+MQTTMSGSET=0

    AT+MQTTMSGSET=0  

    OK  

    在阿里云点击发布消息按钮向设备发送消息

    模块主动上报消息

    +MSUB: "/a1mxL3s6Z7m/866714043075174/user/get",11 byte,Hello World

    订阅功能正常。

    发布消息

    发布 Qos0 消息 AT+MPUB="/a1mxL3s6Z7m/866714043075174/user/update",0,0,"HelloWorld"

    AT+MPUB="/a1mxL3s6Z7m/866714043075174/user/update",0,0,"HelloWorld"

    OK 

    在阿里云找到运维监控,日志服务,找到我们的设备,可以看到消息记录里有一条设备上报的消息。点击那条MessageID可以看详情。

    可以看到我们的数据正常发的阿里云上了。

    发布 Qos1 消息

    AT+MPUB="/a1mxL3s6Z7m/866714043075174/user/update",1,0,"HelloWorld"

    AT+MPUB="/a1mxL3s6Z7m/866714043075174/user/update",1,0,"HelloWorld"

    OK

    PUBACK

    Qos1 消息必须等到 PUBACK 返回,才能发下一条消息。

    和前文一样可以去阿里云后台查看消息

    FreeAT_1.1.1.exe

    aliyun.ini

    展开全文
  • 4G模块连接TCP

    万次阅读 2020-06-28 09:58:41
    Air724模组内置TCP/IP协议栈,提供TCP客户端和服务器端服务(PS:模块没有公网IP所以服务端模式多用于专属VPN网络)。可使用AT指令,LUAT二次开发,CSDK,开源DTU等多种方式开发,开发者根据实际需求合理选择开发...

    作者:如果能编程回忆

    最后修改时间:2020年6月12日

    概述

    Air724模组内置TCP/IP协议栈,提供TCP客户端和服务器端服务(PS:模块没有公网IP所以服务端模式多用于专属VPN网络)。可使用AT指令,LUAT二次开发,CSDK,开源DTU等多种方式开发,开发者根据实际需求合理选择开发方式。

    AT指令

    通过AT指令使用TCP服务主要包含设备联网,配置连接,建立连接,发送数据等步骤,具体流程如图高清版TCP流程图.pdf

    ![](https://imgconvert.csdnimg.cn/aHR0cHM6Ly9jZG4ubmxhcmsuY29tL3l1cXVlLzAvMjAyMC9qcGVnLzE1OTAyMDgvMTU5MTk0Mjc0OTQ2OC03MDI1Y2FkZC02NGJjLTRhZmItOGQwZS1jMTlmZWNjMmI4MTEuanBlZw?x-oss-process=image/format,png#align=left&display=inline&height=964&margin=[object Object]&originHeight=964&originWidth=648&size=0&status=done&style=none&width=648)

    从连接方式上可分为SSL与非SSL,从连接路数可分为单路连接和多路连接,从数据收发方式可分为透传与非透传。

    连接网络

    开机

    通过拉低powerkey2秒进行开机,开机以后通过串口循环发送AT直到收到OK,如果90秒没有收到OK请拉低 RESET_IN_N 引脚 150ms 以上。或使用其他方法见开关机章节

    查询卡状态

    AT+CPIN?查询卡状态,直到收到+CPIN: READY,如果10s内没有收到建议重启模块

    查询网络注册情况

    AT+CGATT?查询是否注册网络收到+CGATT: 1值是1即为注册成功,正常情况下注册时间不会超过两分钟,如果超过两分钟没有注册可以进入飞行模式五秒后退出再查询,或者直接重启模块。

    激活网络

    AT+CSTT配置网络,非私有APN以外Cat1的固件支持根据卡自动配置APN,直接输入AT+CSTT即可,模块会按照自动获取的APN设置CSTT的APN。

    AT+CIICR激活网络,在IP START的状态使用AT+CIICR激活网络,激活以后通过AT+CIFSR查询是否获取IP,如果成功就可以开始配置TCP连接了,如果不成功使用AT+CIPSHUT关闭移动网络,从AT+CSTT重新进行。

    连接TCP

    此处使用的是非SSL连接,SSL见相关章节

    AT+CIPSTART建立连接

    命令类型语法返回和说明
    设置命令单 路 连 接 (+CIPMUX=0)时:AT+CIPSTART=,, 或 AT+CIPSTART=,,
    多路连接(+CIPMUX=1)时:AT+CIPSTART=,,< IP address>, 或 AT+CIPSTART=,,,如 果 格 式 正 确 且 处 于 IP INITIAL 或 者 IP STATUS或TCP/UDP CLOSE状态,返回: OK 否则返回: +CME ERROR

    紧接着会有URC上报,上报内容如下:
    如果连接已经存在,返回: ALREADY CONNECT
    如果连接成功(非透传),返回: CONNECT OK 如果连接成功(透传),返回: CONNECT
    否则返回: STATE: <sl_state>
    CONNECT FAIL如果格式正确且处于 IP STATUS或IP PROCESSING时,返回: OK 否则返回: +CME ERROR
    紧接着会有URC上报,上报内容如下:
    如果连接已经存在, 返回: ,ALREADY CONNECT
    如果连接成功,返回: ,CONNECT OK 否则返回: ,CONNECT FAIL |
    | 测试命令 | AT+CIPSTART=? | 单路连接(+CIPMUX=0)时返回: +CIPSTART: (取值列表),(IP address range),(port range)? +CIPSTART: (取值列表),(domain name),(port range)
    OK 多路连接(+CIPMUX=1)时返回: +CIPSTART: ( 取 值 列 表 ),( 取 值 列 表 ),(IP addressrange),(port range) +CIPSTART: (取值列表),( 取值 列表),(domain name),(portrange)
    OK |
    | 注意事项 | 此命令应用于建立 TCP/UDP 连接;
    当前状态可用 AT+CIPSTATUS 查询;
    单路连接时只当前状态为 IP INITIAL 或者 IP STATUS 或 TCP/UDP CLOSE 时可执行,多路连接时当 前状态为 IP STATUS 或 IP PROCESSING 时可执行;
    在当前状态不是上述可执行状态时,需执行 AT+CIPSHUT 后再开始建立连接;
    多路连接时,设置此命令前,必须先执行 AT+CSTT, AT+CIICR,AT+CIFSR 这三个命令。 |
    |

    参数定义

    参数参数取值对取值的说明
    Link No.0~5整数型,表示连接序号
    连接类型,字符串型
    (双引号可加可不加)“TCP”
    “UDP”建立TCP连接
    建立UDP连接
    远端服务器 IP 地址最大32个字节字符串参数(双引号可加可不加)
    远端服务器域名最大 32 个字节字符串参数(双引号可加可不加)
    远端服务端口1~65535整数型

    示例

    AT+CIPSTART=“TCP”,“120.76.201.131”,2000

    返回

    CONNECT OK表示连接成功

    发送数据

    AT+CIPSEND发送不定长数据,收到>以后就可以发送数据,然后发送十六进制1A结束发送,发送完1A以后设备会向服务器发送1A之前的所有数据。

    接收数据

    当连接服务器成功以后默认配置是服务器下发的数据会通过串口自动上报,直接就可以接收数据。

    状态机

    ![](https://imgconvert.csdnimg.cn/aHR0cHM6Ly9jZG4ubmxhcmsuY29tL3l1cXVlLzAvMjAyMC9wbmcvMTU5MDIwOC8xNTkxOTQyNzQ5NDc3LTQzYzhiZWMwLTE4MzItNDg1ZS1hNmVkLWQ4OTgwODM2YWFlMy5wbmc?x-oss-process=image/format,png#align=left&display=inline&height=416&margin=[object Object]&originHeight=416&originWidth=736&size=0&status=done&style=none&width=736)

    ◆输入 AT+CIICR,会马上进入 IPCONFIG 状态,当返回 OK 后,会进入到 IPGPRSACT 状态;

    ◆输入 AT+CIPSTART 后,会立马进入 IP/UDPCONNECTING 状态,如果后续模块上报 CONNECTOK 这个 URC,
    表明连接服务器成功,此时进入 CONNECTOK 状态;

    ◆输入 AT+CIPCLOSE 后,立马进入 TCP/UDPCLOSING 状态,此时如果模块上报 CLOSEOK,则表明关闭与服务 器的连接成功,此时模块进入 TCP/UDPCLOSED 状态;

    ◆如果模块上报+PDPDEACT 这个 URC,则标志着模块释放 PDP 上下文,并进入了 PDPDEACT 状态;

    ◆在 IPGPRSACT,IPSTATUS,CONNECT OK 以及 TCP/UDPCLOSED 状态下,输入 AT+CGATT=0,则也可以使模 块释放上下文,进入 PDPDEACT 状态;

    ◆模块进入 PDPDEACT 状态,仍需要输入 AT+CIPSHUT,进入 IPINITIAL 状态; ◆模块在各个状态下均可以输入 AT+CIPSHUT,进入 IPINITIAL 状态。

    其他说明

    最新的AT固件支持开机直接发送AT+CIPSTART联网,不过不推荐使用,推荐根据状态机一步一步实现

    LUAT

    luat连接相比AT更为简单,只需要简单的配置即可连接,还可以灵活的对数据进行处理。

    需要从官网或者github下载luatask的脚本包,或者使用luatoolsv2会自动下载脚本资源,在工具根目录的\resource\8910_script中脚本资源会随官网同步更新,具体版本可能和本文不同,不过功能都是一致的。

    文档中用到的API接口见wiki的API章节。

    在脚本目录的demo/socket文件夹里有两种示例代码,async是异步socket,sync是同步socket

    同步:

    同步的思想是:所有的操作都做完,才返回给用户。这样用户在线等待的时间太长,给用户一种卡死了的感觉(就是系统迁移中,点击了迁移,界面就不动了,但是程序还在执行,卡死了的感觉)。这种情况下,用户不能关闭界面,如果关闭了,即迁移程序就中断了。

    异步:

    将用户请求放入消息队列,并反馈给用户,系统迁移程序已经启动,你可以关闭浏览器了。然后程序再慢慢地去写入数据库去。这就是异步。但是用户没有卡死的感觉,会告诉你,你的请求系统已经响应了。你可以关闭界面了。

    同步和异步本身是相对的

    同步就相当于是 当客户端发送请求给服务端,在等待服务端响应的请求时,客户端不做其他的事情。当服务端做完了才返回到客户端。这样的话客户端需要一直等待。用户使用起来会有不友好。

    异步就是,当客户端发送给服务端请求时,在等待服务端响应的时候,客户端可以做其他的事情,这样节约了时间,提高了效率。

    存在就有其道理 异步虽然好 但是有些问题是要用同步用来解决,比如有些东西我们需要的是拿到返回的数据在进行操作的。这些是异步所无法解决的。

    所以请根据实际需求选择。

    连接服务器

    luat的socket操作是一个面向对象的操作所以首先使用socket.tcp(ssl, cert)创建一个对象

    传入值类型释义
    bool可选参数,默认为nil,ssl,是否为ssl连接,true表示是,其余表示否
    table可选参数,默认为nil,cert,ssl连接需要的证书配置,只有ssl参数为true时,才参数才有意义,cert格式如下: { caCert = “ca.crt”, --CA证书文件(Base64编码 X.509格式),如果存在此参数,则表示客户端会对服务器的证书进行校验;不存在则不校验 clientCert = “client.crt”, --客户端证书文件(Base64编码 X.509格式),服务器对客户端的证书进行校验时会用到此参数 clientKey = “client.key”, --客户端私钥文件(Base64编码 X.509格式) clientPassword = “123456”, --客户端证书文件密码[可选] }

    c = socket.tcp()成功则c就是新建的对象。

    然后使用mt:connect(address, port, timeout)连接服务器

    • 参数
      | 传入值类型 | 释义 |
      | — | — |
      | string | address 服务器地址,支持ip和域名 |
      | param | port string或者number类型,服务器端口 |
      | number | 可选参数,默认为120,timeout 可选参数,连接超时时间,单位秒 |

    • 返回值

    bool result true - 成功,false - 失败 string ,id ‘0’ – ‘8’ ,返回通道ID编号

    mt:表示对象,也就是我们前面通过socket.tcp()新建的c

    使用c:connect()即可连接服务器。

    接收数据

    同步方式

    同步方式采用mt:recv(timeout, msg, msgNoResume)这个接口阻塞操作,程序运行到这里会进入等待直到满足条件才会退出。

    • 参数
      | 传入值类型 | 释义 |
      | — | — |
      | number | 可选参数,默认为0,timeout 可选参数,接收超时时间,单位毫秒 |
      | string | 可选参数,默认为nil,msg 可选参数,控制socket所在的线程退出recv阻塞状态 |
      | bool | 可选参数,默认为nil,msgNoResume 可选参数,控制socket所在的线程退出recv阻塞状态,false或者nil表示“在recv阻塞状态,收到msg消息,可以退出阻塞状态”,true表示不退出 |

    • 返回值

    result 数据接收结果,true表示成功,false表示失败 data 如果成功的话,返回接收到的数据;超时时返回错误为"timeout";msg控制退出时返回msg的字符串 param 如果是msg返回的false,则data的值是msg,param的值是msg的参数

    以demo的socket\sync\sendInterruptRecv\testSocket.lua为例,r就是result当退出原因是服务器下发数据时为true,其他情况均为false,s是data,当r是true的时候,data表示参数,当r为false时,data表示退出阻塞的原因,一种是timeout,一种是配置的msg ,当值为msg 的时候,p表示msg携带的参数。

    while true do
                r, s, p = c:recv(120000, "pub_msg")
                if r then
                    recv_cnt = recv_cnt + #s
                    log.info("这是收到的服务器下发的数据统计:", recv_cnt, "和前30个字节:", s:sub(1, 30))
                elseif s == "pub_msg" then
                    send_cnt = send_cnt + #p
                    log.info("这是收到别的线程发来的数据消息!", send_cnt, "和前30个字节", p:sub(1, 30))
                    if not c:send(p) then break end
                elseif s == "timeout" then
                    log.info("这是等待超时发送心跳包的显示!")
                    if not c:send("ping") then break end
                else
                    log.info("这是socket连接错误的显示!")
                    break
                end
            end
    

    在连接服务器成功以后,代码进入这个死循环,recv(120000, “pub_msg”)里的第一个参数表示最长阻塞时间,这个时间的主要作用是用于心跳维持连接,因为timeout退出阻塞的前提是在这个时间内没有发送和接收数据;第二个参数是控制退出的字符串,其原理类似于sys.subscribe(id, callback)msg就是id,用于订阅来自其他协程的数据,发送数据的方法就是sys.publish(…)触发时rev会退出并携带参数;

    异步方式

    异步采用mt:asyncRecv()接口接收数据,相对于同步方式,异步的参数及返回值相对简单,使用时无需传递参数,返回值直接就是收到的数据。

    发送数据

    同步方式

    使用mt:send(data)接口即可发送数据,因为同步方式大多数时间都是阻塞在接收部分的,所以根据前文同步接收数据的说明可以通过配置msg退出阻塞,然后发送数据。可以参考demo做法。在rev配置msg为pub_msg然后通过其他协程使用sys.publish向pub_msg发送数据,退出阻塞以后直接发送。

    -- 测试代码,用于发送消息给socket
    sys.taskInit(function()
        while not socket.isReady() do sys.wait(2000) end
        sys.wait(10000)
        -- 这是演示用sys.publish()发送数据
        for i = 1, 10 do
            sys.publish("pub_msg", string.rep("0123456789", 1024))
            sys.wait(500)
        end
    end)
    

    异步方式

    异步方式也相对简单直接使用mt:asyncSend(data)发送即可。需要说明的一件事是异步方式没有timeout所以心跳需要自己维护或者使用mt:asyncSelect(keepAlive, pingreq)配置心跳时间及内容。

    CSDK

    csdk请参考demo目录下的demo_socket.c

    相关教程可见csdk的tcp教程

    DTU固件

    对于只需要使用模块进行透传数据的常见,推荐使用合宙开源的dtu固件,只需要一条指令就可实现网络连接和服务器状态维护,还可使用web配置参数,方便又简单。

    相关教程

    SmartDTU 是集成远程物联网控制功能的固件,只需要配置几下就可以实现大部分场景所需要的功能和逻辑,方便传统业务快速联网。手册和固件下载在群文件!
    WEB配置:http://dtu.openluat.com
    注意:请用chrome或firefox等兼容浏览器。如果联网请求参数失败,请把ERP账号和IMEI给我添加。SmartDTU是什么:https://ask.openluat.com/article/997
    B站教程:https://www.bilibili.com/video/av41012302
    硬件教程:https://www.bilibili.com/video/av45341487
    工具教程:https://www.bilibili.com/video/av50453083
    Luat开发教程:https://www.bilibili.com/video/av50827315
    看懂Luat日志:https://ask.openluat.com/article/15
    源码:https://gitee.com/hotdll/iRTU

    展开全文
  • 移远4G模块,EC20最新固件包烧录工具
  • 4g模块如何连接云服务器 内容精选换一换华为云帮助中心,为用户提供产品简介、价格说明、购买指南、用户指南、API参考、最佳实践、常见问题、视频帮助等技术文档,帮助您快速上手使用华为云服务。介绍使用同一VPC内...
  • 4g模块和云服务器通信 内容精选换一换通过PostgreSQL客户端连接实例的方式有非SSL连接和SSL连接两种,其中SSL连接通过了加密功能,具有更高的安全性。登录弹性云服务器。创建并登录弹性云服务器,请参见《弹性云...
  • 4G模块,也被叫做4G通信模块或4G DTU模块,他是物联网行业具有4G通信功能的一种产品,通过4G模块,我们可以实现工业设备数据通过无线4G网络传输到远端控制中心,并从控制中心通过4G模块远程对工业设备进行数据通信。...
  • 龙尚4G模块 U8300C驱动

    2021-05-04 14:33:46
    龙尚4G模块 U8300C WIN10驱动
  • arm linux 4G模块代码,基于华为4G模块,基于Ti A8芯片
  • 4g模块和云服务器是怎么通讯的 内容精选换一换当用户已在ECS服务购买GPU加速型云服务器,并且想在该云服务器上运行应用时,可以通过纳管的方式将该云服务器纳入VR云渲游平台管理。登录控制台,在服务列表中选择...
  • 树莓派使用工业4G模块的起因 我之所以要在树莓派上使用工业4G模块,是因为,我们使用电信的4G卡经常掉线,我们先来看看这两种4G模块的外观区别: 上是华为4G模块,下面是电信4G模块。 好了,我们再来了解工业级别和...
  • 4G模块发送程序

    2019-04-11 17:09:25
    4G模块,SIM7600模块的4G连网流程,大家可以参考一下具体的AT指令,已经调试通过。可以用到数据发送中。
  • 4G模块资料

    2013-12-15 13:00:07
    中心4G上网模块资料,可以协助了解4G模块的规格参数、4G频段定义等
  • 4g模块电路设计pcb

    2018-03-05 11:02:11
    4g 模块 电路设计 pcb制作
  • Android 4g模块添加一些手册和资源可以看我的博客一起使用 Android 4G 模块添加 TV平台Mstar HISI
  • 4G模块发短信源码

    2018-10-14 11:53:42
    使用4G模块发短信的实现。4G模块会被识别成多个ttyUSB设备文件,利用其中的一个ttyUSB设备就可以实现发短信功能。具体的代码参考附件。
  • 4G模块原理图

    2018-12-04 16:03:08
    用AD画的4G模块的开发板图,包含原理图和PCB,初学用户可以使用。
  • 4G模块使用手册

    2016-05-04 13:20:47
    USR-G402tf 4G模块的软件开发指令手册。
  • 4G模块ML302开发板资料

    2020-09-25 16:28:21
    这个是一款4G模块开发板,ML302模块开发板,里面包含电路原理图和开发资料等,帮助开发人员进行设计参考
  • 广和通4G模块NL668

    2019-01-05 01:02:18
    广和通4G模块NL668硬件手册,4G全网通。广和通4G模块NL668
  • Linux 4G模块通信

    千次阅读 2020-02-20 14:46:33
    4G模块大都是采用了MiniPCIE接口,实际上通信接口都是USB,4G模块驱动对应的就是USB驱动。4G模块厂商都提供了详细的文档讲解如何在linux下使用4G模块,以及如何修改Linux内核加入4G模块驱动。 一、硬件原理图 4G...
  • linux移植4G模块方式

    2017-12-14 16:56:42
    该文档描述如何移植4G模块到linux系统上,并对移植步骤所涉及到的驱动代码进行解释,通过该文档可以成功移植一块4G模块到linux上,最后有模块调试和测试方法
  • 4G模块硬件开发文档

    2017-08-08 10:44:18
    4G模块 EC20+WIFI FC10开发板全套资料 OBD 4G+WIFI 原理图
  • 4G模块连接阿里云调试
  • HUAWEI 4G 模块

    2014-01-06 17:09:17
    华为最新 4G模块设计指导 以及认证规范性的文档
  • 移远4g模块驱动手册

    2018-07-20 14:50:10
    移远4g模块驱动手册
  • 使用stm32F4的usb驱动4G模块,实现了通过USB虚拟出的串口,通过AT命令控制4G模块

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 34,001
精华内容 13,600
关键字:

4g模块