物联网透传工具

研发背景

     大多数物联网项目会要求对硬件设备的读写,例如要求从一个温度传感器中读取温度值保存到数据库中,为此开发人员至少要开发一个服务端程序和一个终端程序。根据具体的项目要求,终端程序可能运行在Windows系统中也可能在Linux系统中,可能是X64处理器也可能是ARM64处理器,可能是普通的PC电脑也可能是树莓派或STM32或其它嵌入式设备。这对于以开发服务端软件为主的技术人员来说有些困难,多数人并不擅长C/C++开发,也不熟悉Windows API和Linux API。即使能够实现基本功能,还要保证7×24小时稳定可靠运行。
    有了“物联网透传工具”的加持,对于远程读写硬件的需求,开发人员只需要调用HTTP API接口即可实现读写硬件。

目标用户和使用场景:

  • 目标用户
    承接物联网项目的中小企业或个人开发者。
  • 使用场景
    项目需求中涉及对硬件的读写。例如:
    ☀ 要求远程读取传感器的数据;
    ☀ 要求远程向硬件设备发送数据或指令;
    ☀ 要求边缘计算,在终端就能高频率对硬件设备发送指令并接收结果进行分析,如果结果符合条件则立即上报;

功能描述:

  1. 本工具由“服务端程序”和“终端程序”两部分组成。自定义通讯协议标准并且通讯全程采用类似SSL的加密方法,确保数据不被窥视不被篡改。
  2. “服务端程序”包含“负载均衡程序”和“请求处理程序”。“负载均衡程序”确保所有终端的请求能够被均匀分配到每一个“请求处理程序”中。
  3. “请求处理程序”支持分布式部署,支持数万终端同时连接。每个终端可同时访问的外部硬件设备(例如传感器)数量不限。
  4. 用户只需要调用一个HTTP API发送指令(指定传感器的地址和指令内容),再调用一个HTTP API获取硬件返回结果。
  5. “终端程序”与“服务端程序”保持长链接,采用智能化心跳机制,会根据网络负载自行决定何时发送心跳包。任何网络中断和程序出错都会尝试重新连接。
  6. 支持简单边缘计算。例如项目需求中要求温度值在40度以上报警,通常的思维是由服务端创建定时器,每隔n秒发送指令获取温度然后判断是否报警。如果同时读取100个传感器,这样做明显浪费CPU浪费带宽。本工具支持在终端循环执行指令并自动分析结果,只有检测到符合要求的结果才会上报。
  7. “终端程序”可通过以太网、WIFI、串口(232/485)访问外部硬件设备。只要硬件设备可通过网络或串口访问,“终端程序”都可以与之通讯,绝不仅是传感器。实际项目中经常用本工具去控制电器设备,控制继电器。
  8. 支持实时读取“终端程序”所在计算机(PC、树莓派等)的运行状态。例如CPU使用率、物理内存使用率,仍然是通过一个HTTP API获取。
  9. 支持在“终端程序”所在计算机中读写文件、创建或关闭进程。台式机、笔记本、树莓派都是比较强大的计算平台,可通过一个HTTP API启动进程或者读写文件。例如在某一个项目中利用一台装有windows的台式机作为终端运行电脑,同时启动了多个软件用于该项目。如果想远程查看某一个软件是否在运行,可以调用HTTP API指定运行tasklist命令,即可返回该命令结果,从结果中查看进程是否存在。如果是Linux就指定运行ps命令。
  10. “终端程序”向“服务端程序”登录时携带授权码、本地硬件(硬盘、网卡)序列号,只有合法授权码才能连接成功,避免非法连接和非法安装。

技术指标

  1. 服务端采用Java语言 + Spring Boot框架 + Netty框架。
  2. 中间件采用Redis,数据库采用Mysql。
  3. 支持负载均衡,支持分布式部署。
  4. 通讯加密采用RSA 1024位和AES 128位加密算法。(可根据要求调整强度)
  5. 丰富的终端运行平台支持,包括:
    ☀ PC机操作系统:Windows 64位和Linux 64位。
    ☀ 处理器:支持X64和ARM64指令集。
    ☀ 树莓派操作系统:Ubuntu mate 64和Raspberry OS。
  6. 终端程序与外部硬件设备通讯方式包括:
    ☀ WIFI / 以太网
    ☀ 串口(232/485)
    ☀ 支持TCP/IP、ModBus协议(支持CRC16校验)。
  7. 关于并发量
    ☀ 每个请求处理程序可同时连接终端数量无上限,与主机物理内存有关。
    ☀ 每个终端程序可同时访问外部硬件设备数量无上限。终端程序采用连接-发送-接收-关闭流程确保顺利执行指令,属于串行处理而非并发处理。
  8. 针对进程处理和文件处理,终端程序分别用单独的线程执行,不影响其它类型命令。

参考资料:

官方网站 www.iot-tool.cn

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值