大致规划了一下整个系统的框架,大致是通过各种Thread LPED节点采集各种传感器数据,比如踏频、车速、心率等,然后汇集到 Hybrid节点中的Lead Router中,显示并再通过BLE转发到手机。
接下来在MCUXpresso中copy Thread ED例程,然后paste并重命名一下作为传感器节点,copy一份Hybrid ble_thread_router作为Bicycle
Computer节点,如下图中前面2个即是
首先为了安全起见,我们需要更换一下默认的pksd,也就是wifi密码啦。如下图:
接下来就是给cdcs_bc添加coap server功能用于接收其它节点的数据了。CoAP 类似于HTTP服务器,这udp的指定端口上提供方便的数据通信。其默认端口为5683,加密的端口则为5684
跟http一样,coap也很client和server,server内容通过路径定义,数据交换通过get、post等。nxp提供的demo中默认实现了/led、/temp等服务。要在bc上增加一个服务,我们需要做如下操作:
1.定义coap服务路径
2.实现服务处理方法,该方法为异步回调函数,可以参考其它服务处理方式。这里只是简单的通过串口输出,以便测试
3.绑定服务到coap中
好了,一个新的coap服务就可以供我们使用了!怎么测试呢?当然最简单的办法就是通过coap命令啦,这里我使用的SecureCRT,具体流程我就不多说了,论坛另外有坛友对shell命令做过介绍了,就不重复造轮子了。具体看图吧,一目了然。另外为了简单起见,整个系统的传感器数据是通过广播传送到bc节点的,也就是使用了thread网络的realm local MCast IPv6地址,只要往这个地址发送的数据,整个网络中的节点都会收到这个数据。当然这是一种偷懒的做法。下图中左侧窗口com2是bc节点,右侧窗口com3是pedal踏板节点。
另外,Hybrid demo是基于ble uart的,所以手机也可以连接bc节点啦,连接之后,就可以同样收到来自pedal节点的数据啦。如下图:
what‘s next?
传感器数据采集,然后通过指定格式post 至 /cdcs服务,就能完成数据采集和收集啦。
两个demo工程附上:
cdcs_bc&pedal_demo00.rar
(8.16 MB, 下载次数: 8)
此内容由EEWORLD论坛网友shinykongcn原创,如需转载或用于商业用途需征得作者同意并注明出处