代码拉取完成,页面将自动刷新
基于 go-zero(微服务) 实现的物联网平台
go get -u github.com/zeromicro/go-zero/tools/goctl@latest
# 参考如下,使用Docker安装ETCD
docker run -d --name Etcd-server \
--network app-tier \
--publish 2379:2379 \
--publish 2380:2380 \
--env ALLOW_NONE_AUTHENTICATION=yes \
--env ETCD_ADVERTISE_CLIENT_URLS=http://etcd-server:2379 \
bitnami/etcd:latest
docker run -d --name emqx -p 1883:1883 -p 8083:8083 -p 8084:8084 -p 8883:8883 -p 18083:18083 emqx/emqx:5.0.12
define.go
中的EmqxAddr\EmqxKey\EmqxSecret为自己在EMQX后台生成的密钥对goctl api new 服务名称
# 1. 创建 user 服务
goctl api new user
# 2. 创建 admin 服务
goctl api new admin
# 3. 创建 open 服务
goctl api new open
goctl api go -api 服务名称.api -dir . -style go_zero
# 1. 生成 user api 服务代码
goctl api go -api user.api -dir . -style go_zero
# 2. 生成 admin api 服务代码
goctl api go -api admin.api -dir . -style go_zero
# 3. 生成 user rpc 服务代码
goctl rpc protoc user.proto --go_out=./types --go-grpc_out=./types --zrpc_out=. --style go_zero
# 4. 生成 device rpc 服务代码
goctl rpc protoc device.proto --go_out=./types --go-grpc_out=./types --zrpc_out=. --style go_zero
# 5. 生成 open api 服务代码
goctl api go -api open.api -dir . -style go_zero
go run 服务名称.go -f 配置文件地址
# 1. 启动 user api 服务
go run user.go -f etc/user-api.yaml
# 2. 启动 admin api 服务
go run admin.go -f etc/admin-api.yaml
# 3. 启动 user rpc 服务
go run user.go -f etc/user.yaml
# 4. 启动 device rpc 服务
go run device.go -f etc/device.yaml
# 5. 启动 open api 服务
go run open.go -f etc/open-api.yaml
共享单车、共享充电宝、外卖柜
/sys/产品key/设备key/ping
/sys/产品key/设备key/receive
对请求参数的key从小到大排序后,拼接key(不包括sign字段)所对应的参数值后求md5。
// 1. 例如发送的参数如下所示
map[string]interface{}{
"app_key": "app_key",
"product_key": "1",
"device_key": "device_key",
"data": "hello world",
"sign": "4d62a91d0588320d314001828da9e1db",
}
// 2. 则签名为: app_key的值 + data的值 + device_key的值 + product_key的值
md5("app_keyhello worlddevice_key1") = "4d62a91d0588320d314001828da9e1db"
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。