嵌入式课程设计报告

时间:2024.5.2

基于Android和物联网技术的实验室监控系

统主界面设计实验报告

姓名:

专业:

班级:

学号:

时间:

主要内容

嵌入式课程设计报告

1. 课题背景介绍

2. Android开发环境搭建

3. 设计及关键代码分析

4. 修改和调试程序

5. 体会

1. 课题简介

物联网是新一代信息技术的重要组成部分,其概念一经提出就一直是一大热门,它在各种感知技术上的广泛应用以及对智能信息的处理能力并且对物体实施智能化的控制已然成为下一个推动世界高速发展的重要生产力。

图1.1物联网框架图示

物联网简单说是四个字:感、传、智、控。如果要用户时刻了解状况,与特定的物体相连并完成控制,如图1.1所示,本课题研究的正是对应的应用层,实现了数据的收发处理。

另一方面,从20xx年11月5日谷歌公司正式向外界展示了这款名为Android的操作系统至今,它已经成为全球范围内具有广泛影响力的操作系统。Android系统已经不仅仅是一款手机的操作系统,它越来越广泛的被应用于平板电脑、可佩戴设备、电视、数码相机等设备。

再来看看平台的选择,之前大部分的实验室监控系统的诞生都是基于PC机的,本课题通过对Android和物联网的结合应用最终采用arm嵌入式平台,比较与PC端ARM平台拥有它自己不可忽略的优势,首先它的外观小巧,成本低,另外它运行时叫PC机的消耗也是明显的,还有一个最大的优势就是较PC机它使用起来更加灵活,ARM主板可以根据用户的需要来进行灵活配置,比如logo,内存大小,系统驱动程序裁减,周围芯片的裁减,系统软件的加载等等,无论软硬件都是非常灵活这样也会大大降低使用的成本。

本课题正是基于物联网和Android技术编写的最终在ARM上运行的实验室监控系统。

2.Android开发环境搭建

嵌入式课程设计报告

2.1Android SDK的结构

Android SDK在IDE环境中使用的组织结构如图3-1

图3-1 SDK组织结构图

Android提供的

嵌入式课程设计报告

SDK有Windows和Linux(其区别主要是SDK中工具不同),在Android开发者的网站上可以直接下载各个版本的SDK。

Android的SDK Windows版本需要以下的内容:

? JDK 1.5或者JDK 1.6

? Eclipse集成开发环境

? ADT(Android Development Tools)插件

? Android SDK 其中ADT和Android SDK可以到Android开发者的网站去下载或者在线安装亦可,ADT的功能如下所示:

? 可以从Eclipse IDE内部访问其他的Android开发工具。例如,ADT可以让你直接从Eclipse访问DDMS工具的很多功能——屏幕截图、管理端口转发(port-forwarding)、设置断点,观察线程和进程信息。

? 提供了一个新的项目向导(New Project Wizard),帮助你快速生成和建立起新Android应用程序所需的最基本文件

? 使构建Android应用程序的过程变得自动化,以及简单易行。

? 提供了一个Android代码编辑器,可以帮助你为Android manifest和资源文件编写有效的XML

2.2Android SDK的环境安装

2.2.1安装JDK基本Java环境 Eclipse的运行需要依赖JDK,因此需要下载使用JDK的包,并进行安装。 JDK1.6版本其文件为jdk-6u10-rc2-bin-b32- windows-i586-p-12_sep_2008.exe,点击直接进行安装即可。

2.2.2安装Eclipse

Eclipse集成开发环境是开放的软件,可以到Eclipse的网站上去下载: /downloads/

Eclipse包含了以下的几个版本

Eclipse 3.3(Europa)

Eclipse 3.4(Ganymede)

Eclipse 3.5(Galileo)

如果使用Eclipse 3.4,可以去下载eclipse-SDK-3.4-win32.zip包;如果使用Eclipse 3.5,可以去下载eclipse-SDK-3.5.1-win32.zip包。这个包不需要安装,直接解压缩即可,解压缩后执行其中的eclipse.exe文件。

2.2.3获得Android SDK Android的SDK是一个比较庞大的部分,包含了Android系统的二进制内容、工具和文档等。得到Android SDK,可能使用到两种方式:

下载Android SDK的包(Archives)

通过软件升级的方式(Setup)

下载Android SDK的包:对于Android SDK 1.6之前的版本,包括

Android SDK 1.1,Android SDK 1.5,Android SDK 1.6可以直接从Android开发者中下载得到,每个SDK包含Linux、Windows和MAC三个版本。在Windows环境中,使用Windows的版本,例如:android-sdk-windows-1.5_r2.zip,android-sdk-windows-1.6_r1.zip,这个包通常用几百M的大小。

以这种方式下载的Android SDK,不需要安装,直接解压缩即可。

目前Android系统推荐使用的方式软件升级获得Android包:

第一步:获得android-sdk_r04-windows.zip

从Android开发者上,获取Android SDK的相关包

android-sdk_r04-windows.zip,这个包比实际的Android的SDK要小得多,只有20多M,其中包含了一个Setup可执行程序,获取完整的SDK是通过这个可执行程序获得的。解压缩这个包,获得Android SDK的基本目录结构,但是其中还没有实际的内容。

第二步:运行SDK Setup.exe程序,下载实际的Android SDK

2.2.4在Eclipse3.4(Ganymede)中安装ADT 第一步:启动Eclipse选择“Help”>“Software Updates...”准备安装插件。 第二步:在打开的对话框中点击“Available Software”,出现Eclipse的现有软件对话框。点击右侧自上而下的第3个按钮,“Add Site...”准备增加插件。在“Add Site”对话框中,输入Android插件的路径:

https://dl-/android/eclipse/

另外的一种方式是点击Archive?按钮,这样可以不使用网络,直接指定磁盘中的ADT包(目前最新的版本是ADT-0.9.5.zip)。

第三步:回到安装对话框,可以看到plugin的URL下面有“Developer Tools”。选择到“Developer Tools”中,然后点击“Install...”按钮,继续运行。

2.2.5在Eclipse中配置Android SDK

进入安装ADT的Eclipse环境后,选择“Window”>“Preference”,从左侧的列表中选择Android项:

在SDK设置SDK Location中,点击“Browse”?按钮;选择Android,SDK的目录,点击“OK”按钮

2.3logcat工具的使用

Logcat工具是查看系统Log信息的工具,可以获得Android系统运行的时候打印出来的信息。工具的界面如图3-2所示。

图3-2 logcat

嵌入式课程设计报告

界面图

Logcat实际上是一个运行在目标系统的工具,也就是一个Linux的命令行程序,这是界面种是带有GUI的效果。Logcat的窗口中记录的信息也就是实际的Android系统打印出来的。包含了时间(Time)、级别(Level)、进程ID(Pid)、标签(tag)、Log内容(Message)等项目。

Logcat窗口可以设置Log的过滤器(Filter),这样可以仅仅获得自己需要的Log信息,屏蔽其他的信息,命令行程序logcat,位于目标文件系统中该工具位于system/bin目录中,Logcat的使用方法如下所示:

# logcat [options] [filterspecs]

logcat工具的选项如下所示:

-s 设置过滤器,例如指定 '*:s

-f <filename> 输出到文件,在默认情况下是标准输出

-r [<kbytes>]循环log的字节数(默认为16),需要–f

-n <count> 设置循环log的最大数目,默认为4

-v <format> 设置log的打印格式,<format> 是下面的一

种: brief process tag thread raw time threadtime long

-c 清除所有log并退出

-d 得到所有log 并退出(不阻塞)

-g 得到环形缓冲区的大小并退出

-b <buffer> 请求不同的环形缓冲区('main'(默认)、'radio'、'events' ) -B 将log输出到二进制文件中

创建第一个Android项目

选择

嵌入式课程设计报告

File -> New -> Other -> Android -> Android Application Project。 输入项目所需信息

Application Name (应用的名称)

Project Name (在Eclipse中该项目的名称)

Package Name (存放Java类的包名称,其实质是存放的文件夹路径,.号为文件分隔符,我们编写的Java文件都会放在项目的src目录下,如com.tencent.helloworld表示类放在src/com/tencent/helloworld文件夹中)

一路Next直到Finish,则我们的工程创建完毕。

由于程序是运行在模拟器上的,我们还没有创建一个模拟器,所以需创建一个,创建完点关闭则可。

嵌入式课程设计报告

嵌入式课程设计报告

1. 5

点击 三角型 run按钮,然后选择刚才创建的模拟器,则程序开始运行。小提示:启动模拟器会比较慢,所以,当程序作出修改,需要再次运行时,不要关闭掉模拟器,直接按模拟器上的Home或返回键退出app,之后再按run,则可重新跑起。

2. 6

Android环境已经搭建成功。

3. 设计及关键代码分析

系统主要包含三个层面,即信息检测层、信号处理层、信息反馈层。信息检测层完成数据的检测与数据的无线发送,信息处理层完成数据的无线接收与信息处理,信息反馈层实现人机交互与有效信息的各种反馈。 将工程代码通过Eclipse运行为Android Application,并

嵌入式课程设计报告

Android模拟器(AVD)运行后的界面如下

4.修改和调试程序

通过学习相关的Java语言和Android开发,可以运用学习的知识和已搭建的Android开发平台,自己创建有趣的小型apk。下面通过编写运用LinearLayout (线性布局),添加Button控件和TextView控件组建一个点一次“请按我!”按钮文本中数字加1,按另外一个“不要按我!”按钮清零,还有具有退出功能的结束键,具体结果如图

嵌入式课程设计报告

具体代码如下:

1. res/layout/activity_main.xml部分代码 <TextView

android:id="@+id/textView"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:textColor="#0000FF"/>

以上代码添加文本视图,并设置字体大小和文本内容等其他属性。

嵌入式课程设计报告

<Button

android:id="@+id/button"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:textColor="#FF0000"

/>

<Button

android:id="@+id/button1"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:textColor="#FF0000"

/>

<Button

android:id="@+id/button2"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:onClick="button2_Click" />

以上代码添加Button控件,并配置按钮属性。

2. src/MainActivity.java部分代码

public class MainActivity extends Activity {

private static final OnClickListener = null; private TextView textView;

private Button button;

private Button button1;

private Button ;

int i = 0;

private OnClickListener ;

@Override

protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

textView=(TextView)findViewById(R.id.textView); button=(Button)findViewById(R.id.button);

button1=(Button)findViewById(R.id.button1);

//根据控件的id得到控件对象

ButtonListener buttonListener=new ButtonListener(); button.setOnClickListener(buttonListener);

ButtonListener1 buttonListener1=new ButtonListener1(); button1.setOnClickListener(buttonListener1);

}

public void button2_Click(View view){

AlertDialog.Builder builder=new AlertDialog.Builder(this); builder.setTitle("确认")

.setMessage("确认结束本程序?") .setPositiveButton("确定", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialoginterface,int m) { finish(); } }) .setNegativeButton("取消",null) .show();

} //实现退出功能

class ButtonListener implements OnClickListener{ //定义监听器类实现监听器接口

@Override

}

} } @Override public void onClick(View arg0) { i=0; textView.setText(i+""); //实现清零功能 } class ButtonListener1 implements OnClickListener{ public void onClick(View arg0) { } i++; textView.setText(i + ""); //实现加1功能

最终完成自制小程序。

5.体会 通过“基于Android和物联网技术的实验室监控系统主界面设计”这个实验

我粗略的了解Java语言的相关知识,以及最基本的Android开发环境的搭建,进

一步扩展了我的视野,让我学到很多东西,也让我很感兴趣。

在这个过程中我遇到了很多困难,比如说:Android环境搭建,程序代码

的阅读,代码的修改等等。遇到困难就要去解决,求助于别人是一种方法但完

全依靠他人就说不过去了。因此,我通过上网查询解决,还到图书馆借阅了相

关书籍,问题慢慢的解决了,这不能说明我认识有多深,但是可以说明有一定

程度上的了解。另外通过Android开发我也认识到我们手机界面是怎么形成的,

还有安卓软件是如何开发的,让我大开眼界。我自己对此也很感兴趣,所以通

过学习自己也编了最简单的小程序,通过亲自动手操作内心既兴奋又头痛,兴

奋的是我自己也能开发小软件,头痛的是使用的语句比较多,对于刚刚接触这

些的我来说有点困难,所以我只好边学习边编写代码,最终完成了第一个有点

感觉的小软件,心里十分开心。虽然只是会用简单的TextView,Button,

EditText控件,但是对最基本的有了一定的掌握。

此次课程设计就要结束了,但我对Android的兴趣不会随着课程结束而结

束。我会继续学习相关的知识让自己看的更广,更深,更远。但是问题是我感

觉现在的学习只能够应付老师布置的任务,如果课程结束后我还真的不知道从

哪方面入手学习,因此我希望老师可以和我们讲讲如何学习这门知识,有什么

方法能够让我们很快的找到学习的方向。

更多相关推荐:
嵌入式课程设计报告

福建工程学院嵌入式系统课程设计报告书题目基于S3C2440设备驱动及其界面设计班级姓名学号指导老师陈靖张平均李光炀2目录一设计课题4二设计目的4三设计任务及要求4四设计内容5五操作界面的生成7六操作界面调试9七...

嵌入式课程设计报告

福州大学课程设计任务书课程嵌入式课程设计题目姓名李仁煌学号011000610系别电机电器专业电气工程与自动化年级20xx起讫日期20xx61020xx74指导教师王武目录1课程设计目的22课程设计题目和实现目标...

嵌入式系统课程设计报告

嵌入式系统课程设计报告基于ARM的楼宇对讲系统设计摘要采用模块化设计方法设计出一款基于ARM微控制芯片和Linux操作系统的楼宇对讲系统,该对讲系统通过以太网与楼宇间的各室内机相连,实现了安装在楼道门口的终端机…

嵌入式课程设计报告

嵌入式系统开发课程设计专周报告题目:具有日历功能的电子时钟系别及专业:计算机工程系计算机应用技术班级:10511学生姓名:XXX指导老师:XX完成时间:20XX-12-24/20XX-12-28目录前言....…

嵌入式课程设计报告

课程设计综合实验报告20xx20xx年度第1学期名称题目院系班级学号学生姓名指导教师设计周数成绩日期年月日一课程设计的目的与要求11目的掌握嵌入式系统的基本原理及其基于COSII操作系统的实现方法本次设计使用A...

嵌入式系统课程设计实验报告

7嵌入式系统课程设计必做部分学院电控学院专业通信工程设计名称IIC同步串行通讯1设计的目的1掌握S3C44B0IIC控制器的编程方法2编程实现串行EEPROM存储器24C16的数据存储和访问2设计的内容1学习S...

嵌入式课程设计报告

中南大学嵌入式课程设计基于ARM平台的打地鼠游戏姓名董嘉伟学号0909103303班级物联网1002时间20xx913目录课程设计内容课程设计实验环境课程设计原理分析课程设计开发计划课程设计系统设计图课程设计关...

嵌入式系统设计课程设计

电气与电子信息工程学院嵌入式系统设计课程设计设计题目基于COSII88点阵的设计与制作专业班级电子信息工程20xx2班学号xxxxxxxxxxxxx姓名坏水指导教师李玉平王海华设计时间20xx111920xx1...

嵌入式课程设计报告

湖北汽车工业学院HubeiAutomotiveIndustriseInstitute课程设计说明书课程名称设计题目班号专业学号学生姓名指导教师签字起至日期年月日年月日目录一目的与要求3二设计内容3三总体方案设计...

嵌入式课设报告

课程设计报告课程名称嵌入式信息系统题目嵌入式Linux设备驱动程序设计指导教师周金和设计起止日期20xx120至20xx128系别信息与通信工程系专业电子信息工程学生姓名班级学号成绩目录一驱动基本概念3二重...

江苏大学嵌入式课程设计报告

嵌入式系统课程设计报告学院名称电气学院专业班级电科1102学生姓名胡志文学号Linux下的SOCKET通信实验摘要1掌握LinuxSOCEKT编程的常用函数编写服务器程序server编写客户端程序client编...

嵌入式课程设计报告--电子计算器

重庆科技学院嵌入式体系结构与接口技术课程设计报告学院电气与信息工程学院专业班级计科20xx04学生姓名杜江龙学号20xx4420xx设计地点单位电气与信息工程学院I302实验室设计题目电子计算器完成日期20xx...

嵌入式课程设计报告(44篇)