目前的家庭已经从房里单纯一台电脑发展为遍地网络设备 ,这些设备很多都是面向用户的设备,如平板电脑、笔记本电脑、台式电脑。然而渐渐越来越多的家庭网络开始拥有一大批专用设备,这就使得家庭网络不仅只关乎用户,还关系这些设备,是事实上的设备网络。
这样的单板上。
The Thing System的设计理念就是IOT需要遵循这样的规则,设备观测事件并对其他设备执行的任务作出响应。不是所有的决策都需要用户干预,而且也不需要让用户知道。IOT需要对信息敏感,不仅反应信息而且能做出预测。
管家(steward)是这套系统的核心,连接家里的所有设备,并让它们可以互联互通。无论这些设备是类似Apple TV的媒体播放器,Nest的恒温控制器,Insteon家居控制系统,还是Philips的Hue灯泡,无论它们是通过Wifi,Zigbee, Z-Wave, USB还是BLE相连。Steward都能够发现它们,将它们组合到一起,互联互通,创造奇迹。
物联网应该减少我们生活的麻烦,如果在我们和设备时间存在更多的按钮、开关、拨号盘或其他交互界面,当我们需要设备按我们设想的那样工作时,反倒会增加更多的麻烦,使设备用起来反倒不方便。比如回到家,开灯变得更复杂,你还需要考虑墙上开关按下之前的状态,那你就没有让生活变得更简便。
The Thing System正是为了实现这样的目标。
步骤
1) 安装Steward (Raspberry Pi, the Raspberry Pi B+ 和BeagleBone Black)
首先在板子上安装node.js并运行,接着下载Steward ,当然Raspberry Pi还有另一条路就是用SD卡安装带Steward的OS镜像
git clone https://github.com/TheThingSystem/steward.git
cd steward/steward
npm install -l
2) 运行Steward
进入steward/steward目录
sudo ./run.sh
Steward会通过一系列的设备发现机制来寻找设备,比如SSDP,TCP端口扫描,MAC地址前缀,BLE设备查找,USB设备查找
当然Steward也不是万能的,它一开始并不知道自己的位置信息,也就无法确定比如日出时间等事件信息,所以还需要用户的初始设置。
run.sh主要完成了几项工作,添加steward访问/dev/bpf*的权限,根据nvm初始化脚本配置node.js环境,运行index.js
3)验证steward运行ok
从本网段其他机器上用浏览器访问
https://XXX.XXX.XXX.XXX:8888 走SSH方式,需要确认证书
如从steward安装机上用浏览器访问
http://
127.0.0.1:
8887
客户端是通过Websocket跟steward进行通信,steward以mDSN(zero-configuration networking)方式发布自己,跟Apple的Bonjour类似。
出现login界面
初次使用先创建用户account
访问https://steward.local:8888/console.html或
http://127.0.0.1:8887/console.html
steward支持从外部网络的访问,比如steward位于NAT/Firewall后面,这些依靠node-rendezvous包
wss://X.X.X.X:8888/manage
Web of Things是IoT的未来趋势,steward在很多方面确实考虑地不错,虽然主要开发人员仅有Alasdair Allan和 Marshall T. Rose两位大牛,但值得好好学习,而且The Thing System还在不断改进中,已有跟Node Red等可视化iot工具整合的趋势
个人介绍:
周明春 SamsungElectronics VD IoTPlatform高级工程师,在物联网,云计算,移动通讯,网络安全和消息传递基础构架领域拥有超过9年的专业知识和经验.拥有丰富的企业消息传递基础构架开发,物联网、云、设备联接解决方案开发,以及成熟的管理软件和解决方案,如敏捷和DevOpts的开发经验。在国内首次提出SDT(softwaredefinedThings)的IOT概念,拥有3项专利(一份正在评审).
是三星、英特尔、戴尔所成立智能家居设备标准联盟开放互联联盟(OIC)的代码贡献者(https://gerrit.iotivity.org/gerrit/p/iotivity.git)
https://www.iotivity.org/documentation/iotivity-services/protocol-plug-manager