物联网(IoT)设备与云连接,而其中一个目标通常是在云上运行亚马逊网络服务(AWS).我最近需要用它的时候我当时正在评估Cirrus Logic为亚马逊AVS开发的Alexa语音捕捉开发工具包.该工具包使用了运行Linux的树莓派,将基于dsp的语音捕获系统连接到运行在AWS上的Alexa语音服务(AVS)。
AWS刚刚宣布了一系列针对物联网的服务和软件。这些包括AWS物联网1-Click、AWS物联网设备管理、AWS物联网设备防御者、AWS物联网分析、AWS Greengrass ML Inference和Amazon FreeRTOS。对于嵌入式开发人员来说,后者将是最有趣的,但稍后会详细介绍。
AWS物联网1-Click是一种通过单击一个按钮来启动AWS Lambda函数的方法,通常在设备或应用程序上。开发人员可以创建AWS Lambda函数,或使用预先构建的AWS Lambda代码来处理发送SMS或电子邮件等常见操作。
AWS物联网设备管理、AWS物联网设备防御和AWS物联网分析分别用于管理、保护和分析物联网设备和数据。基于web的AWS物联网设备管理处理设备的设置、更新和在设备生命周期中的管理。Defender的设计目的是对物联网设备进行安全审计,而AWS物联网分析则用于检查从物联网设备发送的数据。
AWS Greengrass是一个通过AWS Lambda函数和消息传递服务运行计算的框架。这允许在云或设备上使用相同的编程模型,使两者之间的功能迁移更容易。AWS Greengrass可以在物联网设备或网关上运行,提供更低的延迟和设备服务的断开操作。该软件将在AWS FreeRTOS上运行。AWS Greengrass ML Inference支持将机器学习(ML)引入到混合中,无论是在设备上还是在云上。AWS Greengrass处理安全通信。
FreeRTOS是由Richard Barry在2003年左右开发的。该软件是免费和开源的麻省理工学院的许可并得到实时工程师有限公司的支持。MIT许可要求开发人员包括版权声明并提供许可的副本,但它不要求任何用户源代码或修改必须像GPL许可那样公开。
FreeRTOS已经被用于无数的嵌入式应用程序,并且经常出现在来自硅和系统供应商的免费软件中。实时工程师已经将FreeRTOS的支持移交给亚马逊的AWS。一个典型的实现大约使用6到12 kb。
FreeRTOS是一个小型的实时操作系统。内核仅由三个C源文件组成。需要进行一些组装,但这更多是为了定制特定的处理器体系结构。它支持大多数处理器。FreeRTOS可以为线程或任务、协程、互斥、信号量和软件计时器提供支持。有一个无滴答模式设计紧凑,低功耗的应用。RTOS还提供了五种内存分配方案,其中一种具有C库和互斥支持。
威腾斯坦是另一家提供与FreeRTOS兼容的RTOS选项的公司。一个是SafeRTOS,另一个是OpenRTOS。SafeRTOS已被重写,符合IEC 61508安全标准的要求。OpenRTOS共享FreeRTOS内核代码。两者都有商业许可证和保修。FreeRTOS按原样提供。
FreeRTOS有一系列使用它的开源项目,以及商业产品。它由许多第三方开发工具支持,通常带有调试器集成。其中一个项目是FreeRTOS + TCP.
现在亚马逊支持FreeRTOS,它的底层代码不太可能改变太多。另一方面,像AWS Greengrass这样的功能将被添加到FreeRTOS之上。