谢邀
我大二倒是写过一个智能家居系统,主要分三部分:
一. 感知层
主要是做一些数据采集和控制,当时最开始用的zigbee,协议就是zigbee协议,后来改成了6Lowpan协议,这两者的区别网上有很多,主要是用6Lowpan方便我做网络方面的开发,传感器方面用了红外,温湿度,瓦斯等,控制方面有继电器,舵机等等
二. 数据转发服务器
我先再家里的PC上写了一个小型网关,用来与家里的传感器节点交互数据,然后写了这个数据转发服务器,后来放到阿里云上一直开着,数据就存到了数据库上。
这里 数据转发服务器 和 家里的小网关我用TCP协议穿数据,然后小网关和家里的传感器节点之间用UDP协议,因为我每个节点有一个IPV6地址(因为是6Lowpan)。
而 数据转发服务器 和 下面要讲的客户端之间也是通过TCP连接的。
三. 客户端(Android App)
这里主要是socket编程,通过一些简单的页面实现一些简单功能,首先我用到了一个移动后端云,为了做一下登陆验证,然后连上我阿里云上的数据转发服务器,这样就打通了与家里的传感器节点之间的通信。
主要做了温湿度轮询,水表读数,瓦斯报警,空调/窗户/风扇控制...等。
这个当时还拿了一个物联网大赛的全国二等奖,智能家居组的第一名(逃~
————————————分割线——————————————————
就像你说的,我一开始也是在一个linux平台上开发的,只不过我没用树莓派,是手动移植的linux(捂脸),在上面用QT语言写的上位机,用zigbee做自组网,没有做数据存储和更多的网络编程...不过这个当时拿了在清华举办的物联网华北赛区的一等奖(逃~
后来觉得有点low,才换成了上面介绍的6Lowpan的那个。