一旦洗衣机或烘干机周期开始,用户必须等上一个小时才能完成他们的循环。通常情况下,他们会忘记在电器上登记,所以湿衣服会堆积好几个小时,而干衣服会起皱,导致用户感到沮丧。本项目将向您展示如何设置BeagleBone Green或BeagleBone Black,以便在清洗或干燥周期结束时将警告文本发送给任何手机,以消除这种挫折,您所学习的内容可以应用于任何动作感知项目。
这是一个用物联网(物联网)、加速计、BeagleBone、一些无关的硬件和一些轻量级编程解决的实际问题/解决方案场景。通过遵循这个过程,您将熟悉BeagleBone(绿色或黑色)的工作方式,这样可以激发您对其他应用程序的想象。与此同时,你可能想为自己、你的另一半或朋友做这件事。
让你的设备发短信
考虑到花在手机上的时间,有什么更好的方法来解决分心问题,而不是让洗衣机和烘干机在洗完衣服后发短信呢?本项目不使用机器或交流电源线,说明如何使用加速度计检测机器操作。概念是机器在运行时振动,加速度计用于检测振动的存在与否,以指示循环状态。
在这个项目中,我们既使用了新的wi - fi功能的BeagleBone Green,也使用了BeagleBone Black。BeagleBone是一个非常稳定的面向对象应用程序的平台,它有足够多的通用I/O连接到传感器和扩展板。除了BeagleBone Green的内置无线功能外,设置是相同的,所以它们可以互换使用。
大多数人都没有意识到你可以通过电子邮件发送短信。因此,通过使用Wi-Fi连接BeagleBone并使用电子邮件服务器,我们可以通过电子邮件发送文本。手机服务的运营商提供了一种简便的方法。这和你在邮件中提到的一样:number@insertcarrierhere.com在以下列表中提供:1。
美国电话电报公司(AT&T):number@txt.att.net
t - mobile:number@tmomail.net
Verizon:number@vtext.com
冲刺:number@messaging.sprintpcs.com和number@pm.sprint.com
维珍移动:number@vmobl.com
Tracfone:number@mmst5.tracfone.com
地铁pc:number@mymetropcs.com
提高移动:number@myboostmobile.com
板球:number@sms.mycricket.com
Nextel:number@messaging.nextel.com
欧特尔:number@message.alltel.com
Ptel:number@ptel.com
Suncom:number@tms.suncom.com
Qwest:number@qwestmp.com
美国细胞:number.uscc.net
部件和基本设计
这篇文章的最后给出了一个基本的部件列表,但它主要包括了一个BeagleBone黑色或绿色,一个加速计,一个LED,一个电源开关,以及一些电缆,以及一个USB电池组和两个工业磁铁。
使用BeagleBone Green的texter系统的基本电路设计示意图(单击全尺寸)
图1:使用BeagleBone Green、加速度计、USB电源包和Python代码的texter系统的基本电路设计。(使用数字键方案绘制的图)
我们创建了一个通过磁铁连接到洗衣机或烘干机上的wi - fi功能的盒子,并通过读取它的振动来检测洗衣机/烘干机是否在开启或关闭。有一个CW的工业开关和一个Lumex Opto/组件在芽工业的顶部,让你打开和关闭设备,并提供一个指示关于它的on/off状态。当用户使用洗衣机或烘干机时,他们只需打开设备,然后启动洗衣机或烘干机,在洗衣机或烘干机完成负载后取回衣服时将其关掉。
当设备使用振动时,设计需要考虑到洗衣机和烘干机的循环变化,这可能会使设备误以为电机停止时它就关闭了。这个停止周期通常是30秒。
电源开关和指示灯的图像。
图2(上)
在设备上的“黑匣子”图像。
图2(下)
图2:除了电源开关和指示灯LED(顶部)外,系统实际上是一个位于设备顶部的“黑匣子”(图像源:凯利讯半导体电子)
加速度计图像和BeagleBone绿色。
图3a:在项目箱内,加速度计(左侧红色pc板)和BeagleBone Green(中心,绿色pc板)被连接到盖子上,并有备用。BeagleBone的黑色和绿色变体的主要区别在于,绿色具有内置的无线通信功能。(图片来源:凯利讯半导体电子)
与BeagleBone黑色的棋盘图像。
图3b:棋盘的另一种视图,这一次是BeagleBone黑色,右边显示白色的Wi-Fi适配器。(图片来源:凯利讯半导体电子)
BeagleBone黑色和支持电子产品的图像。
图4:BeagleBone Black和support electronics的另一个角度。底部显示两个工业磁铁和外部电池包使用热胶。(图片来源:凯利讯半导体电子)
为了测量洗衣机/烘干机是否开启或关闭,加速度计测量了所提供的三轴的X轴。这是因为它是最能移动的设备表面的X轴(水平平面):左右移动,上下移动。一个计时器被执行到代码中,以确定洗衣机/烘干机是否停止了1分钟。由于周期变化的时间小于1分钟,它只在没有活动1分钟后发送文本。这确保了洗衣机/烘干机在发送文本之前完成了它的循环。
有一个子程序在10秒内测量出50个读数,对应于每200毫秒的读数。在读取10秒后,子程序返回设备的当前状态。它返回加速度计轴数字是否在范围的基线,这是当设备是第一次打开,洗衣机/烘干机。50的读数进行比较,然后计算,确定轴的值是否在射程内或超出范围。量程值表明该装置不检测振动;因此系统处于待机状态,等待设备启动。
一旦设备检测到振动,模式就被设置为ON,并且周期和定时检测开始。当一个周期结束时,设备的振动读数将进入“范围内”,周期检查模式与1分钟计时器一起启动。如果没有活动,设备将进入完成模式并发送文本。然后,它将返回到备用状态,等待另一个启动。
发短信的部分工作是通过BeagleBone发送电子邮件。由于我们正在使用电子邮件,所以我们需要一个像Gmail这样的电子邮件处理服务来发送电子邮件,这些邮件会被传送到运营商的文本中。要设置这个,您需要一个电子邮件登录,例如,在Python:
指定发送方和接收方,X代表电话号码的数字。
发送方=“youremail@gmail.com”
接收机=“XXXXXXXXXX@vtext.com”
#下面我们创建消息:
header = 'To: ' +接收者+ '\n' + '来自:' +发送方。
身体= '衣服洗好了!'
签名= '-从BBB发送'
#将gmail服务器和端口装入类“邮件”中
邮件= smtplib.SMTP(' smtp.gmail.com ',587)
#运行一个子程序与您的电子邮件登录和口令为您的gmail。
def sendText():
mail.ehlo()
mail.starttls()
mail.ehlo()
mail.login(“youremail@gmail.com”、“密码”)
邮件。sendmail(发送方,接收方,'\n\n' + body + '\n\n' +签名)
mail.close()
运行sendText()函数将发送文本,并将初始化的变量加载到其中。
wi - fi连接
这个项目的Python代码是在BeagleBone内部提供的Cloud9 IDE中编写的,它使用Internet浏览器中的USB连接。默认地址是192.168.7.2:3。一旦使用BeagleBone的Wi-Fi IP地址连接到Wi-Fi,就可以使用PuTTY这样的终端程序SSH到它,并运行Cloud9中生成的Python脚本。输入“ifconfig”到终端,可以通过Wi-Fi连接到BeagleBone的IP地址。
显示Python代码和终端的Cloud9 IDE的屏幕截图。
图5:显示Python代码和终端的Cloud9 IDE的屏幕截图。(图片来源:凯利讯半导体电子)
加速度计连接:
Sparkfun MMA8452Q加速度计由BeagleBone的3.3 V供电,通过I2C进行通信。Python程序将写入配置寄存器,设置数据应该如何显示和配置您想要使用的模式。在这个项目中,我们使用了XYZ模式,在这个模式中,该设备是由I2C进行的,x轴值被转换为g(加速度)。Python程序从加速计的寄存器中读取值,从轮询值到它用来确定其状态的单元的所有数学转换都由Python程序完成。
Sparkfun的MMA8452Q加速度计模块图像。
图6:在XYZ模式中使用Sparkfun的MMA8452Q加速度计模块,x轴的值被转换成g来检测振动。(图片来源:凯利讯半导体)
文本收到:
屏幕截图收到的手机短信。
图7:手机接收文本的屏幕截图。(图片来源:凯利讯半导体电子)
程序通过SSH运行,并使用“Python finalemailcode.py”执行。
下面是Python程序运行的终端截图(源:电子密钥电子):
从终端运行Python脚本的映像。
图8:从终端运行Python脚本显示正在启动的硬件和变量。
显示读数、当前状态和模式。
图9:显示读数、当前状态和模式。
显示设备读取设备振动。
图10:显示设备读取设备振动的含义。
当值返回到范围时,启动1分钟计时器的图像。
图11:当值返回到范围时,启动1分钟计时器。
检查停止振动是一个周期变化还是结束。
图12:检查停止振动是一个周期变化还是结束。
检查计时器,看1分钟是否已经过去。
图13:检查计时器,看是否有1分钟没有活动。
一分钟的图像已经过去,发送文本。
图14:一分钟没有活动,意思是洗完衣服,发短信。
短信项目的其他应用。
这个概念可以适用于任何有运动部分的物体。一些例子包括CNC机器,制造设备,车库门,门和窗户,汽车,微波炉和旋转托盘,甚至是烤面包机。这个名单可以继续下去。希望本教程将为您的下一个动作感知项目提供一个起点。
结论
IoT有许多有用的应用,比如BeagleBone Black(或BeagleBone Green,内置Wi-Fi),现在比以往任何时候都更容易让项目离开地面。在这个例子中,我们已经展示了如何设计一个系统,当洗衣机或烘干机使用BeagleBone、加速计、一些基本硬件和一些有针对性的Python代码完成它的循环时,它会发出文本警报。由此,可以开发许多其他有用的项目。