ETC JN5139

Wireless Control That Simply Works
Jennic JN51XX开发概述
硬件,安装和编程初步
目录
 硬件平台




芯片
模块
最小系统
开发包
 软件平台




开发包特性
SDK的安装
高功率模块
参考文档
 协议栈





802.15.4
Zigbee
Jenie
AT-Jenie
6LoWPAN
芯片结构图
模块结构图
模块外形图
模块接口
•
•
•
•
•
•
•
•
•
五个SPI接口
两个 UART串口
两个可编程定时计时器
两线的I2C口
21个通用的IO口(部分和UART复用)
四路12-bit, 100ksps 的ADC
两路11位的DAC
一个比较器
内部的温度与电压传感器
模块管脚图
最小系统
JN5121模块
• 2.4GHz IEEE802.15.4 兼容,2.7-3.6V 工作电压
• 休眠电流(带有唤醒计时器) < 14μA
JN5121-xxx-M00/01 (> 100m ,18x30mm)
• 标准模块, 0dBm power
• M00: 板载陶瓷天线
• M01: SMA天线连接器,
• 接收灵敏度-90dBm
• TX 电流 < 45mA
• RX 电流 < 50mA
JN5121-xxx-M02 ( > 1km ,18x40mm)
• 18dBm power 带 SMA 连接器,
• 接收灵敏度-93dBm
• TX 电流< 120mA
• RX 电流 < 55mA
JN513x模块
• 2.4GHz IEEE802.15.4 兼容,2.7-3.6V 工作电压
• 休眠电流(带有唤醒计时器) < 2.8μA
JN5139-xxx-M00/01 /03(> 100m ,18x30mm)
• 标准模块, 0.5dBm power;
• 增强模式+2.5dBm;
• 天线: M00板载陶瓷天线,uFI、SMA天线连接器,
• 接收灵敏度–96.5dBm
• TX 电流 < 37mA
• RX 电流 < 37mA
JN5121-xxx-M02/04( > 1km ,18x41mm)
• 19dBm power 带 SMA 或uFl连接器,
• 接收灵敏度-100dBm
• TX 电流< 120mA
• RX 电流 < 45mA
JN513X功耗
Operation
Current(mA)
Sleep (RAM contents not held)
0.0051
Sleep (RAM contents held)
0.0075
Application running (wireless transceiver off)
9.000
Application running (wireless transceiver on)
12.80
Radio Transmitting
37
Radio Receiving
37
功耗计算示例
以休眠10钟为例,功耗计算如下:
10分钟平均电流为:2418.168 / 600 = 4.03 µA
则两节1000mAh的7号电池,其使用时间为:25年
EK系列开发包
DK系列开发包
软件平台
•开发包特性
•SDK的安装
•高功率模块
•参考文档
Jennic开发包技术特性
软件开发套件:
- 集成的编辑、编译以及Debug调试环境;
- 802.15.4、Zigbee、Jenie、AT-Jenie协议栈库;
- 控制器和外围设备驱动库;
- 不同的Demo应用程序,包括传感网络,家庭控制等;
各种手册:
-硬件手册;
-参考设计;
- API手册;
-用户手册;
-应用程序注意事项;
测试环境:
- Daintree 无线传感器网络分析工具包(基本版);
- IEEE802.15.4报文窃听器和网络测试应用程序 ;
注:原装开发包中包含。
安装开发平台
JN-SW-4031-SDK-Toolchain-v1.1.exe,按照默认路径安装。
安装协议栈库文件
安装库文件JN-SW-4030-SDK-Libraries-v1.1.exe,按照默认路径安装。
库的调用(一)
如果你要进行库的修改,则可以在CodeBlock中进行设置,
Project→Build options,如下所示:
库的调用(二)
头文件的替换入下图所示
命令行方式下载程序(一)
1. 工程默认目录,必须安放到以下路径:
x:\Jennic\cygwin\jennic\SDK\Application\
2. CodeBlock 编译:
3.设置下载连接:
Tools菜单->configure tools…->编辑-
命令行方式下载程序(二)
命令行下载程序(三)
第三行应为
f${PROJECT_DIR}JN5121_Build\${PROJECT_NAME}.bin -c4
( 最后的’4’为串口号.USB->串口线编程时,需要9线信号完整)
4.启动下载:Tools菜单-Download To Flash;
5.模块处于可编程状态(请注意跳线);
6. 模块通电启动进入可编程模式;
7. 下载程序
8.使用命令行的方式下载程序也可以把license
保存写来。
Flash Programmer下载程序
如果你购买的是DK系列的开发包,
在使用Flash Programmer下载程
序时,请按照以下步骤进行
[1] 编译目标源代码生成bin文件
[2] 运行Flash Programmer
[3] 点击browse选择目标bin文件
[4] 选择所使用串口
[5] 连接好串口电缆
[6] 将J6条线至于PROG处
[7] 将目标板电源打开
[8] 点击Program
[9] 运行时,请将J6跳线至RUN处
注:运行与编程模式时,J2与J3跳
线按照出厂时的跳线位置即可。
关于Flash-Programmer的详细使用
说明,请参考说明文档:
JN-UG-3007-Flash-Programmer
软件调试
软件调试主要有两种方式:
第一种方式:
Code::Block IDE开发环境中自带的Debug调试模式,使用这种模式的话,用户需
要在编译时使用Debug模式,然后通过前面介绍的方式把编译的代码下载到硬件中,
然后就可以在程序中设置断点、单步执行等操作。目前这种调试模式,调试速度比
较慢,全局变量看不到,以及与协议栈有关的部分代码不能够设置断点等。
第二种方式:
使用vPrintf函数把你需要看到的变量通过串口工具输出来,这种模式的话,就必须
使用Release的编译模式。使用该函数主要包括printf.c, printf.h这两个库文件,把这
两个库文件加入到您的工程中,然后在主程序的代码头部include下面包含头文件
#include “..\..\..\Chip\Common\Include\Printf.h“,然后在您的代码的初始化设备的
函数里加入vUART_printInit();一般应该在(void)bBosRun(TRUE)的前面加入。这样
就可以在您的代码的任何地方使用vPrintf来向串口输出信息了。
例如:vPrintf(“Temp= %d \r\n”,u16Temp);目前支持的格式主要有:
%d:十进制; %x:十六进制; %b:二进制 ;%c:字符 ;%s:字符串;
注:关于Code::Block的详细使用说明以及调试方法,请参考
JN-UG-3028-CodeBlocks.pdf
高功率模块(一)
•
如果你使用的是Jennic的M02,MO4高功率模块,那么需要在软件中打开高功
率,否则通讯距离会非常近。打开高功率的方法有两种:
方法一:
•
JN5121高功率使能
PUBLIC void AppColdStart(void)
{
uint32 *pu32Reg;
uint32 u32TempPwrCtrl;
pu32Reg
= (uint32 *)0x10000000;
u32TempPwrCtrl = *pu32Reg;
*pu32Reg= u32TempPwrCtrl | 0x02000000;
/* Set network information */
JZS_sConfig.u32Channel = WSN_CHANNEL;
JZS_sConfig.u16PanId = WSN_PAN_ID;
/* General initialisation */
vInit();
/* No return from the above function call */
}
/* JN5139高功率使能 */
vAHI_HighPowerModuleEnable(TRUE,TRUE);
/* Start BOS */
(void)bBosRun(TRUE);
注:JN5139使能只需要在BOS系统启动前添加
高功率使能函数即可。
高功率模块(二)
方法二:
编译时,直接用高功率库替换掉低功率库即可,对于JN513X系列,则仍要调
用高功率使能函数。具体可以参考JN-AN-1049-Developing-With-High-PowerModules-1v3.pdf这个文档。
参考文档—软件平台
编号
说明
JN-SW-4031-SDK-Toolchain.exe
开发平台
JN-SW-4030-SDK-Libraries.exe
协议栈库文件
JN-SW-4022-Production-Test-API
产品测试库
JN-RN-0010-SDK-Toolchain
开发平台更新说明
JN-RN-0011-SDK-Libraries
协议栈库更新说明
MacZigbeeLicInst1.2.0
License重写工具
无线抓包工具
能够进行无线数据的抓包
注:开发平台、协议栈以及产品测试库,请按照默认路径以及先后顺序进行安装。
如果你的MAC地址丢失,可以使用MacZigbeeLicInst1.2.0重写license。
参考文档—802.15.4
编号
说明
JN-UG-3029-JN5139-EK000-Getting-Started
JN5139EK00开发包包含的主要软硬件
JN-UG-3032-802-15-4-HomeSensorDemo
JN5139EK000开发包WSN Demo程序应用指南
JN-UG-3024-IEEE802.15.4-Wireless Networks
802.15.4协议栈使用指南
JN-RM-2024-IEEE802.15.4-App-Dev
IEEE 802.15.4开发参考
JN-RM-2001-Integrated-Peripherals-API
模块外围硬件操作接口API
JN-RM-2002-802.15.4-Stack-API
802.15.4协议栈API
JN-RM-2003-Board-API
传感器板和控制器板的外围器件操作API
JN-UG-3028-CodeBlocks
开发平台CodeBlocks使用指南
JN-UG-3007-Flash-Programmer
Flash Programmer下载程序使用指南
JN-AN-XXXX
不同应用的例程
参考文档—Zigbee
编号
说明
JN-UG-3030-JN5139-EK010-Getting-Started
JN5139EK010开发包包含的主要软硬件
JN-UG-3033-ZigBee-HomeSensorDemo
JN5139EK010 Zigbee WSN网络应用指南
JN-UG-3017-ZigBeeStackUserGuide
Zigbee协议栈用户指南
JN-UG-3045-ZigBee-Advanced-User-Guide
Zigbee协议栈用户使用高级指南
JN-RM-2001-Integrated-Peripherals-API
模块外围硬件操作接口API
JN-RM-2003-Board-API
传感器板和控制器板的外围器件操作API
JN-RM-2014-ZigBeeAppDevAPI
ZigBee应用开发API
JN-RM-2017-ZigBeeDeviceProfileAPI
ZDP API 参考手册
JN-RM-2018-ZigBeeAppFramework-API
ZigBee AppFramework API 参考手册
JN-RM-2021-BOS-Operating-System-3v1
BOS操作系统的构架以及使用说明
JN-UG-3028-CodeBlocks
开发平台CodeBlocks使用指南
JN-UG-3007-Flash-Programmer
Flash Programmer下载程序使用指南
JN-AN-XXXX
不同应用的例程
参考文档—Jenie
编号
说明
JN-UG-3050-JN5139-EK020-Getting-Started
JenNet与AT-Jenie开发应用指南
JN-UG-3046-Jenie-HomeSensorDemo
JN5139EK020 Jenie WSN网络应用指南
JN-UG-3042-Jenie-API
Jenie API用户指南
JN-RM-2035-Jenie-API
Jenie API参考手册
JN-UG-3041-JenNet
JenNet协议栈用户指南
JN-RM-2003-Board-API
传感器板和控制器板的外围器件操作API
JN-UG-3028-CodeBlocks
开发平台CodeBlocks使用指南
JN-UG-3007-Flash-Programmer
Flash Programmer下载程序使用指南
JN-AN-XXXX
不同应用的例程
参考文档—AT-Jenie
文档名称
描述
JN-RM-2037-DR1080-Starter-Board
JenNet与AT-Jenie开发应用指南
JN-UG-3043-AT-Jenie
AT-Jenie协议栈使用指南
JN-RM-2038-AT-Jenie
AT指令详细的说明与配置参考
JN-RM-2036-AT-Jenie-Quick-Command-Ref
AT-Jenie指令概述参考
JN-UG-3028-CodeBlocks
开发平台CodeBlocks使用指南
JN-UG-3007-Flash-Programmer
Flash Programmer下载程序使用指南
其它参考手册
文档名称
描述
JN-AN-1001-Power-Estimation
模块功耗计算
JN-AN-1003-Boot-Loader-Operation
JN-AN-1004-Ccm-Encryption
JN-AN-1007-Boot-Loader-Serial-Protocol
JN-AN-1010-PortingToRomMac
JN-AN-1014-Site-Survey-Tool
JN-AN-1016-ZigBee-Wireless-UART
协议栈
802.15.4
Zigbee
Jenie
AT-Jenie
 6LoWPAN
协议栈
802.15.4堆栈接口
IEEE802.15.4和串口应用实例
• JN-AP-1005-Wireless-UART-1v8.zip
IEEE802.15.4和串口应用实例
IEEE802.15.4和串口应用实例
•
•
•
•
程序结构
802.15.4事件队列
硬件事件队列
802.15.4收发
程序结构
PUBLIC void AppColdStart(void)
{
vWUART_Init();
while(1)
{
vProcessEventQueues();
switch (sCoordData.sSystem.eState)
{
case E_STATE_INIT:
sCoordData.sSystem.u8Channel = CHANNEL_MIN;
sCoordData.sSystem.eState = E_STATE_START_ENERGY_SCAN;
break;
case E_STATE_START_ENERGY_SCAN:
vStartEnergyScan();
sCoordData.sSystem.eState = E_STATE_ENERGY_SCANNING;
break;
case E_STATE_ENERGY_SCANNING:
break;
case E_STATE_START_COORDINATOR:
vStartCoordinator();
sCoordData.sSystem.eState = E_STATE_RUNNING_UART_APP;
break;
case E_STATE_RUNNING_UART_APP:
break;
}
// 802.15.4 FSM
802.15.4事件队列
PRIVATE void vProcessEventQueues(void)
{
MAC_MlmeDcfmInd_s *psMlmeInd;
MAC_McpsDcfmInd_s *psMcpsInd;
AppQApiHwInd_s *psAHI_Ind;
/* Check for anything on the MCPS upward queue */
do{ psMcpsInd = psAppQApiReadMcpsInd();
if (psMcpsInd != NULL)
{
vProcessIncomingData(psMcpsInd);
vAppQApiReturnMcpsIndBuffer(psMcpsInd);
} } while (psMcpsInd != NULL);
/* Check for anything on the MLME upward queue */
do
{ psMlmeInd = psAppQApiReadMlmeInd();
if (psMlmeInd != NULL)
{ vProcessIncomingMlme(psMlmeInd);
vAppQApiReturnMlmeIndBuffer(psMlmeInd);
} } while (psMlmeInd != NULL);
….
硬件事件队列
…….
/* Check for anything on the AHI upward queue */
do
{ psAHI_Ind = psAppQApiReadHwInd();
if (psAHI_Ind != NULL)
{ vProcessIncomingHwEvent(psAHI_Ind);
vAppQApiReturnHwIndBuffer(psAHI_Ind);
}
} while (psAHI_Ind != NULL);
}
802.15.4数据收发
MAC_McpsReqRsp_s sMcpsReqRsp;
MAC_McpsSyncCfm_s sMcpsSyncCfm;
uint8 *pu8Payload, i = 0;
int16 i16RxChar;
/* Create frame transmission request */
sMcpsReqRsp.u8Type = MAC_MCPS_REQ_DATA;
sMcpsReqRsp.u8ParamLength = sizeof(MAC_McpsReqData_s);
/* Set handle so we can match confirmation to request */
sMcpsReqRsp.uParam.sReqData.u8Handle = 1;
/* Use short address for source */
sMcpsReqRsp.uParam.sReqData.sFrame.sSrcAddr.u8AddrMode = 2;
sMcpsReqRsp.uParam.sReqData.sFrame.sSrcAddr.u16PanId = PAN_ID;
sMcpsReqRsp.uParam.sReqData.sFrame.sSrcAddr.uAddr.u16Short = COORD_ADDR;
/* Use short address for destination */
sMcpsReqRsp.uParam.sReqData.sFrame.sDstAddr.u8AddrMode = 2;
sMcpsReqRsp.uParam.sReqData.sFrame.sDstAddr.u16PanId = PAN_ID;
sMcpsReqRsp.uParam.sReqData.sFrame.sDstAddr.uAddr.u16Short = sCoordData.sNode.asAssocNodes[0].u16ShortAddr;
/* Frame requires ack but not security, indirect transmit or GTS */
sMcpsReqRsp.uParam.sReqData.sFrame.u8TxOptions = MAC_TX_OPTION_ACK;
pu8Payload = sMcpsReqRsp.uParam.sReqData.sFrame.au8Sdu;
pu8Payload[i++] = u8TxFrameHandle++;
pu8Payload[i++] = (uint8)i16RxChar;
/* Set frame length */
sMcpsReqRsp.uParam.sReqData.sFrame.u8SduLength = i;
/* Request transmit */
vAppApiMcpsRequest(&sMcpsReqRsp, &sMcpsSyncCfm);
}
ZigBee Application Framework
BOS介绍和程序结构
WSN应用例程
• JN-AP-1015-Zigbee-Wireless-Sensor-Network1v4.zip
ZigBee 开发接口 API
•
•
•
•
•
•
•
•
•
AppColdStart:这个函数是用户应用程序的入口。设备上电后应用程序就从这
个函数开始运行了。Jennic的程序并没有C语言程序中的main函数。在这个函
数的函数体中应该调用一系列的协议栈和BOS(Basic Operation System)的初始
化函数.
AppWarmStart:设备从内存供电的休眠模式唤醒的时候将进入这个函数。启动
后所有的内存数据都没有丢失。如果您的设备不需要休眠唤醒功能,这个函
数可以为空。
JZA_vAppEventHandler:协议栈会周期性的调用这个函数,这里我们定义了
一个时钟,用户可以在这里编写自己的主要应用
JZA_vStackEvent:协议栈将通过这个函数反馈网络层的一些网络事件,比如
网络启动成功或者节点加入成功,或者数据发送完成等等。
JZA_vPeripheralEvent:这个函数主要用来处理外部的硬件中断,比如说时钟
还有串口等等。
JZA_eAfKvpObject :用于用户程序接收处理其它节点发送来的KVP数据。
JZA_u8AfMsgObject :用于用户程序接收处理其它节点发送来的MSG数据。
JZA_vAfKvpResponse :这个函数用来接收发送的KVP包的回应。这一回应由远
程节点发出。通常这个函数用来判断和远程节点通讯是否通畅。
JZA_vZdpResponse :这个函数用来接收所发送的ZDP请求的回应,比如说
Binding或者Match Desciptor的请求..
Jennet协议栈
AT-Jenie提供了与底层协议栈
JenNet交互的AT指令的接口
Jenie 是JenNet协议
栈的编程接口函数
API
JenNet 管理
• 网络信息
• 网络发现
• 网络加入
• 路由修复
• 临近节点数据的收发
JenNet 协议栈
协议栈特性:
• 私有协议栈,支持星型、树状、链状网络。
• 在树状网络中最多支持250节点,
在链状网络中最多支持1,000个节点
• 较小的代码空间(Coordinator <30kB)
• 快速相应时间,相邻节点直接通讯,低于2ms
• 稳定与健壮的通讯, 点对点传输都会有一个数据
发送后返回的确认
• 终端设备可以使用电池长时间工作
• 128-bit AES 数据加密
• 信息广播
Cluster
Tree
- 50
JenNet网络
JenNet 基于IEEE802.15.4 ,支持以下网络技术:
点对点、星型网络
线性网络
JenNet 网络节点
• 一个网络中只能有一个Coordinate
• Routers在树状网络中路由节点的数据
• End devices 在网络中可以休眠
树状网络
JenNet 网络特性
网络技术:
数据服务:
所需资源:
点对点
Data to Coordinator
网络大小
100 节点
1,000 节点
星型
Data to Peer
Coordinator
22kB RAM
32kB RAM
树状
Data to Network (Broadcast)
Router
22kB RAM
32kB RAM
链状
AT-Jenie 指令集
End Devices
16kB RAM
16kB RAM
数据加密:
硬件支持平台:
Coordinator
AES 加密
JN5139 芯片
Router
服务:
JN5139 模块
End Devices(可休眠 )
绑定-例如灯与开关的绑定
JN5139 开发包
设备类型:
网络特点:
自动组网
开发工具:
网络参数保存
GNU工具链: ANSI C, C++ 编译器
自动恢复
Debugger调试, Flash programmer下载工具
网络大小:
Code::Blocks IDE开发与调试环境
最大1,000节点
应用例程
- 最大深度: 可配置
数据速率与频道:
- 最大子节点数: 10
IEEE802.15.4 标准MAC 层
- 250kbps 、免费ISM 2.4GHz频道分16个通道
- 52
Jenie—API
high
Abstraction Level
low
Level 1: Native API
uint8
u8SrcEP = sSwitch.u8Endpoint;
APS_
Addrmode_e
eAddrMode;
uint16
u16DestAddr;
uint8
u8DestEndpoint;
AF_Transaction_s Transaction;
uint8
transCount = 1;
eAddrMode = APS_ADDRMODE_NOT_PRESENT;
u16DestAddr = 0x0000;
u8DestEndpoint = 0x00;
Transaction.u8SequenceNum =
u8AfGetTransactionSequence(TRUE);
Transaction.uFrame.sKvp.eCommandTypeID = KVP_SET;
Transaction.uFrame.sKvp.eAttributeDataType =
KVP_UNSIGNED_8BIT_INTEGER;
Transaction.uFrame.sKvp.u16AttributeID = ATTRIBUTE_ON_OFF;
Transaction.uFrame.sKvp.eErrorCode = KVP_SUCCESS;
Transaction.uFrame.sKvp.uAttributeData.UnsignedInt8 = u8SwitchValue;
afdeDataRequest(eAddrMode,
u16DestAddr,
u8DestEndpoint,
u8SrcEP,
PROFILEID_HC,
CLUSTERID_ON_OFF_SRC,
AF_KVP,
transCount,
&Transaction,
APS_TXOPTION_NONE,
ENABLE_ROUTE_DISCOVERY,
0);
Level 2: Jenie
CustotsJenieService sService = {0};
uint8 au8Data[2] =
{ATTRIBUTE_ON_OFF, u8SwitchValue};
eJenie_SendDataToBoundService
(&sService, au8Data, 2,
TXOPTION_ACKREQ);
Level 3: AT-Jenie
“SDS 0,2,3401,1”
AT - Jenie
Jenie
Jenie
NWK
NWK
NWK
PHY + MAC
IEEE802.15.4
PHY + MAC
IEEE802.15.4
PHY + MAC
IEEE802.15.4
high
Complexity
© Jennic Ltd 2007 – www.jennic.com
low
- 53
Jenie开发指南
对于Jenie的详细编程开发指南,请参考JN-AP-1085-Jenie-Tutorial,主要
包含以下几部分:
1.开发工具与应用框架
2.Coordinate创建网络
3.Router加入网络
4.使用服务
5.End Device加入网络
注:用户必须有JN5139开发包或者JN5139-EK020开发包;
程序说明文档:JN-AN-1085-Jenie-Tutorial-1v0
编程接口参考文档:JN-RM-2035-Jenie-API
AT-Jenie
AT-Jenie 指令主要是为了使开发厂商得以快速导入低成本,低功耗的短距离双向
无线通讯协议而设计的解决方案,可用于传统线路的取代及新兴的感测网络设备
之中。
AT-Jenie指令集是一种基于传统串行 接口的控制命令,普遍用于市面上许多产品,
如计算机的平行输出入端口、工业控制等。基于AT-Jenie命令集的控制,开发厂
商将可以轻易的将低成本的整合入自己的产品中,而无须了解太多无线标准的细
节。
不过,使用AT-Jenie需要有一个单片机或者控制器结合我们的模块进行使用的,
用户不需要了解具体的编程开发,只需要简单的AT-Jenie指令就可以组建自己的
个人无线网络。
AT-Jenie
AT-Jenie
PC + 应用节点
AT-Jenie网络
•
•
•
•
•
•
•
•
•
•
配置AT-Jenie 解析器
通过启动Coordinate来创建网络
启动其它节点,并申请来加入网络
配置节点无线收发器
配置数据传输安全
注册以及请求服务(服务发现)
服务绑定
数据发送与接收
End Device休眠模式
直接控制处理器与开发板上的硬件资源
配置Coordinator (一)
1) 配置串口
命令:CCF,115200,1,0,1,0
– “115200” 波特率
– “1” 设置系统数据类型
– “0” 禁止检查和
– “1” 打开回显
– “0” ASCII 显示
2) 配置完毕以及启动Coordinate

网络PAN ID号、通道号等配置
命令: INI,1234,d18,x12345678,0
– “1234” 设置PAN ID号
– “d18” 通道选择(d18 为十进制18,如果设置为0,则系统会从11-26通道中
选择最安静的通道来启动网络)
– “x12345678” 网络应用ID号
– “0” 禁止恢复网络参数
配置Coordinator (二)
1)以Coordinate启动网络
STR,0
– “0” 作为Coordinate来启动网络, “1” 作为Router来启动网络,
“2” 作为End Device启动网络
– 如果网络启动成功,则会返回NTU,0 , ‘0表明节点类型为coordinator
2) 允许有子节点
SAS,1
– “1” 允许其有子节点, “0”禁止其它节点来连接该节点
配置Router
1) 配置串口
CCF,115200,1,0,1,0
2)完成Router网络参数配置
INI,1234,d18,x12345678,0
– 必须与要加入的网络的网络参数一致
3) 启动Router
STR,1
– “0” 作为Coordinate来启动网络, “1” 作为Router来启动网络,
“2” 作为End Device启动网络
– 如果加入网络成功,则返回父节点的MAC地址NTU,00158D000005A716
– 在父节点会返回 CHJ,00158D0000068ADD ,表明已经有一个节点作为其
子节点加入网络中 .
4) 允许有子节点
SAS,1
– “1” 允许其有子节点, “0”禁止其它节点来连接该节点
数据传输
–
–
–
–
–
Coordinate发送端
SND,address,”Hello world”,d11,1
目标地址为64位的MAC地址
如果发送的信息是ASCII,则需要使用双引号
“d11”是终端要发送的字节数
“1” 表明节点发送的信息没有加密而且需要一个ACK的返回确认
稍后会返回一个PKS ,表明已经成功的发送了一个数据包,对方返回了
一个ACK。
接收端
DAT,00158D000005A716,0,B,48656C6C6F20576F726C64
十六进制数为发送者地址, 0 为无用标示符, 十六进制B为字节数量,其
余的为发送的 ASCII值。
6LoWPAN网络协议栈
Jennic的6LoWPAN网络协议栈提供了一个基于2.4GHz IEEE802.15.4
协议标准的无线连接方案,使嵌入式无线功能的设备能够与目前的IP
网络进行数据传输与通讯。该协议栈运行在功能强大的JN5139硬件平
台上,提供了单芯片无线低功耗系统与现有的其它IP设备连接的无缝
连接。
6LoWPAN协议栈支持点对点、星型网络以及树状网络,开发者能够在
此基础上快速搭建自己的一个高效稳定无线网络。通过Jennic提供的
高效编程接口API函数(Jenie / SNAP),用户不需要去了解复杂的无
线网络技术,就能够使用户方便的在自己的产品中添加无线功能以及
快速的推向市场。
6LoWPAN网络协议栈
6LoWPAN网络协议栈
感谢!
F&Q