linux嵌入式做智能家居,嵌入式系统在智能家居中的应用

汪家乐

利用嵌入式系统来构建智能家居系统,使得用户可以根据实际需求来进行操作,不仅可以提高生活水平,并且与其他系统相比,其在运行上具有更高的稳定性。本文对嵌入式系统在智能家居中应用要点进行了简单分析。

【关键词】嵌入式系统 智能家居 系统构建

智能家居系统逐渐被广泛的应用到实际生活中,其具有建筑、网络、设备自动化为一体特点,营造健康、舒适、安全居住环境,对提高生活质量具有重要意义。以嵌入式ARM体系结构为开发平台,结合linux操作系统,构建一个功能完善的智能家居系统,切实满足实际生活需求。

1 嵌入式系统特点分析

嵌入式系统结合了软件系统与硬件系统,将计算机技术作为基础,确定各项应用功能为系统核心,根据实际需求,来对软硬件进行剪裁设计,保证其体积、能耗、功能以及运行等各方面均可以达到设计标准,完全满足应用需求的计算机系统。嵌入式系统体系结构主要包括基础硬件设备、嵌入式操作系统以及应用软件三部分。其中,硬件设备包括存储器、嵌入式微处理器、输入/输出接口以及通用设备接口,且嵌入式微处理器为整个硬件系统的核心,要求其具有稳定性与高效性。而操作系统需要支持嵌入式系统应用软件运行,包括与硬件关联的底层驱动软件、通信协议、系统内核、标准化浏览器等,主要对整个系统资源进行分配、调度、控制。

2 嵌入式系统在智能家居系统中应用要点

2.1 系统控制平台设计

2.1.1 PC机

确定PC机为主控制器,可以有效连接整个智能家居系统内所有设备和局域网,可通过管理软件,对系统内所有设备进行管理。对比其方式可以大大缩短开发周期,且开发难度低,但是运行功耗大。

2.1.2 嵌入式微处理器

与普通计算机相比,其去除了微处理器内冗余部分,仅保留与嵌入式系统关联密功能部分,并且可以与GPRS通信接口、通用串行端口、GSM通信接口、TCP/IP通信单元以及蓝牙模块接口等进行有效连接,将各项元件单元与嵌入式微处理器一起设置在同一芯片上,缩小处理器体积的同时,还可以降低运行功能,降低了开发成本。

2.2 硬件系统设计要点

2.2.1 蓝牙模块

此模块为集成蓝牙功能的芯片,包括蓝牙数据模块与蓝牙语音模块。可应用BlueCore4-Flash系列蓝牙芯片为基础的蓝牙适配器,具体为BTS4504C1H型号的标准RS232串口蓝牙适配器,可支持蓝牙2.1规范,并设置有外置天线,100m有效通信,以及标准RS232无限制模式接口。

2.2.2 蓝牙协议栈

BlueCore4-Flash提供的蓝牙协议栈固件在RISC微控制器上运行,符合蓝牙1.1规范,软件内部结构使RISC微控制器与和主机处理器应用不同方法来承担蓝牙技术处理过程产生的支出,其中上层协议栈可以在芯片以及主机处理器上运行。选择BlueCore HCI蓝牙协议栈,其在运行时内部处理器执行蓝牙协议栈到主机控制器接口,并且由主机处理器来提供全部上层协议栈。对于HCI蓝牙协议栈,包括基带层、主机控制接口和链路管理层三部分,还具有标准的USB1.1与UART HCI传输层,最大可以支持7个从设备工作。

2.2.3 ARM硬件

(1)核心处理器芯片。应用linux系统为嵌入式操作系统,对智能家居系统内各功能进行调度和控制,同时还要兼顾分析微处理器片内存储器容量以及芯片外围电路扩展因素限制,最终确定应用S3C2440A芯片,开发板在选择应用FL2440。

(2)嵌入式开发板。FL2440开发板为核心板加底板组合形式,其中核心板共六层,底板两层,在实际运行中具有较高的可靠性,可以稳定运行在400MHz时钟频率上,并且还具有丰富的接口,具有强大的操作功能,可以适用于各种手持设备、消费类电子设备等开发。

2.3 软件系统设计要点

2.3.1 交叉编译环境

本系统运行程序平台为嵌入式S3C2440开发板,存储空间和运算能力较低,无法在ARM平台上完成编译,便需要建立交叉编译环境。即在普通PC机上成功编译程序后,利用串口或USB将编译好的程序加载到ARM板子内,进而实现程序所具有的功能。

2.3.2 Linux內核移植

主要分为内核配置、建立依赖关系、建立内核、下载到开发板,以及制作文件系统和下载文件系统几个步骤。

2.3.3 Web服务器移植

主要包括源码解压、建立makefile文件、修改makefile文件、得到boa可执行文件、完成boa配置等阶段,最后在主机linux浏览器内输入开发板IP地址,假如可以正确访问到索引页面,则证明Web服务器移植成功。

3 结束语

智能家居系统的构建与应用,对改善生活水平具有重要意义。将嵌入式系统应用到智能家居中,需要基于嵌入式技术特点进行分析,根据智能家居系统实际功能要求,对硬件和软件系统进行优化设计,确保可以满足应用要求。

参考文献

[1]吴禹星.嵌入式系统在智能家居中的应用[J].信息与电脑(理论版),2015(09):60-61.

[2]明航.智能家居中嵌入式系统的应用[D].武汉:湖北大学,2013.

作者单位

湖北工程学院 湖北省孝感市 432100

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/538814.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

前端路由的两种实现原理

2019独角兽企业重金招聘Python工程师标准>>> History API 这里不细说每一个 API 的用法,大家可以看 MDN 的文档:https://developer.mozilla.org... 重点说其中的两个新增的API history.pushState 和 history.replaceState 这两个 API 都接收三…

2.JAVA简史

SUN公司 --美国SUN(Stanford university network)公司 --在中国大陆的正式中文名:太阳计算机系统(中国)有限公司 --在中国台湾中文名:升阳电脑公司 JAVA为什么被发明? --是sun公司Green项目…

es统计有多少个分组_ES 24 - 如何通过Elasticsearch进行聚合检索 (分组统计)

1 普通聚合分析1.1 直接聚合统计(1) 计算每个tag下的文档数量, 请求语法:GET book_shop/it_book/_search{"size": 0, // 不显示命中(hits)的所有文档信息"aggs": {"group_by_tags": {// 聚合结果的名称, 需要自定义(复制时请去掉此注释)"te…

python程序运行原理_谈谈 Python 程序的运行原理

因为我的个人网站 restran.net 已经启用,博客园的内容已经不再更新。请访问我的个人网站获取这篇文章的最新内容,谈谈 Python 程序的运行原理 这篇文章准确说是『Python 源码剖析』的读书笔记,整理完之后才发现很长,那就将就看吧。…

3.JDK和JRE和JVM的区别

JDK --Java Development Kit --java 开发工具包 JRE --Java Runtime Environment --java运行时环境 JVM --Java Virtual Machine --java虚拟机 ------------- 更多的Java,Angular,Android,大数据,J2EE,Python…

缓存cache

由于Django是动态网站,所有每次请求均会去数据进行相应的操作,当程序访问量大时,耗时必然会更加明显,最简单解决方式是使用:缓存,缓存将一个某个views的返回值保存至内存或者memcache中,5分钟内…

微信小程序 等待几秒、_微信小程序—setTimeout定时器的坑

背景实验室需要将项目的app搬到微信的小程序上,终于知道为什么程序员是手艺人了,只要有需求,就要想方设法去填充这种需求,去年是小程序的元年了可以说,去年冬天一个叫跳一跳的小程序游戏出现在我的微信中,当…

linux中断处理模式,Linux在保护模式下的中断处理分析.pdf

Linux在保护模式下的中断处理分析.pdfLinux 在保护模式下的中断处理分析刘万里 杨 斌(西南交通大学计算机与通信工程学院,成都 610031)E-mail:awan摘 要 该文以 80x86 保护模式下的中断处理方法为基础,针对 Linux 在实时嵌入式系统中的具体应…

python3.7是什么_Python 3.7 有什么新变化

idlelib 与 IDLE 多个对自动补全的修正。 (由 Louie Lu 在 bpo-15786 中贡献。) Module Browser (在 File 菜单中,之前称为 Class Browser) 现在会在最高层级函数和类之外显示嵌套的函数和类。 (由 Guilherme Polo, Cheryl Sabell…

4.JVM简述

JVM是一种规范。 就是一个虚拟的用于执行bytecodes字节码的计算机 可以用软件来实现,如IBM,SUN,BEA等按照这个规范实现,可以实现比SUN公司更好的JVM,我们自己也可以实现一个。 可以使用硬件来实现,如sun与intel公司研发java的芯…

python ssh shell交互_使用Paramiko在Python上用ssh实现交互式shell?

我想编写一个程序(在Windows 7上的Python 3.x中),它通过ssh在远程shell上执行多个命令.在查看paramikos的exec_command()函数之后,我意识到它不适合我的用例(因为在执行命令后通道被关闭),因为命令依赖于环境变量(由先前的命令设置)并且不能连接到一个exec_command()调用,因为它…

linux7如何进入紧急模式,CentOS7开机进入紧急模式EmergencyMode的解决办法

iOS Runtime学习笔记Associated Objects: interface NSObject (AssociatedObject) property (nonatomic, strong) id associat ...Vim,极简使用教程,让你瞬间脱离键鼠切换的痛苦注:看大家对Vim仇恨极大,其实它只是一种文本操作方式,可以减少键鼠的切换,从…

用pycharm写python_如何利用pyCharm编写和运行python文件

在安装python环境后,通常可以利用IDE pyCharm来编译我们的python文件。创建一个python文件夹,用pyCharm打开文件夹,在文件夹中新建一个python文件demo.py 也许你知道用cmd中的python指令 python demo.py去运行这个文件,但是如何在…

5.JDK环境配置

下载 进入Oracle官网下载,点击进入 安装 一路下一步。记住安装到哪里了。 配置环境变量 JAVA_HOME 刚才的java安装目录 PATH %JAVA_HOME%\bin PATH里配置多个用英文的分号; 分隔。 *classpath,jdk5.0以上可以不用配置了 测试 windows下&#xf…

GBK 编码

GBK编码范围:8140-FEFE,汉字编码范围见第二节:码位分配及顺序。 GBK编码,是对GB2312编码的扩展,因此完全兼容GB2312-80标准。GBK编码依然采用双字节编码方案,其编码范围:8140&#x…

less webpack 热更新_webpack---less+热更新 使用

最近尝试用less写界面,webpack进行打包,然后发现每次修改less时都需要重新执行webpack打包一下,于是就想到了webpack热更新这个功能。一、使用lessless是一门css预处理语言,它是拓展了css,增加了变量,Mixin等等。使用l…

6.第一个程序Hello World

新建文件夹 在C盘新建个文件夹 mycode。注意不要用中文。 新建java文件 1、显示隐藏文件名。 2、右键新建文本文件 3、重命名为 Welcome.java。(首字母必须大写。如果不显示隐藏文件名,会是Welcome.java.txt不是java文件) 4、编写代码 p…

pythonstdin_python 笔试输入:sys.stdin.readline和input

①:输入一行数据并输 出两种方法 # 输入一行数据并输出 import sys # 方法一: str1 input() print(input 输入:,str1,len,len(str1)) print(循环遍历输入得到输入的每个字符的ascii码如下:) for i in str1: print(ord(i)) # 方法二&#xff…

c语言字符串二维数组的动态分配应,C语言中动态分配二维数组复习过程.doc

C语言中动态分配二维数组复习过程.docC语言中动态分配二维数组在C中动态分配内存的,对于单个变量,字符串,一维数组等,都是很容易的。C中动态分配二维数组的方法,很少有C语言书中描述,我查找了有的C语言书中…

7.Java常用开发工具

文本编辑器 任意选一款 UltraEdit EditPlus notepad 集成开发环境 IDE:Integrated Development Environment --JBulider (基本淘汰) --Eclipse 普遍使用。https://www.eclipse.org/downloads/ --NetBeans ------------- 更多的Java&a…