|
|
2 ani în urmă | |
|---|---|---|
| .. | ||
| .settings | 4 ani în urmă | |
| applications | 4 ani în urmă | |
| board | 2 ani în urmă | |
| figures | 4 ani în urmă | |
| modules | 4 ani în urmă | |
| packages | 4 ani în urmă | |
| .config | 4 ani în urmă | |
| .cproject | 4 ani în urmă | |
| .gitattributes | 4 ani în urmă | |
| .gitignore | 4 ani în urmă | |
| .project | 4 ani în urmă | |
| Kconfig | 4 ani în urmă | |
| README.md | 4 ani în urmă | |
| SConscript | 4 ani în urmă | |
| SConstruct | 4 ani în urmă | |
| cconfig.h | 4 ani în urmă | |
| makefile.targets | 4 ani în urmă | |
| mklinks.bat | 4 ani în urmă | |
| project.uvprojx | 4 ani în urmă | |
| rtconfig.h | 4 ani în urmă | |
| rtconfig.py | 4 ani în urmă | |
| rtconfig_preinc.h | 4 ani în urmă | |
| template.uvoptx | 4 ani în urmă | |
| template.uvprojx | 4 ani în urmă | |
本例程基于mesh蓝牙网关扩展板开发,需要对应的扩展板和nrf52模块才可以运行。
需要用到的硬件部分已开源,点击查看。
扩展板主要部分:
引脚如下:
在不使用语音功能情况下,可以用ART-PI用杜邦线直接连接nRF模块使用WEB API,要运行例程至少需要两个nRF模块。
本例程在出产例程ART_PI_FACTORY基础上进行软件开发,并且保留了出产例程的小程序蓝牙配网功能。
nRF模块需要刷写固件,源码在:https://gitee.com/jiy/n-rf5-sdk-for-mesh/tree/master/examples/serial_control。
nRF模块的client端通过串口协议连接到开发板,默认RX为P26, TX为P25;server直接控制对应的设备或连接到传感器,示例程序为电灯。
WEB接口:
查找Mesh节点:
POST /cgi-bin/board_control HTTP/1.1
Host: 192.168.1.211
cache-control: no-cache
{
"opcode": 193
}
获取节点列表:
GET /cgi-bin/basic_info HTTP/1.1
Host: 192.168.1.211
cache-control: no-cache
设置节点:
POST /cgi-bin/board_control HTTP/1.1
Host: 192.168.1.211
Content-Type: application/json
cache-control: no-cache
{"address": 79, "opcode": 195, "data":"01"}
读取节点数据:
POST /cgi-bin/board_control HTTP/1.1
Host: 192.168.1.211
Content-Type: application/json
cache-control: no-cache
{"address": 57, "opcode": 195}
注:
操作码定义:
typedef enum
{
COMMAND_OPCODE_FIND = 0xC1, // 网关寻找设备
COMMAND_OPCODE_REGISTER = 0xC2, // 设备向网关提交注册
COMMAND_OPCODE_SET = 0xC3, // 设置设备
COMMAND_OPCODE_STATUS = 0xC4, // 设备状态
COMMAND_OPCODE_GET = 0xC5, // 读取设备
COMMAND_OPCODE_DATA = 0xC6 // 设备数据
} command_opcode_t;
为ART-Pi编译烧录本项目例程,nRF模块Client、Server端分别烧录对应固件,将烧录Client端的nRF模块通过串口连接到开发板。
使用msh或小程序为ART-Pi配网,过程参考ART-PI-FACTORY项目,也可以通过网线直接连接扩展板。
使用nRF Mesh APP搜索nRF模块进行mesh配网和设置:
6E6F726469635F6578616D706C655F31。Element1的Vendor Model。0xC023的组,将Element1里面的Vendor Model的发布地址和订阅地址都添加该组。设置完成,接下来就可以使用WEB API访问和控制Mesh节点了。
This package contains a snapshot of the BTstack Bluetooth Stack by BlueKitchen GmbH. It is free for non-commercial use. For commercial use, please contact BlueKitchen at contact@bluekitchen-gmbh.com。
本例程中包含了BTstack Bluetooth Stack,需要注意的是,BTstack 非商业用途是免费的。但是,对于商业用途,请联系BTstack官方以获得商业合作。