作者:洗吉精洗白菜_773 | 来源:互联网 | 2023-08-31 19:45
前言从去年接触爱智到现在也有大半年了,使用上爱智的确提供了很丰富的基础功能,但是今天我们不讲爱智的好处,主要来讲讲我个人关于爱智开发的一些常见的问题,其中设备嵌入式开发基本上是一
前言
从去年接触爱智到现在也有大半年了,使用上爱智的确提供了很丰富的基础功能,但是今天我们不讲爱智的好处,主要来讲讲我个人关于爱智开发的一些常见的问题,其中设备嵌入式开发基本上是一样的,大部分是我在开发基于爱智应用时候遇到的一些问题和比较繁琐的处理。
前端开发
首先从爱智前端开发来说一下,首先基于爱智开发的前端技术来说属于微前端一类,仅仅在爱智App主程序中通过iframe
来显示我们的应用界面,这里虽然在微服务数据的隔离上比较有优势,但是缺点也是非常多的,对我们微前端的开发也有很大的限制,很多功能都需要依赖于外层的爱智App主程序赋予。
其次,由于爱智的JSRE
运行时的socket.io
模块是v2.x
版本的,所以前端与服务通信的客户端模块版本也相应受到一定限制,希望后期爱智官方可以积极同步版本。
后端开发
说完了应用前端的一些注意点之外,下面就是关于JSRE
的后端服务开发,这里也是我们爱智开发的重点。
首先看过爱智官网开发文档的小伙伴肯定知道,那纯英文的开发文档对于中国开发者来说实在是不够友好,建议官方可以中英双版本。
除了文档语言这块,JSRE
和node
很是相似,包括接口定义等等,这个其实也算是一个优点吧,基本上可以让熟悉node开发人员直接上手无缝开发,我个人在使用的时候总体上感觉还是可以的,不过JSRE
提供的AI
功能,感觉还是不够强大,至少无法直接拿来投入实际项目中,精准度不够,如果可以优化成商业可用的就更好了,可以考虑提供一些低收费模块,这样的话,对于开发者来说既省时又省力,当然是否可以实现我也不知道,仅仅提供个人意见。(σ゚∀゚)σ..:*☆
通常爱智主要是用来进行边缘计算,那我在开发应用与终端设备之间通信的时候,其实直观上我大致分成以下四层:
应用交互页面
是纯前端显示层,主要是在手机/PC上做一些用户交互显示;
应用服务层
就是我们写的爱智应用基于JSRE
的应用后端服务,主要调用JSRE
提供的模块来与设备通信;
第三层就是我们这边抽象的中间层,大家可以简单理解成我们应用与设备之间通信的桥梁,这里主要是爱智给我们提供的一些接口服务等;
最后一层就是我们的设备层,主要就是基于爱智提供的一些通信协议(SDDC
、Mqtt
等)来与爱智设备进行通信。
本人基于爱智做的大部分还是一些智能设备场景的需求,那我在做这些场景的时候,基于爱智提供的一些接口或者协议,总体开发还是比较方便的,唯一麻烦的就是各层之间的数据同步
和状态管理
。
大家也可以在上图中看到,基本上每俩层之间维持着一个双向通信的模式,从①②俩层之间通过socket进行数据的同步,主要是给用户显示上有实时同步的良好体验。而②应用服务层
与③中间层
之间通过Device
模块接口(以SDDC
协议为栗)来进行数据通信,最后③中间层
与④设备
之间则通过SDDC
协议进行通信。在开发物联网场景时候,开发人员通常不但要关注逻辑实现,更重要的用户体验也必不可少。要做到实时数据同步的效果,其中就包括设备状态、实时数据同步、通信状态、断线重连数据同步等机制等等,所以在代码编写的时候,个人感觉这里面的处理还是比较繁琐的。
设备
除了这些之外,还有就是设备自身了。
第一个就是设备天线硬件不稳固,我个人的话也是加了一个垫片解决的,大家如果也有这问题可以自己加一下;
第二个就是设备wifi
有点弱了,开发人员有线直连没问题,但是真正使用的时候大部分还是通过无线来连接的,所以说这个问题希望在新一代设备上可以优化。
总结
以上这些呢,就我通过爱智进行场景开发所遇到的绝大部分问题了,还有一些我暂时也想不起来了,如果大家开发过程遇到一些不知道的问题,也可以在下面留言,我看看我是否也遇到过。…φ(๑˃∀˂๑)♪ 学习是我的全部。