没有项目描述

metacloud的Python项目详细描述


metacloud是mbientlab提供的云服务,为传感器数据提供数据存储、可视化和分析。

为了运行本教程中的示例代码,您需要有一个活动订阅。如果需要创建帐户,请按照 关于这个page开始3天免费试用的说明。

安装

使用pip安装metacloudpackage。

pip install metacloud --process-dependency-links

如果要同步来自mbientlab的某个传感器板的数据,请安装附加metawear的包。

pip install metacloud[metawear] --process-dependency-links

用法

安装完所有必需的包后,在您喜爱的文本编辑器中打开一个新的python文件,导入metawearmetacloud 模块,并创建MetaWearClientSession对象。Session构造函数需要几个描述设备的属性 以及您的应用程序:

  1. 固件版本
  2. MAC地址
  3. 型号名称
  4. 识别设备的友好名称
  5. 应用程序名称
  6. 应用修订版

如果没有应用程序名或修订版,只需使用__file__变量作为应用程序名,使用"1.0.0"变量作为应用程序修订版。

fromctypesimportcast,c_char_pfrommbientlab.metacloudimportSessionfrommbientlab.metawearimportMetaWear,libmetawear,parse_valuefrommbientlab.metawear.cbindingsimport*mac="D4:5E:82:E1:15:01"metawear=MetaWear(mac)metawear.connect()libmetawear.mbl_mw_settings_set_connection_parameters(metawear.board,7.5,7.5,0,6000)raw=libmetawear.mbl_mw_metawearboard_get_model_name(metawear.board)model_name=cast(raw,c_char_p).value.decode("ascii")session=Session(metawear.info["firmware"],mac,model_name,"Device #1","metacloud_py_tutorial","1.0.0")

从设备启动数据流并将接收到的值添加到Session对象。在这里,我们将流加速计数据,因此将向前 它指向add_acc_data方法。

# Stream data at 100Hzlibmetawear.mbl_mw_acc_set_range(metawear.board,16.0)libmetawear.mbl_mw_acc_set_odr(metawear.board,100.0)libmetawear.mbl_mw_acc_write_acceleration_config(metawear.board)defdata_handler(ptr):value=parse_value(ptr)session.add_acc_data(ptr.contents.epoch,value.x,value.y,value.z)data_handler_fn=FnVoid_DataP(data_handler)signal=libmetawear.mbl_mw_acc_get_acceleration_data_signal(metawear.board)libmetawear.mbl_mw_datasignal_subscribe(signal,data_handler_fn)libmetawear.mbl_mw_acc_enable_acceleration_sampling(metawear.board)libmetawear.mbl_mw_acc_start(metawear.board)

当您准备好同步数据时,停止加速计,然后使用sync方法将数据推送到metacloud。

# Stop the streamlibmetawear.mbl_mw_acc_stop(metawear.board)libmetawear.mbl_mw_acc_disable_acceleration_sampling(metawear.board)libmetawear.mbl_mw_datasignal_unsubscribe(signal)# Sync to MetaCloud, replace with actual login credentialssession.sync("username","password")

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java窗口。位置和窗口。公开问题   java如何从存储在ArrayList<Node>中的动态生成的文本字段中获取文本?   java如何立即关闭InputStream?   如何重新启动Java程序以激活环境变量   java搜索字符串是否相差一个字符   java CFB模式输出与CTR输出相同;我做错什么了吗?   java如何在javaFX中将实例化对象添加到Stage   java如何在jtextarea上打印来自不同类的文本消息   java以编程方式确定IOException的原因?   限制Java NIO通道(文件或socket)中的可用内容   javajaxb与JDOM:是否可以使用JAXB更新xml文件   批处理文件到java测试   JavaFX:stage的作用是什么。可设置大小(false)是否会导致额外的页边距?   java有没有办法告诉IntelliJ按需堆叠参数?   java Seam会话范围的组件在下一个请求中消失   java Google Web Toolkit对开发复杂的java脚本有用吗?   安卓 studio java ArrayList正在检索最高值   java为什么递归地用随机数填充LinkedList时会出现StackOverflowException?