Light switch demo  灯开demo   Purpose This demo project consists of four sub examples - The light switch server with and without GATT proxy support, the light switch client and a provisioner example. It demonstrates the mesh eco system containing devic…
Getting started To get started, take a look at the Light switch demo. It shows how a simple application can use the mesh stack and serves as an introduction to the Bluetooth Mesh concepts and nRF5 SDK for Mesh features and APIs. Bluetooth Mesh introd…
nRF5 SDK for Mesh(六) BLE MESH 的 基础概念 Basic Bluetooth Mesh concepts The Bluetooth Mesh is a profile specification developed and published by the Bluetooth SIG. This document explains the basic concepts of the Bluetooth Mesh and gives an overview of th…
官方文档教程编译源码: http://infocenter.nordicsemi.com/index.jsp?topic=%2Fcom.nordic.infocenter.sdk%2Fdita%2Fsdk%2Fmesh_sdk.html&cp=4_1 Building the mesh stack The mesh library and example applications can be built using either CMake or SEGGER Embedded Studio.…
一: 官网介绍地址:http://www.nordicsemi.com/Products/Bluetooth-low-energy/nRF5-SDK-for-Mesh Nordic offers a complete solution for the Bluetooth mesh specification with the nRF5 SDK for Mesh and the nRF51 and nRF52 Series SoCs. It provides a powerful solution…
Installing the mesh toolchain To build the example applications, a toolchain based on either CMake or SEGGER Embedded Studio is required. Install instructions are provided for Windows and Debian/Ubuntu. The steps should be similar for other platforms…
Exploring Mesh APIs using light switch example The light switch example is meant to showcase the APIs for the provisioner and provisionee roles and how a simple Bluetooth Mesh network may be set up and configured. The network consists of one static p…
Basic Bluetooth Mesh concepts The Bluetooth Mesh is a profile specification developed and published by the Bluetooth SIG. This document explains the basic concepts of the Bluetooth Mesh and gives an overview of the operation and capabilities of the p…
The mesh architecture   The mesh stack consists of a number of subsystems that are interfaced through a set of API modules. The API modules hide the complexity of their subsystems. The functionality provided in the API is sufficient to make a functio…
SDK和Softdevice的区别是什么?怎么选择SDK和softdevice版本?芯片,SDK和softdevice有没有版本兼容问题?怎么理解SDK目录结构?SDK帮助文档在哪里?Softdevice帮助文档在哪里?如何选择某个SDK例子 (example) 以开始我们的BLE开发之旅?本文将对以上问题进行解答. Nordic目前有2套完全独立的SDK:nRF5 SDK和nRF Connect SDK.一般来说,开发nRF51/52产品推荐使用nRF5 SDK,开发nRF91/nRF53等新…
本文将介绍Nordic nRF5 SDK软件架构以及softdevice工作原理,以加深大家对Nordic产品开发的理解,这样开发过程中碰到问题时,大家也知道如何去调试. 如果你刚开始接触nRF5 SDK,建议先看一下这篇文章“Nordic nRF5 SDK和softdevice介绍”,以建立Nordic nRF5 SDK的一些基本知识. 首先说明一下,Nordic nRF5系列产品都是使用Flash存储器的,确切说,是嵌入式可执行代码的Flash存储器,也就是说,代码是可以直接在上面运行的,这…
本文将讲述Nordic nRF5 SDK的主要调试手段,以帮助大家快速定位问题,并解决问题.一般来说,你可以通过打log方式,IDE的debug模式,SDK自带的app_error_check函数,以及命令行方式等多种手段来调试你的代码. 1. 通过打log方式进行调试 nRF5 SDK支持UART和SWD J-Link(RTT)两种底层通信方式来打印日志,SDK14之后日志也可以通过蓝牙或者Flash进行输出和存储打印,一般来说,UART和SWD用得比较多,其中UART使用串口助手来查看日志,…
switch 这种表达式在很多语言中都有,比如java, C等待, 使用switch比使用if else 来得方便,来得清晰.  前言 switch 这种表达式在很多语言中都有,比如java, C等待, 使用switch比使用if else 来得方便,来得清晰.  使用语法很简单:  switch(n)  {  case 1:  执行代码块 1  break;  case 2:  执行代码块 2  break;  default:  n 与 case 1 和 case 2 不同时执行的代码  }…
FDS,全称Flash Data Storage,用来访问芯片内部Flash的.当你需要把数据存储在Flash中,或者读取Flash中的用户数据,或者更新或者删除Flash中的数据,那么FDS模块是你最好的选择.FDS采用文件和记录方式来组织Flash数据,也就是说,真正的数据是放在一条记录中,而多条记录组成一个文件.根据应用的需要,整个系统可以只有一个文件,也可以包含多个文件.文件采用文件ID来标示,文件ID为2个字节(注:不能取值为0xFFFF).一个文件下面可以放一条记录,也可以放多条记录…
CommMonitor8.0 SDK DLL 版本,此版本是直接调用DLL. Delphi调用定义: constCommMOnitor8x = ‘CommMOnitor8x.dll’; typeTOnMonitorL = procedure(seq: DWORD; //序号dt: DWORD; //时间ctrl: DWORD; //控制码PID: DWORD; //进程IDcomNum: PAnsiChar; //串口号size: DWORD; //数据大小vtASC: PAnsiChar //…
在前文的Demo中,webApi的Controller是不能自动注入的,原因是 IHttpController 和 IController 是通过两个不同的途径进行激活的. IHttpController的激活是通过 IHttpControllerActivator 接口完成的 // 摘要: // 定义 System.Web.Http.Dispatcher.IHttpControllerActivator 所需的方法. public interface IHttpControllerActiva…
DEMO介绍是 DEMO通信录的扩展,使用requirejs模块化整合 大体实现 • model文件 model/contact.js define(function (){ // user contact var Contact = (function(){ var _c = Backbone.Model.extend({ defaults: { name: '小强', email: '小强@无敌.com' }, // validate user name validate: function…
先看一段代码: public class Test{ public static void main(String[] args){ System.)); } } public static String toNumberCase(int n){ String str = ""; switch(n){ : str = "我是0"; : str = "我是1"; : str = "我是2"; : str = "我是3&…
1. 下载示例文件. 2. 解压之后的目录: 3. 使用android studio,选择import project,导入如图所示文件夹: 4. 重点来了,由于官方demo的上传时间很久远(大概是上古世纪),里面的targetSDKVersion等都需要改变,并且需要加入: 根据如图所示进行配置,可以解决build过程中的报错,但后续版本更新可能又需要进行build gradle的修改,大家根据报错信息进行修改就问题不大了 compileSdkVersion 26 buildToolsVers…
switch 开关选择器组件说明: switch,开关选择器.只能选择或者不选.这种属于表单控件或者查询条件控件. switch 开关选择器示例代码运行效果如下: 下面是WXML代码: [XML] 纯文本查看 复制代码 ? 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 <view class="secti…
在嵌入式操作系统中,BootLoader是在操作系统内核运行之前运行.可以初始化硬件设备.建立内存空间映射图,从而将系统的软硬件环境带到一个合适状态,以便为最终调用操作系统内核准备好正确的环境. 在嵌入式系统中,通常并没有像BIOS那样的固件程序(注,有的嵌入式CPU也会内嵌一段短小的启动程序),因此整个系统的加载启动任务就完全由BootLoader来完成.在一个基于ARM7TDMI core的嵌入式系统中,系统在上电或复位时通常都从地址0x00000000处开始执行,而在这个地址处安排的通常就…
渲染图(4k) 链接: http://pan.baidu.com/s/1bnB4Wqz 密码: 8839 2px高斯模糊+立方缩小AA:  链接: http://pan.baidu.com/s/1mg5gVCO 密码: ci87 程序(在1920x1080的屏幕上强制3840x2160) 链接: http://pan.baidu.com/s/1gdCcKF5 密码: iqnk (wait for a while...我这张的采样数是13000阴影左右)…
app_timer是大家经常用到的一个库,app_timer的功能就是定时,也就是说,你在某一时刻启动一个app timer并设定超时时间,超时时间一到,app_timer就会回调timeout handler,然后执行你需要的工作.使用app_timer时有如下几点需要注意: app_timer底层使用的是RTC1,而不是timer1/2/3/4,所以app_timer的功耗非常低:0.1uA左右. app_timer计时精度为1ms,也就是说,app_timer只能计时毫秒的倍数,如果你的计…
DFU控制点特性用于控制DFU过程的状态. 通过写入该特征来请求所有DFU程序. 标记过程结束的响应将作为通知收到. BLE传输 Transfer of an init packet DFU控制器首先检查init数据包是否已成功传输. 如果没有,DFU控制器检查它是否已部分转移. 如果已经传输了一些数据,则继续传输. 否则,DFU控制器发送Create命令以创建新数据对象,然后传输init数据包. 当init数据包可用时,DFU控制器发出Execute命令以启动init数据包的验证. Trans…
镜像的验证 在执行设备固件更新之前,应验证新映像. 在传输实际固件(预验证)之前,可以检查某些信息(例如,兼容性). 其他信息,例如图像的散列,应在传输(验证后)后进行验证. Init packet 执行DFU时,必须提供包含固件映像的包(zip格式),init数据包和指示包格式的清单文件. init数据包包含有关用于验证映像的固件映像的信息,必须对其进行签名以确保更新来自受信任的源. init数据包的所需内容在协议缓冲文件dfu-cc.proto中定义. 在验证init数据包期间,将检查ini…
在项目开发过程中,经常会使用到定时任务(跑批),springboot默认已经实现了,只需要添加相应的注解就可以实现 在启动类上加入注解,开启定时任务 @SpringBootApplication @EnableScheduling public class App { public static void main(String[] args){ SpringApplication.run(App.class, args); } } 创建跑批任务并注册到spring中管理,并在方法上加上跑批注解…
以下是来自官方的一个user group pet 的查询demo 参考关系图 环境准备 docker-compose mysql 环境 version: "3" services: mysql: image: mysql:5.7.16 ports: - 3306:3306 command: --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci environment: MYSQL_ROOT_PASSWO…
近来有好几位询问C#Lite在Unity中使用的问题 我专门为C#Lite制作了 for Unity的新例子 ,这个例子名为languagetest 包含17个语言特性测试的文件 其中_6004_展示大家关心的数组怎么用 由于unity项目会有兼容问题,特导出了一个包 http://crazylights.googlecode.com/svn/CLReach/CSLite/Unity/CSLite_Unity_0320.unitypackage…
弃用了struts,用spring mvc框架做了几个项目,感觉都不错,而且使用了注解方式,可以省掉一大堆配置文件.本文主要介绍使用注解方式配置的spring mvc,之前写的spring3.0 mvc和rest小例子没有介绍到数据层的内容,现在这一篇补上.下面开始贴代码. 文中用的框架版本:spring 3,hibernate 3,没有的,自己上网下. web.xml配置: <?xml version="1.0" encoding="UTF-8"?> …
这是用的是SpringMVC-3.1.1.commons-fileupload-1.2.2和io-2.0.1 首先是web.xml <?xml version="1.0" encoding="UTF-8"?> <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/20…