前端设备 SDK

前端设备 SDK

概述

平台提供基本的前端设备 SDK, 可以在 Linux 等平台上使用。

SDK 由 C 语言实现,并提供 Lua 脚本开发环境

需要时用户可以使用 Lua 语言进行二次开发

Node.lua 核心特性

Node.lua 开发文档

Lua 语言运行库

  • 小巧易用, 占用资源低
  • 和 C 语言结合紧密, 极易扩展
  • 内置协程

libuv 异步框架

  • 基于 epoll/IOCP 等的事件循环
  • 流 API
  • 异步文件和文件系统 API
  • 异步 TCP/UDP/DNS 网络接口
  • 进程以及进程间通信
  • 多线程及线程池
  • 其他如信号处理,高精度时钟等

Node.lua core 核心库

  • Lua 标准库 - string, math, table, io, coroutine, utf8, package, debug
  • 类 Node.js 核心 API - core, os
  • 内置 JSON 模块 - json
  • 文件, 文件系统,路径 -fs, path
  • TCP/UDP 网络通信,DNS - net, dgram, dns, tls
  • 线程和线程池 - thread
  • 进程管理 - process, child_process
  • HTTP 协议,URL 解析, http, https, url, queryString
  • 定时器 - timer
  • 流 (Stream) API - stream
  • 工具类: MD5, SHA1 等 - util, zlib

常用扩展模块

Node.lua 内置了常用的扩展模块用于支持物联网设备/网关的开发

app 模块

  • 应用程序管理
  • app/conf 参数配置
  • app/rpc 进程间通信

express 模块

  • 提供类 express.js 接口,
  • 方便开发 HTTP 协议 WEB 服务

mbedtls 模块

  • 加密算法
  • 数字证书

modbus 模块

  • Modbus 协议

mqtt 模块

  • 支持 MQTT 协议 3.1

onvif 模块

  • ONVIF 摄像机协议

rtmp 模块

  • RTMP 流媒体直播协议

sqlite 模块

  • 嵌入式数据库

ssdp 模块

  • 简单服务发现协议

wot 模块

  • Web of Things 物联网协议

常用内置应用

lnode - Node.lua 运行环境

  • 本地可执行文件
  • Lua 脚本运行环境
  • 单一文件可执行程序,依赖少
  • 编译一次,可重复使用

lpm - Node.lua 命令行工具

提供便利的开发和运行管理命令行工具

参数配置

  • 配置文件统一保存在 /path/to/lnode/conf 目录下
  • 文件内容为 JSON 格式

应用程序管理

  • 应用程序统一安装在 /path/to/lnode/app 目录下
  • 可以在前台或后台运行应用程序
  • 可以监控后台运行的应用程序的状态
  • 可以自动重启崩溃的后台程序

固件管理

  • 从服务器读取最新固件信息
  • 从服务器下载固件文件
  • 安装并更新固件

lci - 设备配置工具

实现网关设备的管理和配置等接口

  • www WEB 配置界面

  • data 配置脚本或数据文件

  • device.lua GPIO 等设备模块

  • dhcp.lua DHCP 管理模块

  • mac.lua MAC 地址管理模块

  • reset.lua 恢复出厂设置模块

  • http.lua WEB 服务器模块

  • test.lua 自检测试模块

  • 网络管理

wotc - 物联网平台客户端

实现网关根设备的注册和远程管理

  • Web of Things 物联网平台客户端

  • client.lua 云服务客户端

    • device 设备信息
    • firmwre 设备固件
    • config 配置参数
    • bluetooth 蓝牙模块
    • media 音视频流媒体服务
    • connectivity 网络连接
  • device.lua 访问 GPIO 等本机物理设备

  • log.lua 设备错误日志管理

  • shell.lua 允许外网客户端远程执行本地 shell 命令

  • tunnel.lua 隧道管理,允许外网客户端访问本地服务

gateway - 物联网关

实现子设备的连接和管理

  • 边缘网关
  • 支持 Modbus 设备
  • 支持 ONVIF 摄像机
  • 支持蓝牙外设

camera 子模块

用来连接和管理 Onvif 网络摄像机

  • rtmp.lua RTMP 视频流推送协议
  • rtsp.lua RTSP 视频流拉取协议
  • camera.lua 网络摄像机管理

modbus 子模块

用来连接和管理 Modbus 子设备

  • modbus.lua Modbus 从机管理

bluetooth 子模块

用来连接和管理 Bluetooth 从机

  • uart.lua 和蓝牙模组串口通信接口
  • gap.lua 蓝牙广播和连接
  • gatt.lua 蓝牙特征值读写
  • bluetooth.lua 蓝牙从机管理
image-modal