dc3 windows 本地搭建步驟:
??
必要軟件環(huán)境 進(jìn)入原網(wǎng)頁#
務(wù)必保證至少需要給 docker 分配:1 核 CPU 以及 4G 以上的運(yùn)行內(nèi)存!
-
JDK : 推薦使用
Oracle JDK 1.8
或者OpenJDK8
,理論來說其他版本也行; -
Maven : 推薦使用
Maven 3.8
,理論來說其他版本也行; -
IDE :
IntelliJ IDEA
或者Eclipse
,理論來說其他 Java IDE 也行; -
Docker : 需要提供
docker
和docker-compose
指令,至少需要給docker
分配4G
的運(yùn)行內(nèi)存,建議配置國內(nèi)鏡像加速,下載鏡像速度會(huì)快一些。
1 管理員權(quán)限改hosts:
# Added by DC3
127.0.0.1 dc3-mysql
127.0.0.1 dc3-redis
127.0.0.1 dc3-mongo
127.0.0.1 dc3-opentsdb
127.0.0.1 dc3-elasticsearch
127.0.0.1 dc3-rabbitmq
127.0.0.1 dc3-emqx
127.0.0.1 dc3-nginx
127.0.0.1 dc3-influx
# dev
127.0.0.1 dc3-center-register
127.0.0.1 dc3-center-auth
127.0.0.1 dc3-center-manager
127.0.0.1 dc3-center-data
127.0.0.1 dc3-gateway
# End DC3
2 安裝好docker后,安裝基礎(chǔ)組件:
cd iot-dc3/dc3
#創(chuàng)建并啟動(dòng) MySQL、MongoDB、Redis、RabbitMQ、Nacos 服務(wù)
docker-compose -f docker-compose-dev.yml up -d mysql mongo redis rabbitmq register
#停止 MySQL、MongoDB、Redis、RabbitMQ、Nacos 服務(wù)
docker-compose stop mysql mongo redis rabbitmq register
3 下載dc3源碼并依次啟動(dòng)
啟動(dòng) Auth、Manager、Data、Gateway 服務(wù) 進(jìn)入原網(wǎng)頁#
啟動(dòng)待開發(fā)的 驅(qū)動(dòng)
# 下載iot-dc3源碼
git clone https://gitee.com/pnoker/iot-dc3.git
cd iot-dc3/dc3/demo
在 Idea 中依次啟動(dòng):
dc3-center-auth
dc3-center-manager
dc3-center-data
dc3-center-gateway
4 拉取完整源碼步驟
注意:以下步驟均在iot-dc3目錄下完成
1.首先拉取iot-dc3
mkdir iot-dc3
cd iot-dc3
git clone https://gitee.com/pnoker/iot-dc3.git
git checkout main
2.拉取公共模塊dc3-common
git clone https://gitee.com/pnoker/dc3-common.git
3.拉取API模塊dc3-api
git clone https://gitee.com/pnoker/dc3-api.git
4.拉取驅(qū)動(dòng)SDK模塊dc3-driver-sdk
git clone https://gitee.com/pnoker/dc3-driver-sdk.git
5.添加依賴模塊
在 iot-dc3 的 pom.xml 中添加 dc3-common、dc3-api、dc3-driver-sdk 即可。
<modules>
<module>dc3-gateway</module>
<module>dc3-center</module>
<module>dc3-driver</module>
<module>dc3-api</module>
<module>dc3-common</module>
<module>dc3-driver-sdk</module>
</modules>
以上步驟完成后iot-dc3目錄結(jié)構(gòu)如下
.
├── dc3 資源文件,如sh,sql等
├── dc3-api gRpc定義的接口結(jié)構(gòu)
├── dc3-center 平臺(tái)中心模塊
├── dc3-common 平臺(tái)公共模塊
├── dc3-driver 平臺(tái)驅(qū)動(dòng)模塊
├── dc3-driver-sdk 平臺(tái)驅(qū)動(dòng)SDK模塊
└── dc3-gateway 平臺(tái)網(wǎng)關(guān)模塊
5 啟動(dòng)驅(qū)動(dòng)
- driver.mqtt.url: ${MQTT_BROKER_URL:ssl://dc3-rabbitmq:8883} # MQTT Broker URL
- auth-type: X509 # 認(rèn)證方式
- username: dc3 # 用戶名
- password: dc3 # 密碼
注意: 以上配置是開啟MQTT SSL認(rèn)證的配置,如果你的MQTT Broker沒有開啟SSL認(rèn)證,請將auth-type
設(shè)置為NONE
或者注釋掉,同時(shí)將url設(shè)置為普通的tcp://dc3-rabbitmq:1883
這里要改為: auth-type: username
。因?yàn)榕渲昧擞脩裘?/strong>
driver:
schedule:
# 定時(shí)讀數(shù)據(jù)
read:
corn: '0/5 * * * * ?'
mqtt:
# url: ${MQTT_BROKER_URL:ssl://dc3-rabbitmq:8883}
# auth-type: X509
url: ${MQTT_BROKER_URL:tcp://dc3-rabbitmq:1883}
auth-type: username
username: dc3
password: dc3
receive-topics:
- qos: 1
name: data
default-send-topic:
qos: 1
name: command
keep-alive: 15
completion-timeout: 3000
batch:
speed: ${MQTT_BATCH_SPEED:100}
interval: ${MQTT_BATCH_INTERVAL:5}
6 配置mqtt驅(qū)動(dòng)
安裝MQTTX客戶端 #
點(diǎn)擊安裝(opens new window)
連接MQTT 官方文檔#
這里host可以寫IP,也可以寫上面配置host的域名映射。
7 發(fā)送數(shù)據(jù)
記得按圖填寫json qos:1
topic: dc3/default/dc3-driver-mqtt/data
deviceId: 設(shè)備ID, 不是設(shè)備名, pointId:位號(hào)
{
"id":"1014",
"deviceId":"1694223265544900609",
"pointId":"1694223118807175169",
"value": 263.0,
"createTime": "2022-08-19 14:34:36.111"
}
mqtt:收到結(jié)果并發(fā)送到rabbitmq :
data:
8 啟動(dòng)WEB頁面查看
構(gòu)建 IoT DC3 Web UI #
git clone https://github.com/pnoker/iot-dc3-web.git
cd iot-dc3-web
#這步至關(guān)重要, 推薦使用 yarn
npm install -g yarn --registry=https://registry.npm.taobao.org
yarn
啟動(dòng) IoT DC3 Web UI #
yarn serve
新增模板與位號(hào):
3 新增設(shè)備:
明細(xì)數(shù)據(jù): 查所有的位號(hào)(設(shè)備屬性)
配置topict 和 qos, 與mqtt的頁面一一對應(yīng)。
數(shù)據(jù): { “deviceId”: “1694223265544900609”, “pointId”: “1694223118807175169”, “value”: “63.0”}
9 待以上服務(wù)全部正常啟動(dòng),訪問 http://localhost:8080 (opens new window)即可進(jìn)入登陸頁面!
10 啟動(dòng)問題解決:
啟動(dòng)不了
Caused by: java.nio.charset.MalformedInputException: Input length = 1
at java.nio.charset.CoderResult.throwException(CoderResult.java:281)
at sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:339)
at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:178)
at java.io.InputStreamReader.read(InputStreamReader.java:184)
at org.yaml.snakeyaml.reader.UnicodeReader.read(UnicodeReader.java:118)
at org.yaml.snakeyaml.reader.StreamReader.update(StreamReader.java:179)
... 43 common frames omitted
消息發(fā)送失?。阂⒁鈹?shù)據(jù)格式與實(shí)體類一樣。
3 密碼報(bào)錯(cuò)
修改yml: auth-type: username
4 yarn 安裝web依賴
找不到y(tǒng)arn命令。
要配置環(huán)境變量: path: 安裝時(shí)帶有的路徑:
yarn serve
error marked@5.1.1: The engine “node” is incompatible with this module. Expected version “>= 18”. Got “14.21.3”
error Found incompatible module.
info Visit https://yarnpkg.com/en/docs/cli/install for documentation about this command.
?## 5 cipher - please check password and data.
確認(rèn)密碼沒問題那就是開了ssl認(rèn)證: X509驗(yàn)證模式改成普通密碼驗(yàn)證模式
文章來源:http://www.zghlxwxcb.cn/news/detail-675079.html
?文章來源地址http://www.zghlxwxcb.cn/news/detail-675079.html
到了這里,關(guān)于IoT DC3 是一個(gè)基于 Spring Cloud 的開源的、分布式的物聯(lián)網(wǎng)(IoT)平臺(tái)本地部署步驟的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!