仪器信息网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 总线协议图解
近期热榜
迎国庆送壕礼!十月发帖抢大疆云台
【官方邀请】高效液相色谱使用情况有奖调研
喜迎国庆!第十七届原创大赛超级原创日参赛奖励翻倍
丹纳赫四十周年寄语征集领大礼包
热门活动
【售后专场--招聘会】
第三届微课大赛投票进行中ing
猜你喜欢
最新推荐
热门推荐
更多推荐
请问,使用毛细管电泳技术检测复杂体系中的某种微量蛋白(如食品、饲料等)是否可行?检测限和重现性如何?敬请有关专家给出指导。谢谢!
2005/03/24
【求助】银镀层的退镀
2007/07/18
VK2C23是一个点阵式存储映射的LCD驱动器抗干扰能力强段码屏驱动芯片
求助
2024/03/27
LabS滤纸筒是哪家的?电话是?
求助
2012/02/02
请问清洗剂的分析应用什么仪器?有那些分析方法?哪可找到分析标准及相关资料?
2005/04/27
【讨论】请大家给点建议
2008/08/31
我做了种产品,三月份和现在方案基本一样,但是产品有些差别:红外谱图上特征吸收一致,现产品在波数3500左右的宽吸收比过去强一些,薄层色谱都看
2003/08/10
振动速度传感器安装注意事项
原创
2017/06/02
澳大利亚PIES SM5皮带张力检测仪器
分享
2024/10/01
美国Brecoflex SM5皮带张力检测仪器
分享
2024/10/01
德国Rothermundt SM5皮带张力检测仪器
分享
2024/10/01
法国Binder SM5皮带张力检测仪器
讨论
2024/10/01
法国Binder SM5-F带鹅颈管光学传感器皮带张力预载测量装置
分享
2024/10/01
法国MULCO SM5皮带张力检测仪器
讨论
2024/10/01
法国MULCO SM5-F带鹅颈管光学传感器皮带张力预载测量装置
分享
2024/10/01
德国Cleancontrolling白色REM微粒捕集器?41mm罐体直径
分享
2024/10/01
实验室容量瓶、移液管等玻璃器皿检定
求助
2024/09/25
标准溶液该如何配置?
第十七届原创
2024/09/25
微量注射器用移液器检定规程出具证书,带CNAS logo,合理吗?
求助
2024/09/25
关于气相基线高一倍求助
求助
2024/09/24
浅谈培养基的技术性验收
第十七届原创
2024/09/25
如果计量器具较小,校准标签贴不开怎么办?
求助
2024/09/26
【求助】申请CNAS实验室认可,文审阶段老师提出我司的组织机构图中未体现有关部门对实验室的支撑关系。请问如何修改?
求助
2024/09/24
气象色谱仪显示ALS 故障代码 153是什么情况
求助
2024/09/27
气质有和气相一样的积分事件吗
求助
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
布鲁克核磁
举报帖子
执行举报
点赞用户
好友列表
加载中...
正在为您切换请稍后...