如何构建一个RIOTOUS IoT闹钟?

闹钟对于唤醒你是很有用的,但是当它真的让你起床的时候,就不是那么回事了。在这个项目中,我们将构建一个没有重置按钮或显示的RIOTOUS IoT闹钟,而是要求用户在RIOTOUS服务器上玩一个游戏,以关闭大声警报。

示意图

电路图

闹钟是怎么工作的?

起床(即使是大声的闹钟)对我们中的一些人来说是非常困难的。即使你把闹钟放在房间的另一边,也很容易就能跳回床上!然而,如果你在床上超过一分钟,你熬夜的机会可能会更好。所以这个项目的目的不仅是让你起床,而且还挑战你的大脑让你保持清醒!,

该项目由三个主要部分组成:

缤纷的蜂鸣器电路

一个放荡的服务器

MMF2暴乱的游戏

电路非常简单,只包含一个ESP8266模块,一个PIC16F1516,一个蜂鸣器,以及一些外部电路。当PIC第一次打开时,它会执行配置代码,并启动与服务器处理所有IoT通信的RIOTOUS引擎。一旦配置好,PIC将继续等待服务器的两个命令之一:打开警报或关闭警报(这些命令在数组buzzON和buzzOFF中找到)。您可能注意到,命令都以字母D开头;这是因为当数据使用RIOTOUS发送时,第一个字节用于指示正在发送的数据类型。D代表数据(我们将会接收到),R代表重定向(用于允许两个RIOTOUS设备通过服务器通信),而I表示ID赋值。在我们的项目中,我们的警报蜂鸣器有唯一的ID“A”,而我们使用字母而不是数字的原因是它在MMF2中更容易处理。

RIOTOUS服务器本身只是一个带有日志窗口和启动服务器按钮的普通的RIOTOUS服务器。服务器没有其他功能,因为它只会将消息从MMF2游戏传递到RIOTOUS警报。因此,对于这个项目,我们可以重用在我们之前的RIOTOUS项目中使用的RIOTOUS服务器,无线游戏控制器又是;

MMF2的疯狂游戏是这个项目中大部分的魔法。这个应用程序被分成两个框架,第一帧运行报警代码,第二帧包含需要快速思考的大脑游戏。闹钟框架回收了大量的游戏代码,但是已经做了一些改变。MMF2的一个问题是,虽然它是一款很棒的软件,但并不是每个人都喜欢为这种软件付费。因此,这个MMF2项目已经通过使用编辑框进行了配置,因此任何人都应该能够在他们的计算机上使用它(通过运行exe文件),而不需要运行MMF2。但是,如果您希望对程序进行更改,那么您将需要MMF2。

因此,一旦对服务器进行了正确的配置和成功的连接,程序就会不断地将编辑框中输入的小时和分钟与时钟的右侧进行比较。当时间和分钟匹配时,应用程序创建一个子应用程序,其框架被设置为框架2(问题/答案框架)。与此同时,闹钟上的蜂鸣器被打开了,这就导致了一种刺耳的噪音,保证让大多数人起床。当弹出窗口关闭时,主应用程序通知警报关闭,但是弹出窗口不能通过单击交叉关闭,因为这已经被禁用。相反,只有通过正确的10个问题才能关掉闹钟。,

问题/答案系统简单而有效;它们是简单的加法问题,但是你只有5秒的时间来解决它们。首先,在0到99之间生成两个随机数,然后在1到4之间生成第三个随机数。这两个数字加在一起,得到一个答案,而第三个随机数选择一个按钮作为正确答案。其他按钮的随机数在0到200之间,只有点击正确的按钮,分数才会增加。尽管被限制了,这个系统创造了一个非常具有挑战性的小测验,因为在短时间内允许选择正确的答案。如果按下了错误的答案,就会产生一个新的问题,所以随机按下按钮的速度并不比试图确定正确答案的速度快。一旦得分达到10,框架就会自动关闭,而这个关闭是由主应用程序检测到的,它告诉警报自动关闭。

建设

这个项目很容易构造,可以使用多种方法进行。这种方法包括条纹板、面包板、矩阵板,甚至是PCB板。这个项目使用一个PCB来演示在自定义板上的警报的大小。但是,如果不需要定制的电路,则可以使用一个RIOTOUS devboard(参见MitchElectronics)。

虽然在本教程中没有讨论,但是您需要提供一个外部的3.3V源,以及设计一个系统,防止有人在愤怒中断开警报。一种想法是废弃ATX电源的金属外壳,在内部安装电路,然后通过固定的电线(使用所有适当的安全装置和电源管理)提供电力。这样,除非你手头有工具,否则你会一直保持清醒,直到有10个问题被回答!

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180913A0TZPJ00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券