×

Avnet SmartEdge Agile智能设备开源

消耗积分:0 | 格式:zip | 大小:0.02 MB | 2022-11-03

贾熹

分享资料个

描述

介绍

Avnet SmartEdge Agile 设备是一种自给自足的智能设备,可以通过连接到方向盘或烘干机轻松收集数据。该系统是一个多合一的传感器收集器和简单的机器学习模型执行堆栈。

在这里,我们展示了两个简单的应用程序,并展示了通过使用 Velcro 剥离和粘贴设备来从一个应用程序跳转到下一个应用程序是多么容易。

在家中的两个青少年对驾驶监控产生了极大的兴趣。它对于审查包裹公司、杂货配送服务、共享驾驶公司、出租车、鲁莽司机、路怒司机和疯狂司机的司机表现也很重要。

反复攻击的司机会在他们的方向盘上安装这些设备之一,并监控他们的驾驶活动,以防止进一步的违规行为。

我们在之前的项目中找到了动机:“ GPS Drivers Log ”,它记录了设备的 GPS 位置和速度,但不记录驾驶监控技能或环境条件。Avnet SmartEdge Agile 用作强大的传感器数据收集器,可提供驾驶员驾驶条件和技能的概况。

材料

我们使用 Avnet SmartEdge Agile 设备。对,就是那样。不需要其他硬件。

 
poYBAGNiBZWATIjpAAenuAamEX4017.jpg
AVNET SmartEdge Azure
 

资源

在 gpearston 撰写的“ Brainium /SMARTEDGE AGILE-Review 中可以找到关于 Avanet SmartEdge Agile 设备的非常好的评论还有 Krishnaraj Varma 的评论标题“ SmartEdge Agile 和 Brainium 简介”

Brainium Dashboard 登录在此处,文档在此处

jupyter notebook 水平排列绘图功能可以在这里找到

Jupyter notebook 动态图交互说明可以看这里

这次我们没有使用有趣的信息。RPi 有一个网关,你可以在这里找到安装说明,PDF 可以在这里下载

行车监视器

可用于创建驾驶配置文件的指标是陀螺仪、世界加速度和接近度。定义车厢环境的指标是声音、温度和光线。

接下来是每个指标的简短描述。

陀螺仪或角速度显示我们驾驶的速度。其中包括避免事故或突然改变车道等情况。

世界加速或正常加速可能显示可能的街头赛车或突然减速。

嘈杂的音乐或乘客聊天的声音可能会让司机分心。新司机倾向于打开立体声音乐,可能会忘记周围的交通状况或可能的警告/危险交通声音队列。

光照条件因农村或城市行驶道路而异。

温度控制是一个有趣的节能领域。该设备使我们能够看到自动洞穴内的温度设置。

湿度和压力取决于所行驶的道路。看看地质景观如何改变压力条件并因此改变发动机性能真的很有趣。取决于所行驶的道路。看看地质景观如何改变压力条件并因此改变发动机性能真的很有趣。

数据收集是通过清晨从早上 5:00 开始,距离 100 英里和大约 1:45 小时以及下午从下午 3:30 开始在高峰时段通勤、100 英里和大约 2:30 小时开始的。是的,很多数据。

数据是通过每隔近一个小时运行记录功能来收集的,早上通勤时提供两个文件,下午通勤时提供三个文件。例如第一个文件有这么多数据

GYROSCOPE_NORM                14119                                                        
WORLD_ACCELERATION_NORM        8824                                                        
ACCELERATION_NORM              8824                                                        
MAGNETIC_FIELD_NORM            8298                                                        
SOUND_LEVEL                    3525                                                        
PRESSURE                       3319                                                        
PROXIMITY                      3319                                                        
VISIBLE_SPECTRUM_LIGHTNESS     3319                                                        
HUMIDITY_TEMPERATURE           3319                                                        
IR_SPECTRUM_LIGHTNESS          3319                                                        
HUMIDITY                       3319                                                        
Name: dataSource, dtype: int64

该文件在大约 45 分钟的记录中记录的数据总数为 63504 个点,这占用了大约 4.3 Mb 的空间。

使用 Jupyter Notebook 分析数据

我们使用 Jupyter Notebook 来分析 Avnet SmartEdge Agile 设备记录的数据。收到的文件格式如下:

devicePublicId,dataSource,timestamp,scalar,vector                                                      
D1,GYROSCOPE_NORM,1566508292002,0.6946869492530823,                                                      
D1,GYROSCOPE_NORM,1566508292236,0.915907621383667,                                                      
D1,GYROSCOPE_NORM,1566508292471,0.39298704266548157,                                                      
D1,GYROSCOPE_NORM,1566508292783,2.0969412326812744,                                                      
D1,GYROSCOPE_NORM,1566508293017,0.35836511850357056,                                                      
D1,GYROSCOPE_NORM,1566508293251,0.5771657228469849,                                                      
D1,GYROSCOPE_NORM,1566508293485,1.3782867193222046,                                                      
D1,GYROSCOPE_NORM,1566508293797,1.8784273862838745,                                                      
D1,HUMIDITY,1566508292060,39,                                                      
D1,HUMIDITY,1566508293138,40,                                                      
D1,IR_SPECTRUM_LIGHTNESS,1566508292085,201,                                                      
D1,IR_SPECTRUM_LIGHTNESS,1566508293164,192,                                                      
D1,MAGNETIC_FIELD_NORM,1566508291973,57.30019760131836,                                                      
D1,MAGNETIC_FIELD_NORM,1566508292401,56.88837814331055,                                                      
D1,MAGNETIC_FIELD_NORM,1566508292834,54.180320739746094,                                                      
D1,MAGNETIC_FIELD_NORM,1566508293264,56.206783294677734,                                                      
D1,MAGNETIC_FIELD_NORM,1566508293698,54.03041076660156,                                                      
D1,ACCELERATION_NORM,1566508291924,9.627486228942871,                                                      
D1,ACCELERATION_NORM,1566508292315,9.70956802368164,

标头显示文件内容为 deviceId、数据源(正在报告的传感器)、时间戳(以毫秒为单位)、标量(传感器值)和向量(当前未使用)。

要找出正确的格式,时间戳有点复杂。该值不是以秒为单位,而是以毫秒为单位。在 Jupyter 笔记本中,您将执行如下操作,其中 pd 是 pandas 包。

pd.Timestamp(timeStampVariableHere, unit='ms', tz='US/Eastern')

我们需要在 Jupyter Notebook 中安装以下库:pandas、matplotlib、io、base64、IPython 和 ipywidgets。使用的笔记本的示例会话附加到项目的程序文件部分。

import ipywidgets as widgets                                                      
import numpy as np                                                      
import pandas as pd                                                      
import matplotlib.pyplot as plt                                                      
import io                                                      
import base64                                                      
from IPython.display import display                                                      
from IPython.display import HTML                                                      
from ipywidgets import *

我们首先使用 pandas 加载数据

df1_1=pd.read_csv("DataPATH\\recording_session_5d5e5a275ba70e00014f9048.csv")                                                      
data_counts1_1 = df1_1['dataSource'].value_counts()                                                      
print (data_counts1_1)

打印显示每个传感器记录的数据点数,如下所示

GYROSCOPE_NORM                14119                                                      
WORLD_ACCELERATION_NORM        8824                                                      
ACCELERATION_NORM              8824                                                      
MAGNETIC_FIELD_NORM            8298                                                      
SOUND_LEVEL                    3525                                                      
PRESSURE                       3319                                                      
PROXIMITY                      3319                                                      
VISIBLE_SPECTRUM_LIGHTNESS     3319                                                      
HUMIDITY_TEMPERATURE           3319                                                      
IR_SPECTRUM_LIGHTNESS          3319                                                      
HUMIDITY                       3319                                                      
Name: dataSource, dtype: int64

以下函数使用 label 参数过滤数据,如下例所示。将标签设置为 SOUND_LEVEL 调用 prepareData 函数,数据范围为点 500 到点 800。Pandas 通过 dataSource 列过滤数据并选择数据范围。

def getRangeData(data, columnLabel, dmin = 0,dmax = 0):                                                      
 if (dmin == 0 and dmax == 0):                                                      
     retdata = data[[columnLabel]]                                                      
 elif (dmin == 0):                                                      
     retdata = data[[columnLabel]][:dmax]                                                      
 elif (dmax == 0):                                                      
     retdata = data[[columnLabel]][dmin:]                                                      
 else:                                                      
     retdata = data[[columnLabel]][dmin:dmax]                                                      
 return retdata           
                                                     
def prepareData(label,dmin = 0,dmax = 0):                                                      
 global df1_1                                                      
 global data1_1                                                      
 global sdata1_1                                                      
 sdata1_1 = df1_1[df1_1['dataSource'] == label]                                                      
 data1_1 = getRangeData(sdata1_1,'scalar',dmin,dmax)           
          
                                                     
label ='SOUND_LEVEL'                                                      
prepareData(label,500,800)

下面是一组图表,描述了我们早上开车第一个小时的驾驶概况。

您会注意到 Gyroscope_Norm 在开始和结束时显示了一些峰值,这些峰值表示城市驾驶有硬转和软转;接近 0 的部分描绘了高速公路行驶,几乎没有变道,几乎没有转向。

还要注意环境指标:温度、声音和可见光。声源是广播新闻,平均分贝为 55 分贝。机舱温度逐渐降至舒适的 22 摄氏度,室外温度为 26 摄氏度(炎热的早晨)。终于,清晨通勤,没有出现日出,光线感应器接近黑暗。

 
poYBAGNiBZiAFuvLAADZq67_PDY879.jpg
早游
 

下午的通勤时间也差不多,开始是市区行驶,高速公路上稳定行驶。接近传感器证实了很少的硬转弯。

噪音水平也设置为标准对话和新闻广播。温度需要一段时间才能降低到 29 摄氏度。光照显示显着增加至平均 800 度,在阳光明媚的开始和之后的云层中达到峰值。

 
poYBAGNiBZqAZymhAADWvF2rVqY810.jpg
下午旅行
 

仔细查看要绘制的点数较少的图。这是我离开车道并开始穿过社区街道后的示例。请注意,接近传感器上接近 2.5 厘米的较低峰值与陀螺仪上的变化相匹配,这在这些情况下表明是一个硬转弯。

 
pYYBAGNiBZ-ATRi1AADeQ3Du0TI751.jpg
早上200分
 

下午通勤的情况也是如此,从工作的车库里出来。

 
poYBAGNiBayAaGQtAADJbRLVWxQ432.jpg
下午200分
 

这是一个关于陀螺仪指标和接近传感器如何一起显示方向盘硬转的小动画。接近传感器在转动方向盘时改变值并与信号知道或光杆对齐。在这一点上,我们知道方向盘已经改变了至少 90 度,这意味着一个急转弯。

陀螺仪上的值越高,转弯越剧烈。

距离传感器
 

此图同时显示 Gyroscope_Norm(蓝色)和 Proximity(橙色)传感器值。当接近传感器碰到灯或雨刷杆时,请注意软转向开始,然后转向超过 90 度。

 
poYBAGNiBbCAGW8UAABBdj0MQQA965.jpg
软转
 

下面是另一个示例,但这次注意到陀螺仪值的变化更快,这表明急转弯(方向盘的快速运动),以及接近传感器的变化更突然。

 
poYBAGNiBbKAZp2wAAB2jcbbMIg731.jpg
 

最后,下图显示,当没有转动时,接近传感器仍然指向中心面板,并且陀螺仪上没有记录到剧烈变化。这显示了高速公路驾驶。

 
poYBAGNiBbWAXTmFAAAgsOkbyPM244.jpg
 

请记住,所有这些图表都是使用 Jupyter Notebook 界面中的 matplotlib 绘制的。

驾驶应用

驾驶应用程序正在开发中,并将向相关方(父母、警察、消防部门等)通知危险驾驶。SmartEdge 设备将推断驾驶员行为可能出现的危险情况,并提醒驾驶员和上述各方。

我的衣服准备好了吗?

最后,正因为我们可以,而且预览直播数据是如此容易。我们将 AVNET SmartEdge Agile 设备连接到我们的旧烘干机并运行旋转循环。从下图中可以看出

 
poYBAGNiBbiAfSaPAABx3VRw86U300.jpg
干燥循环和结束循环
 

结论

分析来自方向盘和烘干机的数据只是 Avnet SmartEdge Agile Brainum 应用无限可能的第一步。通过可以收集的数据,包括接近度、加速度、角速度、光和声音,我们可以利用这些信息将其应用于现实世界并进行研究,以使汽车更安全,让日常机器更方便使用。

如果可以公开更多指标(例如 ROTATION 和 MOTION),这也将非常有用,我们无法订阅这些指标。

最后,人工智能模型的创建留给使用特定指标来推断已定义规则,如果我们能够决定使用哪些指标进行训练,以及在原始数据上找到模式的分析工具,这将是一个巨大的帮助。

谢谢阅读。


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

评论(0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !