已阅读5页,还剩8页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
智能家居实验指导书 实验一智能家居开发环境的搭建实验时间xx.2.29(组一)xx.2.29(组二)xx.3.2(组三)xx.3.3(组四)实验学时2实验类型验证 一、实验目的 (1)了解所使用的智能家居硬件平台CC2530硬件电路板的基本架构,熟悉其硬件组成 (2)掌握IAR集成开发环境的搭建、使用及程序下载流程 二、实验环境IAR;PC机 三、实验内容 (1)IAR集成开发环境搭建首先打开安装文件,选择IAR安装,官方推荐默认安装在系统盘,如图1-1所示.图1-1IAR的安装环境提示要求输入License,由IAR7.60注册机生成,具体如图1-3所示.选项正确后,生成License,复制到License处.图1-2License输入图1-3License生成器输入注册码后按提示一步步进行安装,直至晚餐程序安装.程序安装完成后默认路径如图1-4所示.图1-4安装完成路径安装完成后的界面截图如图1-5所示.图1-5安装环境截图 (1)工程文件的建立打开我们上次已经安装好的IAR软件,新建一个Project-Create NewProject,选择默认选项可以了,点击OK。 保存在自己希望的路径,如图1-6所示。 图1-6工程建立新建文件,输入#include,我们基础实验需要用到的也只有这个头文件。 然后保存为.c格式到工程文件路径下。 如图1-7所示。 图1-7选择保存的路径弄好后就可以继续敲代码了,这是基础实验里点亮第一个点亮LED代码大家看懂没问题(具体参考基础实验)。 打完后保存,记得要在左边工程里单击右键-add-刚保存的C文件,成功添加后如图1-8所示。 图1-8工程结构待建立完工程后,还需要在IAR里配置一下几个选项。 打开Project-Options,General Options配置如下图1-9所示,单击圆圈所示按钮,先向上返回上一级目录,然后打开Texas Instruments文件夹,选择CC2530F256芯片。 图1-9IAR配置1选择LinkerConfigLinker mandfile选项。 单击下图所示按钮,导出配置文件,先向上返回上一级目录,然后打开Texas Instruments文件夹,选择lnk51ew_2530F256.xcl(这里是使用CC2530F256芯片)。 图1-10IAR配置2图1-11IAR配置3然后在Debugger选项的Driver里选择Texas Instruments(使用编程器仿真),下面选择io8051.ddf文件,如下图所示。 至此,基本配置已经完成。 其它配置以后需要用到时我们会提及.图1-12IAR配置4Project-Make编译后显示0错误和0警告。 将仿真器和开发板连接好,然后点击:Project-Download andDebug(下载与仿真)。 快捷键如下图所示图1-13下载程序界面下载完成,进入仿真调试界面,常用按钮如下图所示。 图1-14程序运行界面点击GO(全速运行),程序执行。 使仿真器可以直接在IAR中下载程序并调试。 结束后程序仍然保留在芯片flash内,相当于烧写工具,非常方便。 四、问题与思考1.该实验所使用的CC2530单片机的资源有哪些?2.搭建CC2530的开发环境,需要哪些硬件,以及搭建软件开发环境,需要哪些软件资源?如何下载软件程序到CC2530单片机。 实验二无线网络通信实验时间xx.3.14(组一)xx.3.14(组二)xx.3.16(组三)xx.3.17(组四)实验学时4实验类型验证 一、实验目的 (1)掌握智能家居硬件设备CC2530的UART的使用; (2)掌握使用CC2530的串口完成开发板与PC机之间的数据传输,且PC端采用Java书写一个应用界面。 二、实验环境Eclipse,JDK1.7;PC机;IAR 三、实验内容 (1)访问网络启动子线程的方法1)Handler类非UI线程向UI线程发出请求消息,由UI线程处理这些消息,并进行相关的UI操作。 这个发送消息和处理消息的过程由Handler类来协助进行处理在UI线程中创建Handler类的子类/调用handler设置值handler.post(new Runnable()public voidrun()imageView.setImageBitmap(bitmap););2)使用异步工具类创建子线程1.必须要实现doInbackground2:必须要调用一下才可以AsyncTask.execute(.);New AsyncTask()onPre.doInbackground(接收的数据类型.args)/必须要开发的方法,此方法直接会子线程中运行 (2)利用百度API访问天气预报服务public classMainActivity extendsActivityEditText et=null;TextView tv=null;protected voidonCreate(Bundle savedInstanceState)super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);et=(EditText)findViewById(R.id.et);tv=(TextView)findViewById(R.id.tv);public voidgetWeatherData(View v)new AsyncTask()protected StringdoInBackground(String.params)String Url=apis.baidu./heweather/weather/free;String Arg=city=beijing;String jsonResult=request(Url,Arg);System.out.println(jsonResult);return jsonResult;protected voidonPostExecute(String result)super.onPostExecute(result);tv.setText(result);.execute(et.getText().toString();public staticString request(String Url,String Arg)BufferedReader reader=null;String result=null;StringBuffer sbf=new StringBuffer();Url=Url+?+Arg;tryURL url=new URL(Url);HttpURLConnection connection=(HttpURLConnection)url.openConnection();connection.setRequestMethod(GET);/填入apikey到 headerconnection.setRequestProperty(apikey,6343b1548b16cbeab98f51b231e85369);connection.connect();InputStream is=connection.getInputStream();reader=new BufferedReader(new InputStreamReader(is,UTF-8);String strRead=null;while(strRead=reader.readLine()!=null)sbf.append(strRead+rn);reader.close();result=sbf.toString();catch(Exception e)e.printStackTrace();return result; 四、问题与思考1.CC2530与PC进行通讯,通过什么模块进行通讯?该模块的如何与PC机相连?2.PC机若使用Java完成界面的编写,那么该如何通过什么类完成对串口数据的读写?实验三家庭智能控制系统实验时间xx.3.28(组一)xx.3.28(组二)xx.3.30(组三)xx.3.31(组四)实验学时4实验类型验证 一、实验目的 (1)掌握智能家居硬件设备CC2530的UART的使用; (2)掌握使用Android手机控制CC2530开发板的灯的亮灭。 二、实验环境IAR,Android SDK,Eclipse,JDK1.7,PC机 三、实验内容智能家居硬件设备CC2530的UART发送数据到PC机/串口初始化函数void InitUart()CLKCONCMD&=0x40;/设置系统时钟源为32MHZ晶振while(CLKCONSTA&0x40);/等待晶振稳定CLKCONCMD&=0x47;/设置系统主时钟频率为32MHZ PERCFG=0x00;/位置1P0口P0SEL=0x3c;/P0_2,P0_3,P0_4,P0_5用作串口,第二功能P2DIR&=0XC0;/P0优先作为UART0,优先级U0CSR|=0x80;/UART方式U0GCR|=11;/U0GCR与U0BAUD配合U0BAUD|=216;/波特率设为115200UTX0IF=0;/UART0TX中断标志初始置位1(收发时候)U0CSR|=0X40;/允许接收IEN0|=0x84;/开总中断,接收中断/串口发送字符串函数void Uart_Send_String(char*Data,int len)int j;for(j=0;j (1)if(RXTXflag=1)/接收状态if(temp=1)Red_LED=!Red_LED;temp=0;/*串口接收一个字符:一旦有数据从串口传至CC2530,则进入中断,将接收到的数据赋值给变量temp.*/#pragma vector=URX0_VECTOR_interrupt voidUART0_ISR(void)URX0IF=0;/清中断标志temp=U0DBUF;Server端public classServerTestpublic staticvoid main(Stringargs)ServerSocket server=null;Connection con=null;try/端口号范围65535,1024往下为系统所用server=new ServerSocket (6111);System.out.println(服务器启动.);catch(IOException e1)/TODO Auto-generated catchblock e1.printStackTrace();while(true)try/创建一个对象,并让这个对象在端口监听System.out.println(Server startto aeptthe requestfrom Client.);/接收客户端所发送的请求,如果客户端没有发送请求,则阻塞在这里Socket socket=server.aept();InputStream input=socket.getInputStream();byte buffer=new byte1024;int temp=0;while(temp=input.read(buffer)!=-1)System.out.println(Start toprint thedata fromthe Client:);System.out.println(new String(buffer);/向数据库中写Class.forName(.mysql.jdbc.Driver);/3306端口;test数据库名String url=jdbc:mysql:/localhost:3306/db01;String username=root;String password=123;/连接con=DriverManager.getConnection(url,username,password);Statement stmt=con.createStatement();System.out.println(Sueeded connectingto theDatabase!);/插入语句stmt.execute(insert intohealt(id,name)values(3,lisi);catch(Exception e)/TODO Auto-generated catchblock e.printStackTrace();finallytryserver.close();con.close();catch(Exception e)/TODO Auto-generated catchblock e.printStackTrace(); (3)从手机端可以与PC端通过Socket数据通讯试画出手机端与PC端通讯的通讯模型。 手机端的部分代码如下,请根据现有的代码完善代码,并实现手机与PC端的通讯public classMainActivity extendsActivityEditText ip=null;EditText port=null;Socket s=null;protected voidonCreate(Bundle savedInstanceState)super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);ip=(EditText)findViewById(R.id.et_ip);port=(EditText)findViewById(R.id.et_port);public voidsendData(View v)if(v.getId()=R.id.btn)new Thread(new Runnable()public voidrun()trys=new Socket(ip.getText().toString(),Integer.parseInt(port.getText().toString();System.out.println(ip.getText().toString()+Integer.parseInt(port.getText().toString();OutputStream out=s.getOutputStream();byte buffer=ssss.getBytes();out.write(buffer);out.flush();s.close();catch(Exception e)e.printStackTrace();).start(); 四、问题与思考1.CC2530与PC进行通讯,通过什么模块进行通讯?该模块的如何与PC机相连?2.PC机若使用Java完成界面的编写,那么该如何通过什么类完成对串口数据的读写?实验四智能家居综合应用系统开发实验时间xx.4.18(组一)xx.4.18(组二)xx.4.20(组三)xx.4.21(组四)实验学时6实验类型综合设计 一、实验目的 (1)掌握智能家居综合应用系统的开发流程; (2)掌握手机蓝牙的通讯流程; (3)设计一个基于蓝牙通讯的手机APP。 二、实验环境Eclipse;PC机,IAR 三、实验内容 (1)界面和代码结构 (2)主界面的源码实现过程protected voidonCreate(Bundle savedInstanceState)super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);sendEt=(EditText)findViewById(R.id.etSend);/发送数据内容rcvEt=(EditText)findViewById(R.id.etRCV);/接收数据内容/处理接收数据mhandler=new Handler()public voidhandleMessage(Message msg)super.handleMessage(msg);if(msg.what=1)rcvEt.setText(n+msg.obj.toString();/获取蓝牙适配器mBluetoothAdapter=BluetoothAdapter.getDefaultAdapter();/判断是否支持蓝牙if(mBluetoothAdapter=null)System.out.println(该设备不支持蓝牙);SetpairedDevice=mBluetoothAdapter.getBondedDevices();System.out.println(配对的设备个数+pairedDevice.size();if(pairedDevice.size()0)for(BluetoothDevice dv:pairedDevice)System.out.println(配对的设备+dv.getName();device=dv;protected voidonResume()super.onResume();/判断是否支持BLE booleana=getPackageManager().hasSystemFeature(PackageManager.FEATURE_BLUETOOTH_LE);System.out.println(support BLE?+a);/打开蓝牙按钮对应的消息处理函数public voidopenBlueTooth(View v)/3.判断设备蓝牙是否打开,若没打开,则打开设备蓝牙if(!mBluetoothAdapter.isEnabled()Intent ennableIntent=new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);startActivityForResult(ennableIntent,1);protected voidonActivityResult(int requestCode,int resultCode,Intent data)super.onActivityResult(requestCode,resultCode,data);System.out.println(requestCode=+requestCode+resultCode=+resultCode);/4.查询已经配对的设备public voidqueryPairedDevice(View v)SetpairedDevice=mBluetoothAdapter.getBondedDevices();if(pairedDevice.size()0)for(BluetoothDevice dv:pairedDevice)System.out.println(配对的设备+dv.getName();device=dv;/发现蓝牙设备public voiddiscoveryDevice(View v)mReceiver=new MyBroadcastReceiver();/Register theBroadcastReceiver IntentFilterfilter=new IntentFilter(BluetoothDevice.ACTION_FOUND);registerReceiver(mReceiver,filter);/Dont forgetto unregisterduring onDestroyprotected voidonDestroy()super.onDestroy();unregisterReceiver(mReceiver);/客户端发送数据public voidClientSendData(View v)new ConnectThread(device,mBluetoothAdapter,sendEt.getText().toString().start();/服务器端接收数据线程启动public voidServerRcvData(View v)new AeptThread(mBluetoothAdapter).start(); (3)客户端的代码实现过程public classConnectThread extendsThreadprivate finalBluetoothSocket mmSocket;private finalBluetoothDevice mmDevice;String sendData=null;private staticfinal UUIDMY_UUID=UUID.fromString(fa87c0d0-afac-11de-8a39-0800200c9a66);BluetoothAdapter mbluetooAdapter;public ConnectThread(BluetoothDevice device,BluetoothAdapter ba,String data)BluetoothSocket tmp=null;mmDevice=device;try/MY_UUID isthe apps UUIDstring,also usedby theserver codetmp=device.createRfmSocketToServiceRecord(MY_UUID);catch(IOException e)mmSocket=tmp;mbluetooAdapter=ba;sendData=data;public voidrun()mbluetooAdapter.cancelDiscovery();trymmSocket.connect();catch(IOException connectException)trymmSocket.close();catch(IOException closeException)return;manageConnectedSocket(mmSocket);/*Will cancelan in-progress connection,and closethe socket*/public voidcancel()trymmSocket.close();catch(IOException e)/客户端发送数据private voidmanageConnectedSocket(BluetoothSocket socket)bytebytes=sendData.getBytes();ManagerConnectionThread m=new ManagerConnectionThread(socket);m.start();m.write(bytes); (4)服务器端的代码实现过程public classAeptThr
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 汉唐女性社会角色比较研究
- 企业员工培训与发展规划方案
- 2026年AMT市场分析报告
- 高级碳指数设计师培训心得体会
- 2026年中国富硒农产品项目创业投资方案
- 2025中国智能交通系统市场发展及投资价值评估报告
- 2025中国智慧零售技术应用市场发展现状与趋势研究报告
- 2025中国智慧物流体系构建与运营模式分析报告
- 2025中国智慧港口自动化建设评估及贸易数字化与基建投资报告
- 2025中国智慧城市空气质量监测系统技术集成与市场前景报告
- 巨量千川营销师(初级)认证考试题(附答案)
- 人教版小学《道德与法治》二年级上册全册教案
- 急诊科专科护理常规
- 材料化学专业生涯发展展示
- 2024-2025学年山东省名校考试联盟高二(上)期中数学试卷(含答案)
- 2024-2025学年北京十四中七年级(上)期中语文试卷
- 临电转正式电施工方案
- 平面设计专业职业规划
- 【9语期中】合肥市第三十八中学2024-2025学年九年级上学期期中语文试题
- 房地产 -中建安全生产管理手册(2024年)
- 3.1《百合花》课件+2024-2025学年统编版高中语文必修上册
评论
0/150
提交评论