仪器信息网APP
选仪器、听讲座、看资讯
立即体验
APP内打开
回版面
评论
收藏
点赞
拍砖
举报
取消
发布
当前位置:
仪器社区
>
其他仪器
>
其他仪器综合讨论
>
帖子详情
通过USB-I2C适配器实现物联网功能(源码下载)!
Insp_2e6f7680
2019/07/12
私聊
其他仪器综合讨论
偶然一个机会看到Yeelink这个平台,感觉不错,利用Ginkgo USB-I2C适配器可以读写控制AM2311温湿度传感器以获取环境温湿度,以前已经实现对这个适配器读写控制并在上位机上显示温湿度数据,今天看了下Yeelink的API,不是很复杂,于是就准备将它测的数据上传到Yeelink上;
我将数据上传部分程序封装了下,用起来更简单了,上传数据或者获取数据需要用到的函数如下:
int32_t WINAPI Yeelink_GetApiKey(const char *pUserName,const char *pPassword);
int32_t WINAPI Yeelink_PostData(const char *pDeviceId,const char *pSensorId,const char *pValue);
int32_t WINAPI Yeelink_GetData(const char *pDeviceId,const char *pSensorId,char *pValue);
复制代码
你只需要做以下工作就可以使用这些函数了:
1、在Yeelink注册一个账户,这个是必须的哈;
2、新建设备和传感器,找到设备ID和传感器ID,这个在设备管理里面的URL可以看到;
3、通过Ginkgo USB-I2C适配器获取环境中的温湿度值;
完成以上3个步骤后就可以调用这3个函数,实现将数据上传到Yeelink服务器了。
完整程序如下:
// USB_I2C_AM2321B.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include "ControlI2C.h"
#include "yeelink.h"
int _tmain(int argc, _TCHAR* argv[])
{
int ret,i;
VII_INIT_CONFIG I2C_Config;
uint8_t write_buffer={0};
uint8_t read_buffer={0};
ret = Yeelink_GetApiKey("viewtool","viewtool2013");//输入用户名和密码
if(ret != ERR_SUCCESS){
printf("Get api key error!");
return ret;
}
//扫描已经连接的设备
ret = VII_ScanDevice(1);
if(ret <= 0)
{
printf("No device connect!\n");
return ret;
}
//打开设备
ret = VII_OpenDevice(VII_USBI2C, 0, 0);
if (ret != ERR_SUCCESS)
{
printf("Open device error!\n");
return ret;
}
//初始化设备(硬件控制模式)
I2C_Config.AddrType = VII_ADDR_7BIT;
I2C_Config.ClockSpeed = 100000;
I2C_Config.ControlMode = VII_HCTL_MODE;
I2C_Config.MasterMode = VII_MASTER;
I2C_Config.SubAddrWidth = VII_SUB_ADDR_NONE;
ret = VII_InitI2C(VII_USBI2C, 0, 0, &I2C_Config);
if (ret != ERR_SUCCESS)
{
printf("Initialize device error!\n");
return ret;
}
//循环读取温湿度数据
while(1)
{
uint8_t write_buffer = {0};
//Wake up AM2311 sensor
VII_WriteBytes(VII_USBI2C, 0, 0, 0xB8, 0x00, write_buffer, 1);
//Send out read temperature and huminity command
write_buffer = 0x03;
write_buffer = 0x00;
write_buffer = 0x04;
ret = VII_WriteBytes(VII_USBI2C, 0, 0, 0xB8, 0x00, write_buffer, 3);
if (ret != ERR_SUCCESS)
{
printf("Write data error!\n");
return ret;
}
// Read out temperature and huminity
uint8_t read_buffer = {0};
ret = VII_ReadBytes(VII_USBI2C, 0, 0, 0xB8, 0x00, read_buffer, 8);
if (ret != ERR_SUCCESS)
{
printf("Read data error!\n");
return ret;
}
else
{
double t = ((read_buffer << 8) | read_buffer) / 10.0;
system("cls");
printf("温度值:%.1f ℃\n",t);
double h = ((read_buffer << 8) | read_buffer) / 10.0;
printf("湿度值:%.1f %\n",h);
Sleep(10000);
char StrTmp={0};
sprintf(StrTmp,"%.1f",t);
ret = Yeelink_PostData("9433","14860",StrTmp);//输入设备ID和传感器ID,以及传感器数据
if(ret != ERR_SUCCESS){
printf("Post data error!");
}
sprintf(StrTmp,"%.1f",h);
ret = Yeelink_PostData("9433","14861",StrTmp);//输入设备ID和传感器ID,以及传感器数据
if(ret != ERR_SUCCESS){
printf("Post data error!");
}
}
}
return 0;
}
复制代码
通过Yeelink获取到的数据截图如下:
程序完整工程下载(VS2010):
VC_USB_I2C_AM2321B_Yeelink.rar
相关话题
1
二次元影像测量仪与投影仪有哪些区别?
2
二氧化碳传感器在酿酒厂中的应用分析
3
综合管廊里监测传感器选型
4
常用分光密度仪的要求
5
I2C 总线协议图解
近期热榜
仪器信息网“仪友会”招募令
科学仪器品牌联合“仪器心得”征文活动
【生活中的仪器检测】有奖征文
LC-MS实验瓶颈的突破与优化
热门活动
你身边的赛默飞
宝藏核磁实验室的得力助手征文活动
猜你喜欢
最新推荐
热门推荐
更多推荐
【求助】微量残炭 操作故障
2008/04/09
【求助】如何选购恒电流电解仪
2008/01/18
无线遥控智能LED,wifi智能LED开发实例
原创
2014/03/24
【求购】关于电位滴定仪
2007/09/16
超低电流段码驱动VKL060芯片资料,适用于充气泵LCD驱动等
原创
2024/02/22
专家:您好!我是用ICP-MS来测定TaC中的16种杂质元素含量,目前我有这16种元素的单标准,怎样把这些元素配成混标呢?配的时候要考虑哪些问题
2004/08/03
【仪器心得】东莞恒宇HY-831E可程式恒温恒湿试验机
第十五届原创
2022/11/23
我們的微波爐已經使用了2個月,昨天發現微波爐會發出間斷的響聲,同時顯示屏上也會出現干擾波上下移動,請問為何出現這種情況?謝謝!!
2005/01/10
电缆故障测试仪使用细节大揭秘,助你事半功倍!
分享
2024/11/05
精确测量动作时间的窍门!继电保护测试仪使用指南
分享
2024/11/05
电缆故障排查技巧大公开:轻松避免故障
分享
2024/11/05
喷涂流水线鉴定
分享
2024/11/05
自己的仪器
分享
2024/11/05
充分准备:继电保护测试仪使用前的必备检查清单
分享
2024/11/04
法国SAINT GOBAIN FURON PFD1-210F控流泵波纹管泵/PFA和PTFE/可输送
分享
2024/11/04
法国SAINT GOBAIN圣戈班8392BV3波纹管泵光导传感器 硅/光导纤维/波纹管泵备件
分享
2024/11/04
【仪器检测】洗涤剂中磷含量测定方法探究
第十七届原创
2024/11/01
原始记录和检测报告的空白单元格是否有必要填“/”
求助
2024/11/01
我的小电驴,为什么打开电源开关后,要过2~3分钟才能得到电?
已应助
2024/11/01
记录的修改是不是必须写名字全称,能用名字的首字母代替吗?
讨论
2024/10/30
求助!GB23200.121的液质方法
已应助
2024/10/30
天美GC7900严重拖尾
已应助
2024/10/31
关于固体废物 热灼减率的问题
已应助
2024/10/30
【仪器检测】+酿造醋酸还是合成醋酸?
第十七届原创
2024/10/31
气质有和气相一样的积分事件吗
求助
2019/07/12
普析的火焰原子吸收测铅,测的值比实际值高
求助
2019/07/12
求助土壤饱和导水率和孔隙率的标准?
求助
2019/07/12
举报资料“气相色谱分析农药残留的基质效应及其解决方法”
2019/07/12
求助,关于电子天平不确定度的问题
求助
2019/07/12
烟草检测标准
求助
2019/07/12
论坛福利来一波儿!免费送书了,快来申领~~~
活动
2019/07/12
液相蒸发光检测器色谱图出现倒转峰是怎么回事
求助
2019/07/12
品牌合作伙伴
岛津
日立科学仪器
珀金埃尔默仪器(上海)有限公司(PerkinElmer)
日本电子株式会社
丹纳赫
安捷伦
赛默飞世尔科技
普析通用
欧波同
天美
天瑞仪器
德国耶拿
海能技术
马尔文帕纳科
磐诺科技
上海仪电科仪
梅特勒托利多
聚光科技
莱伯泰科
盛瀚
多宁生物
丹东百特
科哲
卓立汉光
屹尧科技
华谱科仪
宝德仪器
优莱博
HORIBA
布鲁克核磁
举报帖子
执行举报
点赞用户
好友列表
加载中...
正在为您切换请稍后...