使用nodejs+websocket写的一个简单的loraserver用web界面mqtt客户端

公司是做loraWAN开发的,由于使用lora server project作为服务器,经常需要MQTT来测试设备,用nodejs的mqtt包简单实现命令行工具,但是鉴于开发人员太多只熟悉c语言什么的,装个nodejs还会很莫名其妙,就做了一个带有服务端和web客户端的项目。
项目地址:https://github.com/HobaiRiku/loraserver-mqtt-test-console

主要功能:

  • 向一个loraserver的mqtt服务端发起连接
  • 订阅指定的rx主题并实时接收设备的mqtt消息
  • 设备fCnt计数以及丢包率统计
  • mqtt下行消息

这个工具也是在使用中逐步变化来的,由原来的只用命令行变为有简单html+websoeckt的本地服务+客户端,后来应需求(开发人员不方便也不熟悉部署和使用nodejs环境)就用vue和element写了界面,koa+websocket写了多用户能够同时创建mqtt实时连接的服务端。

Read more
LoRa Server Project 项目学习

目前公司采用的LoRaWAN服务器是一个由开源开发者Orne Brocaar(自由职业软件工程师,专注go、Python,IoT,美国meetup网络社交聚会组“阿姆斯特丹Golang”的组织者)使用go语言编写的一个开源LoRaWAN服务器,项目名称为“LoRa Server Project “,开源于GitHub。LoRa Server Project是一个性能优越,功能完善,具备柔性框架的LoRa服务端,项目维护更新活跃。

本文描述的项目版本:LoRa Gateway Bridge 2.1.5\LoRa Server 0.20.1\LoRa App Server 0.12.0

项目简介

Lora Server project 是一套开源应用软件,实现从网关接收到节点数据一直到应用程序接收到数据这一段链路的处理。整个工程设计地非常灵活,这样可以用不同方式来使用它。例如 LoRa App Server 组件实现应用服务器组件,为用户提供一套Web UI来访问和修改他们的网关、应用程序和节点,还可以通过 gRPC and JSON REST APIs 编程接口来访问系统。而且,API设计地也很灵活,子系统可以用其他相同接口的软件来替代。

architecture

Read more
使用Nginx搭建并代理GitLab服务器

本文作记录自己通过使用单独的Nginx服务器代理运行一个远端GitLab应用的过程。

安装

1. 准备

在安装gitlab之前,先要看一遍gitlab官方的安装指导,虽然网上有很多关于gitlab安装、配置等博客,但是还是推荐直接到官网按照指示安装。
最重要的是硬件需求,第一次安装没注意,直接装了,导致出现了诡异的事情,最后内存不足启动失败。
官方的配置要求
gitlab_requirements

Read more
mqtt服务端的鉴权

因为工作中遇到了需要通过权限进行mqtt消息的限制的情境,对mqtt鉴权的实现进行了简单的研究。
首先要理解mqtt的鉴权,其实是需要三个方面的控制:

  1. 创建链接的权限,若无此权限,客户端连创建连接的机会都没有
  2. 订阅一个主题的权限,当有用了链接权限,用户可以随意订阅任意主题,这达不到隔离的效果,我们还要对用户能订阅的主题进行限制
  3. 向一个主题发布的权限,同理我们也需要限制用户发送消息的功能
Read more
初次用Hexo

这是我的第一个post.md

这是一段代码:

1
2
3
4
5
let cars = [];
let text = '';
for (i = 0; i < cars.length; i++) {
text += cars[i] + "<br>";
}

Read more