×

使用Bolt设备的火警并向您发送短信和语音电话

消耗积分:0 | 格式:zip | 大小:2.60 MB | 2022-11-17

分享资料个

描述

火警

这个项目是火灾报警系统的例子。当温度超过临界点时,蜂鸣器就会启动,并使用“Tiwilio”向您发送有关温度警报消息和语音呼叫。整个项目是通过使用 Bolt wifi 模块和使用 linux 系统(ubuntu)完成的。

*构建项目的步骤:-

1.连接:-

*首先取蜂鸣器,将正极连接到“0”引脚,将负极连接到“GND”引脚。

*现在拿温度传感器,它有3个引脚。从左到右相应地连接引脚-''3vs3,'A0','GND'。

2.现在将 Bolt wifi 模块连接到电源。

3.现在打开linux服务器(ubuntu),编写下面提到的代码。

*创建linux服务器的步骤:-

正如我在之前的项目中展示的那样,您可以创建 linux 服务器(ubuntu)。

这是我之前项目的链接,还检查了 linux 设置详细信息。

  • 第 1 步:-首先打开 BOLT Cloud 帐户。并在其中打开 API,不要使用您的 API 密钥并打开设备,您可以找到您的 Bolt 设备 ID,它看起来像“BOLTxxxx”。
poYBAGN0NHOAfkgzAABDDhNuZfA988.png
 

接下来单击复制按钮以复制您的 API 密钥。

  • 第2步:-现在安装我提供的软件(VMWarw和ubuntu服务器)并打开它。如果您在安装软件时遇到困难,请点击下面的链接:
pYYBAGN0NHaAGdJcAAB9nrsdN9s702.jpg
 

Digital Ocean Droplet 的替代方案 - 选项 1 | 螺栓物联网

按照以下步骤运行您的第一个 Python 程序。

第 1 步:登录到您的 Ubuntu 服务器(Digital Ocean Droplet)

第 2 步:检查 Python 版本

第 3 步:创建 Python 文件

第四步:运行python代码

  • 第 1 步:登录到您的 Ubuntu 服务器(Digital Ocean Droplet)

首先,使用您的用户名和密码连接到 Ubuntu 服务器,正如我们在前几节中所学到的。

  • 第 2 步:检查 Python 版本

在 Ubuntu 16.04(安装在您的 Digital Ocean droplet 上的 Ubuntu 版本)中,只有 Python-3 可用。要确认 python 的版本,请在终端上执行以下命令。

python3 --version

上面的命令会将 python 的版本打印为类似的东西,

root@boltiot-learning-node:~# python3 --version
Python 3.6.5

现在我们将在 Python 中运行“hello world”程序。让我们看看它的样子。

  • 第 3 步:创建 Python 文件

首先 ssh 进入您在 Digital Ocean 服务器上部署的 Ubuntu 服务器,正如我在上一节中提到的。我们将使用 nano 编辑器来编写 Python 代码,因为 nano 编辑器预装在 Ubuntu 中。

下面给出了要在终端中键入以创建 Python 文件的命令,

sudo nano filename.py

您可以根据自己的选择给出任何名称,但是,请确保它以.py扩展名结尾。在下图中,我正在创建一个文件名为“hello”的空 python 文件。

poYBAGN0NHiAA0FoAAAMp6FP_Oo110.png
 

输入上述命令后按 Enter 键,它将打开 hello.py 文件的 nano 编辑器。你可以在这里编写你的 Python 代码。

之后它将打开并编写我提供的代码并按 ctrl+x 它将保存文件。

  • 第 3 步:-现在输入 sudo python3 hello .py并查看魔法。

笔记:-

在进入之前,设备应该在线(螺栓 wifi 模块)。

poYBAGN0NH-ALBkxAApa888UCz4242.jpg
完成连接后
 

创建 Tiwilio 帐户的步骤:-

第 1 步:在浏览器中打开

第2步:点击Get a Free API Key按钮进行注册。

第 3 步:在注册表格中填写所有必要的详细信息。下面是填写好的注册表单的截图。

poYBAGN0NIKAXV3VAADY2g5yfIE847.png
 

第 4 步:为了验证他们会询问您的电话号码。在下拉列表中选择印度作为选项,然后输入您的电话号码。

pYYBAGN0NIWAYM_4AACfO_tkxv8560.png
 

第5步:点击“产品”,如下图所示,

poYBAGN0NIiAF7jzAAC5GBYtKRA152.png
 

第 6 步:现在通过单击可编程 SMS 和电话号码的两个复选框来启用 SMS 服务,如下所示。

pYYBAGN0NIuAJRArAAC9Sa6X8cI235.png
 

完成此操作后,滚动到屏幕底部并单击“继续”。

pYYBAGN0NI2AOXkAAABmK5iaWr4618.png
 

第 7 步:现在,您需要为您的项目命名。我已将名称命名为“我的项目”。输入项目名称后,单击“继续”。

poYBAGN0NJCAdlM2AABQl_06Mhs897.png
 

第8步:当它要求您邀请队友时,单击“跳过此步骤”。

pYYBAGN0NJKAfx_IAABoSoyKbuM028.png
 

第 9 步:此时应创建您的项目。单击“项目信息”以查看您的项目所需的帐户凭据。

poYBAGN0NJWAVuGUAAByDONBthE168.png
 

第 10 步:您可以在此页面上查看 Account SID 和 Auth token。Auth 令牌默认不可见,您可以单击“查看”按钮使 Auth 令牌可见,如下图所示。复制两者并将它们安全地保存在某个地方。

pYYBAGN0NJiAf6miAACSQgA4aPo568.png
 

第 11 步:从下拉菜单中选择“可编程短信”。现在单击Get Started按钮生成电话号码。

pYYBAGN0NJuAV9z3AACQZR-OOP4553.png
 

第十二步:点击Get a number按钮。

poYBAGN0NJ6Ac2XGAAB5MT8LRA4705.png
 

第13步:然后会出现一个弹出窗口。点击Choose this number按钮。

pYYBAGN0NKCAWtiwAAB3cYODC84698.png
 

第 14 步:然后会出现一个弹出窗口,其中包含最终数字。复制此编号并保存到记事本以供将来参考。

poYBAGN0NKOANX5ZAABkvpR5oPw486.png
 

而已。您已在 Twilio 上成功创建帐户。在下一课中,我们将使用 Bolt Python 库来创建我们自己的 SMS 警报系统。

第 15 步:现在运行 python 代码,然后运行它。您将收到短信和语音电话。

pYYBAGN0NKaAYtQ1AAEFDIKWb8c031.jpg
 

 


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

评论(0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !

'+ '

'+ '

'+ ''+ '
'+ ''+ ''+ '
'+ ''+ '' ); $.get('/article/vipdownload/aid/'+webid,function(data){ if(data.code ==5){ $(pop_this).attr('href',"/login/index.html"); return false } if(data.code == 2){ //跳转到VIP升级页面 window.location.href="//m.lene-v.com/vip/index?aid=" + webid return false } //是会员 if (data.code > 0) { $('body').append(htmlSetNormalDownload); var getWidth=$("#poplayer").width(); $("#poplayer").css("margin-left","-"+getWidth/2+"px"); $('#tips').html(data.msg) $('.download_confirm').click(function(){ $('#dialog').remove(); }) } else { var down_url = $('#vipdownload').attr('data-url'); isBindAnalysisForm(pop_this, down_url, 1) } }); }); //是否开通VIP $.get('/article/vipdownload/aid/'+webid,function(data){ if(data.code == 2 || data.code ==5){ //跳转到VIP升级页面 $('#vipdownload>span').text("开通VIP 免费下载") return false }else{ // 待续费 if(data.code == 3) { vipExpiredInfo.ifVipExpired = true vipExpiredInfo.vipExpiredDate = data.data.endoftime } $('#vipdownload .icon-vip-tips').remove() $('#vipdownload>span').text("VIP免积分下载") } }); }).on("click",".download_cancel",function(){ $('#dialog').remove(); }) var setWeixinShare={};//定义默认的微信分享信息,页面如果要自定义分享,直接更改此变量即可 if(window.navigator.userAgent.toLowerCase().match(/MicroMessenger/i) == 'micromessenger'){ var d={ title:'使用Bolt设备的火警并向您发送短信和语音电话',//标题 desc:$('[name=description]').attr("content"), //描述 imgUrl:'https://'+location.host+'/static/images/ele-logo.png',// 分享图标,默认是logo link:'',//链接 type:'',// 分享类型,music、video或link,不填默认为link dataUrl:'',//如果type是music或video,则要提供数据链接,默认为空 success:'', // 用户确认分享后执行的回调函数 cancel:''// 用户取消分享后执行的回调函数 } setWeixinShare=$.extend(d,setWeixinShare); $.ajax({ url:"//www.lene-v.com/app/wechat/index.php?s=Home/ShareConfig/index", data:"share_url="+encodeURIComponent(location.href)+"&format=jsonp&domain=m", type:'get', dataType:'jsonp', success:function(res){ if(res.status!="successed"){ return false; } $.getScript('https://res.wx.qq.com/open/js/jweixin-1.0.0.js',function(result,status){ if(status!="success"){ return false; } var getWxCfg=res.data; wx.config({ //debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。 appId:getWxCfg.appId, // 必填,公众号的唯一标识 timestamp:getWxCfg.timestamp, // 必填,生成签名的时间戳 nonceStr:getWxCfg.nonceStr, // 必填,生成签名的随机串 signature:getWxCfg.signature,// 必填,签名,见附录1 jsApiList:['onMenuShareTimeline','onMenuShareAppMessage','onMenuShareQQ','onMenuShareWeibo','onMenuShareQZone'] // 必填,需要使用的JS接口列表,所有JS接口列表见附录2 }); wx.ready(function(){ //获取“分享到朋友圈”按钮点击状态及自定义分享内容接口 wx.onMenuShareTimeline({ title: setWeixinShare.title, // 分享标题 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); //获取“分享给朋友”按钮点击状态及自定义分享内容接口 wx.onMenuShareAppMessage({ title: setWeixinShare.title, // 分享标题 desc: setWeixinShare.desc, // 分享描述 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 type: setWeixinShare.type, // 分享类型,music、video或link,不填默认为link dataUrl: setWeixinShare.dataUrl, // 如果type是music或video,则要提供数据链接,默认为空 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); //获取“分享到QQ”按钮点击状态及自定义分享内容接口 wx.onMenuShareQQ({ title: setWeixinShare.title, // 分享标题 desc: setWeixinShare.desc, // 分享描述 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); //获取“分享到腾讯微博”按钮点击状态及自定义分享内容接口 wx.onMenuShareWeibo({ title: setWeixinShare.title, // 分享标题 desc: setWeixinShare.desc, // 分享描述 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); //获取“分享到QQ空间”按钮点击状态及自定义分享内容接口 wx.onMenuShareQZone({ title: setWeixinShare.title, // 分享标题 desc: setWeixinShare.desc, // 分享描述 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); }); }); } }); } function openX_ad(posterid, htmlid, width, height) { if ($(htmlid).length > 0) { var randomnumber = Math.random(); var now_url = encodeURIComponent(window.location.href); var ga = document.createElement('iframe'); ga.src = 'https://www1.elecfans.com/www/delivery/myafr.php?target=_blank&cb=' + randomnumber + '&zoneid=' + posterid+'&prefer='+now_url; ga.width = width; ga.height = height; ga.frameBorder = 0; ga.scrolling = 'no'; var s = $(htmlid).append(ga); } } openX_ad(828, '#berry-300', 300, 250);