在这里专门解释一下:什么是框架,框架顾名思义就是可以用来实现别的系统的一套 抽象结构。为什么说这个呢?因为很多朋友上来不看文档就说 RULEX 怎么连接XXX设备。实际上这个框架不是给最终用户来使用的,而是给企业开发人员来用的。你假设这是个WEB框架,就可以轻松实现网站等。同样的,RULEX是一个集成了流处理和外挂设备驱动支持的物联网网关开发框架,你可以用这套框架来实现你的产品逻辑。你在下面看到的界面,以及在release界面下载的那个可执行程序,实际上是一个最小Demo,而不是完整的产品。就好比Golang的GIN这个框架,为了教你怎么用,专门写了个Demo网站,而不是说GIN是网站。 也许后期会有一些开源作者基于这个框架开发一些硬件产品,我们会收集起来,供给大家把玩参考。
希望大家第一眼就看到这个说明 更多文档参考(国内可能需要科学上网): https://rulex.pages.dev
git clone https://github.com/wwhai/rulex.git
cd rulex
make
平台 | 架构 | 编译测试 |
---|---|---|
Windows | X86-64 | 通过 |
Linux | X86-64 | 通过 |
ARM64 | ARM-64 | 通过 |
ARM32 | ARM-32 | 通过 |
MacOS | X86-64 | 通过 |
其他 | 未知 | 未知 |
注意: Arm32位
下编译步骤请参考 .github\workflows\4_build-arm-32-v7.yml
里面的脚本。
启动需要带2个参数,db
是保存配置数据的位置,该参数指定的路径最后会生成个 sqlite 文件,config
参数是 ini 的路径
./rulex run -db=main.db -config=conf/rulex.ini
config 文件如果不存在会退出.
浏览器输入:http://127.0.0.1:2580
function Success()
-- do some things
end
function Failed(error)
-- do some things
end
Actions = {
function(data)
return true, data
end
}
function Success()
-- do some things
end
function Failed(error)
-- do some things
end
Actions = {
function(data)
print("return => ", rulexlib:JqSelect(".[] | select(.hum < 20)", data))
return true, data
end
}
function Success()
-- do some things
end
function Failed(error)
-- do some things
end
Actions = {
function(data)
-- 持久化到 MongoDb:
rulexlib:DataToMongo("45dd0c90f56d", data)
-- 持久化到 Mysql:
rulexlib:DataToMysql("45dd0c90f56d", data)
-- 推送化到 Kafka:
rulexlib:DataToKafka("45dd0c90f56d", data)
return true, data
end
}
function Success()
-- do some things
end
function Failed(error)
-- do some things
end
Actions = {
function(data)
-- PyTorch 训练数据:
cloud:PyTorchTrainCNN(data)
-- PyTorch 识别:
local V = cloud:PyTorchCNN(data)
print(V)
return true, data
end
}
-
QQ群:608382561
-
微信:bignullnull( 加好友后进群, 暗号:RULEX )