去年 1024 活动期间,有一个深圳家具协会的老哥找松哥想要一起做一个智能家居的物联网系统,他当时和一个南方科大的老师合作,老师做了一种新型的入户开关,说是解决了入户开关存在的很多问题,想要尝试商业化。
于是松哥当时调研了几种不同的开源智能家居系统,最近发现资料都还在,分享出来,有需要的小伙伴可以收藏下。
一 OpenHAB
项目地址:https://github.com/openhab 技术栈: Java
+Vue
OpenHAB 是一个纯 Java 打造的开源项目,完全基于 OSGi(Open Service Gateway Initiative),并使用 Jetty 作为 Web 服务器。
Jetty 和 Equinox OSGi 运行时一起构成了 OpenHAB 的核心基础。
OpenHAB 的设计是厂商中立的,且与硬件/协议无关。OpenHAB 通过绑定,汇集了不同的总线系统、硬件设备和接口协议。这些绑定可以通过 OpenHAB 事件总线发送和接收命令,并更新状态。
开发者可以在 OpenHAB 的基础上设计独特的操作界面,以开发自己的家庭自动化系统,或者利用其他技术来创建设备的新的控制方式。
二 Domoticz
项目地址:https://github.com/domoticz/domoticz 技术栈: C++
+Java
+JavaScript
+Python
Domoticz 是一个开源的智能家居系统,通过它你可以监测和控制各种设备比如:灯、开关 ,各种传感器、仪表比如: 温度、雨、风、紫外线、电、气体、水 等等。还可以向任一移动设备发送通知或警告。
Domoticz 具有如下特点:
硬件支持:RFXCOM Transceiver,Z-Wave,P1 Smart Meter,YouLess Meter,Pulse Counters,1-Wire,EnOcean,等等…… 扩展日志记录 iPhone & Android 通知推送 自学习传感器、开关 手动创建开关代码 共享、使用外部设备
三 Home Assistant
项目地址:https://github.com/home-assistant/ 技术栈: Python
+JavaScript
+TypeScript
Home Assistant 是一个成熟的,开源的智能家居平台,这个平台的目的是把所有能通过 Wi-Fi 控制的电器全部接入进来统一管理,这样你可以在手机、电脑上随时随地了解家里的情况并做出控制。适合树莓派开发,教程较多。
四 HomeGenie
项目地址:https://github.com/genielabs 技术栈: C#
HomeGenie 是一款开源的自动化智能管理平台,它集成了一系列驱动器,支持 X10、ZigBee、Z-Wave 以及 GPIO、SPI 和 I2C 等多种通信协议,让你能够轻松控制家中的各种设备。无论你是想实现自动开关灯、智能调节室内温度,还是希望设备根据时间、天气等外部因素自动响应,HomeGenie 都能胜任。此外,家庭安防系统、智能影音控制甚至家电联动,一切皆可轻松实现。
HomeGenie 具备如下特点:
灵活性: HomeGenie 的脚本引擎和可视化编程环境赋予用户极高的自由度,你可以按照自己的想法构建个性化的智能家居系统。 安全性: 不依赖云端,数据存储在本地,确保隐私不被侵犯。 易用性: 新版 UI 适应各种屏幕尺寸,无论是手机还是平板,都能流畅操控。
五 Homebridge
项目地址:https://github.com/homebridge/homebridge 技术栈: TypeScript
Homebridge 是一个轻量级的 NodeJS 服务器,可以在家庭网络上运行。 它模拟了 iOS HomeKit API,支持 Homebridge 插件,提供了各种第三方智能家居设备 API 和 HomeKit 之间的桥梁。我们可以轻松地通过 Homebridge 来把第三方智能设备接入 HomeKit。
六 MyController
项目地址:https://github.com/mycontroller-org/server 技术栈: GO
MyController 是一种用于物联网设备灵活的自动化控制器。
无论是在家里,在工作中,还是在任何你需要它的地方,MyController 都提供了解决方案!
MyController 数据存放在本地,不需要互联网就可以工作,并且功能齐全。
并且 MyController 也非常轻量级,支持 Windows、Linux 以及 Raspberry Pi 0、1、2、3 和 4。只需要 50MB 的内存和 100MB 的磁盘。
七 Gladys Assistant
项目地址:https://github.com/gladysassistant/gladys 技术栈: JavaScript
Gladys Assistant 是一款智能家居控制中心,可以用来控制家里的智能家居设备,包括灯光、温度、安防等。用户可以通过语音或手机应用控制这些设备,让生活更加智能、便捷。它支持多种平台,包括 Android、iOS、Web 和 Amazon Alexa。
Gladys Assistant 使用 Node.js 和 MongoDB 构建。这两个技术的结合使得 Gladys Assistant 可以快速、高效地处理数据。
Gladys Assistant 还使用了一些其他的技术,包括 WebSocket 和 OAuth 2.0。WebSocket 可以实现实时通信,让用户可以随时控制家里的设备。OAuth2.0 可以保护用户的隐私,确保只有授权的用户可以访问他们的设备。
Gladys Assistant 具备如下特点:
多平台支持:Gladys Assistant 可以在 Android、iOS、Web 和 Amazon Alexa 上使用,让用户可以随时随地控制家里的设备。 智能家居控制:Gladys Assistant 可以控制多种智能家居设备,包括灯光、温度、安防等。 语音控制:Gladys Assistant 可以通过语音控制家里的设备,让用户可以更加方便地控制家里的环境。 实时通信:Gladys Assistant 使用 WebSocket 实现实时通信,让用户可以随时随地控制家里的设备。 安全可靠:Gladys Assistant 使用 OAuth2.0 保护用户的隐私,确保只有授权的用户可以访问他们的设备。
八 Jeedom
项目地址:https://github.com/jeedom 技术栈: PHP
Jeedom 是一个家庭自动化平台,可以把家居智能设备集中在一个平台。它包括一个 Web 界面,使您能够配置您的家庭自动化系统和一个与 Android 和 iOS 平台兼容的移动应用程序,以便通过平板电脑或智能手机使用。
Jeedom 是完全可定制的,可以使用虚拟设备、小部件、插件或场景来满足您的各种需求。无论是本地、远程、通过语音、触摸屏或短信,您都可以随时控制您的家,并获得任何事件的实时警报。
九 Calaos
项目地址:https://github.com/calaos 技术栈: C++
+C
+JavaScript
Calaos 是一款源自法国的开源家庭自动化系统,为用户提供了便捷的家庭自动化控制与监控解决方案。尽管其同名开发公司在 2013 年停止运营,但 Calaos 的代码被开放给公众,至今仍由一个充满活力的开发者社区积极维护及更新。
十 ioBroker
项目地址:https://github.com/ioBroker/ioBroker 技术栈:JavaScript
ioBroker 是一款开源物联网集成平台,通过将各种设备和系统连接到统一的平台上,简化楼宇管理和自动化过程,可以帮助企业实现设备、系统和数据的互联互通,提高生产效率,降低运营成本,并为人们的生活带来便利。在楼宇自动化、智能计量、环境辅助生活、过程自动化、数据可视化和数据记录等领域具有广泛的应用前景。
SpringSecurity+OAuth2 实战
最新版的 Spring Security 和之前旧版的写法有了很大的变化,针对目前最新版的 Spring Security,松哥录制了一套视频教程:SpringSecurity+OAuth2 精讲。
关于松哥
9 年程序员生涯,Java 畅销书作者,华为云最具价值专家,华为开发者社区之星,GitHub 知名项目作者。
目前产品有 Java 项目课程、Java 简历指导、1V1 模拟面试等,如有需求欢迎来勾搭。