最近要给一个产品附加上远程网络更新的功能,又刚好拿到性价比超高的DX-CT511中移动的4G (NBIOT?) 模块,本身他是实现了HTTP和MQTT功能,但是实际通信发现不是很好用,最后还是只移植了裸的TCP通信,总共可以创建3个连接.这种模块你就不要讲究太高的通信速度了,速度不是他们的目标.
主要移植dx_io.c为自己的串口收发,就可以迁移到任意平台了.
主要用法
// 初始化,需要先执行
DX_Init();
// 获取设备信息,用于区分设备
DX_GetDeviceInfo(&device);
// 获取当前设备装填
DX_GetConnectionStatus();
// 获取信号质量
DX_GetRSSIandBER(&rssi,&ber);
// 获取时间日期
DX_GetDateTime(&dt);
// 设置APN
DX_SetAPN("cmnbiot","","");
// 打开连接,如果失败要检查是不是对面端口打不开等等,不支持UDP.
DX_NetConnOpen(0, "TCP", "183.2.172.185", 80);
// 打开连接后也不能直接写,要等几十毫秒起.
DX_NetConnWrite(0, sizeof(request), request);
// 读取是轮询的,所以要间隔一段时间来看看.
DX_NetConnRead(0, buf);
// 完事可以关闭
DX_NetConnClose(0);
因为基于RAW TCP了,所以上层套个mbedtls什么的也是很方便啦.
比合宙还便宜么,能直接模组上二开嘛