前言:
实现MQTT服务器及客户端的方法有很多种,今天我们学习一下怎么使用nodejs实现mqtt协议,这里我们主要使用两个工具mosca和mqtt.js
nodejs-设置国内源
npm 是node.js 环境下的包管理器,非常强大智能.
为什么要换源? npm 官方站点 http://www.npmjs.org/ 并没有被墙,但是下载第三方依赖包的速度让人着急啊!
幸运的是,国内有几个镜像站点可以供我们使用
c语言教程之函数返回字符串的四种方法
在讨论着四种方法之前,首先要对函数有一个简单的认识,无论是在形实结合时,还是在return语句返回时,都有一个拷贝的过程。你传进来的参数是个值,自然函数在工作之前要把这个值拷贝一份供自己使用,你传进来的是个地址,函数也就会拷贝该地址供自己使用。同样return返回时,如果返回一个值,函数会将该值拷贝一份以提供给主调函数使用,返回的是一个指针(也就是地址),自然拷贝的就是一个地址,供主调函数使用。
linux下的命名规则
Linux下建议的命名规则如下。
(1)变量名必须有一定的意义,并且意义准确。例如有一个变量用于保存图书的数目,可以命名为number_of_book或者num_of_book。不建议使用i,因为它没有意义。也不建议使用number或book,因为意义不准确。
(2)不建议大小写混用。如定义一个计数变量,int nCount;这在Windows中是一个很好的变量名,其中nCount的首字母n用来说明这个变量的类型是int。但在Linux下不建议大小写混合使用,一般标识符只由小写字母,数字和下划线构成。
CRC检验和计算方法
以下代码对应的CRC模型请参照最后面的图片1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17uint8_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库
Windows下搭建MQTT服务器
OpenELEC中文设置教程
XBMC / OpenELEC 在安装后大家是不是和小编一样,发现没有中文? 可是要怎么设置成中文呢?接下来就为大家说明:
1.鼠标移动到 SYSTEM然后点击 Settings
Tips:也可以直接点击SYSTEM默认进入Settings
2.点击Appearance
3.点击左侧的International,在右侧的Language中选择Chinese (Simple)
c语言教程之回调函数实现
回调函数就是一个通过函数指针调用的函数。如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用来调用其所指向的函数时,我们就说这是回调函数。回调函数不是由该函数的实现方直接调用,而是在特定的事件或条件发生时由另外的一方调用的,用于对该事件或条件进行响应。
STM32FXX之Lua解释器移植
将Lua解释器移植到STM32
最近在一个在做一个PLC项目,对于PLC需要根据不同场景实现不同的功能,因此为了保持系统的稳定性决定做一个脚本配置的方案。开始的时候自己写了一个脚本解析程序,系统运行不错,就是脚本有点长,易读性比较差,今天突然想到Lua,决定把Lua移植到STM32上去,网上查了一下相关资料,说实话,关于STM32Lua的工程应用还是比较少的,决定自己移植一下