嵌入式云平台一些基础概念的理解

1.SDK

  SDK是Software Development Kit的缩写,译为”软件开发工具包”,通常是为辅助开发某类软件而编写的特定软件包,框架集合等,SDK一般包含相关文档,范例工具。

我自己的理解就似乎,SDK也就是软件开发工具包,他会为其使用者提供一些封装好的接口,使用者在使用时直接调用想使用的接口就可以去实现相应的功能,无需自己在编写代码。

       站在SDK使用者角度来看,我们期望第三方的SDK服务应该是稳定高效的,体现在提供稳定可靠的服务,在不影响宿主稳定性的前提下足够的高效,这就要求我们SDK设计者在设计并实现SDK时要尽可能的做到以下几点:

  1. 对外提供稳定的API.SDK的API一旦确定,如无非常严重情况不可更改.作为提供服务方,发生API变更所带来的变更成本非常大.
  2. 对外提供稳定的业务.在稳定的API后,必须要有稳定的业务来支撑.
    SDK运行时的稳定,作为服务提供方,我们必须确保SDK自身运行的稳定,并且保证接入方不会因为我们的SDK产生不稳定的情况.
  3. 版本稳定更新.和面向普通用户的应用相比,SDK版本的迭代是非常缓慢的.并且需要尽可能的对开发者屏蔽迭代过程,以免给开发者带来不必要的适配开销.
高效

无论是普通的应用开发还是SDK开发,都应该考虑到性能问题,SDK设计者应该着重考虑以下问题:

  1. 更少的内存占用.在不使用多进程的情况下,SDK服务和宿主程序运行在同一进程中,这种情况下必须要求限制SDK内存的占用,不能因为我们SDK占用太多的内存资源,导致应用的存活时间变短.
  2. 更少的内存抖动.在占用更少内存的前提下,SDK设计者必须刻意的减少反复GC造成的内存抖动问题.
  3. 更少的电量消耗.尽管很多时候无法对电量消耗做一个很好的权衡,但是仍然有一些可以参考的做法,比如减少使用耗电模块的时间.比如在使用定位服务时,不要求非常高的精度下优先使用网络定位而不是GPS定位.
  4. 更少的流量消耗.

  总之,SDK是为了方便开发者使用的,并且一个SDK设计出来就不可以轻易的更改,因为不确定你更改过后的SDK是否能与开发者之前的代码相兼容。

SDK具体介绍请看这篇文章

2.IOT

       嵌入式IoT(Internet of Things)系统是将互联网和网络技术应用于传统的嵌入式系统中,使得这些系统具有网络互联、远程控制等新功能。它代表了现代信息技术的发展方向,也是工业4.0、智能制造、智慧城市等新一代信息技术产业的重要组成部分。

      IOT是一种使用物联网技术连接物理世界和数字世界的方法。它通过传感器、无线网络等技术,让物品能够互相连接,实现信息交换和共享。IOT可以帮助企业、政府和个人更好地理解和掌握物品的状态和位置,从而提高效率、减少浪费等。

我自己的理解是,IOT就是一个设备平台,硬件设备通过各种传感器和无线传输技术,将当前信息或捕捉到的信息发送给iot,然后iot云也可以将这些信息发送给企业端或个人,然后由其判断这些数据做出一些相应的处理,企业也可以通过iot实时监控硬件的状态,云平台应该连接硬件设备与服务器端,是他们之间互相通信的介质。

3.长连接和短链接

短连接

传输过程:连接->传输数据->关闭连接

比如HTTP是无状态的的短链接,浏览器和服务器每进行一次HTTP操作,就建立一次连接,但任务结束就中断连接。
因为连接后接收了数据就断开了,所以每次数据接受处理不会有联系。 这也是HTTP协议无状态的原因之一。

长连接

传输过程:连接->传输数据->保持连接 -> 传输数据-> …->直到一方关闭连接,多是客户端关闭连接。
长连接指建立SOCKET连接后不管是否使用都保持连接,但安全性较差。

长连接就是建立连接后不断开,直到有一方主动断开链接,所以信息都是实时传递的,比如玩游戏的时候服务器端与客户端就是长连接,长连接会一直占用内存。

短连接就是建立连接发完信息后就断开连接,一般试用于高并发的场景,防止内存占用过多。

4.物模型

        物模型是物理世界的实体东西的一个抽象,是进行数字化描述后,用于数字世界的数字模型。抽象就是要提取出产品的共同特征,形成模型。

物模型分析

我们为什么要用这么抽象的概念来定义一个设备呢?主要是物联网设备类型太多,想要实现设备统一化运作则必须找出其共性,基于共性定义标准,才能让平台兼容更多设备。

当然我们这么理解其实有人会说物联网平台在电力等行业中应用场景是物联网平台——边缘代理——设备,这里面IoT平台管的只是边缘代理可能是个APP根本不是设备本体。

我们这时候就需要泛化来看这个场景,边缘代理+设备本体是一个物模型,单体的设备本身也是一个物模型,只是单体设备这个物模型是由边缘代理进行管理调度的。

如果说三个维度是为了让人们规划设计IoT平台时候对设备由明确定义和认知,那么有了字段类型加持,我们就可以轻松的让计算机知道这是什么了。

5.OTA

        OTA,全称为Over-The-Air,是一种用于升级和定制的技术。 OTA技术简单地说就是在无线网络通过空中传输软件、固件等数据的一种升级、更新系统的方式。 它应用广泛,特别是在汽车、手机和设备嵌入式系统里,极大地提高了系统更新的安全性和效率。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
嵌入式Linux应用开发基础教程主要涵盖了嵌入式Linux系统的概念、架构以及开发方法与技巧。在这个教程中,我们将学习如何开发出高效稳定的嵌入式Linux应用程序。 首先,我们将介绍嵌入式Linux系统的基本概念嵌入式Linux系统是运行在资源有限的嵌入式设备上的操作系统,它的特点是小巧、高效、可定制性强。学习者需要了解Linux内核、驱动程序、文件系统以及应用程序之间的关系和交互方式。 然后,我们将学习如何搭建嵌入式开发环境。这包括选择合适的开发板和嵌入式Linux发行版,配置开发环境以及建立交叉编译工具链。学习者需要了解如何构建和交叉编译嵌入式应用程序,并将其烧录到嵌入式设备中。 接下来,我们将深入研究嵌入式Linux应用程序的开发方法。掌握C/C++编程语言、Linux系统编程和shell脚本编写等技能是非常重要的。学习者还需要了解嵌入式设备的特殊需求,如低功耗、多线程处理等。 此外,我们还将介绍常见的嵌入式开发工具和调试技巧,如GNU调试器(gdb)、跟踪工具(strace)等。对于系统调试和性能优化是非常有帮助的。学习者需要了解如何使用这些工具进行应用程序的调试和分析,以确保其在嵌入式设备上的稳定运行。 最后,我们将讨论嵌入式Linux应用程序的部署和维护。这包括将应用程序集成到嵌入式设备中、远程升级和配置管理等。学习者需要了解如何进行应用程序的部署和维护,以确保嵌入式系统的稳定性和安全性。 通过这个基础教程,学习者可以全面地了解嵌入式Linux应用开发的基本原理和方法。这将为他们进一步深入研究和应用嵌入式Linux技术提供坚实的基础

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值