-
【赛事资讯】2022年5月21日--5月27日✨【热门赛事】2022华为嵌入式软件大赛,报名截止倒计时3天,你报名了吗?摘要:华为嵌入式软件大赛是华为公司面向在校大学生举办的大型嵌入式软硬件竞赛,在华为嵌入式软件大赛的舞台上,不仅可以充分展示你的软硬件作品,而且可以收获奖金、奖杯等奖励。此次比赛分为算法组(纯编码赛题)与实物组(提交软硬结合的原型作品),比赛分初赛、复赛和总决赛三个阶段,其中各赛区复赛将在各赛区研究所举办,全国总决赛将汇集各路英豪决战松山湖欧洲小镇。✨【征文活动】与云原生的故事,征文获奖名单出炉!摘要:“与云原生的故事”有奖征文获奖名单正式出炉啦!让我们一同恭喜获奖者!✨【直播回顾】华为云IoT创新应用开发大赛总决赛摘要:优质物联网应用方案线上直击!想了解华为云IoT如何助力企业构建物联网应用方案吗?本次将为大家直播华为云IoT创新应用开发大赛总决赛现场。20支优秀团队现场竞演,参赛作品覆盖智联生活、智能制造、智慧城市、智慧农业、智慧医疗等场景,带你全方位了解华为云IoT全场景智慧物联!✨【热门活动】华为伙伴暨开发者大会技术检阅场 · 活动集合摘要:各位开发者们,欢迎来到华为伙伴暨开发者大会社区活动集合,我们为大家准备了丰富多彩的活动以及奖品,精彩不容错过~往期回顾:【赛事资讯】2022年3月25日精彩速递-提交倒计时|2022软挑作品提交通道已开启【赛事资讯】2022年3月18日精彩速递-第八届华为软件精英挑战赛火热报名中,超全FAQ来袭!【赛事资讯】2022年3月11日精彩速递-2022华为大学生无线基站Massive MIMO创新大赛正式开启,快来报名参赛吧!【赛事资讯】2022年3月4日精彩速递-官宣!2022年第八届华为软件精英挑战赛正式启动报名
-
[算法赛答疑]欢迎各位参赛者。算法赛初赛相关答疑请在此帖跟帖,我们会尽快答复。
-
赛题简介:本次比赛赛题根据实际嵌入式产品场景,抽象为智能工厂仪器部署问题。我们期待您精彩的解决方案。赛题背景:我们乘坐时光机来到2050年,戴维斯在退休后开了一家智能工厂,这种工厂使用一套加工仪器,支持成千上万种加工流水线。现在场地和仪器都已经购置好了,戴维斯需要你来帮忙规划一下仪器的安装位置,使得安装费用和出货速度达到最优。初赛比赛规则:选手可在下方附件中下载赛题包,编程语言支持C、C++,选手在本地编译调试完成后,通过“提交作品”页面提交代码,每个团队每天可提交5次。后台将取选手提交的代码运行、评分,然后以提交代码所获得的最好成绩进行排名,并每天发布排行榜。作品提交要求:请将赛题包中的code目录压缩为zip文件后提交到比赛平台。评分和排名规则:1. 编译失败不得分;2. 执行任意一组测试用例出现以下5种情况之一都不得分: (1)运行异常退出(2)运行时读/写/执行了提交内容以外的文件(3)运行时间超过15s(4)运行内存超过512M(5)输出结果不符合题面要求3. 全部用例判题成功,则:(1)分数计算:用例分数*用例系数的累和(2)分数从低到高排名 (3)分数相同,先提交的排名靠前 (4)同一个队伍的提交,以最优成绩的为准,分数相同以先提交的为准4. 大赛比赛过程中,评委组将对选手作品进行复核审查,如出现影响比赛公平性的代码实现方式,将取消团队成绩。判题环境:linux、g++8.5.0、cmake3.20.2
-
【CSDN 编者按】在嵌入式环境中,C、C++作为最常见的编程语言,早已被广泛应用在底层工具链、库中。不过,近日嵌入式工程师Omar Hiari提出一种完全不同的看法,他认为一开始就考虑安全问题的编程语言Rust才是嵌入式领域的未来。虽然要将嵌入式应用程序代码迁移到一种新的编程语言上非常麻烦,但他认为这是可行的,只是需要一些方法和实践。软件故障在嵌入式领域时常发生,随着物联网(IoT)和网络物理系统(CPS)等技术的普及,这些故障也没有得到应有的重视。当人们谈论自动驾驶汽车、机器人、无人机时,他们总认为这些出错的机率很小。但在了解一些历史上著名的软件事故、Bug案例研究后,你就不会这么想了。重现问题简直是一场噩梦首先,需要声明的是,我主要从事汽车嵌入式领域。此外,在职业生涯中,我还接触到了功能安全领域。功能安全,简单来说,是指一个系统或是设备整体安全的组成部分。其达成安全性的方式是靠系统或组成零件在接受输入讯号后,可以正常的动作,来减少导致人类受伤的事故风险。例如一个马达中加装温度感测器,若温度超过一定值,即停止马达运转,此机能就属于功能安全。在进入到汽车行业这些年,我担任过几个项目的技术负责人,其中部分职责会涉及到处理客户退货的问题。之所以这些汽车会被退回,大概率是由于电子单元或模块出现了问题,而我们团队需要确定导致该问题的根本原因。如果问题的根源确认是模块中出现了一个错误,我们会针对这个错误提出一个修复方案,并且将它整合到未来的更新中。有时我们会花费几天,甚至是几周来找出Bug的原因。我现在还记得我第一次处理这些问题的的经历,那时我还是一个做模块测试的实习生。我们发现,有几个被退回的模块,在现场测试时出现了不一样的结果。有些能够正常工作,有些不能。在和软件团队调试了很长时间后,我们终于找出了问题所在,原来是因为一个未初始化的变量!我惊讶于这样的错误竟然没有被检测出来。随着在这个行业不断地成长,我所遇到的问题越来越复杂。有时,我们会在成千上万的模块中找一个有问题的模块。通常情况下,第一步是尝试复现这种问题,以便用调试工具追踪问题的来源。这简直是一场噩梦!复现某些行为需要几天或者几周的时间,有时甚至需要更长的时间,因为要复现这个问题,需要非常具体的实现过程相组合。在大多数情况下,这些实现过程会存在一些未经测试的配置,最终导致触发Bug。正常导致汽车故障的大多数问题本质上出在软件上。有趣的是,即使是在一些质量至上,而且拥有大量经验丰富软件工程师的公司也会出现这种情况。基本上,这些遇到现场问题的模块,已经进行了彻底的测试、代码审查、代码标准的实施(例如MISRA-C)。一开始就考虑安全问题?后来,在从汽车嵌入式领域进入功能安全领域时,我发现我的经历更加有趣。在功能安全方面,像工业IEC-61508和汽车ISO-26262这样的标准在汽车行业开始流行起来。遵循这些标准的目的是为了减少产品故障的风险,风险的大小取决于产品的使用方式或者地点。通过在开发过程中加入更多的测试和检查,可以让产品达到一定的安全水平。以ISO-26262为例,该标准对软件和硬件中可能发生的故障类型进行了分类。硬件的故障被分为两种类型:随机硬件故障和系统故障。在软件方面,只有一种类型,即系统性故障。根据ISO-26262,随机硬件故障被定义为:在硬件元素的生命周期中,可能会发生不可预测的故障,并且遵循概率分布。该标准还补充说:随机硬件故障率可以以合理的精度进行预测。而系统性故障被定义为:故障以确定的方式与某种原因相关,只能通过改变设计或制造过程、操作程序、文件或其他相关因素来消除。这意味着,系统故障或多或少源于人为错误,并不是真正可以预测的。因此,如果我们考虑修复软件问题,就意味着需要更多额外的检查。当然,在应用程序中也可以添加一些方法让其自己检查(例如N-版本编程),尽管如果把这些方法添加到动态的应用软件代码中,消耗的内存空间会增多。鉴于我前面提到的,人们可能会认为这种变化是喜闻乐见的。但情况恰恰相反,大多数工程师都会反对整合功能安全流程。事实上,如何让工程师和团队接受这一点,让许多管理安全开发者感到很头疼。这种推动力通常来自于产业链的顶端,即建立一种 “安全文化”。我认为,部分原因是由于流程和额外的文件或者可交付成果方面的重大变化,而不一定是因为个人反对安全的想法本身。(如果有什么是是工程师不喜欢做的,我想写文件一定排在首位。)还有一点也让管理安全开发者感到头疼,即说服团队,让他们知道产品需要从一开始就以安全前提来设计。这意味着,工程师不应该只致力于让现有产品开始应用其功能来满足安全要求。换句话说,就是对现有产品进行修补以使其满足安全要求。这主要是针对硬件和应用软件来说。让我感到不解的是,为什么这一项不能应用在编译语言或者编译器上呢?与编译器一起使用的语言并没有从一开始就考虑到安全问题。相反,它们是根据功能安全应用中的标准准则进行修改的。比如创建语言的”子集“,删除其中被认为不安全的部分。这意味着排除了编程语言结构中存在的不安全因素。迫在眉睫的问题对于一些了解甚少的人来说,在汽车领域最普遍的编程语言是C。但从我的亲身经历来看,我认为C、C++并不是能够引领未来应用趋势的语言。事实上,从长远来看,坚持使用C、C++,不管有多少标准引入都令我感到担忧。毫无疑问,C、C++是强大的语言,但与即将到来的应用程序相比,目前的应用程序还是太简单了。此外,随着行业的发展,工程师的水平会参差不齐。所以无论流程多么严格,出现系统性错误的可能性都会越来越大。随着经验的不断积累,实践不断增加,以及在C、C++这样的语言中不断增加补丁,但是类似的问题仍然是由于系统性错误而产生,是不是至少应该考虑切换到另一种思路来设计语言,即一开始就把安全性作为前提来设计?又或者只是创造出一种更加现代的语言,正如系统性故障所定义的一样:只能通过改变设计来消除问题。一条可能的前进道路我在Rust中找到了一条可能通往嵌入式的道路,它似乎就是我在这个行业多年来所要找的。Rust的设计初衷是为了成为一种安全的语言。当然,要把嵌入式程序代码迁移到一种新的编程语言上是非常麻烦的。显然,阻碍因素之一是在汽车等嵌入式环境中,C、C++的工具链和库已经根深蒂固了,早已成为了生态系统中的一部分。然而,虽然代码迁移有困难,但也不是不可能,我们可以制定计划,循环渐进地进行切换。在非嵌入式环境中,Rust已经获得了相当大的知名度,并且得到了亚马逊、Discord、Dropbox、Facebook、谷歌和微软等公司的投资。事实上,微软和谷歌已经为Rust在某些领域能够消除70%的安全问题做了担保。到目前为止,关于嵌入式,某些团体已经有了一些有趣的动向。有一个Rust嵌入式工作组正在社区内工作,以弥合与Rust团队的差距,同时发展嵌入式生态系统。该小组在发展生态系统方面的速度令人印象深刻。(如果对这个工作小组的成就感兴趣可以访问这个网站:https://www.autosar.org/news-events/details/autosar-announces-new-working-group-for-programming-language-rust-in-automotive-software-context-202/)另一个是Ferrous Systems,它在支持Rust生态系统方面也做了大量工作。Ferrous在为Rust创建不同的工具和扩展方面做出了重大努力,并且正在ferrocene项目下为ISO26262认证Rust编译器工具链。有趣的是,在我写这篇文章的时候,AUTOSAR(AUTomotive Open System ARchitecture汽车开放系统架构)也宣布了一个在新的汽车背景下的Rust工作小组。(感兴趣可以访问这个链接:https://www.autosar.org/news-events/details/autosar-announces-new-working-group-for-programming-language-rust-in-automotive-software-context-202/)(补充:我不属于也没有参与过上述任何实体)Rust可能是嵌入式未来市场方向表明,我们开始从C、C++向更安全、更现代的编译型编程语言转变的时机到了。(并不是对于所有的应用,只是对于那些C或者C++可能出现问题的应用)Rust编程语言虽然相当年轻,但似乎是最适合这种情况的。对于公司和个人来说,使用Rust编程可能是一个很好的战略决定,能够在未来获得优势。对于个人来说,即使像Rust这样的语言永远不会被采用,但它至少会给个人一个全新的视角,让他知道如何成为一个更好的C/C++开发者。原文链接:https://apollolabsblog.hashnode.dev/why-you-should-be-worried-about-the-future-of-cc-in-embedded-a-case-for-rust
-
教你如何使用esp8266接入华为云物联网平台(IOTDA)(Arduino IDE开发)一、简介 esp8266系列作为低功耗高性价比的嵌入式无线网络控制模块,深受对嵌入式感兴趣的小伙伴的喜爱,是很多人理想的一款wifi模块的选择,不仅可以完成通信,还可以当单片机使用完成程序控制,可满足智能家居、远程控制、智慧医疗等物联网应用的需求,总结:功能强大,价格便宜;某宝最便宜的ESP01s或12f系列五六块就可以搞定(建议大家还是支持正版),对质量有要求的,在某创平台也仅仅是十多块钱,玩法多样,本篇幅主要带大家讲解如何利用Arduino和esp8266系列完成设备接入华为云物联网平台(IOTDA)并完成设备属性上报。二、整体流程概述创建产品、注册设备、添加属性使用MQTT.fx进行测试[可跳过]Arduino IDE+esp8266编程三、具体详细步骤创建产品、注册设备、添加属性创建产品(https://console.huaweicloud.com/iotdm/?region=cn-north-4#/dm-dev/all-product) b. 注册设备 此时可获取设备ID和密钥: device_id: "61fb2d7fde9933029be5ff9e_esp8266_test01" secret: "自己设定的密钥" c. 添加属性 d. 获取MQTT三元组(ClientId、Username、Password) 我们可以通过华为云提供的官方产品帮助文档中,根据参数描述自己计算出三元组;或者我们可以使用下面的网页来帮助我们生成三元组 https://iot-tool.obs-website.cn-north-4.myhuaweicloud.com/) 补充:平台接入地址为:iot-mqtts.cn-north-4.myhuaweicloud.com,端口号:1883 此时我们已经获取了下面这些信息,就可以使用MQTT.fx客户端软件进行登陆测试 device_id: "61fb2d7fde9933029be5ff9e_esp8266_test01" secret: "自己设定的密钥" ClientId: 61fb2d7fde9933029be5ff9e_esp8266_test01_0_0_2022020310 Username:61fb2d7fde9933029be5ff9e_esp8266_test01 Password:xxxxxxxxxx计算出来的秘钥xxxxxxxxxxxxxxxxxxxx MQTT_Address:iot-mqtts.cn-north-4.myhuaweicloud.com MQTT_Port:1883 2. 使用MQTT.fx进行测试[可跳过]登陆MQTT测试(创建完后点击Connect,右上角会有绿色提示灯即代表登陆成功) b. 查看在线状态 c. 添加服务、属性、命令 d.常用的Topic:(参考官方文档https://support.huaweicloud.com/api-iothub/iot_06_v5_3004.html) 设备上报属性:$oc/devices/{device_id}/sys/properties/report(需将“{device_id}”替换为所需的设备id) 平台下发命令:$oc/devices/{device_id}/sys/commands/#(需将“{device_id}”替换为所需的设备id) 数据格式:{"services":[{"service_id":"你的服务id","properties":{"你的属性名称": 设置的值}}]} e. 上报测试(监控运维的在线调试中可查看具体信息) f. 下发测试 、 3. Arduino IDE+esp8266编程程序源代码不到70行,非常简单的一个小Demo源码获取方式:关注公众号“IOT趣制作”,回复关键字“华为云物联网”即可
-
华为嵌入式软件大赛2021年7月17日-18日,华为嵌入式软件大赛迎来了一个赛事高潮——区域复赛!从区域初赛中脱颖而出的算法组和实物组共计约120支队伍,在4个赛区现场同时开战,争夺进入总决赛的入场券。晋级总决赛名单已新鲜出炉,点我查看来一起回顾一下复赛现场吧~感恩相遇,感谢每一位参赛选手以及工作人员的努力!进入总决赛的同学们,期待你们全力以赴,奔赴7月24日的旅程!我们在松山湖欧洲小镇等你!
-
inux是一个类似于UNIX的操作系统,inux系统不仅能够运行于PC平台,还在嵌入式系统方面大放光芒,在各种嵌入式inux OS迅速发展的状况下,inux OS逐渐形成了可与Windows CE等EOS进行抗衡的局面。嵌入式inux OS的特点如下。 精简的内核,性能高、稳定,多任务。 适用于不同的CPU,支持多种体系结构,如X86、ARM、MIPS、APHA、SPARC等。 能够提供完善的嵌入式GUI及嵌入式X-Windows. 提供嵌入式浏览器、邮件程序、MP3播放器、MPEG播放器、记事本等应用程序。 提供完整的开发工具和SDK,同时提供PC上的开发版本。 用户可定制,可提供图形化的定制和配置工具。 常用嵌入式芯片的驱动集,支持大量的周边硬件设备,驱动丰富。 针对嵌入式的存储方案,提供实时版本和完善的嵌入式解决方案。 完善的中文支持,强大的技术支持,完整的文档。 开放源码,丰富的软件资源,广泛的软件开发者的支持,价格低廉,结构灵活,适用面广。
-
Windows CE也是一个开放的、可升级的32位嵌入式操作系统,是基于掌上电脑类的电子设备操作。Windows CE的图形用户界面相当出色。其中,CE中的C代表袖珍(Compact)、消费 (Consumer)、通信能力(Connectivity)和伴侣(Companion);E代表电子产品 (Eectronics)。与Windows 95/98、Windows NT不同的是,Windows CE是所有源代码全部由微软自行开发的嵌入式新型操作系统,其操作界面虽来源于Windows 95/98,但Windows CE是基于Win32 API重新开发的、新型的信息设备平台。Windows CE具有模块化、结构化和基于Win32应用程序接口及与处理器无关等特点。Windows CE不仅继承了传统的Windows图形界面,并且在Windows CE平台上可以使用Windows 95/98上的编程工具(如Visua Basic、Visua C++等),使用同样的函数,使用同样的界面网格,使绝大多数的应用软件只需简单修改和移植就可以在 Windows CE平台上继续使用。 Windows CE的设计目标是:模块化及可伸缩性、实时性能好,通信能力强大,支持多种CPU.它的设计可以满足多种设备的需要,这些设备包括了工业控制器、通信集线器及销售终端之类的企业设备,还有像照相机、电话和家用娱乐器材之类的消费产品。一个典型的基于Windows CE的嵌入系统通常为某个特定用途而设计,并在不联机的情况下工作。它要求所使用的操作系统体积较小,内有对中断的响应功能。 Windows CE有如下特点。 具有灵活的电源管理功能,包括睡眠/唤醒模式。 使用了对象存储技术,包括文件系统、注册表及数据库。它还具有很多高性能、高效率的操作系统特性,包括按需换页、共享存储、交叉处理同步、支持大容量堆等。 拥有良好的通信能力。广泛支持各种通信硬件,亦支持直接的局域连接及拨号连接,并提供与PC、内部网及因特网的连接,还提供与Windows 9x/NT的最佳集成和通信。 支持嵌套中断。允许更高优先级别的中断首先得到响应,而不是等待低级别的ISR完成。这使得该操作系统具有嵌入式操作系统所要求的实时性。 更好的线程响应能力。对高级别IST(中断服务线程)的响应时间上限的要求更加严格,在线程响应能力方面的改进,帮助开发人员掌握线程转换的具体时间,并通过增强的监控能力和对硬件的控制能力帮助他们创建新的嵌入式应用程序。 256个优先级别。可以使开发人员在控制嵌入式系统的时序安排方面有更大的灵活性。Windows CE的API是Win32 API的一个子集,支持近1 500个Win32 API.有了这些API,足可以编写任何复杂的应用程序。当然,在Windows CE系统中,所提供的API也可以随具体应用的需求而 定。
-
1.Pam OS Pam OS是一种32位的嵌入式操作系统。Pam提供了串行通信接口和红外线传输接口,利用它可以方便地与其他外部设备通信、传输数据;拥有开放的OS应用程序接口,开发商可根据需要自行开发所需的应用程序。Pam OS是一套具有强开放性的系统,现在有大约数千种专门用Pam OS编写的应用程序,从程序内容上看,小到个人管理、游戏,大到行业解决方案。Pam OS是一套专门为掌上电脑开发的OS.在编写程序时,Pam OS充分考虑了掌上电脑内存相对较小的情况,因此它只占有非常小的内存。由于基于Pam OS编写的应用程序占用的空间也非常 小,所以,基于Pam OS的掌上电脑(虽然只有几兆字节的RAM)可以运行众多应用程序。由于Pam产品的最大特点是使用简便、机体轻巧,因此决定了Pam OS应具有以下特点。 操作系统的节能功能。由于掌上电脑要求使用的电源尽可能小,因此在Pam OS的应用程序中,如果没有事件运行,则系统设备进入半休眠的状态;如果应用程序停止活动一段时间,则系统自动进入休眠状态。 合理的内存管理。Pam的存储器全部是可读写的快速RAM,动态RAM类似于PC机上的RAM,它为全局变量和其他不需永久保存的数据提供临时的存储空间;存储RAM类似于PC机上的硬盘,可以永久保存应用程序和数据。 Pam OS的数据是以数据库的格式来存储的,为保证程序处理速度和存储器空间,在处理数据的时候,Pam OS不是把数据从存储堆拷贝到动态堆后再进行处理,而是在存储堆中直接处理。 Pam OS与同步软件结合可以使掌上电脑与PC机上的信息实现同步,把台式机的功能扩展到了掌上电脑上。
-
嵌入式系统需要集成OBS的服务,有没有相关集成的指南文档,谢谢
-
9月25日,华为在全联接大会上正式发布面向数字基础设施的开源操作系统欧拉(openEuler)。华为称,欧拉操作系统可广泛部署于服务器、云计算、边缘计算、嵌入式等各种形态设备,应用场景覆盖IT(Information Technology)、CT(Communication Technology)和OT(Operational Technology),实现统一操作系统支持多设备,应用一次开发覆盖全场景。欧拉全新发布华为计算产品线总裁邓泰华表示,操作系统“碎片化”现状,导致数字基础设施产生大量“软烟囱”,带来生态割裂、应用重复开发、协同繁琐的挑战,数字化新时代,呼唤新的统一操作系统。在ICT领域,华为提供服务器、存储、云服务、边缘计算、基站、路由器、工业控制等产品和解决方案,都需要搭载操作系统,所以华为一直在构建能力,旨在通过统一的操作系统架构来满足不同应用场景的需求。本次欧拉全新升级,同时支持服务器、云计算、边缘计算、嵌入式等各种形态设备的需求;支持多样性计算,致力于提供安全、稳定、易用的操作系统;并通过为应用提供确定性保障能力,支持OT领域应用及OT与ICT的融合。至此,全新发布的欧拉操作系统可覆盖从IT、CT到OT数字基础设施全场景。24日,华为轮值董事长徐直军在接受采访时透露,2019年华为把欧拉正式开源,像麒麟软件等在基于欧拉操作系统发布了自己的商业发行版,并提供服务。“最近我们把欧拉重新进行了定位。原来的欧拉更多是服务好鲲鹏,让我们的鲲鹏生态发展得更好。我们开源的主力也是聚焦在支持鲲鹏。现在我们把欧拉定位为未来的数字基础设施的操作系统,不仅仅是服务于鲲鹏,也能支持X86;同时支持边缘计算,也能支持云基础设施,还准备发展一个分支,未来去支持嵌入式设备。”徐直军解释称,嵌入式设备是指电信设备里一块一块“板子”,这些板子也需要操作系统。欧拉:数字基础设施开源操作系统据介绍,欧拉创造性的提出全栈原子化解耦,支持版本灵活构建、服务自由组合,通过一套架构灵活支持南向多样性设备,北向全场景应用。此外,欧拉和鸿蒙已经实现了内核技术共享,未来计划在欧拉构筑分布式软总线能力,让搭载欧拉操作系统的设备可以自动识别和连接鸿蒙终端。后续进一步在安全OS、设备驱动框架以及新编程语言等方面实现共享。通过能力共享、实现生态互通,“欧拉+鸿蒙”更好地服务数字全场景。本次大会正式发布了第一个支持数字基础设施全场景的openEuler 21.09创新版本,将于9月30日在社区上线。该版本不仅对服务器和云计算场景能力进行了增强,还实现了对于边缘计算和嵌入式场景的支持。2022年一季度,欧拉开源社区将发布支持全场景融合的社区LTS版本,使能合作伙伴面向不同场景发布商业发行版。华为称,自欧拉开源以来,已有超过6000名开发者和100多家企业、高校、组织和机构加入欧拉社区,汇聚从处理器、整机、操作系统发行版厂商、到行业应用等全产业链,十多家主流操作系统领军企业发行基于欧拉的商业版本。欧拉的全新发布将吸引更多云、边缘、嵌入式领域伙伴加入社区,共同加速欧拉在数字基础设施全领域的广泛应用。(本文来自澎湃新闻,更多原创资讯请下载“澎湃新闻”APP)
-
物联网产品中的设备配置、管理和保护需要在流程的一开始就进行仔细规划。对选项进行严格评估,然后进行概念验证,这有助于确定正确的解决方案。一旦概念验证获得批准,物联网产品将进入生产阶段。然后,真正的乐趣开始了,许多战略考虑开始发挥作用。我们将它们列举如下:▲强大且安全的 OTA 软件更新▲设计安全▲可扩展性▲自动化▲远程终端管理▲设备配置、监控和故障排除强大且安全的 OTA 软件更新强大且安全的 OTA 软件更新对于保持物联网设备的安全至关重要,因为这些设备上的软件在其生命周期内会变得过时,如果保持初始状态,肯定会出现漏洞。因此,从项目开始到生命周期结束,安全、风险容忍能力、高效的更新机制必须成为每个产品开发团队的核心。设计安全设备安全漏洞事件可能会中断操作、损坏系统并对虚拟和物理进程产生负面影响。这会转化为不满意的客户和失去业务。正如 BG Networks 的创始人兼首席执行官 Colin Duggan 在接受 Device Chronicle 采访时所说,“在设计完成后,很难再增加安全性。原因有很多,嵌入式系统具有有限的MHz、内存和嵌入式处理器上的网络接口限制。安全功能可以在事后添加,但通常不会消除所有漏洞”。 这就是为什么在产品生命周期的早期阶段通过设计确保安全性的原因所在。可扩展性管理少量嵌入式设备与在现场部署数千甚至数百万台设备之间存在显著差异。微软新的物联网信号报告发现缺乏可扩展性是物联网项目失败的主要原因。复杂性是最大的可扩展性问题之一。因此,选择具有正确体系架构的正确解决方案对于保护连网设备集群的长期管理可行性非常重要。自动化为了防止因人为错误引起的任何风险,将某些流程自动化是一种可以为企业减少损失的解决方案。Mender是一款嵌入式设备的OTA软件更新管理器,它提供广泛的自动化来安全地管理这些设备。Mender 提供的功能之一是自动重试失败的设备部署。设备部署可能会因各种间歇性原因而失败,例如断电、网络或设备使用情况。失败时自动重试可将设备部署错误率降低多达 90%。这转化为管理部署的时间和金钱节省,还可以让客户更快地收到更新。远程管理远程管理对于任何类型的嵌入式设备都是必要的。任何推出物联网产品的公司都需要从一个中心位置控制其系统。与 VPN 访问相比,服务提供商更喜欢 SSH、安全隧道和远程终端访问,因为它们可以确保客户在访问和排除设备故障时的安全性。此外,管理还包括分组和访问嵌入式设备、远程安全地配置和监控。考虑到不仅需要安全的空中无线进程,而且还需要可靠的方法来监控、配置、分组和访问嵌入式设备,Mender的团队决定通过上述远程管理功能来扩展他们的产品。Mender是一款开源软件,这意味着有许多贡献者可以使其更好,并支持各种客户硬件和软件,例如 NVIDIA Jetson 和 NXP 的 iMX 处理器系列。它提供了从原型到生产的软件和硬件选择的灵活性,这意味着没有供应商锁定。Mender支持从完整磁盘映像到应用程序更新的所有设备软件更新,并可自由自定义更新和安装过程以适应您的工作流程。它还与谷歌云和微软Azure物联网集成,以便于设备身份验证。设备配置、故障排除和监控不应忽视正确的设备管理设置。强大且安全的设备管理是物联网产品的必要基石,因此您需要找到高质量的解决方案。一旦您在现场部署了数千或数百万台设备,您就需要能够正确配置它们、收集数据并快速解决出现的任何问题。许多组织将这些功能视为事后的想法,这将导致仓促的修复,并且,这可能会对连网设备的稳健性和安全性产生严重影响。为了推出成功、安全且强大的物联网产品,在发布之前必须考虑以上关键因素。
-
sQlite是D. Richard Hipp 用C语言编写的开源嵌入式数据库引擎。它是完全独立的,没有外部依赖性。占用资源非常低,在嵌人式设备中,只需要几百KB的内存。它能够支持Windows, Limux等主流操作系统,可与Tel, PHP和Java等程序语言结合,提供ODBC接口,其处理速度甚至令开源世界著名的数据库管理系统MysQL和PostgreSQL.望尘莫及。solie对50192标准的支持包括索引、限制、触发和查看,支持原子的、一致的、独立的和持久(ACID)的事务。在内部, SoLite由SQL编译器、内核、后端以及附件几个组件组成。 sqlite通过利用虚拟机和虚拟数据库引擎(VDBE) ,使调试、修改和扩展SQLite的内核变得更加方便。所有sql,语句都被编译成易读的,可以在SQLite虚拟机中执行的程序集。现在项目需要使用SOLite数据库,需要将SQLite移植到ARM 2440嵌人式主机中,并续写一个简单的测试程序。现在项目需要使用sqlite数据库 需要将sqlite移植到arm2440嵌入式主机中并编写一个简单的测试程序项目实施步骤:1)下载并编译sqlite2)下载到arm虚拟机并使用sqlite如何下载编译sqlite从http://www.sqlite.org/download.html下载sqlite文件 当前版本是:3.9.2 文件名为:sqlite-autoconf-3090200.tar.gz解压并查看当前目录及install文件# tar zsf sqlite -autoconf-309200.tar,gz#lsaclocal.m4 configure.ac #itmain.sh #Readme#sqlite3ext.hconfig guess depcomp make file.am shell.c sqlite3.hconfig.sub install makefile.in sqlite 3.1 sqlite 3.pc inconfigure install-sh missing sqlite3.c tea创建一个目录build进入主目录在这个目录中将进行交叉编译在build目录中运行sqlite-autoconf-309200中的configure脚本 生成makefile文件 代码如下:../configure--host=ARM-LINUX -- PREFIX =/opt/sqlite-autoconf-309200/build 选项host指定的是用arm交叉编译器进行编译 选项prefix后面的鲤鱼精是编译安装后目标存放的目录可以任意设置#mkdir build #cd mkdir #../configure --houst=arm-linux--prefix=/opt/sqlite-autoconf-309200/build#ls#config.log config.log config.status libtool makefile sqlite3.pc#make #makeinstall#lsbin include libtool sqlite3 sqlite3.pcconfig.log lib makefile sqlite3.lo sqkite3-shell.oconfig.status libsqlite3.la share sqlite3.o sqlite3-sqlite3.o编译和安装完成后 在/root/sqlite-autoconf-309200/bulid 目录中会生成3个目标文件夹 分别是bin include和lib下载到arm虚拟机并使用sqlite 分别将bin下的文件下载到开发板的/user/bin目录中去 lib下的所有文件下载到开发板的/lib目录中即可nclude目录下是sqlite的c语言api的头文件编译时会用到下面示例在arm虚拟机中测试 将root/sqlite-autoconf-309200/build目录中的bin和lib分别复制到/opt/root_qtopia/usr/bin与root_qyopia/lib/目录中#cd /opt/sqlite-autoconf-309200/build#cd bin#cp *.*/opt/root_qtopia/usr/bin#cd..#cd lib#cp *.*/opt/root_qtopia/lib/启动虚拟机 在arm虚拟机终端中运行 sqlite3 tst.db测试运行是否正常#sqlite3 tst.db sqlite version.................sql使用命令行管理数据库 在运行.help会列出常用的命令说明 这里我就不打出来了 也可以在官网中 去查看作者:仙女本仙
上滑加载中
推荐直播
-
华为云码道Agent集成与鸿蒙实战2026/08/11 周二 19:00-21:00
王一男-华为云码道产品规划专家;李炎-华为云码道产品专家;彭江敏-华为云鸿蒙端云一体化开发专家
本次直播带你解读华为云码道7月份产品新特性、新功能。更有专家演示码道Agent Space × 钉钉机器集成实战,从0到1打通消息通道;码道鸿蒙端云一体化实战,快速搭建员工签到系统。
回顾中 -
华为云开发者AI素养直播课·第五期2026/09/04 周五 16:00-18:00
林华鼎-华为云AI开发者运营负责人;蒋春阳-华为云AI开发者案例开发专家
本期直播内容: AI工具体验营 · 第5-8课连讲。Agent-Team 多智能体协作完成毕业设计实践
回顾中 -
华为云开发者AI素养ClassRoom·第六期2026/09/08 周二 19:00-20:00
樊渊-2026华为软件挑战赛冠军
高手来了:看软挑高手解析二维排样问题—从工业难题到算法突破
回顾中
热门标签