最近,杭州天天下雨。

清早,睁开双眼,依旧是阴霾霾的天气,窗外下着淅沥沥的小雨。像往常一样,准备洗漱。只感觉,身后一阵风吹过,女友拿着镜子直往窗户那边冲!

此刻,涂鸦“攻城狮”小张脑海中蹦跶出一百个问号???这是什么日常迷惑行为???

原来,今天下雨,由于家中光线太暗,女友为避免眉毛不变成蜡笔小新,腮红不变为日本艺妓,粉底避免刷墙般瘆人,只能去借助大自然的光芒完善自己的妆容。

小张哭笑不得,不得不感叹一句:做女人真难!转念一想,既然需要自然光,那亲自 DIY 一款智能化妆镜肯定能解决女友的“化妆难”烦恼。不得不说:真是个体贴入微的小哥哥呢~

小编似乎闻到一丝丝恋爱的酸臭味~

你以为就这样吗?放心,后面还有一棵柠檬树等着你!

先来瞅瞅这款宝藏“魔镜”~


女神都毫无抵抗力的多功能智能“魔镜”!

01

功能设计

功能 说明
开关 触控按键& App 双控制
灯光模式 冷光、暖光、自然光
调光 无极调光
显示 时间、天气、温度、低电量图标
人体感应 检测到人体灯亮,未检测到人体 60 s后灯熄灭
供电方式 支持有线&无线充电
断电记忆 断电重启后恢复上一次设置(模式&亮度)

02

整体方案

为实现上面的功能,小张说:智能镜的整体搭建方案是选用涂鸦智能的 Wi-Fi&

Bluetooth LE 云模组作为主控方便接入涂鸦云实现 App 端智能控制,搭配灯圈、屏幕、PIR 感应器来实现我们的多种灯光模式、时间显示以及人体感应的功能,另外可以增加一个四路触摸按键实现实体触控控制。

03

硬件方案

主控选择涂鸦 Wi-Fi & Bluetooth LE 双模模组,该模组支持多种通信协议、多种尺寸规格、多种工作温度、多种焊接方式的一系列超高性价比自研模组,广泛应用于各种产品类型和开发方式。

屏幕选择型号为 MF219 2.19 寸集成串口屏,屏幕内置了国标一级、二级简体中文字库和英文 ASCII 字符集,同时开放内部点阵 DDRAM,能够在屏幕上的任意位置显示图片及图形。同时支持 UART 接口方式,接线比较简单;且用户只要几条简单指令就能设计出美观绚丽的用户界面。

触控按键采用 BS814A-1 触摸芯片,BS81x 系列芯片具有 2~16 个触摸按键,可用来检测外部触摸按键上人手的触摸动作。该系列的芯片具有较高的集成度,仅需极少的外部组件便可实现触摸按键的检测。

灯珠:暖光灯珠采用HL-AM-2835H489W-S1-08HL-HR3;冷光灯珠采用HL-AM-2835H421W-S1-08-HR3;另外为实现自然光和无极调光功能增加两颗LED驱动OC7141

人体感应:选用一颗微型人体感应 PIR

供电系统:

整机供电电源芯片:采用两个 SY8089A1AAC 实现,前面一颗芯片可以将 2.5-5.5V 的输入电源稳定到 4.35V 为锂电池充电,后面一颗可以将电池输出电压稳定到 3.3V 为主控、触摸、灯圈、屏幕、PIR 供电。

电池:选用 3.8V 6000mAh 的聚合物电池,可以满足灯圈长时间供电

电量检测:用 CBU 模组的 ADC 引脚实现,通过 ADC 读取电池的电量。

无线充电:无线充电主要由两部分组成,无线充电****模块和无线充电接收模块,我们直接从网上采购。

  • 主控原理图:

戳我查看完整详情开发资料(内附原理图+源代码)。

  • 结构设计:

结构部分由镜面、镜面遮光板、镜面卡、灯罩、灯罩卡、机身、机身底、充电顶、充电底九部分组成。

04

创建产品

登录涂鸦智能 IoT 平台创建产品,点击创建产品,在标准类目栏的最下方找到“找不到品类”,点击进入自定义产品创建页面。(详细创建步骤可参考平台内操作指导)

05

环境搭建

小张说:智能化妆镜是基于 BK7231N 平台进行的 SoC 开发,开发所用的涂鸦通用 SDK 编译需要 linux 环境,首先要安装 linux 开发环境,然后从涂鸦仓库拉取包含 SDK 环境的 Demo 例程 。
注:GitHub 具体地址通过关注“涂鸦开发者”,回复“化妆镜”,即可获取哦~

06

功能实现

  • 触摸按键:在tuya_mirror_key.c文件中,封装了app_key_init()、app_key_scan()两个函数。app_key_init()用于初始化按键IO,app_key_scan()用于扫描按键按下情况获取键值;
  • 屏幕显示:Demo选用的是一个块 2.19 寸集成模块串口屏,光靠屏幕内置的字库和图案所呈现的效果肯定是毫无美感的,我们需要自己准备字符素材,把收集好的图片素材打包为 bin 文件烧录至屏幕模组里即可;其次在例程的 tuya_mirror_screen.c 里面封装了屏幕初始化函数 screen_init() 和各个元素的显示函数: screen_display_time()、screen_display_week()、screen_display_year()、screen_display_day 等,在应用线程中调用时传入获取到的本地时间和日期即可在屏幕上显示出来。
  • 时间和日期获取:要获取本地时间,首先需包含头文件 uni_time.h。定义一个本地时间结构体变量,然后作为传参调用 uni_local_time_get() 接口获取时间
  • PWM 驱动灯板:Demo 使用了一冷一暖两种 LED 灯,通过输出两路 PWM 驱动,实现灯光亮度可调和冷暖色的切换。例程中有关 pwm 的初始化和启动、占空比设置等相关代码都实现在 tuya_mirror_pwm.c 文件中。
  • 人体感应:Demo 还有一个人体感应开关灯光和屏幕的功能,是通过一个 PIR 传感器来简单实现的。该传感器会在检测到人体运动的时候输出高电平,简单易用。直接写一个读取连接传感器 IO 的电平的函数,然后把它放到线程里周期运行,并在读到高电平的时候保存 PIR 状态在设备数据结构体当中,然后另一个线程对设备数据结构体中 PIR 的状态进行判定,当设备打开人体感应功能,且设备总开关处于打开的情况下,PIR 检测到有人的时候将会打开灯光开关,同时启动定时器。当定时器触发进入中断时将会关闭灯光开关。
  • 电量检测及显示:这个功能通过 ADC 采样得到电池电压,再根据电压值预估电池剩余电量,同时把之前屏幕素材收集阶段准备的几张电池图案显示在屏幕上。

07

编译和烧录

在 linux 终端输入指令运行 SDK 环境目录下的 build_app.sh 脚本来编译代码生成固件,指令格式为 sh build_app.sh APP_PATH APP_NAME APP_VERSION:
固件生成路径为:apps->APP_PATH->output 。烧录完成之后就可以进行功能调试了 至此,一款带有多种灯光模式,既可以显示时间,又可以智能感应开关的化妆镜就完成了。

戳我立即 DIY~

你与女神的距离,可能就差这一款多功能智能“魔镜”,立即为她升级美妆“装备”!

宝,这是什么镜?美颜滤镜!相关推荐

  1. android 美颜录像,Android 关于美颜/滤镜 利用PBO从OpenGL录制视频

    前言 上次我写了一遍文章<Android 关于美颜/滤镜 从OpenGl录制视频的一种方案>,里面利用ImageReader来从获取Surface上获取数据,但是经过@熊皮皮的提醒,我发现 ...

  2. 美颜滤镜sdk是什么?

    时下,大家在拍摄人像图片或者视频时都会使用滤镜进行润色,以此提高质感.当然,小编在这里所说的"滤镜"可不是很久之前那种套在相机镜头前的硬件滤镜,而是美颜滤镜sdk,目前已经有许多平 ...

  3. 美颜滤镜SDK有什么效果?美颜SDK可以自主开发吗?

    当下,短视频和直播平台在互联网娱乐APP类中保持着极高的人气,特别是在年轻群体中,甚至已经成了人手必备.如今的年轻人喜欢追求新鲜事物,审美能力也有所提高,对自己外表比较严格,特别是在短视频和直播这种社 ...

  4. OBS美颜滤镜插件,美白、瘦脸....

    分享一个美颜效果还不错的OBS美颜滤镜插件,亲测可以正常使用! 原文来自魔豆TV:OBS美颜插件,OBS美颜软件,美颜滤镜.瘦脸.瘦下巴 - 魔豆TVOBS美颜插件,OBS美颜软件,美颜滤镜.瘦脸.瘦 ...

  5. android 视频美颜代码,Android 关于美颜/滤镜 利用PBO从OpenGL录制视频

    前言 上次我写了一遍文章<Android 关于美颜/滤镜 从OpenGl录制视频的一种方案>,里面利用ImageReader来从获取Surface上获取数据,但是经过@熊皮皮的提醒,我发现 ...

  6. Android视频编辑器(三)给本地视频加水印和美颜滤镜

    前言          在上两篇文章中,我们分别实现了通过OpenGL预览.录制视频,以及在预览和录制的时候加上视频水印和美白效果,而作为一个视频编辑器,当然不仅仅是录制视频,也会有从本地选择视频,然 ...

  7. 美颜滤镜:早已不是简单的磨皮美白

    近几年来,硬件和算法的发展,让美颜多了很多新玩法.有人工智能加持的美颜滤镜,其恐怖程度,恐怕会超出你的想象. 1.人脸识别技术促进了美颜滤镜的发展 在谈论未来的美颜滤镜之前,我们先来简单回顾.总结一下 ...

  8. 美颜滤镜sdk常用的图形处理算法、代码分析

    美颜滤镜sdk目前在视频.图文社交平台中的使用率是非常高的,特别是短视频平台和直播平台.今天小编就为大家讲解一下美颜滤镜sdk经常用到的算法和代码. 一.预处理算法.检测算法 在采集完图像后,首先会对 ...

  9. 常用的美颜滤镜sdk算法

    本文主要介绍常见的美颜滤镜SDK算法,包括 SRGB. HSL. Lab. JPEG. TIFF等.本文不会过多介绍算法原理,只是列举一些在实际项目中用到的滤镜效果,如: 1.色彩空间变换 2.颜色范 ...

  10. 在直播中,美颜滤镜SDK起到了什么作用,是在哪一阶段起的作用?

    美颜,到底是在直播的哪一步骤上场的呢? 这,要从直播软件的工作流程说起 一. 美颜SDK从哪里上场 1. 首先,主播端打开设备(摄像头),采集音视频信息,此时,美颜滤镜SDK开始运转,对视频进行处理 ...

最新文章

  1. GlusterFS下如何修复裂脑文件?(续一)
  2. Laravel 5.5 使用 Passport 实现 Auth 认证
  3. 655. Print Binary Tree 解题报告(树)
  4. 37 windows_37_Thread_InterLock 线程-原子锁
  5. 容斥原理学习(Hdu 4135,Hdu 1796)
  6. 安装npm出现Profile not found.的问题
  7. C++中string构造函数的解析
  8. 平衡二叉排序树(完整案例详解及完整C代码实现)
  9. 用VS.NET2003制作WEB应用程序的安装包
  10. nginx php fpm 日志,nginx下php-fpm不记录php报错日志怎么办?
  11. 解析ajax数据显示到from表单中,jQuery Ajax从另一页上的Form请求中提取数据?
  12. 通俗易懂:说说 Python 里的线程安全、原子操作
  13. Eclipse 中 代码颜色的设置(注释的颜色, 局部变量的颜色, 类变量的颜色。。。 )
  14. springBoot,thymeleaf页面中js使用标签
  15. 安卓平台中的动态加载技术分析
  16. tableau 官方手册 (中文版 pdf)
  17. 使用MySQL Workbench备份和还原数据库
  18. c语言for循环语句试讲,C语言For循环试讲教学教案(7页)-原创力文档
  19. 互联网+智慧公安大数据一体化解决方案
  20. Android自定义进度条拖动,Android之ProgressBar(进度条)和SeekBar(拖动条)

热门文章

  1. JAVA 薪资待遇各城市比较
  2. windows10介绍
  3. RecyclerView基本使用方式
  4. hell的用法和 英语聊天的常见缩写 补充 (收藏)
  5. Render Hell —— 史上最通俗易懂的GPU入门教程(四)
  6. 【OpenCV】132 OpenCV DNN单张与多张图像的推断
  7. [益智]:烧一根不均匀的绳子需要一个小时,如何用它来判断一小时15分?
  8. pythonweb开发实战pdf百度贴吧_Python Web自动化测试入门与实战,从入门到入行
  9. 快速获得CNVD证书
  10. webservice-CXF3.0