首页 > 其他分享 >一些关于智能硬件的随想

一些关于智能硬件的随想

时间:2023-06-19 16:55:17浏览次数:53  
标签:IoT 硬件 智能 华为 开发 Linux 随想

一些关于智能硬件的随想

最近在给自己的开源项目Lithosphere IoT Platform补文档。


Lithosphere IoT平台里,包括了名为sand-demo演示范例。在项目文档z中,hello系列教程里的,也包括了几个软硬件一体的范例。


既然是IoT平台的范例,肯定少不了要出现智能硬件。基本上来说,在范例中出现的硬件平台,主要是Respberry Pi和Arduino。


为何选择Arduino,理由很简单,因为Arduino容易上手。考虑到我的职业经历主要以软件开发为主,缺少硬件开发经验,所以选择Arduino不奇怪。


在IoT领域,我个人觉得最麻烦的一个问题是,在架构上,IoT应用涉及到多协议和多端的协作整合。


说到多端协作整合,IoT应用中,除了服务器端,智能硬件终端之外,一般还会涉及到IoT协议通讯网关和边缘计算设备。在这些领域,MCU板的能力不够用了,一般会涉及到MPU硬件板和嵌入式开发。


说到嵌入式开发,我的职业背景,虽然主要是个软件开发者,但我是一个Linux的fans。


这样说吧,我曾经非常极端的把自己的桌面电脑的Windows删除掉,换成了Linux。是的,我曾经在有10年时间里,用Linux来做一切事情,我用Linux走开发,用Linux上网浏览,和朋友聊天,看盗版碟。除了不能玩游戏(是的,我不爱玩游戏)和不能使用网上银行之外,我用Linux系统做所有的事。


作为一个Linux fans,我当然会自己编译内核,定制Linux。作为一个经验丰富的Java开发者,在服务器端,那不用说了,我使用Linux服务器的经验,那肯定是很多的。


回到智能硬件MPU上,当我选择智能硬件来演示自己的开源IoT平台时,我当然会有一番考察和思考。在做IoT平台之前,我在两家公司做过IoT应用。


第一家公司,我们使用了专用的Linux硬件板,硬件板厂家定制了Linux内核,将操作系统烧录到硬件板中,并对硬件板做了很多兼容性测试,并给客户提供技术支持。


第二家公司,其实也类似,我们采购了专用的Linux硬件板。区别在于,这次厂家是华为,华为除了定制的Linux之外,还给硬件板上预装了一些IoT的程序。是的,华为直接提供了一个集成多种IoT通讯协议的智能网关硬件。


问题是什么呢?对于第一家公司的解决方案来说,问题在于,它不是一个标准化的解决方案。


硬件方面来说,硬件板方案并不担保都采用标准化的技术方案。对于操作系统和软件来说,厂家根据自己的硬件解决方案,定制一个linux,自己编译了Linux内核,以及安装了硬件的相关驱动。


问题在于,在这个并不标准的硬件和操作系统之上,当你碰到问题时,一个是你可以依赖自己的Linux经验,另一个,你可以依赖厂家的技术支持。


对于第二家公司的解决方案来说,情况似乎要好一些,因为这个公司是华为。是的硬件和软件上来说,华为提供的解决方案,会更加标准化一些。而且华为的技术支持能力,也肯定比第一家公司强太多。


那问题在哪儿呢?
第一个问题,大厂家会习惯性的绑定自己的技术方案。华为的IoT网关硬件,直接集成了几种IoT通讯协议支持。但是华为不开源这些IoT协议的集成程序,也不担保这些程序接口的标准化和通用性。简单来说,在华为的IoT网关上,你使用华为专用的API和SDK进行开发,你绑定在了华为的平台上。


第二个问题,简单来说,就一个字,贵。华为的IoT网关,价格就6K RMB一个吧。


当然,这能够理解,华为2022年,净利润是356亿RMB。华为是需要挣钱的,给华为员工发工资,给国家交税。




正是因为以往的IoT项目的经历,所以,当我自己来开发开源IoT平台时,当我选择使用树莓派硬件平台时,我感觉是惊喜的。


开源硬件!原来硬件也可以开源?来吧,作为开源的超级fans,我一定得整一下开源硬件。


一番折腾后,我把sand-demo跑了起来。


说说自己的感受吧。


我必须得说,树莓派,对于背景是软件开发者的我,是非常友好的。这是因为,树莓派采用PC标准化的硬件,以及使用通用操作系统。


怎么说呢,树莓派除了GPIO硬件接口之外,完全可以把它看作一个标准PC电脑。无论是USB通用接口,还是标准无线WiFi和蓝牙,简直和标准PC没有区别。


更赞的是,树莓派使用通用的Linux操作系统。当然,树莓派提供了自己的Raspberry Pi OS操作系统。但是这个操作系统基于标准的Debian。


简单来说,我可以使用通用的Linux工具,以及很方便的安装各种通用的软件包。


我可以简单的用

sudo apt-get install default-jdk

就装好openjdk 11。


也可以用

sudo apt-get install ffmepg

来安装FFmpeg。


多聊几句。关于IoT操作系统的选择,我以前考虑过Andriod Things。因为Android可以用Java做开发,当google宣布Andriod Things项目时,我当然是兴奋的,很好,在硬件板上使用Java做开发,这是多么愉快的事啊。


当然,我并不惧怕C/C++开发。在Lithosphere IoT里,有不少C/C++代码。Mud库,是完全采用C开发的。


但是,我无法不去考虑发效率的问题。以及,全世界有这么多Java开发者,如果能够在IoT应用中,使用Java做开发该多好啊!


Android能够这么流行,我想,google当时采用Java作为应用层的主要开发语言,这应该一个重要的因素。


当google决定放弃Android Things项目时,我是很失望的。


当我准备好了,计划使用C/C++作为主要开发语言,来开发我的开源项目的IoT网关和终端时,出乎我意料的事情出现了。


这是一块Raspberry Pi Zero W板子:

它的配置是1G CPU,512M内存,可以运行通用的Raspbery Pi OS


它可以跑Java程序吗?


当然可以,为什么不?它可是有1G的CPU,512M的内存,运行标准的Linux操作系统。


还有,我在淘宝上买下它的价格是153元RMB。


在决定把职业生涯的最后阶段,全部投资到IoT这个领域时,当时我是这样考虑的。


常规的应用开发,WEB开发,不值得再投入了。因为这个领域技术太成熟了,搞相关开发的人太多了。当然,可以切入到垂直领域,在某个业务领域,把产品做到牛逼,这是一个解决方案。可惜,我没有看到相关的机会,所以,这个方向上,我已经找不到路了。


移动应用开发,这个方向上,更多的是竞争是在产品创意方面,而不是技术上。这个方向上,也是做得太多,太烂了,也是缺少发展的空间了。而且,随着互联网,移动互联网的泡沫破灭,现在这个领域的投资很少,没必要再进到这个红海里去扑腾了。


IoT这个领域,好就好在,还有较大的应用开发的空间。相较前面说到的两个领域,IoT领域由于技术上的还不够成熟,应用开发还没有被做烂。


这里说的技术还不够成熟,两方面。一方面是指智能硬件的计算能力,智能硬件在硬件计算能力上还没有突破的话,就很难用来做复杂应用。


另一方面,在于IoT领域的通讯技术的成熟度。由于IoT智能设备一般必须采用无线通讯、又需要考虑极端的节能,所以,需要对付这些约束所带来的技术挑战。


如果相关领域技术还不够成熟,那么,大规模的应用自然就做不起来。


当我拿着这块Raspberry Pi Zero W时,我陷入了沉思。智能硬件的计算能力这个问题,是否已经得到了突破。或者说,是否已经到了突破的边界,接下来问题就会被克服掉。


是的,现在可以认为,智能硬件的计算能力,已经得到了突破。


至于另外一个问题,通讯技术的成熟。很好,这不就是Lithosphere IoT平台尝试去解决的问题吗?这不正是时代还留给我们的机会吗?


我确信,未来,我们身边,会充满无数智能硬件小设备。


朋友!欢迎你进入IoT的世界!


是的,可以有些结论了!


随着技术的发展,智能硬件在技术上已经逐渐成熟。IoT领域,将会出现更多,更复杂的应用。


那么,这应该会导致一个趋势,就是硬件开发变得更软件化。何为硬件开发软件化?在硬件开发领域,或者说IoT开发领域,因为硬件变得更智能化,计算能力的增强,应用将变得更加复杂,而这需要在硬件上,做更复杂的软件编程。更多的纯软件开发人员,将会进入智能硬件(或者说是IoT)的开发领域。


更多的软件开发人员,进入智能硬件开发领域。那么,这其中一个推动剂,我想,应该会是智能硬件的架构标准化,以及嵌入式操作系统的通用化。
是的,我想,智能硬件,应该复制PC时代,X86标准化的进程。


当然,智能硬件架构,会有自己的特点,ARM架构,GPIO接口,......


将来,未必是Raspbery Pi,未必是Raspberry Pi OS和Ubuntu Core。但应该是标准化的硬件架构,以及通用的操作系统。


这样的趋势,对于纯软件开发人员,进入智能硬件开发领域,这绝对是一个利好!


至于当前、现在,我想,可以先把赌注先押在Raspberry Pi,Arduino,STM32上。

标签:IoT,硬件,智能,华为,开发,Linux,随想
From: https://www.cnblogs.com/XDongger/p/17491553.html

相关文章

  • 代码随想录算法训练营第十一天| 239. 滑动窗口最大值 347.前 K 个高频元素
    239.滑动窗口最大值 难点:1,想好怎么快速找到区块内的最大数值,往常使用的是在遍历一次,但是是O(m*n)思路:1,使用单调队列,所有的数值都必须是从大到小,2,用队列保持必要的顺序,而且对于大于K的循环,每次都要求poppush这两个操作代码:1voidpop(deque<int>&slidingWin......
  • 大数据,信息与智能工程国际会议(BDIIE2023)
    2023年大数据、信息与智能工程国际会议(BDIIE2023)将于2023年9月17-18日在中国武汉举行。BDIIE2023 将以高质量的技术和体验计划为特色,在论文展示和备受瞩目的主题演讲中处理传统和当代的热门话题。我们诚邀您提交与大数据、信息工程和智能工程相关的所有主题的论文和摘要,期待您......
  • 基于PHPPHP高校图形图像智能处理网站
    随着社会的发展,计算机的优势和普及使得实验室平台的开发成为必需。实验室平台主要是借助计算机,通过对实验室所需的信息管理,减少管理人员的繁杂工作,同时也方便广大学生对实验室新闻消息的及时了解。本项目采用自顶向下的结构化的系统分析方法,阐述了一个功能全面的实验室平台的开发......
  • 呼叫中心解决方案:如何搭建高性价比的智能机器人客服系统
    呼叫中心解决方案涉及的技术领域比较多,智能化需求随着AI技术的快速发展越来越得到重视,本文简单概括搭建高性价比的智能机器人客服系统需要考虑的多个方面。以下是一些关键步骤和建议:明确需求:首先,你需要理解你的业务需求以及你希望机器人客服能够解决的问题。这包括了解你的客户......
  • 在医疗保健领域利用生成式人工智能:创新解决方案的 60 多个机会
    预计生成式AI在医疗保健领域的增长速度将超过任何其他行业。在医疗技术领域,AI可带来更高效流程、个性化客户互动、更大的创新和更高价值。为了帮助领导者理解这些机会,BCG最近研究了医疗技术中生成式AI的60多个应用场景:从产研和软件开发到业务运营、营销和销售、售后客户支持到公......
  • 【10篇热门博客文章】语音搜索技术在人工智能中的应用与发展趋势
    目录语音搜索技术在人工智能中的应用与发展趋势摘要:随着语音交互技术的不断发展,语音搜索技术在人工智能中的应用越来越广泛。本文从语音搜索技术的原理、实现步骤、应用示例和优化改进等方面进行论述,旨在为读者提供更深入、更全面的理解。文章还总结了语音搜索技术在人工智能领......
  • 人工智能伦理:保护人类免受人工智能歧视的影响
    目录"人工智能伦理:保护人类免受人工智能歧视的影响"随着人工智能技术的快速发展,人工智能伦理问题也逐渐浮出水面。人工智能系统的行为将受到人类的控制和监管,因此人工智能系统的使用必须遵守伦理规范。本文将探讨人工智能伦理的相关问题,包括保护人类免受人工智能歧视的影响、......
  • 人工智能如何推动民主化
    目录1.《人工智能如何推动民主化》在现代社会,民主与科技已经成为了不可分割的一部分。民主制度强调人民的权利和自由,而科技的进步则能够让人们获得更多的自由和权利。在过去的几十年中,人工智能技术的快速发展已经在各个领域产生了深远的影响,而如何运用人工智能技术推动民主化也......
  • Python编程和数据科学中的人工智能:如何创建复杂的智能系统并提高模型性能
    目录1.引言2.技术原理及概念3.实现步骤与流程4.应用示例与代码实现讲解标题:《Python编程和数据科学中的人工智能:如何创建复杂的智能系统并提高模型性能》1.引言人工智能(AI)是一个广泛的领域,涵盖了许多不同的技术和应用。在Python编程和数据科学中,人工智能是一个非常重要......
  • 人工智能透明度:未来的挑战和机遇
    目录引言随着人工智能技术的快速发展和普及,透明度成为了一个重要的话题。人工智能系统本身并没有自我意识或感知能力,它们只是根据输入的数据和预先定义的规则进行计算和输出。因此,人工智能的透明度指的是系统所呈现的输出是否准确、合理、透明和可解释。在这篇文章中,我们将探......