0%

前言:
实现MQTT服务器及客户端的方法有很多种,今天我们学习一下怎么使用nodejs实现mqtt协议,这里我们主要使用两个工具mosca和mqtt.js

阅读全文 »

npm 是node.js 环境下的包管理器,非常强大智能.

为什么要换源? npm 官方站点 http://www.npmjs.org/ 并没有被墙,但是下载第三方依赖包的速度让人着急啊!

幸运的是,国内有几个镜像站点可以供我们使用

阅读全文 »

在讨论着四种方法之前,首先要对函数有一个简单的认识,无论是在形实结合时,还是在return语句返回时,都有一个拷贝的过程。你传进来的参数是个值,自然函数在工作之前要把这个值拷贝一份供自己使用,你传进来的是个地址,函数也就会拷贝该地址供自己使用。同样return返回时,如果返回一个值,函数会将该值拷贝一份以提供给主调函数使用,返回的是一个指针(也就是地址),自然拷贝的就是一个地址,供主调函数使用。

阅读全文 »

Linux下建议的命名规则如下。

(1)变量名必须有一定的意义,并且意义准确。例如有一个变量用于保存图书的数目,可以命名为number_of_book或者num_of_book。不建议使用i,因为它没有意义。也不建议使用number或book,因为意义不准确。

(2)不建议大小写混用。如定义一个计数变量,int nCount;这在Windows中是一个很好的变量名,其中nCount的首字母n用来说明这个变量的类型是int。但在Linux下不建议大小写混合使用,一般标识符只由小写字母,数字和下划线构成。

阅读全文 »

以下代码对应的CRC模型请参照最后面的图片

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
uint8_t crc4_itu(uint8_t *data, uint_len length) 
{
uint8_t i;
uint8_t crc = 0; // Initial value
while(length--)
{
crc ^= *data++; // crc ^= *data; data++;
for (i = 0; i < 8; ++i)
{
if (crc & 1)
crc = (crc >> 1) ^ 0x0C;// 0x0C = (reverse 0x03)>>(8-4)
else
crc = (crc >> 1);
}
}
return crc;
}

阅读全文 »

前言

Arduino作为比较火的开源开发板,其丰富的库可以大大缩短开发周期,Arduino编程软件为Arduino IDE,编程思路和我们平常使用的IDE有所不同,Arduino编程没有main函数,因为好多东西都被隐藏了。一直想搞清楚,以便编写自己的库文件。下面是一些在网上搜集到的关于如何建立自己的库文件

阅读全文 »

前言

最近在项目中要使用MQTT协议,需要搭建一个MQTT服务器来进行调试,在网络上找了一天,找到的大多数都是MQTT客户端,最后发现这篇博客写的教程可以使用,特此记录。

寻找过程

在寻找MQTT服务器的过程中,我发现的Mosquitto是一款「An Open Source MQTT v3.1/v3.1.1 Broker」——开源的MQTT代理服务器,其下也有Windows的安装包。

阅读全文 »

XBMC / OpenELEC 在安装后大家是不是和小编一样,发现没有中文? 可是要怎么设置成中文呢?接下来就为大家说明:

1.鼠标移动到 SYSTEM然后点击 Settings

Tips:也可以直接点击SYSTEM默认进入Settings

2.点击Appearance

3.点击左侧的International,在右侧的Language中选择Chinese (Simple)

阅读全文 »

回调函数就是一个通过函数指针调用的函数。如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用来调用其所指向的函数时,我们就说这是回调函数。回调函数不是由该函数的实现方直接调用,而是在特定的事件或条件发生时由另外的一方调用的,用于对该事件或条件进行响应。

阅读全文 »

将Lua解释器移植到STM32

最近在一个在做一个PLC项目,对于PLC需要根据不同场景实现不同的功能,因此为了保持系统的稳定性决定做一个脚本配置的方案。开始的时候自己写了一个脚本解析程序,系统运行不错,就是脚本有点长,易读性比较差,今天突然想到Lua,决定把Lua移植到STM32上去,网上查了一下相关资料,说实话,关于STM32Lua的工程应用还是比较少的,决定自己移植一下

阅读全文 »