查看: 7309|回复: 7

[大赛作品提交] 基于树莓派的智能镜子

[复制链接]

该用户从未签到

发表于 2018-1-11 16:44:44 | 显示全部楼层 |阅读模式
分享到:
本帖最后由 ky123 于 2018-1-31 13:59 编辑

感谢E络盟提供的树莓派看了本次比赛的作品就知道,世界上有同样Idea的人真的是不尽其数,不过每个人的idea最后落实的点也不一样呢,
所以我也就简单的介绍我的比赛项目了~

其实天马行空的想象早已经在电影片段里出现了无数次,钢铁侠的贾维斯,黑镜里的复制人管家,等等等等。

先说一下关于我的想法吧!
1.png
其实在当下市场,把“人工智能”当做万能,诚然,那是我们发展的方向和目标。但是当下的弱智能,其实只是简单地软硬结合。
相当一部分厂商在做所谓的智能家电,家居的产品是,仅仅停留在手机APP超级远程遥控的概念这一步。
远远没有做到当下的需求的那一步,那一步与“人性”逐步结合的第一步。
我设计的产品根据摄像头和麦克风,还有扩音器,侦测人的生活作息以及生活习惯,例如吃药的时间,上班的时间,接送孩子的时间,它会主动的在一定规范里主动了解人,主动告诉用户消息。并能够储存家庭成员不同信息,智能识别使用者的身份,然后交互。

2.png

那么下边就是大概展示一下我的产品吧~
微信图片_20180111163807.jpg
主要把镜子分了三个部分,一个是时间,可语音报时。
右上角是天气预报,会根据天气推荐用户带伞,多穿或其他的人性化信息。
左下角是同步了备忘录以及日程提醒的功能,满足高管等事务繁忙的随时提醒的需求。
微信图片_20180111163820.jpg
每一个部分都可以自主推送语音帮助。
微信截图_20180111163922.png
部分图:
微信图片_20180113112656.jpg
微信图片_20180113112701.jpg
60c8108e28_clip.gif

由于涉及特别深入的技术,开发还需要一点时间来建立技术壁垒。
系统版本:
  1. Linux pi 4.9.41-v7+ #1023 SMP Tue Aug 8 16:00:15 BST 2017 armv7l GNU/Linux
复制代码
时钟Canvas:
  1. var canvas = document.getElementById("clock");
  2.                 var ctx = canvas.getContext("2d");

  3.                 ctx.strokeStyle = 'whitesmoke';
  4.                 ctx.lineWidth = 12;
  5.                 ctx.shadowBlur= 0;
  6.                 ctx.shadowColor = 'white'

  7.                 function degToRad(degree){
  8.                         var factor = Math.PI/180;
  9.                         return degree*factor;
  10.                 }

  11.                 function renderTime(){
  12.                         var now = new Date();
  13.                         var today = now.toDateString();
  14.                         var time = now.toLocaleTimeString();
  15.                         var hrs = now.getHours();
  16.                         var min = now.getMinutes();
  17.                         var sec = now.getSeconds();
  18.                         var mil = now.getMilliseconds();
  19.                         var smoothsec = sec+(mil/1000);
  20.       var smoothmin = min+(smoothsec/60);

  21.                         //Background
  22.                         gradient = ctx.createRadialGradient(250, 250, 5, 250, 250, 300);
  23.                         //gradient.addColorStop(0, "#03303a");
  24.                         gradient.addColorStop(1, "black");
  25.                         ctx.fillStyle = gradient;
  26.                         //ctx.fillStyle = 'rgba(00 ,00 , 00, 1)';
  27.                         ctx.fillRect(0, 0, 500, 500);
  28.                         //Hours
  29.                         ctx.beginPath();
  30.                         ctx.arc(250,250,200, degToRad(270), degToRad((hrs*30)-90));
  31.                         ctx.stroke();
  32.                         //Minutes
  33.                         ctx.beginPath();
  34.                         ctx.arc(250,250,170, degToRad(270), degToRad((smoothmin*6)-90));
  35.                         ctx.stroke();
  36.                         //Seconds
  37.                         ctx.beginPath();
  38.                         ctx.arc(250,250,140, degToRad(270), degToRad((smoothsec*6)-90));
  39.                         ctx.stroke();
  40.                         //Date
  41.                         ctx.font = "25px Helvetica";
  42.                         ctx.fillStyle = 'white'
  43.                         ctx.fillText(today, 175, 250);
  44.                         //Time
  45.                         ctx.font = "25px Helvetica Bold";
  46.                         ctx.fillStyle = 'white';
  47.                         ctx.fillText(time, 175, 280);

  48.                 }
  49.                 setInterval(renderTime, 40);
复制代码
天气预报部分:

直接用python3自带的urllib库和json库即可:

  1. <font face="Tahoma" size="2">import urllib.request
  2. r=urllib.request.urlopen('http://www.weather.com.cn/')
  3. text=r.read()
  4. print(text)</font>
复制代码

上海今天天气预报:http://www.weather.com.cn/weather1d/101020100.shtml#search
将这个代码代入到以下3个网址的任意一个得到不同的天气JSON格式的信息:

http://www.weather.com.cn/data/sk/101020100.html  
http://www.weather.com.cn/data/cityinfo/101020100.html  
http://m.weather.com.cn/data/101020100.html
  1. <font size="2">import urllib.request
  2. import json

  3. ApiUrl= "http://www.weather.com.cn/data/sk/101020100.html"
  4. html=urllib.request.urlopen(ApiUrl)
  5. #读取并解码
  6. data=html.read().decode("utf-8")
  7. #将JSON编码的字符串转换回Python数据结构
  8. ss=json.loads(data)
  9. info=ss['weatherinfo']

  10. print('城市:%s'%info['city'])
  11. print('温度:%s度'%info['temp'])
  12. print('时间:%s'%info['time'])
复制代码
回复

使用道具 举报

  • TA的每日心情
    慵懒
    2020-1-8 17:53
  • 签到天数: 5 天

    连续签到: 1 天

    [LV.2]偶尔看看I

    发表于 2018-1-12 00:28:01 | 显示全部楼层
    freebuf上面的东西吧
    回复 支持 反对

    使用道具 举报

    该用户从未签到

     楼主| 发表于 2018-1-12 11:40:54 | 显示全部楼层
    不知道你说的是啥。。。。我去搜搜。。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    难过
    2021-2-27 22:16
  • 签到天数: 1568 天

    连续签到: 1 天

    [LV.Master]伴坛终老

    发表于 2018-1-17 23:54:42 | 显示全部楼层
    没想到镜子还有着功能,如果科幻点无镜就更美好了
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2018-1-23 13:59:03 | 显示全部楼层
    在吗
    大哥 怎么联系您啊 小弟QQ 624554816
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2021-7-30 11:40
  • 签到天数: 1792 天

    连续签到: 1 天

    [LV.Master]伴坛终老

    发表于 2018-1-31 11:26:25 | 显示全部楼层
    学习一下下,,
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2021-7-30 11:40
  • 签到天数: 1792 天

    连续签到: 1 天

    [LV.Master]伴坛终老

    发表于 2018-1-31 11:27:18 | 显示全部楼层
    正要研究树莓派
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2020-8-9 13:33:05 | 显示全部楼层
    怎么联系到你呢?我是想做这个的公司
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /2 下一条



    手机版|小黑屋|与非网

    GMT+8, 2024-4-19 08:56 , Processed in 0.201059 second(s), 31 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2020, Tencent Cloud.