SenML传感器标记语言概要

转自 brookmil
https://blog.csdn.net/brookmill/article/details/52141147

“ML”和HTML、XML一样,都是”Markup Language”。前面的”Sen”来自Sensor,所以全名就是”Sensor Markup Language”。其实我觉得还不如就叫SensorML。为什么不叫SML呢?原来已经被占用了。

在IoT的潮流下,人民群众想要把传感器也都连入互联网。如果有一种标准的语言可以描述各行各业五花八门的所有传感器的数据,那当然是很方便的。SenML的编码结果可以作为HTTP或者CoAP的负载来传输。

SenML现在还在起草阶段,目前最新的版本是https://tools.ietf.org/html/draft-ietf-core-senml-02
最早是cisco一个叫jennings的帅锅一个人写的,后来陆续有其它公司的几个人加入。其中的Shelby和Bormann也参与了RFC7252(CoAP)的编写,可见两者有着紧密的联系。从历史记录来看,最早这个文档叫draft-jennings-senml,后来改名叫draft-jennings-core-senml,直到现在的draft-ietf-core-senml,中间一共有二十来个版本,不知道什么时候能成为正式的RFC。

Continue reading

maven常用命令行总结

maven项目,在命令行中操作,非常简洁、高效,现将maven项目常用命令行总结如下:

整理统计命令作用
基本5mvn -v查看maven版本
mvn deploy将包存储到远处存储,共享
mvn initalize初始化
mvn install在本地repository中安装jar
mvn  jar:jar只打jar包
help3mvn -hmaven帮助
mvn help:sysyem打印所有java系统属性,环境变量
mvn   help:active-profiles决定哪些maven插件有效
package2mvn package创maven项目,打包
mvn prepare-package执行操作前,准备一个包
clean5mvn clean将就class字节码删除
mvn pre-clean在项目清理之前,执行所需流程
mvn post-clean执行完成项目清理所需的过程
mvn eclipse:clean清除eclipse中的一些系统设置
mvn clean   dependency:copy-dependencies package清理项目,复制依赖项,打包
site4mvn site产生site
mvn pre-sitesite生成之前,执行所需流程
mvn post-sitesite生成之后,执行所需流程
mvn site-deploy将生成的site,部署到web上
compile2mvn compilemaven编译
mvn test-compile将测试源码编译到测试目录中
v2mvn varifymaven核实
mvn validate验证项目
resource/source8mvn generate-sources生成源
mvn   generate-resources生成包中包含的资源
mvn process-sources处理源代码
mvn process-resources将资源复制到目标目录,打包
mvn   generate-test-sources生成包含在编译中的任何测试源代码
mvn   generate-test-resources生成用于测试的资源
mvn   process-test-sources处理测试源代码
mvn   process-test-resources将资源复制,并复制到测试目录
class2mvn process-classes对编译生成的文件进行后处理
mvn   process-test-classes对测试编译生成的文件进行后处理
test3mvn testmaven测试
mvn integeration-test将包处理,部署到可以运行测试环境中
mvn   pre-integeration-test在执行测试之前,执行所需操作                    

使用STVD+Cosmic编译器开发STM8程序的几个坑

很久不用STM8了,前两天写了一个小程序,发现了两个坑,提醒遇到类似情况的朋友。

1、内部默认存储方式是MSB,也就是大端模式

说实话使用大端模式的真不多见,这个一定注意。

2、默认无符号

定义一个变量 char a,它默认是无符号的,这个好像不太符合常规。要想使用有符号的,必须声明 signed char;

DMX512 灯光控制协议

      MX512协议最先是由USITT(美国剧院技术协会)发展成为从控制台用标准数字接口控制调光器的方式。这个接口基于RS485 硬件接口,传输速率为250Kbps。在舞台灯光,景观灯控制领域得到广泛应用。

DMX512 的帧结构

DMX512帧以break 信号开始。大于22bit,或者88 us。跟随其后的是512 个字节的通道,可以控制512 个通道,或者170个RGB 灯具。

Continue reading

A detailed tutorial on STM32 ADC – multiple channel、DMA、average

This tutorial shows how to use various modes of the STM32 ADCs, including:

  • Basic single-channel measurement
  • Use of interrupts
  • DMA
  • Multi-channel sequences

Before you begin, install VisualGDB 5.0 or later and ensure you are using the latest version of the STM32 BSP.

An ADC (Analog-to-Digital Converter) is a peripheral that allows measuring the voltage (between 0 and Vref) on a certain input of the microcontroller and converting it into a number between 0 and 2N-1 where N is the ADC resolution. The easiest way to experiment with an ADC is to connect it to a potentiometer – a mechanically adjustable resistor:potentiometerIf you connect one of the side terminals of the potentiometer to the GND pin on your board and the other one to the VCC pin, rotating the potentiometer knob will gradually change the voltage level (relative to ground) on the third pin between 0 and VDD, that should produce values from 0 to 4095 for a 12-bit ADC.

Continue reading

STM32内部参照电压VREFINT的使用

一、STM32的内部参照电压VREFINT和ADCx_IN17相连接,它的作用是相当于一个标准电压测量点(和MSP430不一样。。),内部参照电压VREFINT只能出现在主ADC1中使用。

内部参照电压VREFINT与参考电压不是一回事。ADC的参考电压都是通过Vref+提供的并作为ADC转换器的基准电压。

当我们使用的Vref+是直接取自用VCC电压时,当VCC电压波动比较大时或稳压性能比较差时,可以借用STM32的内部参照电压VREFINT校正测量精度。

以测量1通道的电压值为例,先读出参照电压的ADC测量结果,记为ADre;再读出要测量通道1的ADC转换结果,记为ADch1;则要测量的电压为:

Vch1 = VREFINT* (((ADch1*(VREF/4096))/(ADre*(VREF/4096)))  

Continue reading

  • fafsdsadsadsadas