HomeCenter - J2SE/JS+CSS编写家庭云应用


MPL
跨平台
Java

软件简介

根服务器停止运行,客户端不能连接到HomeCenter服务器!

定制您的专属语音化、移动化、智能化、自动化生活场景。

主要功能

  • 安卓/苹果手机扫描家庭工程包(HAR)的二维码,即扫即用。
  • 双端编程组件 HTMLMlet(开发示例):采用JComponent+Listener+Layout+CSS编写,移动端访问时,容器将服务端实例的UI生成HTML5+JavaScript+CSS,并展示到手机(一个实例,双端并用),再将响应生成J2SE Event,驱动Listener。
  • 家庭工程包内含移动端菜单、移动端交互/响应组件、JRuby脚本、jar库,还能自签名和联机升级。
  • 每个服务器可加载多个家庭包,每个包彼此独立,互不干扰。
  • 能加载并调用JavaScript的ScriptPanel,象JButton一样,可方便地添加到HTMLMlet中。
  • 只会与您说说,不,还会做,做任何您想做的(如果您喜欢编程)。手机语音编程接口(让Android和iPhone识别您的语音),轻松将手机打造为专属、贴心的智能助手(图灵机器人开发示例)。
  • 内置Cron表达式的Quartz任务调度包和HSQLDB数据库(示例),用企业级利器解决家庭定时任务,简洁又不失强劲!
  • 家庭或工作组成员不仅共享同一服务帐号,还能根据客户端的成员标识进行区别化编程响应。
  • 代码编辑器内置Java 10 API、Ruby 2.2.0和CSS 2.2(部分)文档,鼠标移至方法上,即可显示,JRuby/Java变量类型智能推断。
  • Android版服务器不含代码编辑器,桌面版服务器(Windows, Linux, Mac)含代码编辑器。
  • SecurityManager,让每个工程运行在可配置、受限的计算和联网环境内。
  • 物联网分层架构,采用简洁的Robot+Converter+Device三层结构,既方便表示层调用,也赋于强大的家庭物联设备适配及数据格式转换(组合情形:仅Robot,Robot+Device,Robot+Converter+Device)。
  • 工程包的异常主动推送到开发者的邮箱或网站,如果最终用户开启报告。
  • 因为使用了“J2SE for Android”库,HAR还能运行在Android版服务器上,自动对jar库dex转码。

定制您的专属语音化、移动化、智能化、自动化生活场景

  • 语音交互家庭物联智能家居或云端智能机器人
  • 后台业务统一归集到移动端(与后台多为JSON请求和返回)
  • 可编程家电遥控器:空调、烤箱、微波炉、开关、灯泡(不支持手机红外,可以服务器红外)
  • 设备任务实时状态查看、提醒、监控、报警和交互控制
  • 电脑主机任务启动、停止、暂停、定时管理,远程桌面到手机(防火墙也畅通无阻)
  • 云监控网络、应用运行,告别收邮件和短信,第一时间发现、处置故障
  • 自主模式:自建服务器(多为安卓系统,但安卓服务器不含代码编辑器,需用同一内网的桌面版进行热布署来调试),自己和家人共用账号
  • 托管模式:开建托管主机,承担运营和开发,仅交付用户帐号和密码(配置过程

手机演示

  • 下载手机端,点击“演示”按钮即可。(或输入帐号:012345,密码:012345)

开发路径(必读)

  • 不熟悉CSS或调试JavaScript,先用熟悉的文本编辑器修改,浏览器检验,而非服务器代码编辑器。
  • 被添加的jar库,应在Java开发环境下充分测试。(不同工程加载的jar库完全隔离,不会引起名称和版本冲突;同一工程,要防止名称冲突)
  • 调试JRuby脚本和工程包,宜用桌面版服务器,即便目标环境为安卓版服务器,也应如此。
  • 目标环境为安卓版服务器时,需检验HTMLMlet的UI及Listener,因为安卓版不完全支持J2SE的Swing。用桌面版修改代码,一键热布署工程到同一内网的安卓版服务器,实现即改,即装,即试。
  • 由于上步会同时使用两个服务器,注册时,请使用不同帐号。如果出现帐号冲突而不能连接时,根据提示更改帐号或验证帐号即可。
  • 日志API将每条消息加上前缀”[YourProjectID]”。对于安卓版服务器,日志还能输出到LogCat(由于过滤条件为正则表达式,实际输入”\[YourProjectID\]”),需开启【option/developer/LogCat】。
  • 为方便Eclipse等Console日志输出,新建工程,从发布版中添加 starter.jar,设置Main class为”starter.Starter”,设置VM arguments为”-Dfile.encoding=UTF-8 -Dsun.jnu.encoding=UTF-8”,并在启动服务器后,禁用服务器选项【option/developer/Logger】,再次重启即可。

体系结构

代码编辑器