5675| 2
|
[项目] #虚谷物联与科学探究#基于Python直连传感器做食盐溶解实验 |
#虚谷物联与科学探究#基于Python直连传感器做食盐溶解实验溶解是物质科学领域涉及的内容,小学科学课程标准给出的相关活动建议包含“观察常见物质在水中的溶解过程”。食盐是最常见、安全、廉价的实验对象,但传统实验方法却因其扩散过程透明不可见,往往安排学生采用生活中不常见的高锰酸钾代替食盐做溶解实验,学生也只能在高锰酸钾溶解实验的基础上通过想象进行认知迁移。有没有一种方法让食盐的溶解过程可被检测和观察到呢?其实借助虚谷号搭建的SIoT服务器和TDS传感器制作的实验装置,我们可以用数据可视化的方法变通让食盐溶解过程“可见”。 案例作者: 宁波市广济中心小学 狄勇 案例描述:参考教材针对高锰酸钾的实验设计,实验装置主要被设计用于观察搅拌前的食盐溶解情况。我们需要寻找一种可以检测到盐分的传感器以量化该扩散过程。大量程的电导率传感器是最适合的选择,但相对廉价许多的TDS传感器也可用于该部分实验。TDS中文名称为总溶解固体(英文:Total dissolved solids,缩写TDS),又称溶解性固体总量,测量单位为毫克/升(mg/L),它表明1升水中溶有多少毫克溶解性固体。TDS值越高,表示水中含有的溶解物越多。 总溶解固体指水中全部溶质的总量,包括无机物和有机物两者的含量。一般可用电导率值大概了解溶液中的盐份,一般情况下,电导率越高,盐份越高,TDS越高。由于天然水中所含的有机物以及呈分子状的无机物一般可以不考虑,所以一般也把含盐量称为总溶解固体。 开始实验前,应在教室内部署一台路由器,该路由器无需连接外网,仅负责局域网内数据中转。虚谷号、教室电脑均连至该路由器以实现数据互通。教室电脑提前打开浏览器访问虚谷号的SIoT后台,勾选自动刷新消息,做好数据呈现的准备。 实验时将一勺食盐轻轻放入烧杯中,静观食盐的变化。短时间内,沉入水底的食盐颗粒并不会有太大肉眼可见的变化发生,但扩散过程从食盐入水的一刻已经开始。此时可将TDS传感器插入烧杯中,并缓缓上下移动探头,检测不同水位的TDS值,检测到的数据将由虚谷号上的SIoT服务器进行记录,并自动生成图表实现数据可视化。学生将从教室大屏幕呈现的折线图实时看到不同水位的TDS值,帮助理解和想象食盐在水中的扩散过程。 准备工作在虚谷号上搭建SIoT服务器SIoT已在虚谷号出厂预装。作为一个开源物联网项目,若被删除,可至GitHub下载针对vvboard的版本安装。(网址:https://SIoT.readthedocs.io/zh_CN/latest/) 虚谷号部署SIoT的步骤如下: 1.将USB线连至虚谷号的OTG口 2.稍后系统会将虚谷号识别为一个U盘 3.打开vvBoard的文件夹 4.用记事本编辑vvBoard_config文件 将SSID和SSID_PSD改为局域网的WIFI账号密码,保存配置文件。 5.重启虚谷号,双击“访问siot” 正常情况下,此时浏览器应呈现SIOT的后台登录页面 如果未自动生成包含虚谷号IP地址的快捷方式,可再次进入vvBoard文件夹,打开其中的wifi_log日志文件 如下图,虚谷号的IP地址为192.168.0.1,访问http://192.168.0.101:8080/html/ 完成上述步操作后,虚谷号便可替代PC作为SIoT服务器应用于各种实验场景 以下步骤,为虚谷作为服务器,控制板载Arduino的案例 操作步骤一. 实验装置的硬件搭建 材料清单 虚谷号×1 厚物—虚谷号扩展板×1(可选) Gravity: 模拟TDS传感器×1 虚谷号的接口板型和Arduino UNO相似,我们可以迁移经验连接设备,将TDS传感器连接至虚谷号的A0口。引脚对应关系如下 虚谷号直连传感器示意图 虚谷号直连传感器实物图 如果使用虚谷号专用扩展板——厚物,那么连接Gravity系列传感器将更加简单,直接插到扩展板的3PIN模拟口上即可。注意由于厚物的A0口被板载摇杆占用,我们选择将传感器接入到A1口。 使用厚物扩展板转接的连线示意图 使用厚物扩展板转接的实物图 二. 实验装置程序设计 1.参考SIoT官方使用手册中的Python章节样例代码 编写以下程序,保存为TDS.py 参考代码
代码下载地址:https://github.com/vvlink/SIoT/blob/master/examples/Python/10_vvboard_TDS.py 2.打开U盘模式的虚谷号,进入Python目录 3.将TDS.py粘贴到Python目录下 4.编辑同目录下的python_config.ini,将首行改为Python=TDS.py。这样虚谷号开机后将自动运行TDS.py。 三. 系统测试 根据前述实验原理,我们可通过提升和下放传感器探头,用SIoT记录不同水位的TDS值,让盐分在水中的分布数据可视化。 测试场景
Jupyter是一个交互式笔记本,支持运行 40 多种编程语言。虚谷号预装了Jupyter,并且可以通过U盘模式下的快捷方式直接在浏览器打开。 Jupyter默认登录密码为scope 登录后web页面会列出虚谷号的文件目录 先将之前编写的TDS.py上传到/Desktop目录下,然后点击 新建——Python3 在代码单元格中输入命令 %run TDS.py TDS.py被执行后,开始加载相关模块并初始化,完成后就可以看到虚谷号上传和返回的数据了。
由于通过python_config.ini设置了TDS.py开机运行,通电后我们也可以用浏览器访问虚谷号开启的SIoT服务查看装置工作情况。
拓展思考经过教学实践,我们发现学生对基于虚谷物联的实验接受度良好。改进的实验方法以数据和图表的形式,让食盐的扩散过程明晰可见;相较于传统实验手段面对食盐的无能为力,实现了从无到有的进阶,教学上可以作为高锰酸钾溶解实验的有效补充。 |
© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed