项目简介
SmartHive是一个基于Azure IoT Edge和OpenZWave的智能家居网关项目。此项目致力于达成Z-Wave智能家居设备和Azure IoT中心的连接,提供设备数据的云端存储与分析功能。用户能借助SmartHive网关远程监控和控制家中的Z-Wave设备,实现智能家居的智能化管理。
项目的主要特性和功能
- Azure IoT Edge集成:运用Azure IoT Edge框架搭建IoT网关,实现设备与云端的通信。
- OpenZWave支持:通过OpenZWave库和Z-Wave设备通信,支持多种Z-Wave设备的数据采集。
- 模块化设计:项目涵盖多个模块,如ZWave网关模块、ZWave映射模块等,便于扩展和维护。
- 设备身份映射:ZWave映射模块把Z-Wave设备的网络地址映射到Azure IoT中心的设备ID和密钥。
- Docker支持:提供Docker镜像构建脚本,便于在不同环境中部署和运行。
安装使用步骤
1. 安装依赖
确保系统已安装必要的依赖包,包括Azure IoT Edge和OpenZWave的相关依赖。
bash
sudo apt-get -y update && sudo apt-get -y install libgnutls28-dev libgnutlsxx28 libudev-dev libyaml-dev curl build-essential libcurl4-openssl-dev git cmake make libssl-dev uuid-dev valgrind libglib2.0-dev libtool autoconf nano
2. 复制项目
bash
3. 编译OpenZWave
进入OpenZWave目录并编译安装。
bash
cd open-zwave && make && make install && ldconfig /usr/local/lib64
4. 合并项目并编译
将SmartHive模块和网关文件夹复制到Azure IoT Edge项目中,并修改CMakeLists.txt文件以包含SmartHive模块。
bash
printf "\n add_subdirectory(SmartHive.ZWaveGateway) \n" >> $HOME/SmartHive/iot-edge/samples/CMakeLists.txt
printf "\n add_subdirectory(SmartHive.ZWaveModule)\n add_subdirectory(SmartHive.ZWaveMappingModule) \n" >> $HOME/SmartHive/iot-edge/modules/CMakeLists.txt
编译Azure IoT Edge项目。
bash
tools/build.sh --disable-native-remote-modules
5. 构建Docker镜像
安装Docker并构建SmartHive的Docker镜像。
bash
docker build -t zwavemodule ./
6. 运行SmartHive网关
运行SmartHive网关程序,指定配置文件路径。
bash
samples/SmartHive.ZWaveGateway/SmartHive.ZWaveGateway zwave_device_cloud_upload_<your platform>.json
运行Docker容器。
bash
sudo docker run -p 8008:8008 -i -t --privileged --device /dev/ttyACM0 openzwave/openzwave-control-panel /bin/bash
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】