|
15| 0
|
[MIT IoT] 《数据采集和分析》2 - [用数据开展园艺工作]之Part 2 ... |

|
《数据采集和分析》2 - [用数据开展园艺工作]之Part 2 使用数据采集器App追踪阳光 为你的app添加组件,即可实时采集数据! 从这里开始 1.查看数据采集器App设计 ●如果还未导入启动文件,请访问 http://ai2.appinventor.mit.edu,打开由教师提供的模板文件(Data_Collector_STARTER.aia)或在项目2第1课文件夹中查找该文件。(注:该文件可在part0、part1或本文末附件中下载) ●查看启动文件中已有的组件。你能预测每个组件的功能吗?别忘了手机下方那些看不见的组件! ●温馨提示:请勿重命名组件,后续编码时仍需使用原名! ![]() 这些组件的作用机制是什么?你可以猜猜看 ![]() 2.查看代码 点击右上角的Blocks(逻辑设计)按钮,查看app的代码编写位置。部分代码已预先准备,方便你快速上手。 ![]() 3.观察还没有填写代码的when MicrobitDataChannel.MessageReceived 代码块。 当app接收到Microbit发送的消息时,该模块将自动运行。 ![]() ●当使用when MicrobitDataChannel.MessageReceived代码块时,app会实时接收通过蓝牙连接发送的消息。 ![]() 4.讨论:你会如何在app中添加代码来显示阳光数据? ●在数据展示中,当前数据值标签(CurrentDataValueLabel)是你模块中的一个展示位置。要让该标签显示日照数据,我们将分步骤进行说明! ![]() ●在模块中,点击CurrentDataValueLabel以显示不同选项。找到CurrentDataValueLabel.text模块,将其拖拽到MessageReceived模块中。 ![]() ●将变量 message设置为标签文本。将鼠标悬停在“message”一词上即可查看该变量。该变量存储了通过电磁波从Microbit设备发送的消息内容——此处为阳光数据。 ![]() ●将get message块拖拽至set CurrentDataValueLabel.text中: ![]() 5.连接App Inventor Companion ●连接移动设备以测试代码(操作步骤同Part1第6步)。 ●随后将你的app通过无线方式连接至Microbit设备(Part1,步骤7至11)。 ●请仔细观察“当前数据(Current data)”标签旁的数值。 ![]() ![]() 尝试开展实验,并与团队成员讨论观察结果: ◻ Microbit是如何检测阳光的?用手指遮挡Microbit的不同部位。(别担心!轻轻触摸是安全的!)Microbit在表面的哪个位置能感知光线?(确定后请向下滚动鼠标查看答案!) ◻ 哪种光线最适合Microbit传感器?建议与团队合作,在自然光和人工光源下测试传感器性能。app会如何显示窗边或户外环境的光照强度?当光源距离灯具50厘米以内时,人工强光环境下的读数会呈现怎样的差异?你认为这些不同光源类型之间存在哪些显著区别? ◻ 光传感器的数据范围是多少?app能显示的最大数值是多少?最小数值是多少?换句话说,数据范围具体指什么? ◻ 数据采集时间点如何确定?app中的数据是持续更新还是仅在特定时间点更新?数值更新频率如何?建议使用时钟或手机进行计时,即Microbit设备接收消息之间的间隔时间。请在团队笔记本中记录具体秒数,该数据后续可能具有重要参考价值! ◻ 探讨:有哪些方法可以实现数据可视化?当前该app仅能逐个显示数据点(即单个数值)。若需追踪光照强度随时间的变化趋势,例如评估阳光对植物全天生长的影响,该如何进行分析? ![]() 接下来,你将构建一个可视化模型以展示数据随时间的变化趋势。具体步骤如下: ● 在app界面中添加图表组件,以便随时间推移绘制数据曲线 ● 规范图表行为规范 ● 测试app ● 探讨图表的重要组成部分 ![]() 6.添加图表组件以可视化日照数据。 ●在调色板中找到图表抽屉。 ![]() ●拖动第一个组件“Chart图表”。该组件可为图表创建框架,并提供多种实用的格式设置功能。 ![]() ●在组件中点击并高亮显示Chart1,将高度和宽度属性更改为“Fill parent充满”。 ![]() ●接下来,将ChartData2D组件拖拽到图表区域。注意:此类图表称为graph折线图,可帮助你直观呈现数据随时间的变化趋势。 ●图表已导入app,现在可以开始设置其行为参数了! ![]() 7.对图表编写代码以显示数据 切换至Blocks编辑器(逻辑设计)。如何让图表显示阳光数据? ![]() ●从ChartData2D1抽屉中取出第一个代码块AddEntry,将其拖放到MessageReceived代码块中。 ![]() ●在AddEntry中需要添加哪些内容来显示光照数据? ![]() ●你会为x添加什么?你会为y添加什么? ○x轴和y轴是坐标平面的组成部分,这可能是你在数学课上学过的内容。你的app通过坐标平面来展示光传感器数值之间的关系。 ○x轴为横坐标轴,呈左右方向延伸。 ○y轴为纵坐标轴,呈上下方向延伸。 ○x通常在图表中显示时间(如图所示)。 ![]() ○y轴通常显示数据值。此处,y轴将表示关于阳光强度的数据。 ●首先获取y槽的阳光强度数据。y的数据将来自Microbit消息。回顾之前如何通过get message块获取数据来填充CurrentDataValueLabel。 ![]() ●该图表需要为x轴设置数值。多数图表中x轴表示时间轴。从变量管理器中拖拽get代码块,通过其下拉菜单选择全局变量time,随后将该模块添加至AddEntry组件的x轴槽位。 ![]() ●但这里存在一个问题!纵观整个代码,变量time当前被设为0且保持不变。若要延长新消息的到达时间,需以恒定速率递增全局变量time。此时必须定义该恒定速率,即图表周期period。 定义:周期period是指Microbit每次发送消息之间所经过的时间间隔。 ●Microbit每次发送消息之间的间隔时间是多少?(提示:你可能在上次测试该app时已将其记录在笔记本中。) ●请注意代码顶部的period变量,即每条消息之间的间隔秒数。2秒是否符合你对消息间隔时间的预测? ![]() ●相对于App Inventor代码,Microbit还具备独立的专属代码。其代码period同样设定为2秒。(在第四课中,你可以通过修改App Inventor代码来调整Microbit的period设置。) 8.在app中记录时间。 每当Microbit发送新消息时,你将如何增加全局变量time? 当MessageReceived模块运行时,将变量time设置为按变量period的数值递增。 ●从变量抽屉中拖出一个set块。从下拉菜单中选择变量time。随后,将set global time块拖放到其他块下方。 ![]() ●每次收到新消息时,你将如何使变量time递增?请前往数学Math抽屉并取出加法(+)积木。 ![]() ●将全局变量time添加到全局变量period中(具体操作可参照前文,通过「变量」面板查找「get global period」模块)。该代码段会在每次接收消息时自动增加2秒计时。例如,Microbit设备发送的新消息时间戳将依次显示为2秒、4秒、6秒等数值。 ![]() ●现在你的图表中,x轴显示时间,y轴显示日照值! ![]() 9.更新时间标签 当前界面中的“Seconds”标签未显示当前时间。请将CurrentTimeValueLabel设置为时间变量。 ![]() ●从CurrentTimeValueLabel下拉菜单中拖拽set text代码块。 ![]() ●添加全局变量time。 ![]() ◻该图表是否正常运行? ●连接App Inventor Companion进行代码测试(操作步骤与Part 1第5步相同)。 ●然后通过蓝牙将app与Microbit设备连接(Part 1,步骤7至11)。 ●检查“Seconds”标签中的数值: ![]() ●从该图表中还能获取哪些其他信息? ![]() 如何使用x轴上的数字和数据点来检查周期period? ●数据收集有助于分析现实中通常无法观察或感知的模式与关联关系。 ●你能收集哪些花园内相关信息? ![]() ◻通过收集教室或社区周边的阳光强度数据来测试该app: ●建议将Microbit放置在阳光充足的窗边,保持与app的无线连接状态过夜运行。只要设备持续通电,app即可连续多日采集Microbit数据。请问你能生成最长的图表是怎样的? ○为确保最佳稳定性,请按照本文末尾说明构建可独立运行人app。 ○无需独立app,只要不修改App Inventor浏览器中的代码,你仍可将app与Companion保持连接状态,便可实现长时间(甚至数日)的持续运行。 ○请确认app显示绿色状态,且你的移动设备与Microbit处于同一房间内。 ◻与团队成员进行讨论: ●阳光与植物生长之间存在何种关系?太阳究竟如何影响植物生长?你对阳光与植物生长的科学原理了解多少?如何通过数据进行验证? ●你能观察到哪些趋势?趋势是指数据集呈现的总体方向(上升或下降)。与团队成员共同分析图表中预期出现的趋势,这些趋势将如何反映花园环境的重要变化?它们对优化光照、温度或湿度条件具有何种指导意义? ◻与团队共同尝试的其他事项: ●修改图表设计。查看ChartData2D1组件的属性,尝试将黑色线条更改为彩色线条。 ●分享你的图表图像。了解如何在手机或平板电脑上使用屏幕截图功能。随后保存团队收集的图表图像。这些色彩丰富的图表既可作为规划花园改造时的参考依据,也可作为学校演示文稿中的佐证材料。 ●分享你的app! ○将团队的图表app导出为.aia文件,提供给其他团队在App Inventor中进行测试!请参照《app共享与重构》中的操作指南。 ○构建图表app的打包版本(.apk)让其他人来测试!请参考《app分享与二次开发》中的操作指南。 |
沪公网安备31011502402448© 2013-2026 Comsenz Inc. Powered by Discuz! X3.4 Licensed