2026-5-21 19:00:17 [显示全部楼层]
15浏览
查看: 15|回复: 0

[AI2+IoT] 《数据采集和分析》2 - [用数据开展园艺工作]之Part 3

[复制链接]
本帖最后由 粒子 于 2026-5-21 19:00 编辑

《数据采集和分析》2 - [用数据开展园艺工作]之Part 3
优化你的app:高级功能


《数据采集和分析》课程总目录
本项目的App Inventor和Microbit初始文件请跳转课程总目录对应项目的part 0或part 1下载

在App中更改周期
回顾数据采集app的测试过程。你是否发现所有实验在默认周期下均运行良好?该周期默认设置为2秒,但2秒可能并不适用于所有场景。请按照以下步骤添加按钮来便捷的调整周期:

从这里开始

1.将Period按钮设置为可见
● 在组件设计视图中,使用启动代码中已创建的PeriodButton按钮,展开AdvancedButtons以显示PeriodButton及其他高级组件
《数据采集和分析》2 - [用数据开展园艺工作]之Part 3图1

《数据采集和分析》2 - [用数据开展园艺工作]之Part 3图2

●在属性设置中将AdvancedButtons组件设为可见状态。
《数据采集和分析》2 - [用数据开展园艺工作]之Part 3图3

●在属性设置中将AdvancedButtons组件设为可见状态。
《数据采集和分析》2 - [用数据开展园艺工作]之Part 3图4

2.为PeriodButton编写代码。
●在PeriodButton抽屉中,将当PeriodButton.被点击时事件处理程序添加到代码中。
《数据采集和分析》2 - [用数据开展园艺工作]之Part 3图5

3.确保所有周期值均大于0。
●通过代码验证确保SecondsPeriodLabel中的数值大于0。在控制抽屉中,将如果-则代码块拖拽至当PeriodButton.被点击时事件处理程序中。
《数据采集和分析》2 - [用数据开展园艺工作]之Part 3图6

●拖出一个数学逻辑块(比较运算符=、>、<),将其更改为大于(>)运算符,并置于if-then结构块中。
《数据采集和分析》2 - [用数据开展园艺工作]之Part 3图7

●向下滚动PeriodTextBox抽屉,直至找到PeriodTextBox.text代码块,然后将其拖拽至如图所示的if-then代码块中。
《数据采集和分析》2 - [用数据开展园艺工作]之Part 3图8
《数据采集和分析》2 - [用数据开展园艺工作]之Part 3图9

●检测PeriodTextBox.text是否大于0。


4.你的app设置新周期。
●若PeriodTextBox.text中的数值通过验证,则需将period变量更新为新值。
○从变量抽屉中拖出一个set变量块。从下拉菜单中选择period变量。
○拖拽另一个PeriodTextBox.text代码块,并将其连接到变量。
○如图所示,将积木拖拽至if-then块中。
《数据采集和分析》2 - [用数据开展园艺工作]之Part 3图10

5.用新周期给你的Microbit发个消息。
该app需向Microbit发送一条包含新周期数值的消息。
当下你在App Inventor代码中仅能接收Microbit发送的消息。若需发送消息,需使用MicrobitDataChannel抽屉中的其他模块。
●在MicrobitDataChannel抽屉中,找到call MicrobitDataChannel.SendMessage代码块,并将其拖拽至if-then代码块内。
《数据采集和分析》2 - [用数据开展园艺工作]之Part 3图11

●拖动join块并修改其设置,使其具备三个文本输入空槽。
《数据采集和分析》2 - [用数据开展园艺工作]之Part 3图12

●将文本字符串块拖动到连接块的顶部和底部空格中,中间空格保持空白。
《数据采集和分析》2 - [用数据开展园艺工作]之Part 3图13

●在两个文本字符串块中添加逗号。
●将句号变量置于逗号之间以发送句号。
《数据采集和分析》2 - [用数据开展园艺工作]之Part 3图14

上图中的逗号的作用是什么?
想象一下,当你对着房间另一头的朋友大声喊话时,你可能没意识到,其实你们说话前就已经用上了相同的语言!
Microbit与移动app在消息传输时采用统一通信协议。具体而言,Microbit要求接收以逗号分隔的消息。例如,若接收到“,23,24,24,27”这样的消息,系统即可识别出23、24、24和27为关键数据项。

检查代码并测试新按钮!
《数据采集和分析》2 - [用数据开展园艺工作]之Part 3图15


测试
与你的团队合作时,可通过设置不同时间段来收集数据并进行实验。
《数据采集和分析》2 - [用数据开展园艺工作]之Part 3图16

《数据采集和分析》2 - [用数据开展园艺工作]之Part 3图17

●探讨不同数据类型最适合的周期:
○在环境快速变化的情况下(例如配备调光开关的电灯),每2秒的测试周期可能适用于光线测试。
○但若需监测植物叶片在数小时或整个学日内太阳光束的极缓慢变化,每2秒发送一次数据可能造成信息过载。
○根据计划收集的数据类型,与团队讨论花园的最佳观测时段。例如:每2秒、每15秒或更长时间采集阳光数据的最佳时段是什么?
《数据采集和分析》2 - [用数据开展园艺工作]之Part 3图18

重置按钮编码
在测试过程中,图表是否很快被数据填满?有时界面会变得过于杂乱,导致难以清晰查看待分析数据。请编写代码实现重置按钮功能,以便清除图表内容。
《数据采集和分析》2 - [用数据开展园艺工作]之Part 3图19


1.使ResetButton按钮可见并编写其代码。
●若尚未将AdvancedButtons设置为可见状态,请按照上方“更改数据周期”教程中的步骤1和步骤3操作。
●在ResetButton抽屉中,拖出当ResetButton.click事件处理程序并将其添加到代码中。
《数据采集和分析》2 - [用数据开展园艺工作]之Part 3图20

2.清除图表
●在ChartData2D1抽屉中,拖出一个call ChartData2D1.clear块并将其添加到ResetButton事件处理块中。点击该块。
《数据采集和分析》2 - [用数据开展园艺工作]之Part 3图21

3.重置标签与变量。
●将时间变量重置为0。
《数据采集和分析》2 - [用数据开展园艺工作]之Part 3图22
●将CurrentDataValueLabel.text设置为连字符。
《数据采集和分析》2 - [用数据开展园艺工作]之Part 3图23
●将CurrentTimeValueLabel.text设置为时间变量。

4.检查代码并测试新按钮
《数据采集和分析》2 - [用数据开展园艺工作]之Part 3图24

测试
与团队一起尝试使用重置按钮。该按钮如何在数据收集过程中帮助更好地理解图表?
● 收集数据数分钟后,尝试重置图表。
● 当新的数据图表出现时,若不再将旧数据显示在同一屏幕上,是否更易于理解?
《数据采集和分析》2 - [用数据开展园艺工作]之Part 3图25

● 在通过app设置Microbit时,如果操作失误导致传感器暴露在强光下或置于黑暗环境中,旧数据会显示在图表上吗?
● 重置按钮还能通过哪些方式帮助你收集花园相关信息?

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4 备案 沪公网安备31011502402448

© 2013-2026 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail