前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >开源物联网平台 FastBee 项目推荐

开源物联网平台 FastBee 项目推荐

作者头像
用户3587585
发布2024-05-10 18:52:13
1430
发布2024-05-10 18:52:13
举报
文章被收录于专栏:阿福谈Web编程阿福谈Web编程
引言

在如今越来越内卷的互联网行业无论是PC端还是移动端方向的需求已经越来越少,这也是为什么互联网行业的程序员发现找工作会越来越难的原因,很多互联网行业的程序员发现失去工作或收入出现断崖式的下降,想通过副业弥补在主业收入上的锐减发现也非常困难。人到中年想要转行做自己完全没有基础的行业也没那么容易,常言道转行要做好穷三年的准备。即便要转行,我们也尽可能在我们熟悉又有一定基础的行业里转型。

今天这篇文章笔者推荐一个刚兴起还没那么内卷又和互联网紧密联系的行业,那就是物联网行业。这个行业的门槛要比互联网的门槛高,因为涉及到与硬件打交道,而互联网行业之所以非常内卷那就是门槛比较低。前几年互联网行情好的时候很多非计算机专业的同学通过报个培训班半年之后包装一下自己的简历就能找份PC端或移动端程序员的工作。但现在因为行情差明显不行了,著名的IT培训机构黑马传智播客去年的营业收入大幅锐减了80%就说明了问题。

但是物联网这一块因为涉及到程序要和芯片开发板还有硬件设备进行联调,很多培训机构也没开设这门课,懂物联网开发的同学还不是很多,所以物联网行业也没那么内卷。而且从Boss直聘上看到招聘物联网开发工程师的岗位还真不少,而且大多是甲方公司,待遇也比普通 Java 程序员好不少,对于有兴趣转到物联网开发工程师的同学当前也是一个不错的转型机会。

物联网(IoT)简介

物联网(IoT)是当前最热门的信息技术之一。该技术使用传感器分析数据并与不同的机器连接,以便在网络上共享信息。从制造、物流到零售、医疗保健等,物联网在各个行业都有大量应用。

物联网主要是凭借约定好的协议将原来独立存在的各个设备进行彼此的相互连接,并最终成功实现智能识别、定位、跟踪、监测、控制和管理的一种网络,不需要人与人、或人与设备之间进行互动。物联网简单来讲可以理解为“物物相连的网”,主要在一些领域中进行运用,例如智能交通、智能医疗、智能家居、智能物流、智能电力等领域。

目前物联网产业的发展正在飞速进行,从智能电视、智能家居、智能汽车、医疗健康、智能玩具、机器人等向可穿戴设备领域进行延伸。物联网将通过发展智能硬件不断渗透多元的消费场景,从而营造出更加美好的生活环境,也就是生活变得更加便利、舒适、安全、节能。

物联网行业的快速发展对于物联网开发工程师的需求也是越来越多,很多职业生涯遇到瓶颈的IT程序员已经开始转到物联网这一与互联网同宗的行业来了,程序员的编程基础也能给我们转到物联网开发带来了很大的便利。如果大家和我一样没有物联网项目开发经验,那么不妨一起来了解和学习下面这个入门门槛并不是很高的物联网项目,它就是笔者在Gitee上找到的FastBee开源物联网平台项目。

项目介绍

FastBee开源物联网平台又名蜂信物联,简单易用,更适合中小企业和个人学习使用。适用于智能家居、智慧办公、智慧社区、农业监测、水利监测、工业控制等。

系统后端采用Spring Boot;前端采用Vue;消息服务器采用EMQX;移动端支持微信小程序、安卓、苹果和H5采用Uniapp;数据库采用MysqlTDengineRedis;设备端支持ESP32ESP8266、树莓派、合宙等。

系统功能

对于我们学习用,开源版本提供的功能已经足够,需要商业授权的用户可参考商用授权文档链接:https://fastbee.cn/doc/pages/sponsor/#一、项目说明)

技术栈

服务端

  • 相关技术:Spring boot、MyBatis、Spring Security、Jwt、Mysql、Redis、TDengine、EMQX、Netty等
  • 开发工具:IDEA

Web端

  • 相关技术:ES6、Vue、Vuex、Vue-router、Vue-cli、Axios、Element-ui、Echart等
  • 开发工具:Visual Studio Code

移动端(微信小程序 / Android / Ios / H5)

  • 相关技术:ESP-IDF、Arduino、FreeRTOS、Python、Lua等
  • 开发工具:Visual Studio Code 和 Arduino等
项目源码地址及目录

1)源码仓库地址:https://gitee.com/kerwincui/fastbee.git

2)项目目录:

代码语言:javascript
复制
app -------------------- 移动端(微信小程序 / Android / Ios / H5) 商业版开源
docker ---------------- docker部署文件
sdk -------------------- 硬件SDK,已集成多种设备
spring-boot ---------- 后端
vue -------------------- 前端
系统运行环境要求
代码语言:javascript
复制
JDK = 1.8
Mysql = 5.7.0 
Redis >= 3.0
Maven >= 3.3
Node >= 12
TDengine = 2.6 (可选)
Emqx >= 5.0 (可选)

注意:运行环境很重要,低于该版本运行不了。JDK版本高于1.8缺少部分依赖,要单独安装

启动后端服务
  1. 创建FastBee数据库,字符集使用utf8或utf8mb4,导入项目中的 springboot/sql/fastbee.sql 数据库脚本。(Linux中安装mysql,配置大小写敏感,在 /etc/my.cnf 添加 lower_case_table_names=1 重启MYSQL服务。)

2. 开发工具IDEA打开springboot文件夹,会自动安装Maven依赖,等待安装完成,速度取决于网络

3. 修改数据库连接,文件位置:springboot/fastbee-admin/src/main/resources/application-druid.yml

代码语言:javascript
复制
# 数据源配置
spring:
    datasource:
        type: com.alibaba.druid.pool.DruidDataSource
        driverClassName: com.mysql.cj.jdbc.Driver
        druid:
            # 主库数据源
            master:
                url: 数据库地址
                username: 数据库账号
                password: 数据库密码

4. 服务配置,主要是mqtt和redis配置,注意配置文件的格式,缩进一定要对齐。文件位于:springboot/fastbee-admin/src/main/resources/application.yml

代码语言:javascript
复制
## 文件上传路径必须以uploadPath结尾,示例(Windows配置D:/uploadPath,Linux配置 /uploadPath)
  profile: /uploadPath
 
  ## redis 配置
  redis:
    # 地址
    host: localhost
    # 端口,默认为6379
    port: 6379
    # 数据库索引
    database: 0
    # 密码
    password: fastbee
  
  # mqtt 配置
  mqtt:
    host-url: tcp://localhost:1883             # mqtt连接tcp地址
    client-id: ${random.int}                   # 客户端Id,不能相同,采用随机数 ${random.value}
    username: fastbee                          # 账号,服务端Mqtt客户端自认证使用
    password: fastbee                          # 密码,服务端Mqtt客户端自认证使用
    default-topic: test                        # 默认主题
    timeout: 30                                # 超时时间
    keepalive: 30                              # 保持连接
    clearSession: true                         # 清除会话(设置为false,断开连接,重连后使用原来的会话 保留订阅的主题,能接收离线期间的消息)
  task:
    execution:
      pool:
        core-size: 10         # 最小连接数
        max-size: 30          # 最大连接数
        queue-capacity: 3000  # 最大容量

5. 日志路径配置,文件位置:springboot/fastbee-admin/src/main/resources/logback.xml

代码语言:javascript
复制
# 示例( Windows配置D:/logs,Linux配置 /var/data/java/logs)
<property name="log.path" value="/var/data/java/logs" />

5. 运行项目 `FastBeeApplication.java` ,出现下图表示启动成功。

代码语言:javascript
复制
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *      
 *           _⚲_⚲_            ______        _     ____                   *       
 *     |   /       \   |     |  ____|      | |   |  _ \                  *     
 *     |  |  | ● |  |  |     | |__ __ _ ___| |_  | |_) | ___  ___        *       
 *     |   \       /   |     |  __/ _` / __| __| |  _ < / _ \/ _ \       *    
 *           \   /           | | | (_| \__ \ |_  | |_) |  __/  __/       *    
 *             V             |_|  \__,_|___/\__| |____/ \___|\___|       *   
 *                                                                       *       
 * * * * * * * * * * * * FastBee物联网平台[✔启动成功] * * * * * * * * * * *
启动前端服务

使用开发工具Visual Studio Code 打开项目中vue目录

1. 修改根目录的 .env.development 文件,后端接口默认8080端口,EMQX接口默认8081端口,EMQX消息服务器地址使用ws协议对应8083端口,使用wss协议建议配置代理访问8083端口。

代码语言:javascript
复制
# 后端接口地址
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'

提示:百度地图AK请到[百度地图开发平台](https://lbsyun.baidu.com/) 申请

2. 修改完成后,开始安装依赖,可以通过重新指定 registry 来解决 npm 安装速度慢的问题。

代码语言:javascript
复制
# 安装依赖
npm install
npm install --registry=https://registry.npmmirror.com

# 本地开发 启动项目
npm run dev

‍提示 强烈建议不要用直接使用 cnpm 安装,会有各种诡异的 bug NodeJs是V16以上版本导致运行报错,在安装后使用 `$env:NODE_OPTIONS="--openssl-legacy-provider"`命令,然后重新运行

‍3. 打开浏览器,输入:http://localhost:80 默认账户/密码 admin/admin123 。若 能正确展示登录页面,并能成功登录,菜单及页 面展示正常,则表明环境搭建成功。

部分系统效果图
相关硬件

1. 监控设备

注意 1)摄像头需要支持国标GB28181协议 2)2016年之前的监控设备基本都不支持,可以在配置-> 基本配置->基本信息中 查看软件编译时间,找最新的固件进行升级,例如:"V5.7.4 build 220706" ,2022年7月6号的版本升级

视频监控中,海康设备较为稳定,大部分也支持国标GB28181协议,推荐设备如下:

  • 宇视,大华,九安,紫光,雄迈,同为支持GB28181协议的基本都可以,个别型号需要适配
  • 巨龙:筒型网络摄像机,海螺型网络摄像机, WIFI 人脸人形警戒小球

2. 相关物联

参考文章

【1】【行业动态】物联网的现状和发展,值得关注的四大趋势(https://mp.weixin.qq.com/s?__biz=MzAwMDgwMzA3Nw==&mid=2247506734&idx=6&sn=12b6b003d216f9bed48bf54048a0bb8e&chksm=9ae1f344ad967a52dca88113b1c43074efa5f7ddb19c4c091909004d6950879c8c4c321ee7bf&scene=27)

【2】Fastbee文档(https://fastbee.cn/doc/pages/system/)

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2024-05-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 阿福谈Web编程 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 物联网(IoT)简介
  • 项目介绍
  • 系统功能
  • 技术栈
  • 项目源码地址及目录
  • 系统运行环境要求
  • 启动后端服务
  • 启动前端服务
  • 部分系统效果图
  • 相关硬件
  • 参考文章
相关产品与服务
物联网
腾讯连连是腾讯云物联网全新商业品牌,它涵盖一站式物联网平台 IoT Explorer,连连官方微信小程序和配套的小程序 SDK、插件和开源 App,并整合腾讯云内优势产品能力,如大数据、音视频、AI等。同时,它打通腾讯系 C 端内容资源,如QQ音乐、微信支付、微保、微众银行、医疗健康等生态应用入口。提供覆盖“云-管-边-端”的物联网基础设施,面向“消费物联”和 “产业物联”两大赛道提供全方位的物联网产品和解决方案,助力企业高效实现数字化转型。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档