摘要: 当智能家居行业正在从盲目的家电上云,转变为体验为主的场景驱动,AIoT企业如何具备持续的商业化能力?
本文分享自华为云社区《【云享·伙伴】第8期:家电上云后,智能家居如何构建场景化应用》,作者:华为云社区精选。

清晨闹钟响起,窗帘自动拉开,一束阳光斜洒在床头,厨房的热水正在煮着咖啡。当你出发关上门的那一刻,全屋的灯光自动熄灭,门禁、摄像探头、声光报警等安防系统陆续启动;临近下班,家里的空调正在根据温湿度自动调节到最舒适的温度,等你回家……
如今,智能家居愈发普及,面部识别、声控调节、客厅革命已悄无声息地融入我们的日常生活,智能家庭生态环境的背后,是各种智能设备的联动。而在智联生活领域深耕多年的AIoT整体解决方案提供商——杭州妙联,正联合华为云,让这些看似毫无关联的产品,实现“牵一发而动全身”。
说起智能居家,小到智能音箱、智能门锁,大到看起来高大上的全屋智能系统,AI和IoT技术的融合,正在将曾经电影里的科幻场景变成现实。但伴随着全球物联网设备连接量的指数级增长,也引发了行业的新思考——这些智能设备带来的是真需求还是伪需求?
以智能台灯为例,理想中的情景是人走灯灭,无感控制,健康照明,调节睡眠……功能很强大,但实际生活中的智能照明只是改变控制开关的方式,从按下墙上的开关变成点击手机APP。等到用户新鲜感过去,重新回到传统的开灯习惯,智能灯沦为普通灯。
妙联执行董事王永飞点出了背后的缘由,“这是因为家居智能照明还没有找到真正能击中消费者痛点的具化场景。”
在行业深耕多年,妙联为格力、TCL、海信、方太、创维等家电企业提供AIoT软硬件服务,在这个过程中,他们切身感受到智能家居行业正在从盲目的家电上云,转变为体验为主的场景驱动。 妙联也在思考如何在AIoT大生态中实现场景应用的快速落地,从而具备持续的商业化能力。

为了更好地实现场景化应用的落地,妙联与华为云达成了合作。恰逢此时,华为云推出了DevRun智联生活行业加速器活动,从技术支持、商业扶持等层面,进一步帮助妙联完成了业务的突破。
如何搭建AIoT场景化应用?妙联认为不仅要为客户的智能设备定制设备管理后台,而且要构建好用的数据中台,对这些智能设备的数据进行治理分析和应用,助力客户实现场景化、智能化和数字化的转型。
为此,基于华为云提供的IaaS和PaaS产品能力,妙联构建了物联网数据中台解决方案。 它可以为客户打造统一物模型、标准化多平台、低代码场景搭建的物联网生态底座,解决客户物联网场景痛点,支持诸如设备故障、售后、新品研发、精准营销、用户运营等在内的数据分析和应用。
比如给国内某头部厨电企业提供的厨电物联网数据中台,就实现了厨电设备接入华为云loTDA、鸿蒙云和其他生态云, 满足该厨电企业的物联网菜谱、碰一碰极速控制、远程关火、电池管理、烟灶联动、互联网增值和其他常用厨电远近场场景。与此同时,物联网数据中台支持对厨电数据分析和应用, 通过实时采集设备使用数据,分析消费者使用习惯,提供定制化的售后保养策略,打造智慧厨房。

即便是厨房新手,也能轻松搞定做饭这件小事。准备好食材,直接在手机上点击智慧菜谱,一键发送给烤箱,烤箱会启动预热并按照食材营养最大化的模式开始烹饪。油烟机和灶具实现智能联动,打开灶具,油烟机会自动打开,并根据油烟量实时调节风量。一旦发生糊锅,或者燃气泄漏,就会自动报警,并第一时间关闭灶具。
在妙联物联网数据中台解决方案中,最关键的一环便是智能设备的接入与管理。由于妙联前期使用国外的设备接入服务,在替换迁移到华为云的过程中,遇到了不少挑战。
通过华为云智联生活行业加速器,妙联获得了PaaS接入、数据组件和其他低代码开发组件的技术支持, 从而能快速熟悉使用华为云的相关产品,进行SaaS和硬件模组的开发。
其中,华为云IoTDA为妙联提供海量设备连接上云、设备和云端双向消息通信、批量设备管理等能力,保证智能硬件及时将数据无缝流转到企业后台进行存储、管理和分析。

接入IoTDA的过程中,华为云的技术专家先是通过使用协议接入的方式,避免了移植物联网设备出现的空间不足无法运行问题;并奔赴妙联现场提供技术指导,解决接口逻辑和参数差异导致的软件问题;最后通过各种高效开发工具加快软件迁移,及时对妙联部署的软件进行性能检测,快速定位性能瓶颈点,提高软件可靠性和稳定性。
解决上述种种问题后,妙联服务器整体接入华为云IoTDA,智能硬件设备端则通过MQTT协议与IoTDA进行交互适配,实现了设备的快速上云和互通。
在华为云的技术支持下,妙联让制造商的设备能够快速连接上云,并可快速定制AIoT运营管理后台、专属APP等,便于对物联网数据进行综合治理、大数据分析和主题应用,帮助AIoT场景运营者快速搭建智能化场景。

在与华为云的合作中,妙联技术负责人最大的感触就是 “物联网解决方案落地快”。 据他们介绍,一款新物联网产品接入,从物联模组选型到智能化控制,一周内就可以搞定,节省了大量的研发时间,实现降本增效。
由于华为云产品技术开放性强,可以无缝集成各种开源框架,减少了开发的工作量。而且整体PaaS产品可用性高,再加上低代码开发组件中大量可通用的模型,让妙联得以快速进行软件开发部署。妙联在建设物联网数据中台及其SaaS版本时,工期缩短了3个月,成本降低了近50万元,效率提高了至少50%。
智联生活行业加速器帮助妙联通过华为云沃土云创计划的方案认证,获得使能技术认证证书,并在妙联的产品上架华为云商店过程中,给予了专业的指导。同时,加速器帮助妙联接入到华为HarmonyOS生态中。通过拥抱HarmonyOS等大生态,做大做强SaaS模式,速配多方资源,帮助妙联以及各种电器类客户实现AIoT的价值持续变现。
最后,妙联的技术负责人强调,“华为云的品牌在客户端的接受度比较高,大家也乐意把应用部署在华为云上。”
未来妙联会尝试在AIoT远程管控、运营管理、场景应用、数据分析的行业和场景与华为云合作,比如智慧出行、智慧农业(畜牧业)、智慧园区、智慧地产等,共同建设美好智慧生活。
华为云为妙联提供了一站式、全流程的上云联接体验,让海量智能硬件设备得以互联互通,构筑起我们的智慧生活。在华为云DevRun智联生活行业加速器,妙联收获了专业的技术指导和支持,以及商业变现等多方面的扶持。 目前,妙联在华为云云商店上架了物联网解决方案和家电智慧管理系统,感兴趣的用户可以前往咨询了解。
与此同时,华为云DevRun行业加速器新一期活动——工业智能加速器正在火热招募中, 👉点击链接报名加速器,成为华为云合作伙伴,在工业领域共建繁荣生态。
我正在学习如何使用Nokogiri,根据这段代码我遇到了一些问题:require'rubygems'require'mechanize'post_agent=WWW::Mechanize.newpost_page=post_agent.get('http://www.vbulletin.org/forum/showthread.php?t=230708')puts"\nabsolutepathwithtbodygivesnil"putspost_page.parser.xpath('/html/body/div/div/div/div/div/table/tbody/tr/td/div
总的来说,我对ruby还比较陌生,我正在为我正在创建的对象编写一些rspec测试用例。许多测试用例都非常基础,我只是想确保正确填充和返回值。我想知道是否有办法使用循环结构来执行此操作。不必为我要测试的每个方法都设置一个assertEquals。例如:describeitem,"TestingtheItem"doit"willhaveanullvaluetostart"doitem=Item.new#HereIcoulddotheitem.name.shouldbe_nil#thenIcoulddoitem.category.shouldbe_nilendend但我想要一些方法来使用
关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭4年前。Improvethisquestion我想在固定时间创建一系列低音和高音调的哔哔声。例如:在150毫秒时发出高音调的蜂鸣声在151毫秒时发出低音调的蜂鸣声200毫秒时发出低音调的蜂鸣声250毫秒的高音调蜂鸣声有没有办法在Ruby或Python中做到这一点?我真的不在乎输出编码是什么(.wav、.mp3、.ogg等等),但我确实想创建一个输出文件。
给定这段代码defcreate@upgrades=User.update_all(["role=?","upgraded"],:id=>params[:upgrade])redirect_toadmin_upgrades_path,:notice=>"Successfullyupgradeduser."end我如何在该操作中实际验证它们是否已保存或未重定向到适当的页面和消息? 最佳答案 在Rails3中,update_all不返回任何有意义的信息,除了已更新的记录数(这可能取决于您的DBMS是否返回该信息)。http://ar.ru
我在我的项目目录中完成了compasscreate.和compassinitrails。几个问题:我已将我的.sass文件放在public/stylesheets中。这是放置它们的正确位置吗?当我运行compasswatch时,它不会自动编译这些.sass文件。我必须手动指定文件:compasswatchpublic/stylesheets/myfile.sass等。如何让它自动运行?文件ie.css、print.css和screen.css已放在stylesheets/compiled。如何在编译后不让它们重新出现的情况下删除它们?我自己编译的.sass文件编译成compiled/t
对于具有离线功能的智能手机应用程序,我正在为Xml文件创建单向文本同步。我希望我的服务器将增量/差异(例如GNU差异补丁)发送到目标设备。这是计划:Time=0Server:hasversion_1ofXmlfile(~800kiB)Client:hasversion_1ofXmlfile(~800kiB)Time=1Server:hasversion_1andversion_2ofXmlfile(each~800kiB)computesdeltaoftheseversions(=patch)(~10kiB)sendspatchtoClient(~10kiBtransferred)Cl
我正在寻找执行以下操作的正确语法(在Perl、Shell或Ruby中):#variabletoaccessthedatalinesappendedasafileEND_OF_SCRIPT_MARKERrawdatastartshereanditcontinues. 最佳答案 Perl用__DATA__做这个:#!/usr/bin/perlusestrict;usewarnings;while(){print;}__DATA__Texttoprintgoeshere 关于ruby-如何将脚
Rackup通过Rack的默认处理程序成功运行任何Rack应用程序。例如:classRackAppdefcall(environment)['200',{'Content-Type'=>'text/html'},["Helloworld"]]endendrunRackApp.new但是当最后一行更改为使用Rack的内置CGI处理程序时,rackup给出“NoMethodErrorat/undefinedmethod`call'fornil:NilClass”:Rack::Handler::CGI.runRackApp.newRack的其他内置处理程序也提出了同样的反对意见。例如Rack
在选择我想要运行操作的频率时,唯一的选项是“每天”、“每小时”和“每10分钟”。谢谢!我想为我的Rails3.1应用程序运行调度程序。 最佳答案 这不是一个优雅的解决方案,但您可以安排它每天运行,并在实际开始工作之前检查日期是否为当月的第一天。 关于ruby-如何每月在Heroku运行一次Scheduler插件?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/8692687/
我有一个对象has_many应呈现为xml的子对象。这不是问题。我的问题是我创建了一个Hash包含此数据,就像解析器需要它一样。但是rails自动将整个文件包含在.........我需要摆脱type="array"和我该如何处理?我没有在文档中找到任何内容。 最佳答案 我遇到了同样的问题;这是我的XML:我在用这个:entries.to_xml将散列数据转换为XML,但这会将条目的数据包装到中所以我修改了:entries.to_xml(root:"Contacts")但这仍然将转换后的XML包装在“联系人”中,将我的XML代码修改为