嵌入式Linux如何加快物联网方案的开发速度

很明显,无论是对现有设备进行扩展还是从零开始设计新型设备或系统,使用 嵌入式Linux 都能够带来最理想的物联网生态系统构建速度。嵌入式Linux 与桌面 Linux 共享同一套源代码库,但其同时匹配不同的用户界面工具及其它高层组件。

下面,我们将共同探讨几类常见情况。

通常,极低功率应用( 例如传感器 ) 能够凭借一次性电池甚至自身供能机制运行数个月之久。这意味着任何 Linux 在其上运行时都将带来无法承载的负荷。其低功率特性意味着我们无法直接使用 IP 连接,必须配合互联网网关。网关能够通过低功率协议对接传感器,再将其转换为 IP 。根据具体协议需求, Linux 完全有能力提供现有协议支持或者与之类似的方案。

下面来看配合CR2032 按钮电池运行的无线联网室外温度计或者 “ 智能灯泡 ” 。这种智能灯泡看起来似乎并不属于低功率应用,但具体情况仍取决于其并未亮起时的运作方式。如果使用纯 Linux 方案,则意味着灯泡熄灭时系统无法或者需要很长时间来完成引导 ( 至少用户无法接受第一次点亮灯泡时等待 10 到 20 秒 )。

如果在以上实例中直接运行IEEE 802.11(WiFi) 方案,则电池寿命将变得非常有限。因此,我们需要在灯泡中使用低功率联网协议,例如使用简单的 2.4 GHz 信号系统或者蓝牙低功耗连接。嵌入式 Linux 网关能够将低功耗无线链路转换为 WiFI, 甚至以太网来实现互联网接入。正因为如此,目前市面上的多数设备皆采用 Linux 网关及低功耗无线协议。

另外,嵌入式Linux 亦在众多非物联网设备当中有所作为。设计人员往往很难在裸机 /RTOS( 实时操作系统 ) 方法与系统芯片配合 Linux 这两类选项中作出选择。裸机选项能够有效降低材料成本,但却不利于上市时间、开发成本与支持成本等因素。嵌入式 Linux 能够更快完成调整并供更为广泛的用户群体以低成本方式利用多种工程技术及开发工具完成任务。另外,规模庞大的 Linux 用户群亦有助于扩大测试覆盖面并简化技术支持。

物联网设备的主要需求为连通性,且通常表现为IP 形式。这种联网的能力往往通过 Web 服务器实现。裸机 /RTOS 虽然也能够提供 IP 连接,但却易于引发错误及合规违反问题。例如,很多 RTOS 并不会将 IP堆栈用户与 IP 堆栈本身进行隔离。互联网连接可能需要处理低速或者拥塞链路。另外,当堆栈与其它代码混合时,缓冲区处理问题也可能变得模糊且难以调试。相比之下,嵌入式 Linux 能够实现硬件分离并广泛使用各类 IP 堆栈。即使单纯从成本角度考虑,嵌入式 Linux 在加快上市时间、降低技术支持与开发成本方面亦能够有效抵消裸机 /RTOS 的前期优势。

另一类常见用例为对现有物联网设计进行功能添加。单纯从讨论角度出发,这意味着我们需要向设备添加读取设备状态、配置与控制机制甚至是网络浏览器。这意味着我们需要找到粘接机制对合并IP 堆栈、Web 服务器与设备软件。

对于已采用裸机设置的现有设备,以上讨论则适用于改进其互联网连接类情况。这时,调整设备以使用嵌入式Linux 往往是最简单的实现方式。对于嵌入式 Linux 设备,向其中添加 IP 连接只需要通过内核选项启用 IP 堆栈。大家还需要添加一些软件包以配置系统,同时引入 Web 服务器。在这方面,大家需要编写软件粘接代码以服务于 Web 请求。我们可以利用简单的 shell 脚本、 Python 以及 JavaScript 等方式完成这项任务。添加物联网功能对于产品的上市时间非常关键,因此大家可以将各个步骤并行推进,从而有效加快开发速度。

对于嵌入式Linux 设备与物联网连接而言,安全性无疑是一大关注重点。物联网服务通常会直接暴露在危险和未经过滤的互联网之上。虽然相关内容完全可以另写一篇文章,但这里我们可以给出一些总结性意见,即利用多项原生嵌入式 Linux 功能 —— 包括多用户、 SELinux 以及容器 —— 控制并缓解这种风险。而 Linux 拥有的庞大社区亦将带来安全可靠的修复能力。

总而言之,嵌入式Linux 能够显著加快物联网方案的开发速度,简化功能扩展并为物联网生态系统提供 IP 网关服务。另外, Linux 生态系统中的大量驱动程序与功能库,乃至开源代码也将成为构建物联网项目时,极为强大的储备资源。

来源: 极客头条

时间: 2024-10-24 09:11:06

嵌入式Linux如何加快物联网方案的开发速度的相关文章

如何加快Vue项目的开发速度

如何加快Vue项目的开发速度 本文摘自奇舞周刊,侵权删. 现如今的开发,比如内部使用的管理平台这种项目大都时间比较仓促.实际上来说,在使用了webpack + vue 这一套来开发的话已经大大了提高了效率.但是对于我们的开发层面.还是有很多地方可以再次提高我们的项目开发效率,让我们更加专注于业务,毕竟时间就是生命.下面我们挨个来探讨. 巧用Webpack Webpack是实现我们前端项目工程化的基础,但其实她的用处远不仅仅如此,我们可以通过Webpack来帮我们做一些自动化的事情.首先我们要了解

利用qemu学习嵌入式linux(三)——MIPS底层开发

学习的时候,怎么折腾都行.还是打算先debug一遍uboot,熟悉下mips启动流程,然后转到win7下尝试编写几个小程序. --------------- linux下面: sudo dnf install glibc.i686 然后去https://sourcery.mentor.com/GNUToolchain/release3136,下载一个mips-elf-gcc 安装: ./mips-2015.11-33-mips-sde-elf.bin -console 同样修改makefile,

加快Vue项目的开发速度

巧用Webpack   Webpack是实现我们前端项目工程化的基础,但其实她的用处远不仅仅如此,我们可以通过Webpack来帮我们做一些自动化的事情.首先我们要了解require.context()这个API   require.context()   您可以使用require.context()函数创建自己的上下文. 它允许您传入一个目录进行搜索,一个标志指示是否应该搜索子目录,还有一个正则表达式来匹配文件. 其实是Webpack通过解析 require() 的调用,提取出来如下这些信息:

嵌入式linux与51/430/STM32的嵌入式开发的区别与关联

嵌入式linux与51/430/STM32的嵌入式开发的区别与关联 总结: 微控制器系列:8051, MSP 430 , STM32 F0-3( ARM Cortext M0 - M3系列)等 主要特点没有内存管理单元,不能运行linux 这类有着虚拟内存的操作系统,只能运行裸机程序或是ucOS一类的实时操作系统.主要工作就是外设驱动开发(比如写个编码器的驱动,液晶的驱动,usb的驱动)和基于驱动的应用程序开发,如控制类和简单的图像处理功能. 微处理器系列: ARM Cortex A系列的处理器

Ubuntu-18.04 LTS嵌入式linux开发环境搭建

Ubuntu-18.04 LTS嵌入式linux开发环境搭建 ubuntu-18.04 LTS于 2018年4月26号正式发布,很多网友早就迫不及待下载下来安装了,同时也在博客分享了自己的安装体验,分desktop和server的文章,写得稍微简单了一些.本人这几个月一直在忙嵌入式AI ARM+VPU平台设计,没有及时去体验ubuntu-18.04 LTS,不过本人也得跟上步伐,因为本公司去年开发的DM8127平台最新版本的SDK3.9.1需要用到64bit虚拟机,正在玩的Intel Movid

嵌入式Linux之旅——前言

想写技术博客有一段时间了,但一直因为这样那样的理由没有行动.今日下班较早,左右无事,心想为我这个<嵌入式Linux之旅>写一个前言,虽然没有什么实际内容,但总算开了一个头,以此鞭策我这个有严重拖延症的人. 本系列博客——<嵌入式Linux之旅>,是笔者平时学习实验的积累和总结,写在博客中的内容无非有三个出处:代码.书和网络.这可以帮助我记录分析代码的过程和加深对知识的印象,如果能够帮助后学者些许,乃我之幸事也. 我想,<嵌入式Linux之旅>应该分为这么几大部分:环境搭

嵌入式linux QT开发(一)——QT简介

嵌入式linux QT开发(一)--QT简介 一.QT简介 1.QT简介 QT是一个跨平台的C++图形用户界面库,由挪威TrollTech公司出品,目前包括Qt Creator, QtEmbedded,Qt Designer快速开发工具,Qt Linguist国际化工具等部分,Qt支持所有Linux/Unix系统,还支持Windows平台. 2.QT优点 Qt是一个跨平台的C++图形用户界面应用程序框架,提供给应用程序开发者建立艺术级的图形用户界面所需的所用功能.Qt很容易扩展,并且允许真正地组

向嵌入式linux开发板移植openSSH

向嵌入式linux开发板移植openSSH 晚上没事干,想着能不能把高大上的openSSH移植到我现在开发的嵌入式linux开发板上,前不久刚弄出来dropbear,但遇到一些小问题,一会说,所以把openSSH搞上去还是可以的.开发板端为服务器端,由宿主机客户端访问. 2016-8-16 背景 开发板:freescale i.mx6q 宿主机操作系统:ubuntu 14.04 开发板操作系统:linux 3.0.35 基本情况 使用dropbear后,ssh算是在板子上成功跑起来了,参见我另一

嵌入式Linux利用Wifi搭建无线服务器(物联网实践之无线网关)

在 http://www.cnblogs.com/heat-man/p/4564539.html中,在嵌入式Linux开发板上我们从最底层实现了一个智能家居的远程控制系统,然而采取的是用网线连接到交换机上的,感觉老土.巧的是,来北京找工作,找到一家做Wifi模组的公司,这几天老大给我的任务是在min210上开发板上跑我们的Wifi模块,以便熟悉环境,好不容易昨天刚搞好,就把自己写的服务器架上试了试,md,无线的感觉就是不一样呀! 下面整理一下思路: 首先你需要一些硬件设施: ARM开发板,计算机