一套无网络服务器仍可实现远程互联的家庭自动化系统(整体思路)

系统所需:
Java语言、Android Studio、Eclipse/IDEA(按个人喜好即可)、联网的路由器、普通电脑、若干传感器、若干物联网控件、随便一个支持IMAP/SMTP的邮箱。

开发背景:
生活中有很多需要人来做的重复的事情,例如家务。作为一个自动化程序猿,我想让虚拟与现实结合从而节省自己或家人的时间,让程序与机器去完成一些重复的事情不是挺好的吗?所以下定决心,脚踏实地去做这个事情,尽量帮自己或家人减少一些家务活,渐渐地可解放双手。
关于这个系统,远程请求量并不会有多少,所以花资金去购买或租用网络服务器则显得有些浪费了,而且还要去维护服务器的安全,防止遭受未知攻击或防止被控制。
综上考虑,还是需要想出一种无网络服务器仍可实现远程互联的方法,所以自己试着开发了一套无网络服务器仍可实现远程互联的家庭自动化系统。

系统主要缺点:
客户端与服务端接收远程信息的时候会有20-30秒的延迟。(可优化请求内容与请求次数来减弱延迟所带来的影响)

系统主要优点:
家庭电脑、传感器、物联网控件等电子产品均在局域网内,与外网相对隔绝,大大减少了电子产品联网时遭受未知攻击或被控制的可能性。

正文:
客户端与服务端通过外网连接是需要信息传递的媒介的,一般情况下都是通过租用网上的服务器来进行连接。但我是独自设计/开发整个系统,所以缺乏时间、资源来维护网络服务器。只能另外寻找可进行信息传递的媒介,我想到了一种:可支持IMAP/SMTP的邮箱。程序读取IMAP邮箱的时候,是可以自由设置已读和未读的,这避免了邮箱内存在过多的未读邮件。

系统整体框架如下图:
在这里插入图片描述
先说说客户端,我是制作了一个简易的app来发送远程指令的。(如下图)
第一步是登录,这个肯定要的啦,不然谁都可以连接那怎么行呢。我这填写的是家庭服务邮箱与邮箱开通IMAP/SMTP服务的第三方密码。与服务端的对接邮箱需是同一个邮箱地址才行。
在这里插入图片描述
第二步,服务端接收信息并验证无误后,返回服务端可用的指令与设置。客户端接收后动态生成界面。(具体设计可按需变化,我美工不太好,功能能实现就算了。。。)
在这里插入图片描述
在这里插入图片描述
第三步,发送最终执行指令。该指令携带了所有设置与动作命令的具体内容(正如文章开头所说,尽量避免过多的请求,所以我设计成了只发送一次),服务端接收到后就可以按指令操作或保存设置到本地数据库了。服务端完成任务或者任务被中断的时候可以发邮件通知到想要被通知的人了。有些邮箱是可以发起震动通知的,所以可以借此实现实时通知到相关人(手机上的邮箱是即时收到邮件的!!!即时!!!最多也就1秒延迟,文章开头说的20-30秒的延迟指的是程序运行接收服务的时候会晚一点才会收到)
在这里插入图片描述
在这里插入图片描述
关于传递的Json,下图可作参考
在这里插入图片描述

说完客户端了,下面说说服务端。
关于服务端,其实可以直接制作成无界面的只执行动作的程序,但我比较喜欢有界面可以看看,所以也独自开发了个自己的网页(只在局域网内运行,在路由器内设置个地址映射,就能免费“得到”一个漂亮的域名啦,但也只能在局域网内看到),关于一些信息的获取,例如天气、基金等,网上有很多免费的API接口可以使用,这里就不细说了,感兴趣的朋友可以自己上网找来用用。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
关于一些现实中的动作,可以将具体的步骤写成程序,使用传感器验证环境的可行性后,让机器具体实现即可。外国有自动化餐厅的,忘记网址了,如果有兴趣,可以去查找看看,观察,然后借鉴一下他们的设计。

说完了,到此结束啦~~~~~~~~

我是一名热爱生活的小小程序猿,致力于为未来创造无限可能。引用我个人比较喜欢的一句话:做自己热爱的事,比什么都重要。

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Blues Zeng

我,程序猿,打钱

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值