Skip to content

yuanxiaoming8899/devicehive-java-server-cn

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

执照

DeviceHive Java 服务器

DeviceHive 将任何连接的设备变成物联网的一部分。它提供通信层、控制软件和多平台库,以引导智能能源、家庭自动化、遥感、遥测、远程控制和监控软件等的开发。

使用 Python、Node.js 或 Java 库和 JSON 格式连接嵌入式 Linux。通过 REST、Websockets 或 MQTT 写入和读取数据,探索Grafana图表上的可视化。

使用 HTML5/JavaScript 和 Android 库开发客户端应用程序。将沟通交给 DeviceHive,专注于实际产品和创新。

DeviceHive 许可证

DeviceHiveDataArt Apps 开发,并在开源 Apache 2.0下分发。这基本上意味着只要包含版权声明,您就可以使用该软件做任何您想做的事情。这也意味着您不必将最终产品或修改后的源代码贡献回开源,但如果您想分享,我们强烈鼓励您这样做!

© 版权所有 2013-2017 DataArt Apps © 保留所有权利

Docker容器

DeviceHive 可以通过 Docker Compose 手动部署或部署到 Kubernetes 集群。我们的建议是从Docker Compose开始——这是开始掌握 DeviceHive 功能的最简单方法。可以在这里找到说明。如果您更熟悉Kubernetes,请点击此 链接获取详细说明。

DeviceHive Java 安装说明

尽管 docker-compose 安装是本地运行 DeviceHive 对开发人员最友好的方式,但有时需要手动构建和启动项目。您可以在下面找到相关的详细说明。

先决条件

为了使用 DeviceHive 框架,您必须安装并配置以下组件:

构建包

使用“下载 ZIP”按钮从GitHub下载源代码。它应该始终指向最近的稳定版或测试版,但您始终可以获得任何其他标签或分支。它还可以使用Git 版本控制客户端或 git 命令行工具之一来完成。如果您更喜欢 git,请使用命令克隆项目

git clone https://github.com/devicehive/devicehive-java-server.git

之后您可以切换到您需要的标签或分支。所有可用版本的列表可以在 https://github.com/devicehive/devicehive-java-server/releases找到。从 ${devicehive-java-server-directory} 执行以下命令。

mvn clean package

如果没有错误,则编译打包完成,可以进行下一步。

运行阿帕奇卡夫卡

按照官方文档 ( http://kafka.apache.org/documentation.html#quickstart) 中的说明启动 Zookeeper 和 Apache Kafka 代理。如果您的 Kafka 代理安装在不同的计算机上,请在 app.properties 文件中指定它们的主机名/端口。您需要更新zookeeper.connect(zookeeper的联系点)和bootstrap.servers(代理列表)属性。

运行Redis

启动Redis在官方文档中有解释(https://redis.io/docs/getting-started/)。如果您的 Redis 实例安装在不同的计算机上,请在application.properties文件中指定主机/端口。

启动数据库

  • 下载并安装 PostgreSQL(请参阅https://wiki.postgresql.org/wiki/Detailed_installation_guides)后,您必须创建新用户。为了使数据库迁移正常工作,需要执行此步骤。默认情况下,DH 期望用户名是postgres,密码是12345。您可以在 DH 配置文件中更改此设置。
  • devicehive使用在步骤 1 中创建的用户名称创建数据库。该用户应该是数据库的所有者。
  • 数据库架构将在应用程序启动时初始化。

检查属性

每个微服务都有自己的src/main/resources/application.properties文件,其中包含所有应用程序级配置(数据库凭据、redis 地址、kafka props 等)。请在构建应用程序之前检查它们,以避免运行时出现问题。

您还可以通过在运行时将它们传递给 JVM 来覆盖这些值java -Dapplication.property.name=application.property.name -jar。例如:

java -Dbootstrap.servers=0.0.0.1:9092 -jar ${devicehive-jar}.jar
java -Dproxy.connect=0.0.0.1:3000 -jar ${devicehive-jar}.jar

DB 连接属性在内部管理devicehive-rdbms-dao/src/main/resources/application-persistence.properties。要覆盖它们,请执行相同的操作:

java -Dspring.datasource.url=jdbc:postgresql://0.0.0.1:5432/devicehive -jar ${devicehive-jar}.jar
java -Dspring.datasource.username=test -Dspring.datasource.password=test -jar ${devicehive-jar}.jar

运行应用程序

DeviceHive生态系统包含3个强制服务和1个可选服务,即后端、前端、身份验证和插件管理(可选)微服务。

  • 要启动应用程序,首先运行以下命令:

java -jar ${devicehive-java-server-directory}/devicehive-backend/target/devicehive-backend-<version>-boot.jar

这将启动后端。等待应用程序启动,然后运行:

java -jar ${devicehive-java-server-directory}/devicehive-frontend/target/devicehive-frontend-<version>-boot.jar

java -jar ${devicehive-java-server-directory}/devicehive-auth/target/devicehive-auth-<version>-boot.jar

这将在默认端口 8080 上启动嵌入式 undertow 应用程序服务器并部署 DeviceHive 应用程序。您可以http://localhost:8080/dh/swagger从网络浏览器访问并开始学习前端的 API。您也可以从网络浏览器访问http://localhost:8090/dh/swagger以开始学习身份验证的 API。

对于 devicehive-frontend 和 devicehive-backend 日志记录级别,可以通过将以下属性添加到上面的命令来更改:

-Droot.log.level=value1 -Dcom.devicehive.log.level=value2

这些值可以是:TRACE、DEBUG、INFO、WARN、ERROR。如果属性不存在,则将使用默认值。对于 devicehive-frontend 和 devicehive-auth,value1 和 value2 的默认值分别是 WARN 和 INFO。对于 devicehive-backend,两者的默认值都是 INFO。

插件管理服务

DeviceHive 生态系统中有一项可选服务 - 插件管理服务。它允许通过 RESTful API 注册和更新 DeviceHive 插件(允许客户实现自己的业务逻辑,而无需深入研究 DeviceHive 源代码)。

要启动它,只需运行以下命令:

java -jar ${devicehive-java-server-directory}/devicehive-plugin/target/devicehive-plugin-<version>-boot.jar

服务默认在8110端口启动,因此你可以访问它的swaggerhttp://localhost:8110/dh/swagger

About

DeviceHive 将任何连接的设备变成物联网的一部分

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 97.3%
  • HTML 1.1%
  • Other 1.6%