前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >【IoT迷你赛】走廊照明助手

【IoT迷你赛】走廊照明助手

原创
作者头像
jegbrother
修改于 2019-08-22 02:04:17
修改于 2019-08-22 02:04:17
73600
代码可运行
举报
文章被收录于专栏:腾讯云IoT腾讯云IoT
运行总次数:0
代码可运行

首先非常感谢腾讯云IoT团队给到的体验资格,没想到毕业以后,我还以有机会玩单片机。最近刚搬家不久,刚好新的出租屋有一个辅助照明的需求,而我拿到了E53_SC1模块,注定这个需求要由我亲自操刀,既能省钱,又能装X。

背景:

由于客厅的电灯开关只在门口有一个,所以晚上当我们要熄灯休息的时候,就不得不摸黑走过客厅和走廊。而人眼在关灯时有一个暗适应的过程,大于需要1分钟,所以这段路我们不得不和黑暗斗志斗勇,避免撞到客厅的家具,尤其是转角处的风扇,现在深圳的天气,风扇可比我们的小命还珍贵呢。

关灯后的闯关之路
关灯后的闯关之路

解决方案:

通过TOS获取环境光的强度,一阶运算得到变化值,当变化值大于云平台下发的阈值时,点亮LED,为环境提供6秒的照明。其他的暗光声明下,如果仍需照明,则需触发光电开关。整体的系统架构如图:

辅助照明系统
辅助照明系统

为了兼顾实时性与准确度,共取20组检测数据:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#define STORAGE_NUM 20
static int szBH1750Brightness[STORAGE_NUM]={0};
static int iIndex = 0;
	
void environment_light_detect(void)
{
	g_iBH1750 = (int)Convert_BH1750();
	if(g_iBH1750>100)return;	// 环境光大于100肯定是干扰
	if(iIndex<STORAGE_NUM)
	{
		szBH1750Brightness[iIndex++]=g_iBH1750;
	}
	else
	{
		for(int i=0;i<STORAGE_NUM-1;i++)
		{
			szBH1750Brightness[i]=szBH1750Brightness[i+1];
		}
		szBH1750Brightness[STORAGE_NUM-1]=g_iBH1750;
	}
}

检测过程中,基准值取前15次检测结果的平均值,而最近5次的均值做为当前的环境光强。基准值减去当前的光强大于阈值10(适用于我家的客厅,该阈值在云平台下发,以适应不同的场景),则命中辅助照明策略。去噪的方法是,当光强大于100时,认为受到了包括但不限于卧室灯、手电、系统的LED灯的光线干扰,不会记录数据。

云平台是一个天然的日志系统,当需要根据数据来调参时,推荐在云平台查看历史数据。

正常情况下,6秒钟足够我们从客厅走到卧室门口。但是反过来,当我们夜里起来到客厅喝水时,环境光的变化并不会命中辅助照明策略。此时由光电开关发挥作用,当环境光强低于30时,只要我们路过光电开关,就会自动打开15秒的照明。光电开关模块是E18-D80NK,ADC通道1采集光电转换数据,TOS tiny已经支持了ADC1初始化。这里贴上采集的代码:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
int Convert_E18D80NK(void)
{
	unsigned int iADC1Value = 0;
	/* 启动AD转换 */  
	HAL_ADC_Start(&hadc1);
	/* 等待AD转换结束 */  
	HAL_ADC_PollForConversion(&hadc1, 50);
	/* 检查常转换是否完成 */  
	if(HAL_IS_BIT_SET(HAL_ADC_GetState(&hadc1), HAL_ADC_STATE_REG_EOC)) 
	{
		/* 获取AD转换值 */
		iADC1Value = HAL_ADC_GetValue(&hadc1);
		iADC1Value = iADC1Value*3300/4096;	// 转换成电压
		//printf("HAL_ADC_GetValue : %d\r\n",nADC1Value);
	}
	return iADC1Value;
}

整个系统将安装在客厅转角处,实物图如下:

系统实物图
系统实物图

实际的应用效果:

效果实测
效果实测

结束语:

在TOS的框架下,搭建整个应用非常方便快速,和硬件打打交道即可搭建自己的应用。云平台的接入和使用也没有遇到什么难度,比我在学校使用的某物联平台方便很多。系统使用几天后,家里的小伙伴们已经从新鲜就成习惯,希望IOT团队早日推出高性价比、稳定安全的IOT服务,让平台为更多的人带来便利。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
原型设计用得最多的是PS吗?该如何画原型?
在产品开发的前期工作中,产品经理或设计师通常需要进行原型设计工作,创建一个可交互和可视化的原型,以更准确地表达他们的设计构思和想法,并为项目顺利递交给开发人员做好准备。进行原型设计时,使用设计工具来画原型图是最高效的方式。
奔跑的小鹿
2023/07/04
5370
原型设计用得最多的是PS吗?该如何画原型?
线框图?原型图?为何傻傻分不清楚
首先,我们需要搞清楚的一点就是线框图不是真正意义上的原型。许多设计师和产品经理,甚至是经验丰富的设计大牛往往也很容易混肴这些专业术语。什么是线框图?什么是原型?什么时候使用线框图?什么时候使用原型? 我们都看过小说,小说呈现给我们的只是文字表达,由作者赋予的人物形象。我们常常在语文考试中都会这样回答“本文中的人物形象生动、鲜明”,这里的“生动”指的只是我们通过作者的视角想象出来的,我们并没有看过真实的人物。但当这部小说被拍成电影或电视剧,导演根据自己的理解选角,演员们赋予了他们鲜活的生命,这就是原型,小
奔跑的小鹿
2018/03/16
8540
线框图?原型图?为何傻傻分不清楚
软件原型设计工具有哪些?
原型设计是将想法转变为设计过程中至关重要的一环。经常有设计师小伙伴可能会问到,“哪个原型设计工具是最好的呢”?实际上这是一种错误的提问方式,尤其是在当下原型工具种类繁多,针对不同需求各有优势的大环境中更加如此。就设计师而言,更在意的应该是“哪个原型设计工具对我现阶段的目标是最好的”?在这里,笔者列出了在3种常见场景下最合适的原型图设计工具的推荐清单,希望对你有所帮助。
奔跑的小鹿
2021/06/02
1.4K0
一篇文章带你摸清高保真、低保真原型间的区别
那么在产品设计中,我们应当选择低保真原型还是高保真原型?两种原型的使用场景又是什么?小摹对此都做出了相应的分析,一起来看一下吧!
奔跑的小鹿
2022/02/08
1.8K0
一篇文章带你摸清高保真、低保真原型间的区别
12345,教你画好线框图
线框图是一种低保真度的设计原型,在去除所有视觉设计细节之下,进行页面结构、功能、内容规划。线框图对于产品的作用就如同建筑蓝图,在项目的初始阶段规定好产品各方面的细节,作为整体项目说明,因为绘制起来简单、快速,也经常用于非正式场合,比如团队内部交流。可以说线框图是产品流程中不可或缺的一部分,那么本文就通过两个定义、三个优点、五步流程、四个技巧、一款工具,来详细介绍线框图。
奔跑的小鹿
2019/01/24
9050
12345,教你画好线框图
强烈推荐!2018最受欢迎的8款产品原型工具
工欲善其事必先利其器。作为一名产品经理,如何才能快速地设计一款产品?一款优秀的产品原型工具必不可少。如何才能选择一款适合自己的原型工具呢?小编特意整理了8款工具以供参考,并从学习曲线,性价比,功能优缺点等方面进行了简单的介绍。希望能够帮助大家挑选一款称心如意的工具,提高工作效率。
奔跑的小鹿
2019/01/24
3.6K0
强烈推荐!2018最受欢迎的8款产品原型工具
从0到1教你画原型图
相信很多刚入行的产品新人,接到的第一项工作任务就是针对公司产品需求画一份原型图出来,怎么样才能顺利的完成任务呢?
奔跑的小鹿
2022/03/16
1.4K0
从0到1教你画原型图
智能设计新时代:5款强大的AI原型设计工具推荐
随着人工智能生成内容(AIGC)相关研究的突破,人类社会正面临一个全新的转折点。诸如多模态、可控扩散模型和大型语言模型等技术正在直接改变创意设计领域的生产过程。
奔跑的小鹿
2023/06/26
13.6K0
智能设计新时代:5款强大的AI原型设计工具推荐
产品原型在工作推动中重要作用
从早期接触互联网产品相关工作,最初在需求传递的整个流程中,我们将想法页面上形成草图,表现形式上看到的是一系列由图片占位符、文字、线框、按钮等元件组成作为一个静态页面呈现。随着需求传递过程中沟通成本的提升,需求细节的严谨性、在与UI/UE的沟通中,需要对表现层之下按钮、布局、交互和元素的位置,进行优化设计布局,以达到这些元素在页面上的最佳体验效果,让用户在需要的时候,用户如何到达某个页面能快速找到所需位置,并且在他们在当前页面完成任务后,快速给出反馈和需要去的下一个页面这是产品需要思考的路径。
奔跑的小鹿
2022/12/20
6280
产品原型在工作推动中重要作用
超全面的 UI 工作流程指南(二):原型设计
本篇为工作流程第二节:原型设计。上期回顾:《超全面的 UI 设计工作流程指南(一):需求分析》
奔跑的小鹿
2021/01/15
2.4K0
超全面的 UI 工作流程指南(二):原型设计
基于用户需求,打造原型设计工具中的卓越用户体验
随着互联网的发展,产品设计需求也随即增多,市面上的原型设计工具都差不多,呈现差异化是当前原型工具从竞争中脱颖而出的关键。
奔跑的小鹿
2022/09/20
7660
基于用户需求,打造原型设计工具中的卓越用户体验
产品经理该不该画高保真原型图?深挖需求场景与解决方案
原型图绘制是每位产品经理绕不开的基本功,通过可视化的形式展现产品功能设计与页面交互逻辑,同时也是连接团队沟通协作的重要成果。但“产品经理到底该不该画高保真原型图”这个话题,一直以来都存在争议。有人认为这是UI设计师的活,产品只需画草图表达逻辑;也有人坚持认为,高保真原型才是真正能推动项目向前的关键。
产品大余
2025/06/17
1290
产品经理该不该画高保真原型图?深挖需求场景与解决方案
原型对接工作流!摹客iDoc全面支持Mockplus、Axure原型
这是UPA(国际用户体验专业协会)发布的完整产品用户体验设计流程图,画面看起来蜿蜒曲折,像极了现实中设计开发流程的繁复难言,从开始走到流程结束的人,自然是最苦逼的产品经理。然而,画面呈现的复杂度和产品经理现实中水深火热的处境相比,可谓冰山一角。
奔跑的小鹿
2019/06/14
8030
B端原型设计太复杂?看这一篇轻松入门
近年来,B端市场前景展现广阔,B端产品经理也成为了炙手可热的高薪岗位。作为负责管理和推动B端产品开发和生命周期的负责人,B端产品经理在企业市场中发挥着重要作用,因此他们往往也是具备全局能力框架的专业人员。
奔跑的小鹿
2023/07/12
1.2K0
B端原型设计太复杂?看这一篇轻松入门
一句话评述8个最热的原型工具
早在十年前,要是提到原型工具,大概也只有笔纸和白板了。现如今,原型工具如雨后春笋般涌出,形式也各样,有在线的,也有桌面端的,让人目不暇接。今天小编就为大家吐血整理了今年夏天最热的8款原型工具。 1.
奔跑的小鹿
2018/03/16
1.1K0
一句话评述8个最热的原型工具
工欲善其事必先利其器——产品篇
善其事,关键在于搞明白产品经理相关的工作内容,针对工作,合理有效的利用软件,才能达到事半功倍的效果。
雪雁-心莱科技
2018/12/27
4980
16款值得一用的iPhone线框图模板 (PSD & Sketch)
在任何网站或移动应用设计的过程中,线框图作为设计元素和功能的图示,它有助于帮助定义和更好地传达信息层次结构,让参与设计和开发的人员更好的理解设计师的思路和设计的功能点。
奔跑的小鹿
2019/01/24
2.1K0
16款值得一用的iPhone线框图模板 (PSD & Sketch)
原型设计的重要性你真的知道吗?
一个好产品的诞生,必定离不开原型设计。原型设计是整个产品开发中最重要的, 并且确定了整个软件的方向,重要性就和建筑师的设计图一样。 “很难想象一个没有原型的产品是如何诞生的。原型设计的核心目的在于测试
奔跑的小鹿
2018/03/16
1.1K0
原型设计的重要性你真的知道吗?
2020年UI设计师必备工具清单
UI设计师一直是IT行业最热门职位之一,因其薪资待遇较高,学习门槛较低而广受欢迎。在百度指数搜索“UI设计”来看,从2012年开始,UI设计的搜索呈明显上升趋势,尤其是在2016年左右出现“井喷式”增长。
奔跑的小鹿
2020/03/20
1.8K0
2020年UI设计师必备工具清单
9款原型设计工具与Sketch的强强组合,轻松构建交互原型!
原型设计的发展历史经历了纸上原型、静态线框设计、到现在的可交互式原型。作为设计过程中最初始的阶段,设计师们对原型设计的要求也越来越高。因此,如今的原型设计工具格局也发生了很大的变化。
奔跑的小鹿
2019/01/24
3.1K0
9款原型设计工具与Sketch的强强组合,轻松构建交互原型!
推荐阅读
相关推荐
原型设计用得最多的是PS吗?该如何画原型?
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档