基于树莓派的嵌入式课程教学探索
2019-04-17卢建华龙超平
卢建华 龙超平
摘要:本文介绍了一个基于树莓派的嵌入式系统设计的实践教学项目。该系统以ARM Cortex-A7为硬件核心,以Zigbee技术作为无线通信手段,结合DHT11温湿度传感器,可实现对周围环境的温湿度监控。树莓派的引入,有效地降低了嵌入式实践教学的开发和教学难度,对嵌入式系统的教学有很好的促进作用。
关键词:树莓派;嵌入式系统;Zigbee;温湿度监控
中图分类号:G642.0 文献标志码:A 文章编号:1674-9324(2019)15-0076-03
一、树莓派简介
树莓派(又称Raspberry Pi电脑板,简称RPi),是由英国Raspberry Pi基金会开发的,是世界上最小的台式机,又称卡片式电脑。它外形只有信用卡大小,却具有电脑的所有基本功能。
树莓派最初是为学习计算机的学生而设计的,但由于其价格低廉、功耗低、体积小、功能完善、可与PC机媲美的特性,使其使用远远超过了最初的设计目的,应用领域不断被扩展。它既能运行Linux操作系统,也能运行Windows 10等操作系统,可在开发板上直接使用Python或者Java语言进行软件编程。
作为一款卡片式计算机,树莓派不仅可以代替电脑作为软件开发平台,还具有嵌入式开发板的引脚资源,可以外接不同的设备,例如单片机、传感器、CC2530芯片等,通过外接设备扩展其功能。另外,作为微型计算机又使得树莓派不需要借助主机就能完成软件的开发,使得树莓派具有独立性。
二、树莓派开发环境的搭建
(一)树莓派开发板硬件资源
树莓派2代B型(资源配置表见表1)是基于ARM Cortex-A7 BCM2836的miniPC,它兼容1代B+,且性能提升了6倍,内存翻了一番。配备4个可扩展USB接口和一个以太网接口,再加上可供选择的视频音频输出模式,完全可以与个人电脑相媲美。它不仅能跑全系列ARM GNU/Linux发行版,而且支持Snappy Ubuntu Core 以及Windows 10。
(二)操作系统的选择
树莓派支持多种操作系统环境,其中Raspbian OS是一款Debian专门为树莓派开发板量身定制的免费操作系统,有着良好的桌面环境便于操作,还附带了35000个软件包以及预编译软件,并且支持C/C++和Python语言编程。
(三)树莓派的Qt环境搭建
首先从官方网站上下载系统镜像文件,烧入到SD卡中,再将烧好的SD卡插入到树莓派上,然后连接无线鼠标、键盘,再通过HDMI信号线将树莓派与电脑显示器相连,上电启动树莓派,并对系统作相应的配置,重启后就进入了树莓派的图形界面。
Qt是一款跨平台式图形开发应用程序框架,主要是基于C++进行软件开发。在搭建树莓派的Qt环境时,首先下载Qt开发工具、Qt Creator、终端模拟器、编译器等,然后打开树莓派命令终端输入以下命令进行安装。
sudo apt-get install qt4-dev-tools //安装必要的开发工具
sudo apt-get install qtcreator //安装Qt Creator
sudo apt-get install gcc //安装GNU编译器套件gcc
sudo apt-get install xterm //安装终端模拟器
sudo apt-get install git-core
sudo apt-get install subversion
上述操作结束后,Qt Creator就可以使用了。
三、基于树莓派的温湿度监控系统的设计
(一)系统结构框图
基于树莓派设计的温湿度监控系统结构框图如图1所示,主要由三个部分构成。
第一个部分是由传感器和终端节点构成的信息采集模块,负责数据的提取和上传。DHT11温湿度传感器将实际环境中的温度和湿度转换为电信号,经过处理后以数字信号的形式上传给Zigbee终端节点,随后Zigbee终端节点再以无线电波的方式传送给Zigbee协调器节点。同时,终端节点还可以接收来自上位机的操作命令,输出控制信号对电路进行控制。
第二个部分通过树莓派和协调器节点,实现对信息的处理和控制功能。Zigbee协调器节点先对终端节点发来的无线电信号进行解调,再将数据通过RS232串口上传给树莓派。在树莓派上进行编程,将数据以图形化的方式呈现出来,而且可以通过树莓派对Zigbee终端节点发出控制信号。
第三个部分是移动端利用无线通讯技术所构成的远距离无线控制模块,该模块以无线局域网为媒介,能与树莓派开发板进行Socket通讯,从而实现通过移动端进行远程监控。
(二)系统中的节点结构
该系统的节点由终端节点和协调器节点构成。终端节点与温湿度传感器DHT11相连,把收到的环境信息发送给协调器节点。协调器节点位于控制中心模块,通过串口芯片FT232RL实现USB转换为串口与上位机相连,实现数据的上传,所以协调器节点也是Zigbee网络对外的通讯接口,协调器节点的结构如图2所示。
采用CC2530片上系统板实现无线信号的收发。使用串口芯片FT232RL实现树莓派与协调器节点之间的数据交换。CC2530的信息通过FT232RL转到USB,再传给上位机树莓派,FT232RL相当于上位机和CC2530芯片之间的数据中转站。FT232RL的主要作用是让数据从串口转换到USB接口,转换后可以从串行UART接口进行数据的接收和发送。
(三)软件设计
1.协调器节点软件设。协调器节点的主要任务是构造一个新的Zigbee网,搭建好网络环境和配置参数,并获取传来的数据,再上传给树莓派。该软件设计主要分为建立网络和与树莓派通讯两部分。协调器的工作流程如图3所示。
2.传感器节点软件设计。传感器节点负责将收集到的数据以一定时间间隔发送给协调器,并接收从树莓派传来的控制信号。当定时装置被触发时,提取现场的温度和湿度信息,打包后以无线方式发送出去。传感器节点的工作流程如图4所示。
3.上位机和移动端的软件设计。在上位机的软件设计过程中,通过Wiring Pi GPIO库调用串口函数实现对协调器数据的收发功能,从串口获取数据,并将数据用曲线形式显示出来。上位机除了与协调器建立通讯外,还要与移动端口建立通讯,实现移动端的远程访問和控制功能。
移动端的功能在安卓手机上完成,以实现远程监控。
四、仿真运行效果
该系统采用SmartRF04EB仿真器,它是美国TI公司为TI Zigbee芯片研制的,具有标准的JTAG调试接口。在Zigbee系统开发过程中,把待调试程序烧入到Zigbee芯片,再使用仿真器就可以进行动态调试。
启动系统后,点击“打开串口”和“数据刷新”就可以看到采集到的温度和湿度数据,如图5所示。左下角是采集到的温度实时曲线,也可以选择查看湿度的曲线图。点击“网络服务”后,可以用手机进行远程访问。打开手机软件,点击网络设置,输入IP地址,连接成功后就可以在手机上看到采集的温度、湿度数据,图6为手机终端运行界面。
五、结束语
基于树莓派的嵌入式系统设计,和传统的基于ARM开发板的设计相比,更易学易用,开发的产品具有更好的便捷性。引入树莓派,能更好地促进嵌入式系统的实践教学。
参考文献:
[1]王节旺,王瑞宝.基于树莓派的雷电预警系统设计方案[J].电子设计工程,2016,24(01):169-171+174.
[2]蔡燕敏,孔维通.基于树莓派网络监控系统的研究[J].实验室科学,2015,18(06):87-90.
[3]冯志辉.使用树莓派实现网络监控系统[J].电子技术与软件工程,2015,(05):85.
[4]李文胜.基于树莓派的嵌入式Linux开发教学探索[J].电子技术与软件工程,2014,(09):219-220.