0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

嵌入式物联网开源项目分享

工程师进阶笔记 来源: 工程师进阶笔记 2024-01-24 10:36 次阅读

很多初学者或者互联网转行从业者,在学习嵌入式技术的基本理论概念之后,可能会感觉到迷茫,感觉自己虽然学了不少,但却不知道怎么用到项目上。

我一直认为,对于嵌入式物联网技术的入门,项目实战是验证理论学习的最佳方式。

在前面的两篇文章里面,我们基于飞凌的 ElfBoard 嵌入式开发板,分别从开箱入门测评和嵌入式Linux开发套路的角度,分析了这块开发板的各种特点,让开发者对这块开发板的硬件资料有一个基本的认识。

本篇文章,我们将会基于 ElfBoard 开发板,开源一个面向初学者的,软硬件结合的嵌入式物联网项目,希望可以通过这个开源项目,让初学者对嵌入式物联网技术领域的 “云-网-边-端” 架构,有一个更加直观的认识。

关于这个项目的思维导图,如下图所示。

wKgaomWwd7GANRHEAACyFK5DpVg558.jpg

接下来,我们将会从云-网-边-端的物联网体系架构出发,描述整个开源项目的开发过程,整个开源项目的系统框架,如下图所示。

wKgaomWwd7GAJZIcAADnNFTwrwU653.jpg

1– 云(涂鸦云服务器)

开源项目是采用涂鸦云作为云服务器的,之所以采用涂鸦云,主要是涂鸦的IoT生态体系很友好,并且对于个人开发者(初学者),涂鸦云的学习门槛和接入门槛是比较低的,无需企业账号,无需太高的设备购买费用,即可接入涂鸦云。

关于涂鸦云的具体用法,可以在公众号搜索我以前发布过的文章:

【嵌入式实战项目】环境监测设备接入涂鸦IoT开发平台

ElfBoard边缘中控是通过Tuya LinkSDK接入云服务器的,这个SDK采用标准的C语言进行编写,移植的时候非常方便,具体可以参考官方提供的移植文档,(此处不做详细描述)

在涂鸦云服务器上建立好产品,完成功能定义,完成设备交互面板设计,移植完Tuya Link SDK,等一系列操作后,就可以让ElfBoard具备接入云服务器的能力。

产品建成后,具体的功能定义如下图所示。

wKgZomWwd7GACHCVAACvOV_fCM0066.jpg

2– 网(Wi-Fi无线连接)

要让ElfBoard接入云服务器,就要先让ElfBoard的硬件具备连接互联网的能力,接入互联网的方式有:4G网络,Wi-Fi无线连接,RJ45有线网络连接,这几种方式都可以选用,由于ElfBoard开发板默认板载了一个RTL8723 无线Wi-Fi模块,因此,本项目选用Wi-Fi无线连接方式,让开发板接入互联网。

十分方便的是,飞凌官方已经提供了一个联网脚本,elf1_cmd_wifi.sh,应用程序开发工程师,可以很方便地调用这个脚本进行互联网链接,对于使用嵌入式Linux+Qt开发的应用程序,飞凌官方也提供了参考例程,我们在程序开发的时候直接参考使用即可。

本项目关于Wi-Fi联网的部分参考代码,如下图所示。(具体请参考完整源码)

wKgaomWwd7KAMycGAAECrR0YR7E615.jpg

3– 边(ElfBoard边缘中控)

边缘计算设备(边缘中控)采用飞凌ElfBoard开发板进行设计,运行嵌入式Linux操作系统,采用Qt进行UI界面开发,应用程序采用C/C++语言进行编写。

边缘计算设备(边缘中控)通过一个USB无线扩展模块,与端侧设备进行无线通信,这个USB无线扩展模块的具体设计,可以参考项目里面开源的教程文档。

USB无线扩展模块支持AT指令集,支持从机设备管理,支持控制命令透传,等等。感兴趣的初学者还可以修改这个扩展模块的固件(代码已开源),让其扩展更多创意的功能。

整个边缘计算设备的Qt应用程序,共提供了5个应用界面,初学者可以在这5个应用程序界面,自由扩展自己的创意想法,以下是这5个应用界面的功能介绍。

wKgZomWwd7KAT2VoAAC0ZicPbHo628.jpg

界面 1

界面 1是一个电器控制界面,通过这个界面,可以对端侧的电器设备进行无线控制,比如RGB三色灯的开关和亮度调节,灯光总开关的控制,远程继电器开关的控制,等等。当端侧无线设备有按键事件触发的时候,可以即时把按键值通过无线方式上报到边缘中控设备,并把按键事件在信息窗口进行显示。

wKgaomWwd7KAVcmKAAB0tp6hLp0812.jpg

界面 2

界面 2是一个环境监测界面,在这个界面,可以把开发板上面的温湿度传感器数据(客厅是实际值,卧室是模拟值)和环境亮度数据在界面上面实时显示出来,这个界面还可以扩展到土壤数据监测,空气颗粒物监测,环境噪声监测,等等。

wKgaomWwd7GAS2ILAADNg7LfV4U881.jpg

界面 3

界面 3是一个云服务器连接界面,通过【连接涂鸦云】按钮,把边缘中控ElfBoard接入涂鸦云服务器,然后通过手机端【智能生活APP】扫描二维码,即可完成手机APP与设备的绑定操作,并且在信息窗口显示连接状态,手机APP通过云端转发的控制指令,也可以实时在信息窗口进行显示。

ElfBoard边缘中控还可以把手机APP的控制指令转发到无线端侧设备执行,也可以把环境监测里面的传感器数据,上报到云服务器,然后在手机APP界面进行实时显示。

wKgZomWwd7GAKWSWAAEUDObE9NY823.jpg

界面 4

界面 4是一个有线网络界面,这个界面实现了一个远程抄写电表数据的功能,通过RS485总线和Modbus-RTU软件协议,让ElfBoard边缘中控连接一个虚拟电表,虚拟电表的用电数据不断更新(模拟用电过程),然后实现电表数据的实时读取,并在信息窗口进行显示。

wKgaomWwd7GADtljAAB4h2NSrtE247.jpg

界面 5

界面 5是ElfBoard边缘中控的参数设置界面,在这个界面里面,可以对ElfBoard边缘中控本身进行程序升级(未完成),同步网络时间,设置USB无线模块,端侧从机扫描,以及重置USB无线模块,开发者还可以在这个界面扩展更多有趣好玩的参数配置功能。

4– 端(采集与执行设备)

端侧设备主要是以下三种类型的设备:支持Modbus-RTU协议的有线从机设备,具备2.4GHz/433MHz无线通信功能的网络模块,以及手机APP应用程序。

关于Modbus-RTU的有线从机设备,我们可以使用电脑端的Modbus-Slave软件进行虚拟,Modbus-Slave软件是一款精美小巧的Modbus-RTU从机调试软件,使用它可以虚拟出任何支持Modbus协议的从机设备,具体软件界面如下图所示。

wKgaomWwd7GAVV0AAACIgbH-jog347.jpg

关于无线网络模块,它支持继电器开关、RGB三色灯、按键事件等功能。

除了以上两种端侧设备之外,手机APP应用程序,也是属于端侧显示设备。手机APP应用是通过涂鸦云的间接转发方式,与ElfBoard边缘中控进行端对端通信的,ElfBoard边缘中控可以转发手机APP的控制指令到无线网络模块,以及接收边缘中控上报的环境监测数据。

wKgZomWwd7GABGRyAACi_TurMfc151.jpg

整个项目已经开源到Gitee,欢迎各位嵌入式初学者或爱好者进行Fork和Star。

--补充说明一下,文章里面提到的“ElfBoard开发板”,是指飞凌嵌入式旗下 ElfBoard 品牌推出的 ELF 1S 开发板,在验证这个开源项目的时候,需要使用ELF 1S进阶版。

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 嵌入式
    +关注

    关注

    4982

    文章

    18281

    浏览量

    288438
  • 物联网
    +关注

    关注

    2869

    文章

    41622

    浏览量

    358374
  • Linux
    +关注

    关注

    87

    文章

    10990

    浏览量

    206734

原文标题:搞了一个物联网开源项目,和大家一起内卷嵌入式!

文章出处:【微信号:工程师进阶笔记,微信公众号:工程师进阶笔记】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    联网嵌入式系统

    本帖最后由 DFZD 于 2015-12-4 10:59 编辑 联网是新一代信息技术的重要组成部分,是互联网嵌入式系统发展到高级阶段的融合。作为
    发表于 11-27 16:09

    联网嵌入式系统

    ,发掘某种领域联网应用。作为联网重要技术组成的嵌入式系统,嵌入式系统的视角有助于深刻地、全面
    发表于 12-03 14:03

    联网嵌入式系统的碰撞融合

    如今,IT产业最大的一个挑战的就是技术的日益变更,以及更新速度快。嵌入式联网行业实际上也一样,虽然没有如IT产业的变化这么快,但是想要成为一名优秀的开发者,必须得与时代共同进步学习,以及技术
    发表于 08-02 09:59

    一篇文章揭开嵌入式联网的神秘面纱

    联网项目开发的工程师中,有专注于传感器及无线网络开发方向上面,也有专注于处理器/操作系统的嵌入式开发方向上面,当然也有专注于联网硬件开发
    发表于 04-29 10:32

    嵌入式联网的硬件设计挑战

    `随着联网的出现,由于连接设备的快速发展,嵌入式系统市场出现了大规模增长。由于联网嵌入式
    发表于 08-16 14:28

    联网嵌入式系统的关系

    剧、支付、工作、购物……同时联网的出现让手机在更多的领域发挥作用,嵌入式系统与联网的概念相差甚远,但又并非是相互对立,恰恰相反,它们相辅
    发表于 12-17 09:23

    入门联网嵌入式是关键

    ,面对碎片化极为严重的联网,我们首先要掌握哪些方面?且想要从事物联网开发,是否要必须嵌入式知识基础?
    发表于 07-01 11:15

    入门联网嵌入式是关键

    ,面对碎片化极为严重的联网,我们首先要掌握哪些方面?且想要从事物联网开发,是否要必须嵌入式知识基础?
    发表于 07-18 09:53

    入门联网嵌入式是关键

    ,面对碎片化极为严重的联网,我们首先要掌握哪些方面?且想要从事物联网开发,是否要必须嵌入式知识基础?
    发表于 07-30 10:02

    嵌入式系统与联网之间有什么关系?

    嵌入式系统与联网的关系一、联网嵌入式的基本概念物联网
    发表于 10-27 06:00

    嵌入式相关开源项目资料分享

    关注+星标公众号,不错过精彩内容来源 | 嵌入式大杂烩学习初期最难找的就是找学习资料了,本贴精心汇总了一些嵌入式相关资源,包括但不限于编程语言、单片机、开源项目
    发表于 10-27 09:13

    嵌入式转变联网

    经过几十年发展,嵌入式技术已经用在了我们生活中的方方面面,但是嵌入式始终都带有小众,专业性强的属性,让很多非嵌入式领域的同学望而却步。近十几年的发展,
    发表于 10-27 08:09

    嵌入式联网之间的关系

    虽然嵌入式系统已经有30多年的历史,但是原来一直隐藏在背后的,自从联网上升为国家战略后,嵌入式系统也从后台走到前台。那嵌入式
    发表于 12-14 08:19

    嵌入式联网应用开发的相关资料推荐

    开源 | 嵌入式联网应用开发 - 预告篇有很多初学者反映,在学习基础理论知识的时候,会容易觉得枯燥无味,不知道学完之后应用在哪些方面,更不知道如何把学到的知识应用到实际的
    发表于 12-24 08:20

    联网嵌入式两者是什么关系

    联网嵌入式两者是什么关系?联网嵌入式是密不可分的,虽然
    发表于 01-31 15:03