20
网络通信技术
Network Communication Technology
电子技术与软件工程
Electronic Technology & Software Engineering
蓝牙技术以低成本、低功耗、易联网及良好的抗干扰性能,作为短距离组网传输的重要通信手段,能够实现数据采集和控制,已成为物联网组网的一种重要实现方式。1 蓝牙通信
蓝牙(BlueTooth )作为一种无线通信技术,曾经标准化为IEEE 802.15.1,现在蓝牙技术联盟(SIG )来负责维护其技术标准,蓝牙标准最新版本蓝牙5已在2016年6月宣布。蓝牙使用短波特高频(UHF )无线电波,经由2.4至2.485GHz 的ISM 频段来进行通信,通信距离从几米到几百米不等[1-2]。
蓝牙通讯技术广泛应用在民用、工业控制领域,如智能手机、蓝牙音视频设备、煤水电气计量缴费、家用电器集控、智慧医疗领域的数据传输,BLE 作为智能手机与控制器间的通讯手段具有普及率高、功能低和稳定的优点[3-5]。2 技术实现2.1 需求分析
燃气企业物联的主体是连接插卡式燃气表,用户通过4G 和蓝牙通信功能,使用手机端APP ,将数据写入智能卡中,完成缴费过程。上一代蓝牙智能卡存在功耗高、写卡不稳定、成本高等问题。2.2 技术实现
硬件设备:
(1)主控蓝牙SOC 选用功耗低,体积小的主控芯片,选用功率低、体积小的SmartBond 蓝牙智能系统级芯片(SoC )。
(2)设计智能IC 卡接口部分供电电源。选用体积小,外围器件的无感电荷泵升压芯片。
(3)针对写卡不稳定,数据出错情况,设计一个低-高电平转换电路,选用低导通率NMOS 管搭建。
软件功能:蓝牙卡主要实现基础开卡、读卡、写卡、关闭功能,并与手机APP 进行蓝牙通讯,完成读写卡,实现蓝牙卡充值缴费的功能。
2.2.1 硬件系统设计
蓝牙SOC 负责蓝牙通信协议,无线数据收发处理。IC 卡电源管理,读写IC 卡功能,IC 卡读写权限控制。指示灯显示闪烁,及电池电量管理,自动关机管理等功能。蓝牙智能卡采用纽扣电池供电,其提供有效电压范围为2.5V-3.0V [6]。2.2.2 软件系统设计
开机自动关机功能模块、蓝牙连接及通信状态检测指示模块、蓝牙数据通信模块、蓝牙IC 卡公用及类型自动检测模块、AT88SC102卡功能模块、4442卡功能模块、APP 通信数据下发解码模块、IC 卡数据上传编码模块、MAC 码读写功能模块、电池电量监测模块、防止死机WDG 模块、调试信息打印模块[7]。2.2.3 业务流程
根据具体业务需要,系统流程图如图1所示。2.2.4 代码实现
//底层消息总处理
物联网蓝牙智能卡设计
于强1  康洪超1  郑达2  常奇2
(1.天津市大数据管理中心  天津市  300040    2.长春万易科技有限公司  吉林省长春市  130103)
void user_catch_rest_hndl(ke_msg_id_t const msgid,                        void const *param,
ke_task_id_t const dest_id,                        ke_task_id_t const src_id){    switch(msgid)
{  case CUSTS1_V AL_WRITE_IND: //底层发来  写特征值消息
{  struct custs1_val_write_ind const *msg_param = (struct custs1_val_write_ind const *)(param);
switch (msg_param->handle)
{ case CUST1_IDX_GAS_RX_V AL:    //写 GAS_RX    u s e r _c u s t s 1_g a s _r x _w r _i n d _handler(msgid, msg_param, dest_id, src_id);
app_pb_state_noupdata_timer_count = 0; //电源,蓝牙连接状态未更新总计时器清零
break;
case CUST1_IDX_GAS_TX_NTF_CFG: //写 TX_NTF_CFG
user_custs1_gas_tx_cfg_ind_handler(msgid, msg_param, dest_id, src_id);
 app_pb_state_noupdata_timer_count = 0; //电源,蓝牙连接状态未更新总计时器清零
break;
case CUST1_IDX_GAS_CMD_NTF_CFG: //写 CMD_NTF_CFG
90设计网
user_custs1_gas_cmd_cfg_ind_handler(msgid, msg_param, dest_id, src_id);
app_pb_state_noupdata_timer_count = 0; //电源,蓝牙连接状态未更新总计时器清零
break;
摘 要:本文分析了燃气企业对蓝牙通信技术的实际需求,详述物联网蓝牙智能卡在燃气用户缴费工作中发挥的作用和实现技术方案。关键词:燃气缴费;蓝牙智能卡;技术方案
图1:软件系统流程图
21
网络通信技术
Network Communication Technology
电子技术与软件工程
Electronic Technology & Software Engineering
case CUST1_IDX_SOFT_REV_V AL:  //写 SOFT_REV_V AL
user_custs1_soft_rev_wr_ind_handler(msgid, msg_param, dest_id, src_id);
break;                default:                break; }            } break;
case CUSTS1_V AL_NTF_CFM: //底层发来 APP 端收到数据后的 响应消息
{ struct custs1_val_ntf_cfm const *msg_param = (struct custs1_val_ntf_cfm const *)(param);
switch (msg_param->handle)
{ case CUST1_IDX_GAS_TX_V AL:    app_pb_state_noupdata_timer_count = 0; //电源,蓝牙连接状态未更新总计时器清零
break;
case CUST1_IDX_GAS_CMD_V AL:      app_pb_state_noupdata_timer_count = 0; //电源,蓝牙连接状态未更新总计时器清零
break;                default:                    break; }            } break;
case GAPC_PARAM_UPDATED_IND: //底层发来连接参数更新消息
{ struct gapc_param_updated_ind const *msg_param = (struct gapc_param_updated_ind const *)(param);
if ((msg_param->con_interval >=user_connection_param_conf.intv_min) && (msg_param->con_interval <= user_connection_param_conf.intv_max) &&
(msg_param->con_latency == user_connection_param_conf.latency) &&
(msg_param->sup_to == user_connection_param_conf.time_out))      } break;        default:        break; }  } //写卡命令 数据比较长,分包发送,接收后组包 if((tmp_pack_length >= 20)        &&((tmp_data_length == GAS_CMD_LEN_254)  ||(tmp_data_length == GAS_CMD_LEN_94))    &&(count_start_flag ==0)) { count_start_flag = 1; //组包开始标志置1  all_data_length = tmp_data_length; // 取总包长度  memset(recive_buff, 0, all_data_length); //初始化为零
//设置通信超时定时器 3000ms  set_gas_rx_wr_time_out_timer(1); } //内存分配成功,长包开始组包 if(count_start_flag == 1)//&&(recive_buff))  { if((data_length_count + tmp_pack_length) <= all_data_length )//如果组包总长度小于等于获取到的包长度,防止缓冲区溢出
{ //复制数据到缓冲区, 最开始data_length_count 为0
memcpy(recive_buff + data_length_count, ¶m->value[0], tmp_pack_length);
data_length_count = data_length_count +  tmp_pack_length; }
else  {CRC_error();  //数据处理错误  goto comm_error; }  if(data_length_count == all_data_length) //组包长度等于获取到的包长度
{set_gas_rx_wr_time_out_timer(0); //取消通信超时定时器
user_card_d_data = recive_buff; //设置user_card_d_data 指针 指向recive_buff
if(cmd_decode((const uint8_t*)recive_buff, all_data_length)) //如果解码正确
{//处理命令 并回应APP        data_process();}  all_data_length = 0;  //所有计数器及标志清零
data_length_count = 0;    count_start_flag = 0; }} return;comm_error:
comm_led_stata = 0;  return; }3 经验总结3.1 原器件选型
(1)合理降低成本。MCU 与器件选型,优先选用国产化产品。(2)降低功耗。MCU 选择业界最低功耗的,无通信功能,且具备自动关机功能。3.2 预留扩展
随着蓝牙技术的进一步发展,蓝牙通信速率将不断提高,因此需充分考虑能够扩展其它卡型的蓝牙智能卡。4 结语
随着物联网发展,蓝牙技术将在各个领域得到更广泛、更深入的应用。
参考文献
[1]皮和平.关于中国电信物联网的部署策略的探讨[J].移动通
信,2017(6):24-27.
[2]五角大寨.连接到物联网的12种通信技术.CSDN,2018-5-20.[3]种健,张宝树.基于BLE 的民用燃气表控制器设计[J].承德
石油高等专科学校学报,2019(2):38-41.
[4]镇咸舜.蓝牙低功耗技术的研究与实现[D].上海:华东师范
大学,2013.
[5]徐浡伦.一种基于增材制造技术的多功能蓝牙音箱设计[J].
承德石油高等专科学校学报,2018,20(1):28-30.
[6]Bluetooth Low Energy 4.2 SoC.Dialog Semiconductor,2016.[7]User Manual DA1458x Software Developer's Guide.Dialog
Semiconductor,2016.作者简介
于强,天津市大数据管理中心,高级工程师。康洪超,天津市大数据管理中心,工程师。
郑达,长春万易科技有限公司,总工程师,高级工程师。常奇,长春万易科技有限公司,高级工程师。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。