罗波华工作室Class_B详解教程:LoRaWAN Class A-D细节

需积分: 48 63 下载量 9 浏览量 更新于2024-08-07 收藏 983KB PDF 举报
本资源是一份关于Roboware Studio教程的第8章,详细介绍了Class B LoRaWAN的各个方面。LoRaWAN Class B是一种通信模式,适用于对功耗有限但又需要周期性数据传输的设备,如环境监测设备或远程传感器网络。Class B的特点是数据传输被划分为三个不同时间段:睡眠、接收窗口和确认周期。 1.1 节点角色: 章节开始首先定义了LoRaWAN Class B节点的角色,这些节点在LoRaWAN网络中作为ALL END DEVICE,能够接收来自网络的消息,并在特定时间窗口进行数据发送。 1.2 文档约定: 文档中强调了规范一致性,包括使用的术语定义和协议行为的预期。 2.1 Class B分类: Class B节点分为三个主要操作阶段:接收窗口A(唤醒接收)、接收窗口B(睡眠后接收)和睡眠周期,每个阶段有其独特的特性。 3.章至4章深入探讨了物理层(PHY)和介质访问控制层(MAC)帧结构,包括上行和下行消息、接收窗口的设置(第一和第二接收窗口的信道选择、数据速率和启动时间)、以及MAC命令如LinkCheck、LinkADR和DutyCycle等,这些命令用于调整通信参数以优化网络性能。 5.1 MAC命令详细说明: 这部分详细解释了各种MAC命令的使用,如LinkCheck(用于检查链路质量),LinkADR(调整数据速率和传输功率以适应当前环境条件),以及终端发射占空比控制,确保高效能和节能。 1.7 和后续小节涵盖了更多关于网络管理、错误检测与纠正(MIC)、时间和频率同步以及电池寿命优化的内容。 总结来说,本章节为开发者提供了深入理解LoRaWAN Class B工作原理和如何在Roboware Studio中实现它所需的全面指导,涵盖了从网络结构到实际通信协议的方方面面,对于LoRaWAN网络设计者和开发人员来说是不可或缺的参考资料。

以hive的角度检查语法: with cur_dim_comb as (SELECT DISTINCT t.dim_comb ,t.var_sub_class ,t.acc_value FROM gerp.cux_cst_data_alloc_his t WHERE t.top_var_type = '10' AND t.job_ver_id in (SELECT ver.job_ver_id AS p_job_ver_id FROM gerp.cux_cst_dist_jobs_all job INNER JOIN gerp.cux_cst_dist_jobs_vers_all ver ON job.job_id = ver.job_id )) select tp.bd_code --事业部编码 ,tp.bd_name --事业部名称 ,hp.ou_code --OU名称 ,hp.ou_name --OU编码 ,op.main_class_desc --差异大类 ,op.acc_value --科目代码 ,op.acc_desc --科目名称 ,op.dim_comb --区分维度 ,op.begin_amount --期初余额 ,op.accrual_amount --本期发生 ,op.balance_diff_alloc_amount --期末差异结存 ,op.var_sub_class ,op.main_class_value ,op.org_id ,op.period_name ,op.job_ver_id from (select up.* ,q1.* from (SELECT DISTINCT maincl.* ,t.* FROM t inner join (SELECT fv.flex_value ,fv.description FROM fv inner join fs on fv.flex_value_set_id = fs.flex_value_set_id AND fs.flex_value_set_name = 'CUX_CST_VARIANCE_TYPE' AND fv.enabled_flag = 'Y' AND fv.hierarchy_level = '2' AND fv.flex_value LIKE '10%' ) maincl on t.var_main_class = maincl.flex_value inner join cur_dim_comb on cur_dim_comb.var_sub_class = t.var_sub_class and cur_dim_comb.acc_value = t.acc_value WHERE 1 = 1 AND t.top_var_type = '10' AND t.job_ver_id in (SELECT ver.job_ver_id AS p_job_ver_id FROM gerp.cux_cst_dist_jobs_all job INNER JOIN gerp.cux_cst_dist_jobs_vers_all ver ON job.job_id = ver.job_id) ORDER BY maincl.description ,t.acc_value ,cur_dim_comb.dim_comb ) up inner join (SELECT t1.* ,SUM(t1.begin_amount) begin_amount ,SUM(t1.accrual_amount) accrual_amount ,SUM(t1.balance_diff_alloc_amount) balance_diff_alloc_amount FROM gerp.cux_cst_data_alloc_his t1 LEFT JOIN gerp.cux_cst_data_alloc_his t ON t1.top_var_type = '10' AND t1.var_sub_class = t.var_sub_class --p_var_sub_class AND t1.org_id = t.org_id --p_org_id AND t1.period_name = t.period_name --p_period_name AND t1.job_ver_id = t.job_ver_id --p_job_ver_id AND t1.acc_value = t.acc_value --p_acc_value WHERE t1.dim_comb in (select distinct dim_comb from cur_dim_comb) group by t1.org_id,t1.period_name,t1.job_ver_id,t1.var_sub_class,t1.acc_value ) q1 on q1.org_id = up.org_id --p_org_id AND q1.period_name = up.period_name --p_period_name AND q1.job_ver_id = up.job_ver_id --p_job_ver_id AND q1.var_sub_class = up.var_sub_class --p_var_sub_class AND q1.acc_value = up.acc_value --p_acc_value ) op

2023-05-26 上传