当前位置: 首页 > news >正文

Fastbee物联网项目新手快速入门

一,前提条件

后端环境准备如下:

  1. 正式环境推荐硬件资源最低要求4c8G,硬盘40G。
  2. JDK 1.8.0_2xx (需要小版本号大于200) 。
  3. Maven3.6.3。(IDEA启动时使用IDEA默认自带的版本即可)。

启动fastbee之前,请先确定已经安装好以下基础服务:

开发者根据自身环境情况选择参考IDEA本地调试或Docker远程部署。

  1. Redis 5.x
  2. Mysql 5.7 +
  3. EMQX5.0+ or EMQX4.0+
  4. TDengine =2.6(可选)

前端环境准备如下

  1. NodeJs >= 12
  2. Nginx 1.24.0

二,项目部署&运行

2.1 获取源码

git clone https://gitee.com/zhuangpengli/FastBee.git

2.2 使用IDEA打开后端源码

  1. 打开IDEA,点击File > Open,选择项目中springboot目录,等待依赖下载完成。
  2. 点击File > Project Structure > Project, 配置SDK为jdk1.8.200+ ,Project language level为8。

2.3 IDEA启动后端

2.3.1 配置文件及常见修改项

配置文件地址:springboot/fastbee-admin/src/main/resources/application.yml

不同启动环境有对应的配置文件:分为dev(开发环境)和prod(生产环境)

# Spring配置
spring:# 环境配置,dev=开发环境,prod=生产环境profiles:active: dev               # 环境配置,dev=开发环境,prod=生产环境

以开发环境(application-dev.yml)为例常见修改项说明

# 省略了部分配置项
spring:datasource:druid:# 修改主数据库host地址,数据表名,账号密码等master:url: jdbc:mysql://localhost/fastbee?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8username: rootpassword: fastbee# 默认不启用TDengine,true=启用,false=不启用# 启用时,修改host地址,数据表名,账号密码等tdengine-server:enabled: false     url: jdbc:TAOS://fastbee:6030/fastbee_log?timezone=Asia/Beijing&charset=utf-8username: rootpassword: taosdatadbName: fastbee_log# redis 配置redis:host: localhost                         # 地址port: 6379                              # 端口,默认为6379database: 1                             # 数据库索引password: fastbee                       # 密码# mqtt 配置mqtt:username: fastbee                       # 账号password: fastbee                       # 密码host-url: tcp://localhost:1883          # mqtt连接tcp地址# 日志配置 根据需要开启不同等级
logging:level:com.fastbee: debugorg.springframework: warn

修改配置文件后,在Maven窗口勾选跳过测试按钮,如下图:

然后执行Maven clean(清理),Maven compile(编译),Maven package(打包)命令,

并等待编译完成,如下图:

注意!!!

使用JDK1.8的时候,请勿在Maven窗口内勾选jdk11的profile选项!

执行Maven clean和Maven compile命令时需要停止项目的运行,否则会出现编译失败或文件被进程占用等问题。

2.3.2 启动应用

启动前可以先用docker脚本,把使用到的中间件先跑起来。

右键FastBeeApplication.java文件执行Run/Debug FastBeeApplication,如下图

2.4 使用IDEA打开前端源码

  1. 打开IDEA,点击File > Open,选择项目中vue目录。
  2. 修改配置
  3. 执行npm install --registry=https://registry.npmmirror.com安装依赖
  4. 执行npm run dev运行前端项目

2.3.1 配置文件及常见修改项

配置文件地址:开发环境vue/.env.development,生产环境vue/.env.production

以开发环境(.env.development)为例常见修改项说明

# 页面标题
VUE_APP_TITLE = FastBee物联网系统# 开发环境配置
ENV = 'development'# 开发环境
VUE_APP_BASE_API = '/dev-api'# 路由懒加载
VUE_CLI_BABEL_TRANSPILE_MODULES = true# 后端接口地址
VUE_APP_SERVER_API_URL = 'http://localhost:8080'# Mqtt消息服务器连接地址
VUE_APP_MQTT_SERVER_URL = 'ws://localhost:8083/mqtt'# 百度地图AK
VUE_APP_BAI_DU_AK = 'nAtaBg9FYzav6c8P9rF9qzsWZfT8O0PD'

2.5 在服务器上用docker部署项目

2.5.1 下载 docker部署项目

   git clone https://gitee.com/zhuangpengli/fastbee-docker.gitcd fastbee-dockercp -rf ./data /var

2.5.2 编译java包

   git clone https://gitee.com/zhuangpengli/FastBee.gitcd FastBee/springbootmvn clean package -Dmaven.test.skip=truecp ./fastbee-admin/target/fastbee-admin.jar /var/data/java/fastbee-admin.jar

2.5.3 打包前端目录

   git clone https://gitee.com/zhuangpengli/FastBee.gitcd FastBee/vuenpm installnpm run build:prodcp -rf ./dist/* /var/data/vue

2.5.4 启动项目

   cd /var/datasetenforce 0chmod 777 -R /var/data #使用netty版本mqtt broker 输入该命令:sudo cp -rf docker-compose-netty.yml docker-compose.yml#使用emqx直接启动docker-compose up -d

相关文章:

Fastbee物联网项目新手快速入门

一,前提条件 后端环境准备如下: 正式环境推荐硬件资源最低要求4c8G,硬盘40G。JDK 1.8.0_2xx (需要小版本号大于200) 。Maven3.6.3。(IDEA启动时使用IDEA默认自带的版本即可)。 启动fastbee之前,请先确定…...

Linux 网络流量相关工具

本文聚焦于网络流量的查看、端口占用查看。至于网络设备的管理和配置,因为太过复杂且不同发行版有较大差异,这里就不赘述,后面看情况再写。 需要注意的是,这里列出的每一个工具都有丰富的功能,流量/端口信息查看只是其…...

KMP算法关于next数组详解

j1234567abcabcdnext[j]0111234 要求j7的时候,next数组为多少,j7的时候,就是看i6的时候前缀和后缀的关系(因为求7的时候,和7没有关系,和7的前面有关系) 当i6的时候,j3,…...

【Docker】数据持久化 挂载

Docker的镜像是只读的,但是容器是可写的,我们可以将数据写入到容器,不过一旦容器删除数据将会丢 失,那么有什么办法能将数据进行持久化存储呢? ——在宿主机上开辟一块地方,存储内容和docker容器的存储内…...

redis-主从复制

1.主从复制 1.1简介 主机数据更新后根据配置和策略, 自动同步到备机的master/slaver机制,Master以写为主,Slave以读为主 1.2作用 1、数据冗余:主从复制实现了数据的热备份,是持久化之外的一种数据冗余方式。 2、故…...

知识产权如何转为实缴资本,实操

网上已传疯了,相关部门要求企业注册资本认缴的必须在5年内完成实缴,这一下子引起企业老板们着急了。以前公司注册时,很多老板因为是认缴资本,完全凭脑袋一拍,写上注册资金5000万,有的甚至写上几个小目标。现…...

docker-compose安装

一、docker-compose是什么 Docker Compose是一个用来定义和运行复杂应用的Docker工具。 一个使用Docker容器的应用,通常由多个容器组成。使用Docker Compose不再需要使用shell脚本来启动容器。 Compose 通过一个配置文件来管理多个Docker容器,在配置文件…...

「 典型安全漏洞系列 」06.路径遍历(Path Traversal)详解

引言:什么是路径遍历?如何进行路径遍历攻击并规避常见防御?如何防止路径遍历漏洞。 1. 简介 路径遍历(Path Traversal)是一种安全漏洞,也被称为目录遍历或目录穿越、文件路径遍历。它发生在应用程序未正确…...

【Android Gradle 插件】Gradle 参考文档收集

Android Plugin DSL Reference 参考文档 Android Plugin DSL Reference 参考文档 : Android Studio 构建配置官方文档 : 配置 build | Android Studio | Android Developers 添加构建依赖项 参考文档 : https://developer.android.google.cn/studio/build/dependencies …...

Controller的部分注解

目录 1.增加 用到注解 1.1RequestBody注解解析: 2.查询方法当中参数不用注解! 3.起售停售用到注解 3.1PathVariable解析 4.删除菜品注解 4.1RequestParam 5.修改用到的注解 5.1修改分两步 用到两个注解 6:总结 1.增加 用到注解…...

CMake简明教程 笔记

推荐B站视频:1.1 Cmake构建项目的流程_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1xa4y1R7vT?p1&vd_sourcea934d7fc6f47698a29dac90a922ba5a3 >>目录 1)CMake初体验 CMake构建流程Windows下使用CMake构建项目Linux下使用CMake构…...

使用 sorted set 实现令牌桶限流

业务场景为限制消息发送,要求每天不超过一次,每七天不超过三次。 Redission 的 RRateLimiter 虽然功能完备且支持自定义限流配置,但是每个限流器都需要维护三个 key,并且 lua 脚本中的判断逻辑较为复杂。 见:Redisso…...

云上高可用系统-韧性设计模式

一、走近韧性设计模式 (一)基本概念 韧性设计模式是一系列在软件工程中用于提高系统韧性的设计原则、策略、实践和模式。韧性(Resilience)在这里指的是系统对于各种故障、异常和压力的抵抗能力,以及在遭受这些挑战后…...

【保姆级教程】Windows11下go-zero的etcd安装与初步使用

【Go-Zero】Windows11下etcd的安装与初步使用 大家好 我是寸铁👊 总结了一篇Windows11下etcd的安装与初步使用的文章✨ 喜欢的小伙伴可以点点关注 💝 前言: 在使用etcd 前,我们需要了解一下etcd 是什么,为什么使用etcd…...

golang通过go-git下载gitlab源码

1 申请令牌 方法1:具体项目下申请: 方法2:全局申请 2 获取token 3 下载代码 package mainimport ("fmt""os""github.com/go-git/go-git/v5" )func main() {_, err : git.PlainClone("/tmp/foo",…...

探索Pyecharts之美-绘制多彩旭日图的艺术与技巧【第37篇—python:旭日图】

文章目录 引言准备工作绘制基本旭日图调整颜色和样式添加交互功能定制标签和标签格式嵌套层级数据高级样式与自定义进阶主题:动态旭日图数据源扩展:外部JSON文件总结 引言 数据可视化在现代编程中扮演着重要的角色,而Pyecharts是Python中一个…...

c++ QT 信号的个人理解 信号就是独立文件调用的一种“协议”

一. 简介 就我个人来理解,信号槽机制与Windows下消息机制类似,消息机制是基于回调函数,Qt中用信号与槽来代替函数指针,使程序更安全简洁。 信号和槽机制是 Qt 的核心机制,可以让编程人员将互不相关的对象绑定在一起&a…...

C#语法(关键字)

C#关键字 关键字是C#编译器预定义的保留字。这些关键字不能作为标识符,但是,如果您想要用它们做标识符,在这个前面加个字符做前缀。 保留关键字abstractasbaseboolbreakbytecasecatchcharcheckedclassconstcontinuedecimaldefaultdelegated…...

让B端管理软件既美观又实用的解决方案来了

hello宝子们...我们是艾斯视觉擅长ui设计和前端开发10年经验!希望我的分享能帮助到您!如需帮助可以评论关注私信我们一起探讨!致敬感谢感恩! 让B端管理软件既美观又实用的解决方案来了 在当今数字化时代,B端管理软件已…...

npm run dev,vite 配置 ip 访问

启动项目通过本地 ip 的方式访问 方式一.通过修改 package.json "scripts": {"dev": "vite --host 0.0.0.0",}, 方式二.通过修改 vite.config.ts export default defineConfig({plugins: [vue(), vueJsx()],server: { // 配置 host 与 port 方…...

观成科技:隐蔽隧道工具Ligolo-ng加密流量分析

1.工具介绍 Ligolo-ng是一款由go编写的高效隧道工具,该工具基于TUN接口实现其功能,利用反向TCP/TLS连接建立一条隐蔽的通信信道,支持使用Let’s Encrypt自动生成证书。Ligolo-ng的通信隐蔽性体现在其支持多种连接方式,适应复杂网…...

K8S认证|CKS题库+答案| 11. AppArmor

目录 11. AppArmor 免费获取并激活 CKA_v1.31_模拟系统 题目 开始操作: 1)、切换集群 2)、切换节点 3)、切换到 apparmor 的目录 4)、执行 apparmor 策略模块 5)、修改 pod 文件 6)、…...

边缘计算医疗风险自查APP开发方案

核心目标:在便携设备(智能手表/家用检测仪)部署轻量化疾病预测模型,实现低延迟、隐私安全的实时健康风险评估。 一、技术架构设计 #mermaid-svg-iuNaeeLK2YoFKfao {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg…...

云启出海,智联未来|阿里云网络「企业出海」系列客户沙龙上海站圆满落地

借阿里云中企出海大会的东风,以**「云启出海,智联未来|打造安全可靠的出海云网络引擎」为主题的阿里云企业出海客户沙龙云网络&安全专场于5.28日下午在上海顺利举办,现场吸引了来自携程、小红书、米哈游、哔哩哔哩、波克城市、…...

vscode(仍待补充)

写于2025 6.9 主包将加入vscode这个更权威的圈子 vscode的基本使用 侧边栏 vscode还能连接ssh? debug时使用的launch文件 1.task.json {"tasks": [{"type": "cppbuild","label": "C/C: gcc.exe 生成活动文件"…...

大语言模型如何处理长文本?常用文本分割技术详解

为什么需要文本分割? 引言:为什么需要文本分割?一、基础文本分割方法1. 按段落分割(Paragraph Splitting)2. 按句子分割(Sentence Splitting)二、高级文本分割策略3. 重叠分割(Sliding Window)4. 递归分割(Recursive Splitting)三、生产级工具推荐5. 使用LangChain的…...

spring:实例工厂方法获取bean

spring处理使用静态工厂方法获取bean实例,也可以通过实例工厂方法获取bean实例。 实例工厂方法步骤如下: 定义实例工厂类(Java代码),定义实例工厂(xml),定义调用实例工厂&#xff…...

ElasticSearch搜索引擎之倒排索引及其底层算法

文章目录 一、搜索引擎1、什么是搜索引擎?2、搜索引擎的分类3、常用的搜索引擎4、搜索引擎的特点二、倒排索引1、简介2、为什么倒排索引不用B+树1.创建时间长,文件大。2.其次,树深,IO次数可怕。3.索引可能会失效。4.精准度差。三. 倒排索引四、算法1、Term Index的算法2、 …...

C# SqlSugar:依赖注入与仓储模式实践

C# SqlSugar:依赖注入与仓储模式实践 在 C# 的应用开发中,数据库操作是必不可少的环节。为了让数据访问层更加简洁、高效且易于维护,许多开发者会选择成熟的 ORM(对象关系映射)框架,SqlSugar 就是其中备受…...

Linux --进程控制

本文从以下五个方面来初步认识进程控制: 目录 进程创建 进程终止 进程等待 进程替换 模拟实现一个微型shell 进程创建 在Linux系统中我们可以在一个进程使用系统调用fork()来创建子进程,创建出来的进程就是子进程,原来的进程为父进程。…...