Mqtt传输的停车位数据接收

Context

公司服务器 emqttd: mqtt代理服务器(负责接收并转发)
设备:发送mqtt数据包(topic+message)

接收程序

技术是nodejs脚本,借助mqtt和bitwise库实现。
传输方式是websocket,所以host地址填的是ws://<IP>:8083/mqtt, 8083是emqttd开放给websocket的端口。

var client = mqtt.connect(MQTT_ADDR, { clientId: 'BeCarefulexclusiveID', connectTimeout: 1000, debug: true }, (err) => {
    if (err) {
        console.log('Client established error');
    } else {
        console.log('Client established');
    }
});

如果协议中数据是按位分配字段,需要了解bitwise的使用:

var array_l = bitwise.readByte(data[3]);  //array_l is a Number(0/1) array, thus could be operated in bitwise layer

但是每一个Byte读出的8位数组需要拆分:

var msgType = MV.slice(0, 4); // get 0 ~3 four bits

Array2String:

msgType = msgType.join("");

上面的代码双引号表示数组每个元素间没有字符间隔 组成字符串

接着将字符串以2进制的方式转换为Int,如字符串”011“就是3

msgType = parseInt(msgType, 2);

实际情况 公司cai'y

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 第5章 引用类型(返回首页) 本章内容 使用对象 创建并操作数组 理解基本的JavaScript类型 使用基本类型...
    大学一百阅读 8,462评论 0 4
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,555评论 19 139
  • 四月一个晴朗的早晨,我在原宿后街同一个百分之百的女孩擦肩而过。 不诲的说,女孩算不得漂亮,并无吸引人之处,衣着也不...
    虫彩阅读 2,994评论 0 0
  • 你是人间的四月天 ——一一林徽因 我说 你是人间的四月天; 笑响点亮了四面风;轻灵在春的光艳中交舞着变。 你是四月...
    王俊楠_bbc9阅读 1,716评论 1 1
  • 你醉了,我们扶你; 你耍酒疯,我们陪你; 你哭闹,我们随你; 你认错,我们不怪你; 你说笑,我们闹你; 你自恋,我...
    BULABULA小八阅读 1,566评论 0 1