树莓派ZeroW:一根数据线轻松玩转苹果的HomeBridge

前言

最近入手了Zero W,非常小巧,打算整个homebridge玩,不过找了网上很多文章发现树莓派ZeroW的文章很少,而且都是早期的安装方法了,安装过程中出现各种问题,于是结合其他的文章写了这篇只需要一根数据线一个SD卡就可以轻松完成homebridge安装的文章。(由于本人买不起配件,所以这里我用homebridge控制远程php服务器上的软件的开关做了个案例,原理其实差不多)

废话不多说,我们直接开始干!

首先下载好raspbian镜像和balenaEtcher工具。

当然,你也可以选择win32diskimager,不过我用过balenaEtcher之后还是觉得balenaEtcher真的是非常简单好用。

Raspbian下载链接:https://www.raspberrypi.org/downloads/raspbian/

balenaEtcher官方下载链接:https://www.balena.io/etcher/

Raspbian系统,由于后面不需要用到桌面,我这里用的是“Raspbian Stretch Lite”,下好了之后不要解压

BalenaEtcher下载很慢,所以我还是选择到百度随便下载了一个。

下载完就是这俩玩意儿啦

[↑↑↑]  下载完就是这两个东西哦 [↑↑↑] 

一、把SD卡插入读取器并插入电脑,然后打开balenaEtcher(打开的时候比较慢),点击Selectimage,选择刚刚下载的raspbian的镜像,点击Flash,等待刷入并验证完成,显示“FlashComplete!”就是刷入完成了。

Clipboard Image.png

二、拔出读卡器再次插入电脑,会出现一个分区boot。

修改boot分区里的config.txt文件,在最后一行下面,另起一行添加:dtoverlay=dwc2

修改boot分区里的cmdline.txt文件,找到单词rootwait,在其之后添加:modules-load=dwc2,g_ether

注意每个参数之间空格分开,且都是在同一行。

注意:关于dtoverlay的更多内容可以查看boot/overlay文件夹里的README。

在boot分区根目录创建一个文本文件,然后重命名为ssh,注意去掉.txt后缀,此时即可以 开启ssh登录(新版Raspbian的改动)。SSH默认关闭,因此需要在boot分区创建一个名为ssh的文件来开启SSH服务。

注意:这个ssh文件容易丢失,如果ssh不能登录了,先检查ssh是否丢失。

三、插好TF卡,将Micro USB数据线一头接在Zero W USB接口,如果正常此时电脑会安装相关驱动并显示一个新网卡。

20180715112227865.png

等待驱动安装完成之后 打开“设备管理器->网络适配器”,检查其中是否有类似“USB Ethernet/RNDIS Gadget”的设备,

如果有,则跳过以下步骤,如果没有则需要手动安装RNDIS/Ethernet Gadget 驱动。

由于我这里是WIN10,WIN10 x64的用户可以在这里下载驱动,其他系统的用户请自行百度安装”RNDIS/Ethernet Gadget驱动”。

Clipboard Image.png

具体如何安装,下载完解压之后里面会有驱动安装方法。

安装成功后,在“设备管理器->网络适配器”中就会出现“RNDIS/Ethernet Gadget”咯!!!

四、接下来,使用putty链接树莓派,在Host Name中输入raspberrypi.local然后点击Open:奇热影视

Clipboard Image.png

Clipboard Image.png

在弹出的窗口中输入树莓派的默认用户名pi,然后回车,输入默认密码raspberry:

Clipboard Image.png出现这样的界面,代表登陆成功。

五、配置WIFI链接,让树莓派连上WIFI,扩容SD卡空间。

输入:

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf    

在最下面插入(注意:下面改成你自己的 WIFI名 和 WIFI密码)

network={
          ssid="你的WIFI名"
          psk="WIFI密码"
        }

 

好了之后,按Ctrl+x,然后输入y,然后回车。

接着使用raspi-config扩容SD卡空间。

输入:

sudo raspi-config

选择Advanced Options->Expand Filesystem->Finsh->OK, 然后树莓派会重启,等待一会儿(2分钟左右),然后再次链接树莓派,具体步骤和上面一样:

Clipboard Image.pngClipboard Image.png六、修改树莓派默认源,安装并配置HomeBridge。

输入:

sudo nano /etc/apt/sources.list

把里面原本的源注释掉,前面加个#,然后在最底下插入:

deb http://mirrors.aliyun.com/raspbian/raspbian/ stretch main non-free contrib
deb-src http://mirrors.aliyun.com/raspbian/raspbian/ stretch main non-free contrib

好了之后,按Ctrl+x,然后输入y,然后回车:    

Clipboard Image.png

然后依次输入(具体为啥要执行两次update,我也不清楚,照做就行了)

 

 

sudo apt-get update

sudo apt-get upgrade

sudo apt-get update

sudo apt-get install npm

sudo apt-get install git-core

sudo apt-get install libnss-mdns

sudo apt-get install libavahi-compat-libdnssd-dev

 

 

注意:建议分开一个一个的安装,这样如果出错了方便检查问题。

然后安装Node,建议不要使用apt-get安装,请到node官方选择ARMv6(很多人出错都是因为选的ARMv7)。

Node下载地址:https://nodejs.org/zh-cn/download/

进去右键复制ARMv6的下载链接,然后到树莓派中运行 wget空格你复制的链接,类似下面这样:

wget https://nodejs.org/dist/v10.16.0/node-v10.16.0-linux-armv6l.tar.xz

然后解压,安装HomeBridge,配置HomeBridge:

 

 

xz -d node-v10.16.0-linux-armv6l.tar.xz

tar -xvf node-v10.16.0-linux-armv6l.tar

cd node-v10.16.0-linux-armv6l

sudo cp -R * /usr/local/

sudo npm install -g --unsafe-perm homebridge

 

安装一个Homebridge插件(homebridge-http-switch)

sudo npm install -g homebridge-http-switch

这个homebridge-http-switch是一个开关的功能,这里为了方便演示。

注意:更多的插件可以在npm官网搜索“homebridge-plugin”,里面有很多各种功能的插件以及使用方法,非常详细。

配置HomeBridge

sudo nano /root/.homebridge/config.json    

然后输入:

 

{
    "bridge": {
        "name": "HomeBridge",
        "username": "B9:36:DA:93:30:20",
        "port": 51826,
        "pin": "031-45-166"
    },
    "description": "Bla Bla Bla",
    "accessories": [{
          "accessory": "HTTP-SWITCH",
          "name": "Switch",
          "switchType": "stateful",
          "onUrl": "http://xxx.com/On.php",
          "offUrl": "http://xxx.com/Off.php",
          "statusUrl": "http://xxx.com/Status.php"
    }],
    "platforms": []
}

 

好了之后,按Ctrl+x,然后输入y,然后回车。

注意:这里的onUrl,offUrl,statusUrl需要自己配置,下面我做了一个开关PHP服务器上的软件的例子 (对不起,我太穷了,买不起配件)。

因为之前我试了很多方法,都无法在服务器前台启动软件,只能以www用户运行,最后我发现可以用计划任务实现,首先在你的服务器上创建一个计划任务(注意:以下代码在您的服务器的cmd上以管理员权限运行):

schtasks /create /tn "homerun" /tr "c:\windows\system\calc.exe" /sc daily /st 00:01    

On.php

<?php
exec('schtasks /run /TN "homerun"');
echo '{"statusPattern":"true"}';
?>

Off.php

<?php
exec('taskkill /f /im "calc.exe"');
echo '{"statusPattern":"true"}'
?>

Status.php

 

<?php
$res=exec('tasklist | find /i "calc.exe"');
$res=(string)stripos($res,"calc.exe");
if($res!==""){
  $res="1";
}else{
  $res="0";
}
echo $res;
?>

 

注释(bridge):这里的username可以设置成你的树莓派的mac地址(我试了下改成别的也没事),port不需要改,pin就是之后链接的时候用的pin码也可以不用修改

注释(accessories):这里的onUrl是点击打开时树莓派就会访问这个链接,offUrl就是点击关闭的时候会访问这个链接,statusUrl就是状态链接(statusUrl 返回0就是关闭 返回1就是打开)具体可以参照这里:https://www.npmjs.com/package/homebridge-http-switch

七、连接HomeBridge,设置HomeBridge开机自启。

输入:

sudo homebridge

Clipboard Image.png

然后打开手机上的“家庭”(如果被你之前删掉了,就去Appstore里装回来),点击右上角的+号 ->添加配件->扫码连接:PHP大马

Clipboard Image.png

Clipboard Image.png

八、配置HomeBridge开机自动启动。

输入:

sudo nano /etc/rc.local

在 exit 0 前添加一行代码:

sudo nohup homebridge > /home/pi/homebridge.log 2>&1 &

好了之后,按Ctrl+x,然后输入y,然后回车。

之后每次关闭树莓派重新打开都会自动启动Homebridge咯!!!

注意:树莓派和手机必须在同一个WIFI下,否则在“家庭”中 会无法找到设备。

基本的Homebridge安装就是这样,下一篇 我打算把他打造成一个智能可变色的Homekit台灯。本人学美术出身,纯属个人兴趣,如果有写得不对的地方,希望大佬指出,我会及时改正。

下面整理一些你们可能需要用到的链接:

Raspbian下载链接:https://www.raspberrypi.org/downloads/raspbian/

balenaEtcher官方下载链接:https://www.balena.io/etcher/

Node下载地址:https://nodejs.org/zh-cn/download/

NPM官方的 homebridge插件列表:https://www.npmjs.com/search?q=homebridge-plugin

HomeBridge的README:https://github.com/nfarina/homebridge/blob/master/README.md

参考链接:https://blog.csdn.net/SongtaIot/article/details/81389120

参考链接:https://blog.csdn.net/chentuo2000/article/details/81051308

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
可能感兴趣的项目设计: 苹果数据线、USB数据线测试仪设计(包括iPhone5、iPad4、iPad mini等) 链接:https://www.cirmall.com/circuit/4718/detail?3 【简介】 苹果数据线内含认证芯片,原则上生产苹果数据线是要经过苹果授权的,但实际情况是认证芯片已经被破解,市面上有很多山寨方案,山寨方案存在很多问题,比如稳定性很差、兼容性不好等等,在不拆开线材的情况下很难识别真假,为此我们开发本产品用于识别数据线内部所使用的芯片方案,通过DNA数据库比对技术,准确识别芯片方案,坚持公平公证原则,不会把某些特定的山寨方案识别为原装方案。 【仪器组成】 仪器名称:苹果数据线真假识别器 标配软件:YG-616苹果数据线真假识别器2015-专业版 标配设备:主机YG-616 (用户自备MicroUSB充电线和充电器) 【特点】 1、采用32位ARM高速处理器设计。 2、支持苹果数据线、充电线、单头识别。 3、支持iOS6,iOS7,iOS8,iOS9操作系统,支持MFI认证原装数据线和山寨高仿数据线、E75、C10B、C48方案等。 4、2个Lightning插口,原装富士康母座,更耐用。 5、插入被测产品自动开始测试。 6、IPS高清显示屏,大视角。 7、同时有声音提示测试结果。 8、内置锂电池供电,续航时间8小时以上。 9、可以连接电脑,有PC软件,实现更多功能,也可单独使用。 10、可以在线升级,使仪器随时拥最新的功能,如果仪器有问题,可使用在线升级经松解决,不必返厂。 11、体积小巧玲珑(110*61*13mm),方便随身携带。 【应用领域】 1、苹果数据线生产、批发、零售各个环节。 2、数据线经销商测试用。 3、维修行业。 产品图片:
前言: 在我国广大技术人员努力下,现大批工厂已开始生产廉价的数据线,随之而来问题是如何对这些线进行出厂测试。由于内藏芯片,显然不能用普通的方法测试,目前的做法是采购大批苹果的产品用于测试,这样不仅成本高昂,也容易损坏,我们顺应市场的需求,推出Lightning接口数据线测试仪, 专业设计,价格实惠又好用。 仪器名称:USB数据线测试仪 标配软件:USB数据线测试仪2013-专业版,见附件内容下载 其它配件:12V开关电源,USB通信线,软件光盘 标配设备:主机YG-608,如截图所示: 【检测项目】 检测项目可以检出的问题苹果数据线普通数据线 电源线开路、与地线短路、电阻过大√√ 地线开路、与电源线短路、电阻过大√√ D+开路、与电源线短路、与地线短路、与D-短路、与D-交叉、电阻过大√√ D-开路、与电源线短路、与地线短路、与D+短路、与D+交叉、电阻过大√√ 屏蔽线开路、短路√√ 芯片通信异常,不能完成认证√ MOS管开路、短路√ 待机电压待机电压过低√ 【软件界面】 【特点】 支持 iPhone5,iPad4,iPad mini,iPod nano6,以及普通USB线(标准方型头、MiniUSB头、MicroUSB头)。 采用32位ARM高速处理器设计。 由于USB座使用率很高,容易损坏,所以USB座采用分体设计,方便更换。 使用大电流(1000mA)模拟充电测试。 准确测出电源线电阻,准确测出D+、D-电阻,可以检测出D+、D-内置的匹配电阻大小并作出判断。 可测试出具体故障点,以便技术人员对线进行检修。 各种保护措施避免仪器使用过程中受到损坏,防静电保护,防短路保护,直接短路USB电源也不会损坏。 插入数据线自动开始测试。 LCD中文显示屏。 同时有声音和LED指示测试结果。 设置的测试参可掉电保存。 可以连接电脑,有PC软件,实现更多功能,也可单独使用。 通过PC软件对苹果协议数据抓取。 可以在线升级,使仪器随时拥最新的功能,如果仪器有问题,可使用在线升级经松解决,不必返厂。 实物购买链接:https://item.taobao.com/item.htm?spm=a1z10.1-c.w4004-2014410525.32.7t5zZm&id=18373143758

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值