iot-dc3 項目windows本地運行保姆喂奶級教程

一.源碼拉取

        當前時間:2025年06月18日12點02分

        后臺接口服務:https://gitee.com/pnoker/iot-dc3.git

        前端:https://gitee.com/pnoker/iot-dc3-web.git

        請自行拉取至本地。

二.本地環境準備

        其他基礎環境先不講了,如有需要請留言。

        idea + VS Code。

IntelliJ IDEA 2024.2.0.1 (Ultimate Edition)

JDK:java 21 的一個版本 graalvm-21 GraalVM 21.0.5 - VM 23.1.5

Maven:apache-maven-3.9.9

Visual Studio Code Version: 1.101.0 (user setup)

NodeJS:v20.16.0

        后臺接口配置中默認是dev環境,安裝完本地環境后請注意修改配置文件中 MySQL 端口號、賬號、密碼;Redis 端口號、密碼;MongoDB 端口號;mqtt 端口號 等。

        嫌每次開機都要啟動一遍服務麻煩的,可以看看如何將其發布到系統服務中,然后設置自啟動。

1.Hosts配置

        見  環境準備 | IoT DC3

2.MySQL 5.7.44

        安裝見 MySQL綠色版Windows環境安裝

        各系統數據庫腳本下載見 https://download.csdn.net/download/qq_35139974/91056873

        如果你沒有下載的積分可以直接聯系我。

3.Redis 3.0.504

        安裝見 Windows安裝Redis圖文教程

4.MongoDB 8.0.10

        安裝見 Windows安裝MongoDB_mongodb

        設置用戶名和密碼見 mongoDB設置訪問用戶名密碼

use dc3
db.createUser({ user: "dc3", pwd: "dc3", roles: [{ role: "dbAdmin", db: "dc3" }] })

5.RabbitMQ 4.1.1

        安裝見 Windows下安裝rabbitmq

        啟用 MQTT 插件:

# 啟用 MQTT 插件
rabbitmq-plugins enable rabbitmq_mqtt# 查看已啟用插件列表
rabbitmq-plugins list

        檢查并創建虛擬主機,然后賦予權限:

# 列出所有虛擬主機
rabbitmqctl list_vhosts# 如果不存在 dc3,則創建它
rabbitmqctl add_vhost dc3# 列出所有用戶
rabbitmqctl list_users# 給用戶分配 dc3 虛擬主機的權限
# 格式:rabbitmqctl set_permissions -p <vhost> <user> ".*" ".*" ".*"
rabbitmqctl set_permissions -p dc3 dc3 ".*" ".*" ".*"

三.后臺項目啟動

        依次啟動 GatewayApplication、AuthApplication、ManagerApplication、DataApplication、VirtualDriverApplication。

        如果控制臺報錯了,請檢查 二 中配置是否正確,相關環境或插件是否已安裝完畢。

1.沒有安裝 mqtt 插件

Exception while connecting org.eclipse.paho.client.mqttv3.MqttException: 無法連接至服務器 at org.eclipse.paho.client.mqttv3.internal.TCPNetworkModule.start(TCPNetworkModule.java:80) at org.eclipse.paho.client.mqttv3.internal.ClientComms$ConnectBG.run(ClientComms.java:724) at java.base/java.lang.Thread.run(Thread.java:1583) Caused by: java.net.ConnectException: Connection refused: getsockopt at java.base/sun.nio.ch.Net.pollConnect(Native Method) at java.base/sun.nio.ch.Net.pollConnectNow(Net.java:682) at java.base/sun.nio.ch.NioSocketImpl.timedFinishConnect(NioSocketImpl.java:542) at java.base/sun.nio.ch.NioSocketImpl.connect(NioSocketImpl.java:592) at java.base/java.net.SocksSocketImpl.connect(SocksSocketImpl.java:327) at java.base/java.net.Socket.connect(Socket.java:751) at org.eclipse.paho.client.mqttv3.internal.TCPNetworkModule.start(TCPNetworkModule.java:74) ... 2 common frames omitted

2.虛擬主機問題

2025-06-18 11:49:45.490 ERROR 25604 --- [ntContainer#2-1] [1932] o.s.a.r.l.SimpleMessageListenerContainer : Failed to check/redeclare auto-delete queue(s). org.springframework.amqp.AmqpIOException: java.io.IOException at org.springframework.amqp.rabbit.support.RabbitExceptionTranslator.convertRabbitAccessException(RabbitExceptionTranslator.java:70) at org.springframework.amqp.rabbit.connection.AbstractConnectionFactory.createBareConnection(AbstractConnectionFactory.java:622) at org.springframework.amqp.rabbit.connection.CachingConnectionFactory.createConnection(CachingConnectionFactory.java:726) at org.springframework.amqp.rabbit.connection.ConnectionFactoryUtils.createConnection(ConnectionFactoryUtils.java:257) at org.springframework.amqp.rabbit.core.RabbitTemplate.doExecute(RabbitTemplate.java:2249) at org.springframework.amqp.rabbit.core.RabbitTemplate.execute(RabbitTemplate.java:2222) at org.springframework.amqp.rabbit.core.RabbitTemplate.execute(RabbitTemplate.java:2202) at org.springframework.amqp.rabbit.core.RabbitAdmin.getQueueInfo(RabbitAdmin.java:467) at org.springframework.amqp.rabbit.core.RabbitAdmin.getQueueProperties(RabbitAdmin.java:451) at org.springframework.amqp.rabbit.listener.AbstractMessageListenerContainer.attemptDeclarations(AbstractMessageListenerContainer.java:1960) at org.springframework.amqp.rabbit.listener.AbstractMessageListenerContainer.redeclareElementsIfNecessary(AbstractMessageListenerContainer.java:1924) at org.springframework.amqp.rabbit.listener.SimpleMessageListenerContainer$AsyncMessageProcessingConsumer.initialize(SimpleMessageListenerContainer.java:1478) at org.springframework.amqp.rabbit.listener.SimpleMessageListenerContainer$AsyncMessageProcessingConsumer.run(SimpleMessageListenerContainer.java:1320) at java.base/java.lang.Thread.run(Thread.java:1583) Caused by: java.io.IOException: null at com.rabbitmq.client.impl.AMQChannel.wrap(AMQChannel.java:140) at com.rabbitmq.client.impl.AMQChannel.wrap(AMQChannel.java:136) at com.rabbitmq.client.impl.AMQChannel.exnWrappingRpc(AMQChannel.java:158) at com.rabbitmq.client.impl.AMQConnection.start(AMQConnection.java:454) at com.rabbitmq.client.ConnectionFactory.newConnection(ConnectionFactory.java:1251) at com.rabbitmq.client.ConnectionFactory.newConnection(ConnectionFactory.java:1198) at org.springframework.amqp.rabbit.connection.AbstractConnectionFactory.connectAddresses(AbstractConnectionFactory.java:668) at org.springframework.amqp.rabbit.connection.AbstractConnectionFactory.connect(AbstractConnectionFactory.java:637) at org.springframework.amqp.rabbit.connection.AbstractConnectionFactory.createBareConnection(AbstractConnectionFactory.java:584) ... 12 common frames omitted Caused by: com.rabbitmq.client.ShutdownSignalException: connection error; protocol method: #method<connection.close>(reply-code=530, reply-text=NOT_ALLOWED - vhost dc3 not found, class-id=10, method-id=40) at com.rabbitmq.utility.ValueOrException.getValue(ValueOrException.java:66) at com.rabbitmq.utility.BlockingValueOrException.uninterruptibleGetValue(BlockingValueOrException.java:36) at com.rabbitmq.client.impl.AMQChannel$BlockingRpcContinuation.getReply(AMQChannel.java:552) at com.rabbitmq.client.impl.AMQChannel.privateRpc(AMQChannel.java:316) at com.rabbitmq.client.impl.AMQChannel.exnWrappingRpc(AMQChannel.java:152) ... 18 common frames omitted

3.redis沒設置密碼問題

        需要在配置文件中將密碼刪除

Caused by: io.lettuce.core.RedisConnectionException: Unable to connect to dc3-redis/<unresolved>:6379 at io.lettuce.core.RedisConnectionException.create(RedisConnectionException.java:78) at io.lettuce.core.RedisConnectionException.create(RedisConnectionException.java:56) at io.lettuce.core.AbstractRedisClient.getConnection(AbstractRedisClient.java:350) at io.lettuce.core.RedisClient.connect(RedisClient.java:215) at org.springframework.data.redis.connection.lettuce.StandaloneConnectionProvider.lambda$getConnection$1(StandaloneConnectionProvider.java:112) at java.base/java.util.Optional.orElseGet(Optional.java:364) at org.springframework.data.redis.connection.lettuce.StandaloneConnectionProvider.getConnection(StandaloneConnectionProvider.java:112) at org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory$ExceptionTranslatingConnectionProvider.getConnection(LettuceConnectionFactory.java:1776) ... 38 common frames omitted Caused by: io.lettuce.core.RedisCommandExecutionException: ERR Client sent AUTH, but no password is set

4.當前 MongoDB 用戶沒有在 dc3 數據庫上執行聚合查詢 (aggregate) 的權限

        異常如下:

org.springframework.data.mongodb.UncategorizedMongoDbException: Command failed with error 13 (Unauthorized): 'not authorized on dc3 to execute command { aggregate: "point_value", pipeline: [ { $match: {}

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/85895.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/85895.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/85895.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

內部網關協議配置實驗

一&#xff1a;靜態路由 簡述&#xff1a;在華為路由器中&#xff0c;使用ip route-static命令配置靜態路由。一條靜態路由主要包含以下要素。 目的地址&#xff1a;數據包要到達的目標IP地址 子網掩碼&#xff1a;用于指定目的地址的網絡部分和主機部分 下一跳地址&#xff08…

大模型應用:如何使用Langchain+Qwen部署一套Rag檢索系統

一、TL&#xff1b;DR 從0-1使用qwen chat model langchain的鏈式架構搭建一套rag系統詳細介紹了Langchain的工具鏈的調用流程簡單介紹了可能會出現什么問題 二、方法 參考開源鏈接&#xff1a;https://github.com/Aphasia0515/self_llm/ 2.1 硬件和軟件依賴 類型需求備注…

決策樹:化繁為簡的智能決策利器

本文來自「大千AI助手」技術實戰系列&#xff0c;專注用真話講技術&#xff0c;拒絕過度包裝。 想象一個相親決策過程&#xff1a; 對方收入 > 30萬&#xff1f; → 是 → 見面否 → 顏值高&#xff1f; → 是 → 先聊聊否 → 放棄 這種層層遞進的判斷結構&#xff0c;正是…

html中的盒子標簽div標簽,有序列表,無序列表

div標簽 div標簽對于分析數據很重要&#xff0c;因為數據在頁面中展示是以區域的形式展示的&#xff0c;而查找數據需要先找到盒子名稱在繼續向下找。前端頁面布局中有兩種布局方式&#xff0c;一種是通過表格布局&#xff0c;一種是通過divcss來布局。 <!DOCTYPE html>…

【Redis】解碼Redis中hash類型:理解基礎命令,以及內部編碼方式和使用場景

&#x1f4da;?前言 &#x1f31f;&#x1f31f;&#x1f31f;精彩讀導 本次我們將全面剖析Redis的核心技術要點&#xff0c;包括其豐富的數據類型體系、高效的編碼方式以及秒級響應的性能奧秘。對于渴望深入理解Redis底層機制的技術愛好者&#xff0c;這是一次難得的學習機會…

AI工具在學術寫作中的倫理邊界與誠信規范的平衡

AI寫作助手的興起與爭議 人工智能技術的飛速發展&#xff0c;學境思源&#xff0c;ChatGPT、Grok、Claude 等AI寫作工具逐漸走入高校師生的視野。一鍵生成論文初稿&#xff01;從課程作業到畢業論文&#xff0c;不少學生已經嘗試讓AI參與寫作過程&#xff0c;希望借此提升效率…

課程專注度分析系統項目

前端代碼: <!DOCTYPE html> <html lang="zh-CN"> <head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>課堂專注度分析系統 - 科技…

區塊鏈是什么

區塊鏈的本質與機制 1. 核心定義 區塊鏈 加密的分布式記賬技術&#xff0c;融合密碼學、網絡學、金融學三大學科。 去中心化&#xff1a;數據存儲于全網節點&#xff08;如百萬臺計算機&#xff09;&#xff0c;而非單一數據庫。不可篡改&#xff1a;修改數據需控制全網51%以…

用可觀測工具高效定位和查找設計中深度隱藏的bug

軟件仿真擁有最佳的信號可見性和調試靈活性,被大多數工程師熟練使用,能夠高效捕獲很多顯而易見的常見錯誤。 然而,由軟件實現的數字仿真過程運行速度有限,很難做到100%代碼覆蓋。導致那些深度隱藏的設計問題,將不可避免的逃逸,只能以FPGA在線調試方式解決。 01 為什么全…

華為OD-2024年E卷-字符串化繁為簡[200分] -- python

問題描述&#xff1a; 給定一個輸入字符串&#xff0c;字符串只可能由英文字母(a~z、A~Z) 和左右小括號((、))組成。當字符串里存在小括號時&#xff0c;小括號是成對的&#xff0c;可以有一個或多個小括號對&#xff0c;小括號對不會嵌套&#xff0c;小括號對內可以包含1個或…

使用sealos安裝k8s

一、準備工作&#xff08;所有節點需執行&#xff09;? 1、系統要求 操作系統&#xff1a;本文為Ubuntu 20.0.4 配置&#xff1a;不同主機名、時間同步、SSH 免密互通、關閉防火墻/SELinux/swap。 資源&#xff1a;建議 ≥2核 CPU、2GB 內存&#xff08;生產環境需更高&am…

Pytorch 實戰四 VGG 網絡訓練

系列文章目錄 文章目錄 系列文章目錄前言一、源碼1. 解決線程沖突2.代碼框架 二、代碼詳細介紹1.基礎定義2. epoch 的定義3. 每組圖片的訓練和模型保存 前言 前面我們已經完成了數據集的制作&#xff0c;VGG 網絡的搭建&#xff0c;現在進行網絡模型的訓練。 一、源碼 import t…

課程專注度分析系統文檔

一、項目概述 本項目基于 Flask 框架開發&#xff0c;結合計算機視覺技術&#xff08;利用 YOLOv10 等模型 &#xff09;&#xff0c;實現對課堂視頻的智能分析。可檢測視頻中學生手機使用情況、面部表情&#xff08;專注、分心等 &#xff09;&#xff0c;統計專注度、手機使…

中國設計 全球審美 | 安貝斯新產品發布會:以東方美學開辟控制臺仿生智造新紀元

6月17日&#xff0c;安貝斯&#xff08;武漢&#xff09;控制技術有限公司&#xff08;以下簡稱“安貝斯”&#xff09;在武漢隆重舉行“新產品發布暨協會聯合創新峰會”。近百位來自政府機構、行業協會、行業用戶及戰略合作伙伴的嘉賓齊聚現場&#xff0c;共同見證以“中國設計…

在微信小程序wxml文件調用函數實現時間轉換---使用wxs模塊實現

1. 創建 WXS 模塊文件&#xff08;推薦單獨存放&#xff09; 在項目目錄下新建 utils.wxs 文件&#xff0c;編寫時間轉換邏輯&#xff1a; // utils.wxs module.exports {// 將毫秒轉換為分鐘&#xff08;保留1位小數&#xff09;convertToMinutes: function(ms) {if (typeo…

ByteMD 插件系統詳解

ByteMD 插件系統詳解 ByteMD 的插件系統是其強大擴展性的核心。它允許開發者在 Markdown 解析、AST 轉換、HTML 渲染、以及編輯器 UI 交互的各個階段注入自定義邏輯。這得益于 ByteMD 深度集成了 unified 處理器和其豐富的生態系統&#xff08;remark 用于 Markdown&#xff0c…

每日一練之 Lua 表

Lua 的 table 是什么數據結構&#xff1f;如何創建和訪問&#xff1f; 數據結構:Lua的table是一種哈希表&#xff0c;使用鍵值對存儲數據&#xff0c;支持動態擴容 創建方式: local t1 {} local t2 {10,20,30} local t3 {name"Alice",age25}訪問方式&#xff1a…

實現自動胡批量抓取唯品會商品詳情數據的途徑分享(官方API、網頁爬蟲)

在電商領域&#xff0c;數據就是企業的核心資產。無論是市場分析、競品研究&#xff0c;還是精準營銷&#xff0c;都離不開對大量商品詳情數據的深入挖掘。唯品會作為知名的電商平臺&#xff0c;其豐富的商品信息對于眾多從業者而言極具價值。本文將詳細探討實現自動批量抓取唯…

Zephyr 高階實踐:徹底講透 west 構建系統、模塊管理與跨平臺 CI/CD 配置

本文是 Zephyr 項目管理體系的高階解構與實戰指南&#xff0c;全面覆蓋 west 構建系統原理、模塊解耦與 west.yml 多模塊維護機制&#xff0c;結合企業級多平臺 CI/CD 落地流程&#xff0c;深入講解如何構建可靠、可維護、跨芯片架構的一體化 Zephyr 工程。 一、為什么 Zephyr …

我開源了一套springboot3快速開發模板

我開源了一套springboot3快速開發模板 開箱即用、按需組合、可快速二次開發的后端通用模板。 ? 主要特性 Spring Boot 3.x Java 17&#xff1a;跟隨 Spring 最新生態&#xff0c;利用現代語法特性。多模塊分層&#xff1a;common 抽象通用能力、starter 負責啟動、modules…