使用 Python、Node.js 或 Java 库和 JSON 格式连接嵌入式 Linux。通过 REST、Websockets 或 MQTT 写入和读取数据,探索Grafana图表上的可视化。
使用 HTML5/JavaScript 和 Android 库开发客户端应用程序。将通信留给 DeviceHive 并专注于实际产品和创新。
DeviceHive 可以通过 Docker Compose 手动部署或部署到 Kubernetes 集群。
尽管 docker-compose 安装是对开发人员最友好的本地运行 DeviceHive 的方式,但有时需要手动构建和启动项目。您可以在下面找到详细说明。
为了使用 DeviceHive 框架,您必须安装和配置以下组件:
[hidecontent type="logged" desc="隐藏内容:登录后可查看"]
使用“下载 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(代理列表)属性。
官方文档( https://redis.io/docs/getting-started/ )中解释了启动 Redis 。如果您的 Redis 实例安装在不同的机器上,请在application.properties
文件中指定主机/端口。
postgres
和密码12345
。您可以在 DH 配置文件中更改它。devicehive
使用在步骤 1 中创建的用户名称创建数据库。该用户应该是数据库的所有者。每个微服务都有自己的src/main/resources/application.properties
文件,其中包含所有应用程序级别的配置(数据库凭证、redis 地址、kafka 道具等)。请在构建应用程序之前检查它们,以避免在运行时出现问题。
您还可以通过在运行时将它们传递给 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
数据库连接属性在内部进行管理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 个可选服务,即后端、前端、Auth 和插件管理(可选)微服务。
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 应用程序。您可以从 Web 浏览器访问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
[/hidecontent]