当前位置: 首页 > 科技观察

通过编写嵌入式系统开始边缘计算

时间:2023-03-19 14:03:06 科技观察

RTOS是一个开源的嵌入式设备操作系统,由RT-Thread开发。它为开发人员提供了一个标准化和友好的基础设施。开发人员可以编写基于各种设备的代码。它包含大量有用的类库和工具包,使开发过程更加方便。RTOS采用模块化的方式,便于扩展,这一点与Linux类似。各种软件包允许开发人员将RTOS用于任何所需的目标设备。RTOS最常用的扩展之一是AT设备包,它包含各种AT设备(如调制解调器)的移植文件和示例代码。ATDevicePack是最受欢迎的RTOS扩展之一,下载量超过62,000次(截至撰写本文时),其中包括用于不同AT设备的移植文件和示例代码。关于AT命令最初,AT命令是一种用于控制拨号调制解调器的协议。随着调制解调器技术发展到更高的带宽,它仍然可以作为一种轻量级和高效的设备控制协议,各大手机厂商也联手开发了一系列用于控制手机上GSM模块的AT命令。如今,AT指令在网络通信领域仍然普遍存在,WiFi、蓝牙、4G等很多设备都支持AT指令。如果您正在为边缘计算输入、监控或物联网(IoT)创建专用设备,您可能遇到过一些支持RTOS的AT设备,包括ESP8266、ESP32、M26、MC20、RW007、MW31、SIM800C,W60X,SIM76XX,A9/A9G,BC26,AIR720,ME3616,M6315,BC28和EC200X。RT-Thread包含套接字抽象层(SAL)组件。SAL实现了各种网络协议和接口的抽象,为上层提供了一系列标准的BSDsocketAPI。SAL接管了AT的socket接口,开发者只需要考虑网络应用层提供的网络接口即可。本软件包实现了设备(包括上述设备)的ATsocket功能,支持通过标准socket接口以AT指令形式进行通信。RT-ThreadProgrammingGuide对这些函数有详细的介绍。at_device包在LGPLv2.1许可下分发,并且可以在RT-ThreadEnv工具的帮助下轻松获得。该工具包括配置器和包管理器,分别用于配置内核和组件功能,可用于自定义组件和管理在线包。有了这些工具,开发者可以像搭积木一样搭建系统。获取AT设备包要使用配置了RTOS的AT设备,必须开启AT组件库和ATsocket功能,需要:RT_Thread4.0.2+RT_ThreadAT组件1.3.0+RT_ThreadSAL组件RT-Threadnetdev组件AT设备包已针对各个版本进行了相应更新。不同的版本有不同的配置选项,所以必须适配对应的系统版本。目前最常用的AT设备包版本有:V1.2.0:V3.1.3以下的RT-Thread,V1.0.0的AT组件V1.3.0:V3.1.3以下的RT-Thread,V1.1.0的AT组件V1.4.0:RT-Thread低于V3.1.3或等于V4.0.0,V1.2.0AT组件V1.5.0:RT-Thread低于V3.1.3或等于V4.0.0,V1。ATComponentV1.6.0for2.0:适用于RT-Thread低于V3.1.3或等于V4.0.1,V1.2.0ATComponentV2.0.0/V2.0.1:适用于RT-Thread高于V3.1.3,V1.3.0最新版本的AT组件:对于V3.1.3以上的RT-Thread,获取V1.3.0的正确版本AT组件的过程主要是在生成菜单时自动完成的。它基于现有的系统环境提供最合适的AT设备包。如前所述,不同的版本需要不同的配置选项。例如,RT-Thread在线包--->IoT-物联网--->-*-ATDEVICE:RT-ThreadATcomponentportingorsamplesfordifferentdevice[]EnableatdeviceinitbythreadATsocketdevicemodules(未选,请选择)--->Version(V1.6.0)--->启用AT设备线程初始化的选项决定了配置是否创建一个单独的线程来初始化设备网络。2.x版本支持同时启动多个AT设备:RT-Thread在线包--->IoT-物联网--->-*-ATDEVICE:RT-ThreadATcomponentportingorsamplesfordifferentdevice[*]QuectelM26/MC20--->[*]Enableinitializebythread[*]Enablesample(-1)Powerpin(-1)Powerstatuspin(uart3)ATclientdevicename(512)接收线路缓冲区的最大长度[]QuectelEC20--->[]EspressifESP32--->[*]EspressifESP8266--->[*]启用线程初始化[*]启用示例(realthread)WIFIssid(12345678)WIFI密码(uart2)ATclientdevicename(512)Themaximumlengthofreceivelinebuffer[]RealthreadRW007--->[]SIMComSIM800C--->[]SIMComSIM76XX--->[]NotionMW31--->[]WinnerMicroW60X--->[]AiThinkA9/A9G--->[]QuectelBC26--->[]Luatair720--->[]GOSUNCNME3616--->[]中国移动M6315--->[]QuectelBC28--->[]Quectelec200x--->Version(latest)--->这个版本包含很多其他选项,包括启用示例代码的选项,这对使用不熟悉设备的初学者或开发者很有帮助你可以还可以设置选项以选择要用于为组件供电的引脚、指示电源状态的引脚、示例设备使用的串行设备的名称以及示例设备接收的最大数据长度。在合适的设备上,您还可以设置SSID和密码。简而言之,控制选项是足够的。V2.x.x版本支持同时开启多个AT设备。查看启用的设备信息,在finshshell中执行ifocnfig命令。V2.X.X版本要求设备在使用前注册;注册可以在示例目录中完成,也可以在应用层以自定义方式完成。电源引脚和电源状态引脚等引脚选项根据设备的硬件连接进行配置。如果硬件启用功能不可用,则它们设置为-1。一个AT设备应该对应一个序列名,每个设备的AT客户端名称应该不同。在组件配置选项中选择AT组件软件包并启用设备支持时,默认情况下会选择AT组件的客户端函数。对于AT组件,这意味着可以设置更多的选项:RT-ThreadComponents--->Network--->ATcommands--->[]Enabledebuglogoutput[]EnableATcommandsserver-*-EnableATcommandsclient(1)支持的最大客户端数-*-启用ATcommnads的BSDSocketAPI支持[*]启用AT命令的CLI(Command-LineInterface)[]启用打印RAW格式的AT命令通信数据(128)TheATCommonsbuffermaximumlengthofATCommonsbuffer与ATdevicepackage相关的配置选项有:maximumnumberofsupportedclients:当在ATdevicepackage中选择多个设备时,该选项需要配置为对应的设备数量;EnableBSDsocketAPIfunctionalityviaATcommands:选择AT设备包时默认选择该选项。AT命令的最大长度:AT命令可以发送的最大数据长度一切皆有可能当您开始对嵌入式系统进行编程时,您会很快意识到您可以创造任何您能想象到的东西。RTOS旨在帮助您做到这一点,它的功能包为您提供了一个良好的开端。现在,设备的互联互通也可以期待。边缘物联网技术必须能够通过各种协议进行通信,而AT协议是关键。