BC26 OPEN开发之--LWM2M连接分析

翔神教你学NB

BC26 OPEN开发之--LWM2M连接分析

前言:

    NB-IOT商用已经2年多了,三大运营商都建设了大量的NB网络,尤其以中国电信最为积极,各个模组厂家推出了大量的NB模组,移远的NB模组的出货量占了绝大数。BC26作为移远推出的第一款支持open开发的模组获得了大量的应用,为什么?价格优势在那呢。笔者利用这款模组开发了不下10款产品,其中一款产品3个月出货达到了40K.不多说了,下来就聊聊BC26的open开发之LWM2M。

         为什么是LMM2M啊? 因为中国电信开发平台支持LWM2M.同时电信的NB网络覆盖最广。

试验准备:

BC26 OPEN开发一套:

如果没有的可以点击:

https://item.taobao.com/item.htm?spm=a2126o.11854294.0.0.35eb4831eGzhta&id=601354111610

笔者年初做的一款BC26开发板,价格相当于白送就收个模块钱。有的就继续往下看。

编译工具一个:

笔者用的是VS CODE 为什么用这个边用先卖个关子。

VS CODE打开工程如下图:

关键的数据结构:

typedef enum{

    STATE_NW_QUERY_STATE,

    STATE_LwM2M_SERV,

    STATE_LwM2M_CONF,

    STATE_LwM2M_ADDOBJ,

    STATE_LwM2M_OPEN,

    STATE_LwM2M_UPDATE,

    STATE_LwM2M_CFG,

    STATE_LwM2M_SEND,

    //STATE_LwM2M_RD,

    STATE_LwM2M_CLOSE,

    STATE_LwM2M_DELETE,

    STATE_TOTAL_NUM

}Enum_ONENETSTATE;

static u8 m_lwm2m_state = STATE_NW_QUERY_STATE;

这个枚举类型里定义了,LWM2M的重要状态。并对变量进行了初始化。

主任务:

void proc_main_task(s32 taskId)

定时器回调函数:

static void Callback_Timer(u32 timerIdvoidparam);

串口回调函数:

static void CallBack_UART_Hdlr(Enum_SerialPort port, Enum_UARTEventType msgbool levelvoidcustomizedPara);

 

proc_main_task的流程图如下:

URC处理是该任务的重点处理流程如下:

 

 

proc_main_task中在while(1)的死循环中来获取模块底层上报的URC消息,根据URC消息进行不通的处理。

 

另外一个重要的函数

static void Callback_Timer(u32 timerId, void* param)

负责注网和电信平台建立网络连接,在测试前要保证BC26模块在电信平台注册同时SIM卡没有欠费。

/*****************************************************************

* LwM2M  timer param

******************************************************************/

#define LwM2M_TIMER_ID         TIMER_ID_USER_START

#define LwM2M_TIMER_PERIOD     1000

 

每一个TIMER需要一个ID编号,上面定义了ID和周期,该定时器1S执行一次。

 

Callback_Timer函数里用状态机实现了注网和连接平台的过程,具体的流程如下:

标题

到这LWM2M的流程就讲完了,看下代码执行结果把:

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值