传感器的数量在整个地球表面和人们生活周遭空间激增,提供世界各种数据讯息。这些价格亲民的传感器是物联网(IoT)发展和我们的社会正面临数字化革命,背后的驱动力。

然而,连接和获取来自传感器的数据并不总是直线前进或那么容易,以下有5个技巧以协助缓解工程师与传输接口到传感器的第一次战争。

技巧1―先从总线工具开始

第一步,工程师应当采取首次介接到传感器时,是透过一个总线工具的方式以限制未知。一个总线工具连接一台个人计算机(PC),然后到传感器的I2C、 SPI或其他可让传感器可以“说话”的协议。与总线工具相关的PC应用程序,提供了一个已知与工作来源用以发送和接收数据,且不是未知、未经认证的嵌入式微控制器(MCU)驱动程序。在总线工具的工作环境下,开发人员可以传送和接收讯息以得到该部分如何运作的理解,在试图于嵌入式等级操作之前。

技巧2―在Python编写传输接口码

一旦开发者已尝试使用总线工具的传感器,下一步就是为传感器编写应用程序代码。并非直接跳到微控制器的代码,而是在Python编写应用程序代码。许多总线 工具在编写脚本(writing scripts)配置了插件(plug-in)和范例码,Python通常是随着.NET中可用的语言之一。在Python编写应用程序是快速且容易的, 其并提供一个方法已在应用程序中测试传感器,这个方式并未如同在嵌入式环境测试的复杂。拥有高层级的代码,将使非嵌入式工程师易于挖掘传感器的脚本及测 试,而不需要一个嵌入式软件工程师的照看。

技巧3―以Micro Python测试传感器

在Python写下第一段应用程序代码的其中一个优势是,透过调用Micro Python,应用程序调用到总线工具应用程序编程接口(API)可易于进行更换。Micro Python运作在实时嵌入式软件内,其中有许多传感器可供工程师来了解其价值,Micro Python运作在一个Cortex-M4处理器,且其是一个很好的环境,以从中为应用程序代码除错。不仅是简单的,这里也不需要去写I2C 或SPI驱动程序,因为它们已被涵盖在Micro Python的函式库中。

技巧4―利用传感器供货商代码

任何可以从传感器制造商“搜括”到的范例码,工程师需要走一段很长的路才能了解传感器如何工作的原理。不幸的是,许多传感器供货商并非嵌入式软件设计的专家,因此不要期待可以发现一个可投入生产的漂亮架构和优雅的例子。就使用供货商代码,学习这部分如何运作,之后重构的挫折感将出现,直到它可以被干净利索地整合到嵌入式软件。它可能如“意大利面条般(spaghetti)”开始,但利用制造商对其传感器如何运作的理解,在产品推出之前,将有助于减少许多得 被毁掉的周末时间。

技巧5―使用一个传感器融合函式库

机 会是,传感器的传输接口并不是太新,且先前没有人这么做过。已知的所有函式库,如由许多芯片制造商提供的“传感器融合函式库”,以协助开发人员快速掌握、 甚至更好,更可避免他们陷入重新开发或大幅修改产品架构的轮回。许多传感器可以被整合至一般类型或类别,而这些类型或类别将使驱动程序顺利被开发,若处理得当,几乎是普遍或是少可重复使用。寻找这些传感器融合函式库,并学习它们的优点和短处。

最后的想法

感测器被整合至嵌入式系统时,有许多方式可以帮助提高设计时程和易用性。开发者在开始设计时,透过一个高层次抽象概念,以及在把传感器整合进一个较低等级的 系统之前,学习传感器如何运作,就绝对不会“走错路”。今天存在的众多资源将可协助开发人员“旗开得胜”,而无须从头开始。

python如何获取传感器数据_连接获取传感器数据的几大方法相关推荐

  1. 【心率传感器与Arduino连接读取心率数据】

    心率传感器与Arduino连接读取心率数据 前言 脉冲传感器引脚 脉冲传感器模块如何工作? 脉冲传感器模块组成 关于脉冲传感器模块的常见问题 脉冲传感器模块电路图 Arduino 心率传感器 - 连接 ...

  2. Android 获取蓝牙列表,连接并发送数据

    今天分享一个获取蓝牙列表,连接并传输数据的功能 class BlueToothActivity : BaseActivity(), ICBlueTooth.IVBlueTooth{override v ...

  3. 快速获取csv数量_【数量技术宅|数据爬虫系列分享】如何获取免费的数字货币历史数据...

    更多精彩内容,欢迎关注公众号:数量技术宅 数字货币历史数据的重要性 以BTC.ETH为代表数字货币作为一个新兴市场,散户参与度高.市场效率低,表现在价格上时常会走出高波动率,和一大波的趋势行情.相比较 ...

  4. MODIS数据_从获取到应用

    目录 概述 一.MODIS数据下载 MODIS数据 产品选择 下载步骤 二.MODIS数据处理 MRT 三.ArcMap 面积制表 步骤 原理 总结 概述 基于A省shp地图,获取MODIS相关数据, ...

  5. 改变定时器获取传感器频度_称重传感器在高速定量分装系统的应用

    高速定量分装系统由微机控制称重传感器的称重和比较,并输出控制信号,执行定值称量,控制外部给料系统的运转,实行自动称量和快速分装的任务. 系统采用MCS-51单片机和V/F电压频率变换器等电子器件,其硬 ...

  6. python电商项目介绍_电商大数据项目-推荐系统实战(一)

    本项目是基于Spark MLLib的大数据电商推荐系统项目,使用了scala语言和java语言.基于python语言的推荐系统项目会另外写一篇博客.在阅读本博客以前,需要有以下基础: 1.linux的 ...

  7. f12获取网页文本_怎么获取网页源代码中的文件?

    展开全部 易语言如何取网页源码: 1.首先,运行"易语言"主程序,弹出"新建工程32313133353236313431303231363533e4b893e5b19e3 ...

  8. python创建类统计属性_轻松创建统计数据的Python包

    python创建类统计属性 介绍 (Introduction) Sometimes you may need a distribution figure for your slide or class ...

  9. js如何获取jwt信息_如何获取有价值的信息

    信息时代的重要特征,就是信息增加的速度与传播速度相对过去有了质的飞越.但随之而来的问题也出现了,信息的噪音(无价值信息)爆炸性增长,真正有价值的信息迅速被信息噪音淹没,因为有价值的信息永远是线性增长的 ...

最新文章

  1. ios采用什么技术_在不锈钢技术成熟的今天,为什么汽车不采用呢?不仅仅是价格问题...
  2. 差分 c语言,c语言 bmp位图差分
  3. 2017视频监控趋势的一些思考
  4. java web filter标签是什么,Java Web:5.Filter
  5. 标 题: 腾讯面试题目(PHP程序员)
  6. P5022-旅行【基环树,dfs】
  7. 社群系统ThinkSNS+ V2.2-V2.3升级教程
  8. git学习-fetch命令
  9. Android Bitmap 载入与像素操作
  10. linux 扫描开放的端口命令,在Linux中,如何检查开放的端口(扫描)
  11. dmitry -iwnse yuming
  12. 如何快速将MKV格式转换成MP4高清电影格式?
  13. 听说你想学Python爬虫?我从零教你啊
  14. 【校招篇】招聘季来临,金三银四你准备好了吗?
  15. Qt学习笔记之Qt软件的打包发布
  16. 多机器人系统仿真平台(摘要与目录)
  17. 液晶面板里面有些什么配件_一个手机的液晶总成都包含什么部件?
  18. 助记符表示指令功能的计算机语言,计算机语言分类.doc
  19. matlab神经网络过拟合,BP神经网络过拟合问题
  20. 利用python实现一个简单的表白程序

热门文章

  1. 产品经理你有自己的方法论吗
  2. linux scp涉及到权限,linux系统中scp命令的用法(Permission denied排错二例)
  3. Android xml 属性大全
  4. EMC——辐射测试总结
  5. 我们这个时代,寒门再难出贵子
  6. 解决ios H5微信支付不能跳回App的问题
  7. Android Studio 获取经纬度
  8. 【selenium3+JAVA】界面自动化测试教程(一)——浏览器启动之firefox浏览器的启动
  9. 【问答】excel使用过程中,出现:无法清空剪帖板,另一个程序可能仍在使用剪贴板
  10. Kotlin 主构造函数与次构造函数的理解