×

Helping Finger开源硬件

消耗积分:2 | 格式:zip | 大小:0.00 MB | 2023-07-13

陈燕

分享资料个

描述

辅助手指的用例:

您家中是否有一个按钮或开关总是令人讨厌(取消)激活?那么,Helping Finger 项目可能正是您问题的完美解决方案。

无论是您想从床上关掉的电灯开关、您想添加到早晨例程中的咖啡机、天花板上难以触及的投影仪,还是您想在回家前几分钟启动的电脑。无论是什么开关或按钮,Helping Finger 都可以随时随地关闭和打开您的设备。Helping Finger 可以通过 Android 应用程序、亚马逊 Alexa、Google Home、IFTTT、iOS 应用程序和三星的 Smart Things 进行控制。

预先信息:

为此,我们需要在“事物”类别中列出一些事物。ESP8266 板将作为项目的核心,一切都将由它来控制。事实证明,选择的 WeMos D1 Mini 非常小,但在此过程中提供了足够的连接。这款 WeMos D1 Mini 有一个 WLAN 芯片,可以设置本地网络,也可以连接到 WLAN 路由器并连接到万维网。

ESP8266 描述了一种廉价的 WLAN 模块,可以控制输入和输出。ESP8266 模块有多种版本,该项目使用 ESP8266-12E NodeMCU Kit 版本和 WeMos D1 Mini 版本成功实现。以下说明重点介绍使用WeMos D1 Mini 的实现,以下简称D1 Mini。有关 ESP8266 的更多信息,请参见此处

D1 Mini 的引脚用于操作伺服电机,该电机将在项目完成后启动您的开关或按钮。

重要的是要记住,持续供电的伺服电机具有很高的功耗并且不能移动。

因此,根据应用,可能值得包括一个继电器,这会在不使用时断开伺服电机的电源,使伺服电机可以移动。这尤其推荐用于电灯开关,否则可能无法再进行手动操作。

如何建立一个帮助手指:

要构建 Helping Finger,必须执行以下步骤:1。让 D1 Mini 运行 2。代码3。连接伺服电机4。打印外壳5。组装所有零件

1. 让 D1 Mini 运行起来

该项目的第一部分是 ESP8266 板的编程。如果尚未安装,可能需要安装开发板的驱动程序。如果使用 D1 Mini 开发板,可在此处找到适用于 Windows 和 Mac 的驱动程序

之后,您可以通过 micro-USB 数据线将 D1 Mini 连接到计算机。

然后您需要为 D1 Mini 准备 Arduino IDE。可以在这个链接下找到一个关于如何做到这一点的很好的教程将 ESP8266-Kit 添加到 File>Preferences 中的 board-manager 很重要,之后您需要在 Tools>Board>Board Manager 中安装 ESP8266 包。

要将代码上传到您的开发板,您需要在工具>开发板>LOLIN(Wemos) D1 R2 & Mini 中选择 D1 Mini。您还需要在“工具”>“端口”中选择正确的端口。如果您不确定 D1 Mini 连接到哪个端口,请打开设备管理器并在端口类别中找到它。

在此之后,您可以将示例代码上传到您的 D1 Mini。为了进行测试,您可以尝试以下代码:

/*********
  Jannis Kartenberg
  Complete project details at: 
  https://www.hackster.io/jannis-kartenberg/helping-finger-b5047f 
*********/

void setup() {
  pinMode(LED_BUILTIN, OUTPUT);
}

void loop() {
  digitalWrite(LED_BUILTIN, LOW);
  delay(1000);                      
  digitalWrite(LED_BUILTIN, HIGH);  
  delay(1000);
}

此代码应使电路板上的内置 LED 以 0、5Hz 的频率闪烁。如果发生这种情况,您就可以进行构建过程的第 2 步了。

2.代码

通过智能家居控制电路板的代码可以在这里下载根据您要使用的智能家居设备,有不同版本的代码,Android App、Alexa、Google Home、IFTTT、iOS App 和 Samsung Smart Things 有一个代码版本,Apple Homekit 有一个代码版本执行。还有一个用于 Amazon Alexa 本地实现的代码版本,但在测试过程中发现了一些问题,使得实现有点困难。未来的目标是将两种代码变体合二为一。

Android App 、Alexa、Google Home、IFTTT、iOS App、Smart Things:

为了实现上面列出的控制您的设备的不同方式,使用服务“ Sinric Pro ”。

首先您需要通过http://portal.sinric.pro/register 创建一个 Sinric Pro 账户。然后您需要在 Sinric Pro 中创建您的设备。为此,您需要执行以下步骤

1.登录您的 Sinric 帐户 2. 转到左侧的设备菜单 3. 单击左上角的添加设备按钮4。输入设备名称,您选择的描述 5。选择设备类型作为开关6. 选择设备所在的房间7。选择设备访问密钥这将在后面的code.8中添加。点击保存

下一步,您可以连接要使用的应用程序。

  • 适用于 Android 和 iOS 的应用程序可以在名为“Sinric Pro”的专用应用程序商店中找到
  • 对于您的 Alexa,您需要添加 Alexa 智能家居技能“Sinric Pro”
  • 对于 Samsung Smart Things,可以在此处找到很好的说明
  • 对于 Google Home,Samsung Smart Things 连接是必需的,因为 Google 不允许本地实现智能家居设备。有关如何在 Google Home 中实施您的设备的说明,请参见此处
  • 有关如何通过 IFTTT 实施设备的说明,请参见此处

将 Sinric Pro 加入您的智能家居后,我们需要将开发板连接到 Sinric Pro。对于此步骤,您需要从 Github 存储库下载“Sinric and Servo”文件夹。

下载后解压文件夹,即可打开“Sinric_und_Servo.ino”文件。在顶部,您会找到项目所需的库。在此下方,您将找到定义区域,您需要在其中包含由 Sinric Pro 提供的信息。要查找此信息,请执行以下步骤:

1.登录您的 Sinric 账户 2. 进入左侧的Credentials菜单 3. App KeyApp Secret复制到 code4 中。转到左侧的“设备”菜单5。将设备 ID复制到代码中

现在通过工具>串行监视器在 Arduino IDE 中打开串行监视器并将代码上传到您的电路板。如果您的上传成功,您可以尝试通过您选择的连接方法将其关闭和打开。一个成功的连接应该是这样的:

pYYBAGSAiPKAYa2yAAA9jZRzFCI614.png
连接成功
 

苹果家庭套件

不幸的是,Sinric Pro 还不支持 Apple Homekit,但还有另一种连接方式。由于我不拥有 Apple 产品,因此我的经验依赖于使用朋友手机测试以下代码的片刻。必要的代码可以在Github 存储库的“mein_schalter”文件夹中找到。可以在此处找到原始代码,包括有关如何将 D1 Mini 与 Apple Homekit 连接的说明

3.连接伺服电机

使用标准 SG90 电机作为伺服电机。对我们来说重要的是电线颜色,可以在数据表中找到

poYBAGSAiPSAXkvNAAAS-bhFIKY376.png
资料来源:http://www.ee.ic.ac.uk/pcheung/teaching/DE1_EE/stores/sg90_datasheet.pdf
 

要将伺服电机与电路板连接,需要 D1 Mini 的引出线。

pYYBAGSAiPeAQeXZAACygXh7K-Q747.png
资料来源:https://randomnerdtutorials.com/getting-started-with-esp8266-wifi-transceiver-review/
 

如果您想单独使用 Helping Finger 或按钮来控制开关,您可以将伺服电机直接连接到 D1 Mini。因此,您将橙色电缆连接到代码中给出的 Pin。在 D1 Mini 上,所有引脚都能够发出 PWM 信号。棕色电缆将连接到 D1 Mini 的 GND 引脚,红色电缆将连接到 D1 Mini 的 5V 引脚。如果您仍然想要为了能够手动控制您的开关,您需要在不需要时及时关闭伺服电机。在这种情况下,您必须在伺服电机的电源电路中添加一个继电器,因此可以在 5v 或 GND 连接中。

要测试连接,您可以使用链接的 github 中的“Servo”文件夹。

4.打印外壳

现在所有的东西都需要装箱。作为外壳,我决定使用 3D 打印的外壳,可以在本页的“定制部件和外壳”部分找到。根据您的位置,您可以根据自己的意愿修改 .stl 文件。

poYBAGSAiPmAVUMvAACW93SlV38711.png
外壳和转子延伸
 

在 .stl 文件中还包括对伺服电机转子的扩展。

为了稍后安装外壳,我推荐使用双面胶带。但是,在正确调整所有内容之前,您不应该修复此问题。

5.所有零件的组装

现在所有零件都准备好了,我们可以组装所有东西了。

首先,您应该将伺服电机和可选继电器的电线焊接到 D1 Mini 板上。之后您可以将 D1 Mini 放在外壳底部。然后将电路板与整个 USB 电缆对齐。之后,您可以使用第二种胶水或热胶将电路板连接到外壳上。然后将继电器定位在套管中大孔的对面。最后一步,使用随附的螺钉将伺服电机安装到外壳上,并将带或不带延伸件的转子拧到伺服电机上。

它看起来像这样:

pYYBAGSAiRGADxsvAEgmJjad-9Q915.png
 

测试时出现闪退问题。

费用

该项目的成本如下:

  • D1 Mini ~6€ 每人
  • SG90 伺服电机 ~3€ pp
  • 继电器(如有必要)~1, 3€ pp
  • USB 数据线 ~2€ pp
  • USB 充电器 ~5 欧元每人
  • 肠衣(19 克 à ~18€ 每公斤 = 30ct)

总计:~15-20€


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

评论(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:'Helping Finger开源硬件',//标题 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);