Funpack第九期-题目二 SensorTile.box可随身携带的环境监测系统
通过SensorTile.box将环境数据存放到SD中,之后通过python进行数据可视化并分析。
标签
嵌入式系统
mcu
更新2021-06-24
713

一、使用的硬件资源

高度计/压力传感器(LPS22HH)、数字温度传感器(STTS751)、六轴惯性测量单元(LSM6DSOX)、三轴加速度计(LIS2DW12和LIS3DHH)、三轴磁力计(LIS2MDL)、湿度传感器(HTS221)

二、实现方法

本次活动我选择的是题目二,通过SensorTile.box收集环境信息并分析。首先在官方APP上烧录Data recorder程序并记录了大约4小时数据,之后导出到电脑上通过python进行分析。

三、数据分析

由于数据量过大(记录了100多万组数据)正常EXCEL表格无法对全部数据进行可视化操作,于是我用python调用csv和plplot库写了一个可视化程序。

filename='output.csv'        
with open(filename) as f:
    reader=csv.reader(f)
    header_row=next(reader)
    print(header_row)

首先将文件读入reader中,再通过next()读取表头并输出。

    Temp=[]
    Press=[]
    z_acc=[]
    for row in reader:
        tem=float(row[11])
        Pres=float(row[13])
        z_ac=float(row[4])
        Temp.append(tem)
        Press.append(Pres)
        z_acc.append(z_ac)

之后遍历列表将需要可视化的数据添加到对应列表中。

fig=plt.figure(dpi=120,figsize=(18,6))
# 设置图表分辨率与长宽
plt.subplot(311)
# 设置为图表为三行一列的格式
plt.plot(Temp,c='red')
# 放入数据和设定折线颜色
plt.title("",fontsize=12)
# 设置标题
plt.xlabel('',fontsize=12)
# 设置X坐标名称
plt.ylabel('temperature',fontsize=8)
# 设置Y坐标名称
plt.tick_params(axis='both',which='major',labelsize=8)
plt.grid(True)

输出见下图Fo0M6VWQwfSi8-NFcQMCh9isTCtN

四、总结

自从STM32涨价后好长时间没有接触了,这次给了我对STM32新的认识。之前我认为STM32想简单快速开发就要刷个arduino固件再用上图形化,现在ST官方在这方面的发展让我震惊,不仅能图形化开发还能用手机APP开发。最后还是感谢硬禾课堂举办的活动,没有这次活动我是找不到这种可玩性高又容易上手的开发板。

团队介绍
评论
0 / 100
查看更多
目录
硬禾服务号
关注最新动态
0512-67862536
info@eetree.cn
江苏省苏州市苏州工业园区新平街388号腾飞创新园A2幢815室
苏州硬禾信息科技有限公司
Copyright © 2023 苏州硬禾信息科技有限公司 All Rights Reserved 苏ICP备19040198号