多协议低功耗节点开发

开发环境:

硬件:EFR32MG12P332F1024GL125@10dBm

SDK:EmberZNet 6.5.0.0

基于例程:DynamicMultiprotocolDemoLightSedSoc和DynamicMultiprotocolDemoSwitchWithNvm3Soc

1.需要设置好Board名称

 2.设置Bootloader类型

3.去掉Plugin,降低功耗

取消勾选ADC、Graphics Library、WSTK Display Driver、Dynamic Multiprotocol UI Demo Code

勾选Dynamic Multiprotocol UI Demo Code Stub 和 EEPROM POWERDOWN

修改BLE里的Max number of BLE connections :1

修改End Device Support里的Long Poll Interval:4

修改Micrium RTOS里的勾选Enable EM1/EM2,取消勾选Poll CLI

修改Network Steering里的Radio output power:10dBm

4.打开.hwconf文件,取消勾选SPI Display和LED

5. 生成IAR工程

修改 DynamicMultiprotocolDemoLightSedWithNvm3Soc.h 文件

//最大蓝牙连接个数改为1,连接一台手机后不再广播

#define EMBER_AF_PLUGIN_BLE_MAX_CONNECTIONS   1

//修改Long Poll间隔为4秒

#define EMBER_AF_PLUGIN_END_DEVICE_SUPPORT_LONG_POLL_INTERVAL_SECONDS  4

//End Device Support plugin增加

#define EMBER_AF_PLUGIN_END_DEVICE_SUPPORT_ENHANCED_SLEEP_SUPPORT

//plugin Idle/Sleep plugin去掉

#define EMBER_AF_PLUGIN_IDLE_SLEEP_STAY_AWAKE_WHEN_NOT_JOINED

//plugin Micrium RTOS增加
#define EMBER_AF_PLUGIN_MICRIUM_RTOS_SLEEP_ENABLE

//修改发射功率为最大

#define EMBER_AF_PLUGIN_NETWORK_STEERING_RADIO_TX_POWER 10

//去掉CLI定时器,250ms唤醒一次会影响功耗测试

#define EMBER_AF_PLUGIN_MICRIUM_RTOS_POLL_CLI

屏蔽函数

//dmpUiClrLcdDisplayMainScreen();

//writeIdentifyTime(180);

修改程序:

1.在emberAfPluginBleEventCallback()函数中

在gecko_evt_le_connection_opened_id 的case中的else条件的最后一行加上

gecko_cmd_le_connection_set_parameters(conn_evt->connection, 80, 160, 0, 400);//设置蓝牙心跳间隔为200ms

2.在enableBleAdvertisements()函数中修改BLE广播发射功率

gecko_cmd_system_set_tx_power(-160);//修改为ADV TX Power -16dBm

并且修改广播间隔为318ms

gecko_cmd_le_gap_bt5_set_adv_parameters(HANDLE_DEMO, 510, 510, 7, 1);//修改为ADV Interval 318ms

3.在最后一行屏蔽,禁止发送广播Beacon数据

//BeaconAdvertisements(devId);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
抱歉,我作为一个语言模型AI,并不能进行软件开发。但是,我可以提供一些相关的技术知识和信息供您参考。基于ZigBee和TCP/IP的软件传感器节点设计系统需要了解以下知识: 1. ZigBee协议:ZigBee是一种低功耗、近距离无线通信协议,适用于物联网应用。它采用的是IEEE 802.15.4标准,支持多层协议栈,包括应用层、网络层、MAC层和物理层。传感器节点需要使用ZigBee协议进行通信。 2. TCP/IP协议:TCP/IP是一种网络通信协议,用于互联网中数据的传输。它包括传输层的TCP协议和网络层的IP协议,能够实现可靠的数据传输和路由功能。网关中心节点需要使用TCP/IP协议与上层网络进行通信。 3. 传感器数据采集:传感器节点需要采集各传感器的数据,并进行AD转换和显示。可以使用单片机和相应的模拟数字转换芯片进行数据采集和处理。 4. 休眠模式:为了延长电池寿命和降低功耗,传感器节点需要实现休眠模式。可以使用单片机的低功耗模式和定时器中断来实现。 5. 路由功能:传感器节点需要具备路由功能,可以转发其他节点的数据。可以使用ZigBee协议中的网络层实现路由功能。 6. 网络连接:传感器节点需要向网关中心节点发送入网请求,并进行连接。可以使用ZigBee协议中的网络层和应用层实现网络连接。 以上是一些基于ZigBee和TCP/IP的软件传感器节点设计系统中需要了解的知识点,希望对您有所帮助。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值