如何制作基于beaglebone的设备通知Texter ?---凯利讯半导体

  一旦洗衣机或烘干机周期开始,用户必须等上一个小时才能完成他们的循环。通常情况下,他们会忘记在电器上登记,所以湿衣服会堆积好几个小时,而干衣服会起皱,导致用户感到沮丧。本项目将向您展示如何设置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代码完成它的循环时,它会发出文本警报。由此,可以开发许多其他有用的项目。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值