树莓派实验报告
- 格式:docx
- 大小:93.27 KB
- 文档页数:5
一、实验背景随着物联网技术的不断发展,其在智能家居、智能交通、智能医疗等领域的应用日益广泛。
为了深入了解物联网技术,本实验旨在通过搭建一个简单的物联网系统,实现设备间的互联互通和数据交互。
二、实验目的1. 掌握物联网系统的基本架构和关键技术;2. 熟悉物联网设备之间的通信协议;3. 学习使用物联网开发平台和工具;4. 培养动手实践能力,提高解决问题的能力。
三、实验内容1. 系统设计本实验采用无线通信技术,主要包括以下设备:(1)主控设备:树莓派(Raspberry Pi);(2)传感器设备:温湿度传感器、光照传感器;(3)执行设备:继电器、LED灯;(4)通信设备:ESP8266模块。
系统架构如下:主控设备(树莓派)负责接收传感器数据,并根据数据控制执行设备,实现设备间的互联互通。
2. 硬件连接(1)将温湿度传感器、光照传感器连接到树莓派的GPIO接口;(2)将继电器、LED灯连接到树莓派的GPIO接口;(3)将ESP8266模块连接到树莓派的GPIO接口,用于无线通信。
3. 软件开发(1)使用Python编写树莓派主控设备程序,实现传感器数据采集和执行设备控制;(2)使用Arduino编写传感器和执行设备程序,实现数据采集和执行控制;(3)使用ESP8266WiFiManager库配置ESP8266模块,实现无线通信。
4. 数据交互(1)树莓派主控设备通过串口与传感器设备通信,获取温湿度、光照数据;(2)树莓派主控设备根据数据控制执行设备,实现LED灯的亮灭和继电器的通断;(3)树莓派主控设备通过ESP8266模块将数据发送至服务器,实现远程监控。
四、实验步骤1. 硬件连接:按照系统设计要求,连接传感器、执行设备和通信设备;2. 编写代码:使用Python编写树莓派主控设备程序,使用Arduino编写传感器和执行设备程序,使用ESP8266WiFiManager库配置ESP8266模块;3. 系统测试:测试传感器数据采集、执行设备控制和无线通信功能;4. 调试优化:根据测试结果,对程序进行调试和优化。
Raspberry Pi板实验教程实验一、点亮LED在Raspberry Pi板的边上有2列排针,1列13脚一共26脚。
这2列排针叫GPIO口,在Raspberry Pi板搭载的系统下,用户可以使用C语言或Python语言对这2列GPIO口进行控制,以此来控制外接的外部设备。
在这里,我们选用C语言来进行编程控制。
首先,在使用C语言编程之前,要先将Raspberry Pi板连接上网,下载一个GPIO的wirngpi函数库。
wirngpi 函数库是由一个外国人编写的,在使用C语言的时候可以通过对这个函数库的函数调用来对操作GPIO口。
点击LXTerminal进入root用户权限的命令行模式,依次键入以下命令:sudo apt-get update(需要一定等待时间,与网速有关)sudo apt-get upgrade(需要一定等待时间,与网速有关)sudo apt-get install git-coregit clone git:///wiringPicd wiringPigit pull origincd wiringPi./build下载并安装好wiringPi之后,再来看看GPIO口的排列。
将Raspberry Pi 板放置为两列GPIO口在右上角的方式,这两列GPIO口的引脚位如下图所示。
图1图1右边的这张图,就是GPIO的实际引脚位。
而左边的图则是wirngpi 库定义的引脚位图。
编程的时候,只需要以左图为标准就可以了,不需要理会右图。
现在,我们要使用GPIO口来控制LED的亮灭。
LED就是发光二极管,这里需要一块外接的电路板。
如下图:图2这块板的电路图如下:图3这块板是用来驱动步进电机转动的,板子上有4个发光二极管分别接在ULN2003的四个输出上。
将这板连接到Raspberry Pi板上就可以通过操作Raspberry Pi板的GPIO来控制电机板上的发光二级管。
用杜邦线将Raspberry Pi板和电机板连接起来,如果只是简单的控制上面的1个发光二极管,那么只需要连接三条线:电源线(VCC)、地线(GND)和一条IO线。
树莓派机械手开题报告一、项目背景和目的随着技术的不断发展,机器人已经成为人们生活中不可或缺的一部分。
本项目旨在设计和制作一个基于树莓派的机械手,该机械手可以模拟人手的运动并执行特定的任务。
通过这个项目,我们旨在提高我们对机器人控制和树莓派技术的理解,同时探索机器人在各种应用中的潜力。
二、项目计划和方法1. 计划本项目将分为以下几个阶段进行:•阶段一:研究机械手的基本原理和工作方式,并制定设计方案。
•阶段二:购买所需的材料和零件,并组装机械手。
•阶段三:使用树莓派控制机械手的运动,并编写相应的程序。
•阶段四:测试机械手的性能和功能,如果需要可以进行改进和调整。
2. 方法2.1 设计方案我们将使用3D建模软件设计机械手的零部件,并使用3D打印技术打印出实物。
为了确保机械手的稳定性和可靠性,我们将使用高质量的材料和组件进行组装。
2.2 树莓派控制树莓派将作为机械手的控制中心。
我们将使用GPIO接口和适当的传感器与机械手连接,并编写Python程序来控制机械手的运动。
通过树莓派的计算和控制能力,我们可以实现机械手的远程控制和自动化操作。
3. 时间安排根据以上的计划和方法,我们将安排以下时间表:•阶段一:3天•阶段二:5天•阶段三:7天•阶段四:2天三、预期结果和应用通过完成本项目,我们期望达到以下结果:•成功制作出一个可以模拟人手运动的机械手。
•使用树莓派控制机械手的运动,并编写相应的程序实现手控、遥控和自动化操作。
这个机械手可以在各种领域中应用,例如制造业、医疗保健、农业等。
例如,在制造业中,机械手可以用来处理和装配零件;在医疗保健领域,机械手可以用来进行手术操作;在农业中,机械手可以用来采摘农作物等。
四、风险评估和解决方案在项目实施中,可能会遇到以下风险:•零部件的采购困难:我们将提前进行材料和零部件的采购,以确保项目的进行。
•零部件的质量问题:我们将选择可靠的供应商,并进行必要的质量检查。
•软件程序的编写困难:我们将充分利用开源社区的资源,并与其他项目参与者合作解决问题。
用树莓派DIY一个智能家居服务器树莓派实验室来自树莓派实验室老司机群 Pokebox 的投稿~高考结束啦~来用树莓派DIY一下自己的智能家居吧~其实这东西我自己已经用了一年了~现在就来写个教程~嘿嘿……先上个图有点乱23333这是我的房间书柜,也是我的工作台……书柜的侧边是树莓派搭建的物联网服务器~来一只近图~这就是服务器的近照啦~我用的是树莓派A+作为服务器的主控,所有的工作都由它完成。
树莓派A+是单核的处理器,RAM仅256MB,不过如果不是作为复杂工作的话……也足够了~这里,它的主要工作就是收集房间和室外的环境数据并上传至yeellink,同时获取yeellink上的开关数据控制房间里的灯,门,音响等设备的开关。
以及,在晚上下晚修我回到家的时候,自动打开灯~睡着了后自动关灯~先来简单介绍一下,这里需要用到一些什么东西。
如上面那张图,树莓派是肯定要有的~当然,什么版本都可以……因为实际上这里也没用多少GPIO,以前的A,B版本都可以……然后,树莓派左下角那个蓝色的是声卡和音响的集成驱动,用来推动喇叭的~使用5V的电源,当然大家可以直接找个小音箱来代替~~ 然后下面那一堆线是面包板,用来分配电源和继电器控制,以及……比较方便接线吧23333.各种传感器可以直接插面包板上,这样就省去了焊线的麻烦。
另外,由于我用的是树莓派A+,没有网络接口,所以用了一个8口的带电源HUB连接无线网卡和其他的比如USB串口等设备。
HUB 贴在树莓派上面点,没拍到。
再下面是电源盒,这里我用的是台式机电脑的电源~为什么用台式机电源呢?这有很大的好处。
台式机电源有12V,5V和3.3V,并带有一路5V VSB电源,以及还可以用GPIO控制电源整体开关。
这就非常适合用来做服务器了,因为我的LED灯条是12V的,电磁锁也是12V的,而树莓派和USB设备都需要5V,一些传感器则需要3.3V,正好一个电源全部搞定它。
同时在一些需要耗电的东西不需要用的时候,比如LED灯条,那我还可以把整个电源系统关掉省电~而在关掉总电源的时候,5V VSB是一直保持输出的,就可以用这一路电源给树莓派持续供电~ 是不是觉得很方便?简单介绍完整个系统了,来看看接线这是整个系统的接线图~面包板左边那一坨就是台式机电源的ATX 接口。
树莓派项⽬实践-v2.0第0课树莓派认识—试听 (1)第1课树莓派⼊门 (1)第2课点亮LED (1)第3课和PC机通信(RS232) (8)第4课三种上⽹⽅式(有线、⽆线⽹卡、3G上⽹卡) (12)第5课摄像头 (13)第6课播放器 (15)第7课遥控器 (17)第8课微信平台 (18)第9课服务器 (18)第10课进阶--电源&USB外扩板(需出成本做产品,但有回报否?暂缓) (18)树莓派项⽬实践第0课树莓派认识—试听认识树莓派。
拿到电路板及外围件。
介绍。
见Raspberry_Pi使⽤⼿册.pdf。
分给⼩苑写此节。
第1课树莓派⼊门包括上电,安装操作系统等等内容。
分给⼩苑写此节。
第2课点亮LED元件清单:GPIO排线,GPIO板。
⼀、项⽬来源熟练使⽤树莓派的GPIO⼝。
通过点亮LED实验,为后续控制步进电机或继电器项⽬作准备。
⼆、具体要求制作GPIO板,并通过python和wiringPi两种⽅法实现。
(建议⽤市场上现成板⼦实现,教学⽅便,另购)三、项⽬实现过程a.了解GPIO复⽤功能—设计前提树莓派外部接⼝的管脚定义如下,分wiringPi和BCM GPIO两种,对应两种编程语⾔。
外部接⼝如下:8个GPIO通⽤接⼝,1个I2C接⼝,2个SPI接⼝,1个串⼝(波特率115200bps)注:wiringPi Pin的数字指的是GPIOx。
b.设计GPIO板原理图c.PCB图d.实物图e.软件1)环境安装安装pythonsudo apt-get install python-dev 安装RPi.GPIO官⽅地址 /doc/3a3c08c00740be1e650e9afa.html /pypi/RPi.GPIO/,⽬前最新版为RPi.GPIO-0.4.1a wget/doc/3a3c08c00740be1e650e9afa.html /packages/source/R/RPi.GPIO/RPi.GPIO-0.4.1a.tar.gz tar -zxvf RPi.GPIO-0.4.1a.tar.gz cd RPi.GPIO-0.4.1a/sudo python setup.py install2)python 编程 0.源代码# -*- coding: utf-8 -*- import RPi.GPIO as GPIO import time# BOARD 编号⽅式,基于插座引脚编号 GPIO.setmode(GPIO.BOARD) # 输出模式GPIO.setup(11, GPIO.OUT)while True:GPIO.output(11, GPIO.HIGH) time.sleep(1)GPIO.output(11, GPIO.LOW) time.sleep(1)1.led.py ⽂件放到home/pi ⽬录2.使⽤cd 命令进⼊⽂件所在⽬录, Sudo su然后输⼊指令sudo python led.py 灯开始闪烁。
毕业设计树莓派毕业设计树莓派随着科技的不断发展,树莓派成为了众多科技爱好者和创客们的热门选择。
树莓派是一款基于Linux系统的微型电脑,它的体积小巧、功能强大,可以作为智能家居控制中心、媒体中心、游戏机等多种用途。
在毕业设计中,利用树莓派进行创新的应用开发,不仅能够展现自己的技术能力,还能够为未来的职业发展打下坚实的基础。
一、树莓派的基本介绍树莓派是由英国树莓派基金会开发的一款微型计算机,它采用了ARM架构的处理器,拥有丰富的接口和扩展能力。
树莓派基金会的初衷是为了让更多的人能够接触到计算机科学,并通过树莓派来学习和实践。
树莓派的价格相对较低,功能却非常强大,因此深受广大科技爱好者和创客们的喜爱。
二、树莓派在智能家居中的应用随着智能家居的兴起,树莓派成为了智能家居控制的理想选择。
通过树莓派,我们可以实现对家里的各种设备进行远程控制和监控。
比如,我们可以利用树莓派搭建一个智能门锁系统,通过手机APP远程控制家门的开关,实现智能安全管理。
又如,我们可以利用树莓派搭建一个智能温湿度监测系统,实时监测室内的温湿度,并通过手机APP进行远程查看和调节,实现智能环境控制。
三、树莓派在媒体中心中的应用树莓派还可以作为一台功能强大的媒体中心来使用。
通过将树莓派连接到电视或投影仪上,我们可以实现高清视频播放、音乐播放、游戏娱乐等功能。
利用树莓派搭建一个媒体中心,我们可以随时随地享受高品质的娱乐体验。
另外,树莓派还可以通过安装Kodi等多媒体软件,实现在线视频点播、网络电视直播等功能,让我们的娱乐体验更加丰富多样。
四、树莓派在游戏开发中的应用树莓派不仅可以作为媒体中心使用,还可以用来进行游戏开发。
通过安装RetroPie等游戏系统,我们可以在树莓派上玩各种经典的游戏。
另外,树莓派还支持Python等编程语言,我们可以利用树莓派进行游戏开发的学习和实践。
通过编写游戏代码,我们可以锻炼自己的逻辑思维和编程能力,同时也可以创造出属于自己的游戏作品。
树莓派学习总结树莓派学习总结开始树莓派⽹线连接树莓派1. 通过路由器⽤⽹线连接好笔记本和树莓派;2. 通过路由器的客户端列表查询树莓派的ip地址;3. 打开putty软件,在会话分类中指定要连接的⽬的地址⼀栏中的主机名称(或ip地址)为2中所查询到的ip地址,端⼝(p)为22;连接类型为SSH;保存的会话中填⼊配置的名称,点击保存后,打开保存好的设置进⾏树莓派的连接;4. 在出现的"login as:"中输⼊默认的pi后回车;5. 在出现的中输⼊输⼊默认的密码raspberry注意:其中的19.168.1.103是我查询到的树莓派的ip地址,在输⼊密码过程中并看不到输⼊字符换句话说就是光标⼀直保持⼀个样;6. 登陆系统成功完成树莓派的连接。
配置树莓派1. 登陆系统成功后,输⼊sudo raspi-config ,进⼊配置界⾯;说明:第⼀项,扩展⽂件系统(将空间扩充到整张内存卡);第⼆项,修改⽤户密码(修改登录使⽤的密码,默认为raspberry);第三项,启动选项(选择是否引导到桌⾯)第四项,启动时等待⽹络(选择是否等待⽹络)第五项,国际化选项(设置语⾔和区域选择)第六项,启⽤摄像头(启⽤对树莓派摄像头的⽀持)第七项,添加到Rastrack(添加树莓派到在线的Rastrack)说明:Rastrack()是⼀个由Ryan Walmsley为了追踪世界各地哪⾥的⼈正在使⽤树莓派;如果你拥有⼀个⽹络连接,你能直接地使⽤这个⼯具加⼊;这只是为了增加⼀点乐趣,没有任何官⽅的分类。
第⼋项,超频(为你的树莓派配置超频)第九项,⾼级选项(配置⾼级设定)1. 关于raspi-config (关于配置的信息)说明:这个⼯具提供了树莓派最初配置的⼀个简单直接的⽅法。
尽管它能在任何时间被执⾏,如果你有沉重的定制安装,其中的⼀些选项可能会有⼀些困难。
2. 选择第⼀项,将空间扩充到整张内存卡3. 选择第⼆项,更改⽤户密码4. 基本配置完毕配置树莓派wifi1. 使⽤命令lsusb查看usb设备2. 使⽤命令iwconfig查看⽆线⽹卡是否与树莓派兼容3. 输⼊sudo nano /etc/network/interfaces4. 进⼊后将⽆线⽹卡的ip地址获取⽅式改为⾃动获取iface wlan0 inet manual 改为 iface wlan0 inet dhcp并且在allow-hotplug wlan0 ⼀句前加上auto wlan0Ctrl+o保存 --> 回车 --> Ctrl+x退出5. 输⼊sudo nano /etc/wpa_supplicant/wpa_supplicant.conf 编辑⽆线参数末尾添加如下信息network={ssid="⽆线⽹络账号名称"psk="⽆线⽹络密码"proto=RSNkey_mgmt=WPA-PSKpairwise=CCMPauth_alg=OPEN}6. 重启并重新连接树莓派完成配置使⽤vnc远程控制树莓派1. 登陆树莓派后,输⼊sudo apt-get update 更新软件源2. 更新完毕后输⼊sudo apt-get install tightvncserver 安装vnc服务3. 安装完毕后输⼊tightvncserver 运⾏vnc服务说明:第⼀次运⾏需要设置密码4. 在电脑端安装vnc客户端,通过树莓派ip地址:1 进⾏远程连接5. 输⼊第⼀次输⼊的密码后远程登陆完成,现在你就可看到树莓派的桌⾯了使⽤windows⾃带远程桌⾯控制树莓派1.在树莓派端安装xrdp:1. sudo apt-get install xrdp2.开启windows的远程桌⾯,使⽤树莓派的ip地址登录。
电大计算机应用基础Raspberry Pi实训2
学习报告
简介
本研究报告旨在记录我在电大计算机应用基础Raspberry Pi实训2课程中的研究和实践情况。
研究内容
在本次实训中,我研究了以下内容:
- Raspberry Pi的基本知识和功能
- Raspberry Pi的操作系统安装和配置
- Raspberry Pi的Python编程基础
实践经验
通过实际动手操作,我掌握了以下实践经验:
1. Raspberry Pi的硬件连接和启动
2. 使用Raspberry Pi进行基本的文件管理和网络设置
3. 编写Python程序控制Raspberry Pi的GPIO口
4. 制作简单的电路连接和控制实验
成果展示
在本次实训中,我成功完成了以下项目:
1. LED灯控制实验:通过编写Python程序,实现控制Raspberry Pi上的LED灯的开关。
2. 温湿度传感器实验:利用温湿度传感器模块,监测并显示当
前环境的温度和湿度。
总结
通过本次实训,我深入了解了Raspberry Pi的基本知识和功能,掌握了基本的硬件连接和Python编程技能。
我相信这些知识和技
能将对我未来的研究和职业发展有很大的帮助。
以上是我在电大计算机应用基础Raspberry Pi实训2课程中的
学习报告,请查阅。
基于树莓派的创新实训课程设计【摘要】树莓派是一种小型的单板计算机,具有丰富的接口和功能,被广泛用于教育领域。
创新实训课程设计是培养学生实践能力和创新意识的重要途径。
本文从树莓派在教育中的应用、创新实训课程设计的基本原则、课程内容设计、实施方法以及评估与改进等方面展开讨论。
树莓派为创新实训课程设计提供了丰富的可能性,激发学生的创造力和实践能力,有助于提升他们的创新意识。
通过本文的探讨,可以加深对基于树莓派的创新实训课程设计的理解,为教育教学实践提供参考和借鉴。
【关键词】树莓派、创新实训课程设计、教育应用、基本原则、课程内容、实施方法、评估、改进、丰富可能性、实践能力、创新意识。
1. 引言1.1 介绍树莓派树莓派是一款小巧的单板计算机,广泛应用于教育和创客领域。
它由英国树莓派基金会开发,旨在帮助学生和爱好者学习计算机科学和编程。
树莓派的外形类似于一块信用卡大小的主板,但却拥有强大的处理能力和丰富的接口。
用户可以通过树莓派连接各种传感器、执行各种任务,实现许多有趣的项目,比如智能家居控制、机器人制作、物联网应用等。
树莓派不仅可以帮助学生学习编程和电子技术,还可以激发他们的创造力和实践能力。
通过动手实践树莓派项目,学生可以深入理解计算机科学的原理和应用,培养解决问题的能力和创新思维。
树莓派的开放性和灵活性也使得它成为创新实训课程设计的理想工具,可以帮助教师设计更具挑战性和实用性的教学内容,提升学生的学习动力和成就感。
在当今信息化社会,树莓派的应用已经不仅限于教育领域,还涉及到智能制造、智能健康、智能农业等多个领域,展现出巨大的发展潜力。
1.2 创新实训课程设计的重要性创新实训课程设计的重要性在于其可以帮助学生将理论知识与实践技能结合起来,提升他们的综合能力。
通过创新实训课程设计,学生可以在实践中学习并解决实际问题,培养解决问题的能力和创新意识。
创新实训课程设计还可以帮助学生更好地理解和应用所学知识,加深对专业领域的了解,并提升实际操作能力。
51计算机教育Computer Education第 10 期2017 年 10 月 10 日中图分类号:G642基于树莓派的应用型开放实验刘 琼,吴细宝,陈雯柏(北京信息科技大学 自动化学院,北京 100192)摘 要:树莓派在创新产品中的应用越来越广泛。
文章提出以树莓派为开放实验平台,结合模式识别学科背景,阐述基于树莓派的监控拍摄系统的应用型实验项目设计,包括软件系统设置、基于Python 的视频采集和处理以及接收模块的程序设计、整体系统的集成。
关键词:树莓派;开放实验;模式识别;视频监控1 背 景树莓派是一款携带方便、价格低廉的卡片式电脑,也称为树莓派电脑板,外观如图1所示。
它由注册于英国的慈善组织 “Raspberry Pi 基金会”开发,是以提升学校计算机科学及相关学科的教育,让计算机变得有趣为宗旨,为学生计算机编程教育而设计[1]。
树莓派自从2012年3月上市以来,得到众多发烧友和创客的热爱,更是出现专门的网页论坛[2-3]和网上实验室[4]。
通过在树莓派上接入摄像头并添加相关的视频异常目标捕捉算法,实现场景的实时监控。
2 开放实验条件实验所需设备主要有树莓派开发板、摄像头、电脑和无线通信设备。
实验室提供树莓派model B+主板、联想台式电脑和罗技C270免驱摄像头。
树莓派model B+主板基于博通ARM11 BCM2835的mini PC ,可运行Linux 系统,也可以运行微软的Win10等操作系统。
大学生开放实验的开设以项目驱动为主导,服务于创新产品的设计与制造,提供学生实际操作硬件设备的机会,激发其创新的灵感与思维,提高学生的创新能力与实践能力以及团队协作意识。
实验进行过程中,以学生独立思考实践为主,教师辅导为辅。
学生在累积270学时的时长里,可自由选择实验场所;同时,在完成实验任务的基础上,还可提出申请,申报大学生科技创新项目,继续深入研究。
3 基于树莓派的监控拍摄系统开放实验基于树莓派的监控拍摄系统开放实验需要基金项目:北京信息科技大学课程建设项目“面向实例的人工智能课程教学方法改革”(2015KGYB14);北京信息科技大学教学改革项目“面向创新创业能力培养的实践教学研究”(2016JGYB10);北京信息科技大学教学改革项目“智能科学技术专业创新创业工程人才培养方案研究”(2017JGYB18);2017北京市双培计划虚拟教学团队建设项目 “北京信息科技大学促进高校内涵发展—专业建设—自动化学院专业建设” 。
实验名称:实验12-PIR传感器和语音识别实验专业班级:姓名:学号:实验日期:一、实验目的:(1)熟悉人体红外传感器、语音识别和文本转语音(TTS)。
(2)掌握在Windows 10 IoT Core中使用GPIO读取人体红外传感器输出的方法。
(3)掌握在Windows 10 IoT Core中使用SpeechRecognition和SpeechSynthesis进行语音识别和语音合成的方法。
二、实验内容:(1)将人体红外传感器PIR、LED灯分别连接到树莓派的GPIO5和GPIO6,运行程序12-1后,先点击初始化PIR按钮,若附近有人活动时,即程序检测到上升沿,指示的LED灯亮;没有人活动时,即程序检测到下降沿,LED灯熄灭,与应用程序界面上的状态同步。
如下图所示。
在实验12-1的基础上,使用树莓派、人体红外传感器PIR、LED灯、电阻、面包板和跳线,实现Security Camera。
即检测到附近有人活动时,程序自动拍照,存储到本地。
(2)使用树莓派(IoT Core系统烧写版本为14986)、USB声卡、耳机、麦克风、LED灯、电阻、面包板和跳线,实现本地的语音合成和语音识别,从而达到控制LED灯的目的。
程序12-2给出了语音控制一个LED的场景,即使用语音turn on bedroom led或者turn off bedroom led来控制GPIO5引脚连接的LED灯。
同时,可以在Visual Studio的Output 窗口看到语音识别的实时结果。
如下图所示。
用户可以在应用程序界面输入文字,点击按钮,可以让系统读出该内容,如下图所示。
请在此基础上,添加LED灯,修改语音定义文件和程序,从而达到控制两个不同的LED 的功能。
三、实验结果(注意:所有截图需要加注自己的姓名+学号水印):1. 利用Fritzing软件画出硬件连接图,给出实验内容1对应的所有关键代码,给出测试结果和说明,附调试截图。
硬件连接图:硬件连接图如左图所示,将led连接在GPIO5上,将pri的数据输出接口接在GPIO18上关键代码:private void PinPIR_ValueChanged(GpioPin sender,GpioPinValueChangedEventArgs e){// toggle the state of the LED every time the buttonis pressedif (e.Edge == GpioPinEdge.RisingEdge){ledPin.Write(GpioPinValue.Low);}if (e.Edge == GpioPinEdge.FallingEdge){ledPin.Write(GpioPinValue.High);}var task = Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () => {if (e.Edge == GpioPinEdge.FallingEdge){ledEllipse.Fill = grayBrush;GpioStatus.Text = "PIR FallingEdge";}if (e.Edge == GpioPinEdge.RisingEdge){ledEllipse.Fill = redBrush;GpioStatus.Text = "PIR RisingEdge";takePhoto_Click(takePhoto, new RateChangedRoutedEventArgs());}});}如上面的代码所示在原来的代码段中调用takePhoto_Click(takePhoto, new RateChangedRoutedEventArgs());函数,在主页面的圆点控制的代码中添加调用拍照功能的代码。
当人体红外传感器检测到时输出高电平,GPIO口接受到后检测到上升沿便会进行拍照并且点亮led实验结果:实验结果如图所示,当红外设备检测到有人时就会进行拍照,并且将照片进行保存,于此同时,照片展示框下的指示点便会由灰色变为红色以指示检测到红外信息,同时连接在树莓派GPIO上的led小灯点亮。
没有检测到红外信息时,便不会拍照。
也不会执行任何操作。
2. 利用Fritzing软件画出硬件连接图,给出实验内容2对应的所有关键代码,给出测试结果和说明,附调试截图。
硬件连接图:如右图所示,在此次的试验中需要用到两个GPIO引脚,分别为GPOI6和GPIO12。
关键代码:private async void LightControl(string command, string target){if (target == "Bedroom"){//===========================if (command == "ON"){if (BedRoomLED_GpioPin != null){await CoreApplicationCoreDispatcherPriority.Normal, () =>{bedRoomTimer.Start();});}}else if (command == "OFF"){await CoreApplicationCoreDispatcherPriority.Normal, () =>{bedRoomTimer.Stop();if (BedRoomLED_GpioPinValue == GpioPinValue.Low){BedRoomLED_GpioPinValue = GpioPinValue.High;BedRoomLED_GpioPin.Write(BedRoomLED_GpioPinValue);//LED.Fill = redBrush;}});}//===========================}else if (target == "kitchen"){//===========================if (command == "ON"){if (kITCHENLED_GpioPin != null){await CoreApplicationCoreDispatcherPriority.Normal, () => {kITCHENTimer.Start();});}}else if (command == "OFF"){await CoreApplicationCoreDispatcherPriority.Normal, () =>{kITCHENTimer.Stop();if (kITCHENLED_GpioPinValue == GpioPinValue.Low){kITCHENLED_GpioPinValue = GpioPinValue.High;kITCHENLED_GpioPin.Write(kITCHENLED_GpioPinValue);//LED.Fill = redBrush;}});}//===========================}SaySomthing($"{target} light", command);}private void InitBedRoomGPIO(){var gpio = GpioController.GetDefault();// Show an error if there is no GPIO controllerif (gpio == null){BedRoomLED_GpioPin = null;//GpioStatus.Text = "There is no GPIO controller on this device.";return;}BedRoomLED_GpioPin = gpio.OpenPin(BedRoomLED_PINNumber);BedRoomLED_GpioPinValue = GpioPinValue.High;BedRoomLED_GpioPin.Write(BedRoomLED_GpioPinValue);BedRoomLED_GpioPin.SetDriveMode(GpioPinDriveMode.Output);//GpioStatus.Text = "GPIO pin initialized correctly.";}private void InitKITCHENGPIO(){var gpio = GpioController.GetDefault();// Show an error if there is no GPIO controllerif (gpio == null){kITCHENLED_GpioPin = null;//GpioStatus.Text = "There is no GPIO controller on this device.";return;}实验结果:当语音输入“hi jack”时便会启动程序,程序会返回“hi jack what can I do for you”。
然后便可以进行命令输入。
当语音输入“turn on the …”便可以进行用语音输入控制小灯的亮灭。
实验结果如左图所示,当声音输入开灯的命令之后便会将灯打开途中两个灯分别代表卧室和厨房的灯,从中可以看出实验成功将两个地方的灯分别点亮。
四、实验总结(请列出实验过程中遇到的问题和解决方法):由于此次的实验比较简单基本上没有遇到什么很难的问题,主要出现的问题还是之前出现过的那些,由于takephoto_Click为前台的事件,因此需要将该调用放入UI更改程序中否则无法成功。