【CH579M-R1】基本GW功能
本帖最后由 ljj3166 于 2020-10-17 23:01 编辑<p>最近破事一堆,久没更新。</p>
<p>周末搞起,基本达成了蓝牙网关的功能。</p>
<p> </p>
<p>评测的蓝牙网关设计需求比较简单</p>
<p>采集蓝牙终端的RSSI信号,通过UDP传输给某个UDP Server</p>
<p>CH579M的开发例程正好也给出了UDP_Client和BLE_Observer</p>
<p>拿来主义,改吧改吧。</p>
<p> </p>
<p>新建了个工程,大概是这么个结构:</p>
<p></p>
<p> </p>
<p>自己建立工程的时候,得把BLE\HAL的相关文件也添加进来</p>
<p>看看测试环境</p>
<p></p>
<p> </p>
<p>WCH579单板一块</p>
<p>从论坛薅来的小米手环2一只,广播名称:MI Band 2</p>
<p>一块蓝牙4.2的原型板,广播名称:NBWatch_RL60AF</p>
<p> </p>
<p>如下:</p>
<p></p>
<p> </p>
<p>瞅瞅code</p>
<p>先看看UDP,WCH的强项,非常好用。</p>
<p>主要就是网关IP,目标IP,本机IP,掩码,目的和源端口</p>
<p> </p>
<p></p>
<p></p>
<p>
<p> </p>
</p>
<p>然后调用CH57xNET_SocketSend或者CH57xNET_SocketUdpSendTo 发送相关数据即可</p>
<p>如果只有一个连接CH57xNET_SocketSend即可</p>
<p>注意最后一个发送数据包长度的参数,必须是个4字节变量的地址</p>
<p>想少发都不行</p>
<p> </p>
<p>再来看看BLE Observer部分</p>
<p>例程中,观察者模式扫描周边设备时,主要的数据获取都在ObserverEventCB回调中的</p>
<p>GAP_DEVICE_INFO_EVENT情况下</p>
<p>这里主要获取RSSI和名称</p>
<p> </p>
<p></p>
<p> </p>
<p>获取的数据基本都在deviceInfo里面</p>
<p>直接在ObserverEventCB 被callback的时候copy出来就行了</p>
<p> </p>
<p>因为似乎小米手环广播的时候并没有携带设备名称</p>
<p>而是被扫描后respon里面才有设备名称</p>
<p>所以代码里面做了很多奇怪的过滤和条件判断</p>
<p>请忽略</p>
<p> </p>
<p>跑通了大概是这样:</p>
<p></p>
<p> </p>
<p>通过RSSI来简单判断终端的远近</p>
<p>离得远亮灯,离得近灭灯</p>
<p>通过UDP把远近情况发送到UDP服务器(视频中安装在手机上)</p>
<p>拍个小短片吧:</p>
<p><br />
<iframe allowfullscreen="true" frameborder="0" height="510" src="https://training.eeworld.com.cn/shareOpenCourseAPI?isauto=true&lessonid=27610" style="background:#eee;margin-bottom:10px;" width="750"></iframe><br />
</p>
<p>WCH579试用评测可能得告一段落了</p>
<p>说说基本印象吧</p>
<p>外设配置比较有特点,蓝牙+ETH,直指蓝牙IoT网关。差异化明显,有搞头。</p>
<p>要是再能搞个轻量级WiFi......,逆天。可惜开发板没有把POE做上来试用一下,稍有遗憾。</p>
<p>一如既往的方便开发,外设配置简洁明了,上手比较快。可能比较符合国人习惯吧。</p>
<p>但是BLE部分的开发资料相对还是比较少,不过可以参考TI的CC2540。虽然如此,还是觉得少点啥。</p>
<p>可能和蓝牙本身的协议属性有关吧。</p>
<p>很可惜这次没有测试一下这颗IC的功耗,有空再跟上吧。</p>
<p> </p>
<p> </p>
<p>蓝牙+ETH感觉还不错,期待后续的测评,继续努力~~~<img height="52" src="https://bbs.eeworld.com.cn/static/editor/plugins/hkemoji/sticker/facebook/pleased.gif" width="48" /></p>
<p><a href="https://bbs.eeworld.com.cn/thread-1140005-1-1.html" target="_blank">沁恒CH579M-R1开发板测评</a></p>
<p>汇总贴:<a href="https://bbs.eeworld.com.cn/thread-1140005-1-1.html">https://bbs.eeworld.com.cn/thread-1140005-1-1.html</a></p>
<p>大佬,UDP的代码在哪里啊?有例程吗?</p>
页:
[1]