• 1 镜像烧制
  • 2 基础配置
    • 2.1 SSH 连接
    • 2.2 修改管理员密码
    • 2.3 Samba
  • 3 功能配置
    • 3.1 Homebridge

1 镜像烧制

  1. 从树莓派官网下载最新的 Raspbian 系统镜像,通过 Etcher 烧录进 TF 卡中;如果不使用最新的 Debian 系统,可以烧录硬盘备份的 Debian Jessie 镜像。

  2. 烧制完成后,进入系统根目录 boot,新建无后缀的空脚本文件 ssh,再新建名为 wpa_supplicant.conf 的无线网络配置文件,其内容如下:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    country=CN
    ctrl_interface=DIR=/var/run/wpa_supplicant
    GROUP=netdev
    update_config=1
    network={
    ssid="[[Wi-Fi 名称]]"
    psk="[[Wi-Fi 密码]]"
    key_mgmt=WPA-PSK
    priority=1
    }
  3. 完成以上步骤之后,即可拔出 TF 卡,将其插入树莓派中,接通电源,等待其自动连接上局域网。

2 基础配置

2.1 SSH 连接

在终端输入 ssh pi@192.168.X.X,初始密码为 raspberry。亦可参照 VPS 配置 SSH 的做法生成公钥和私钥来创建快捷短语。

2.2 修改管理员密码

1
passwd pi

2.3 Samba

修改系统软件源为阿里云:

1
sudo nano /etc/apt/sources.list

将 deb 后的 URL 修改为 http://mirrors.aliyun.com/raspbian/raspbian/。

  • 刷新软件列表:
1
sudo apt-get update
  • 安装 Samba 及其依赖:
1
sudo apt-get install samba samba-common-bin
  • 修改 Samba 的配置文件:
1
sudo nano /etc/samba/smb.conf

在配置文件的最后加上:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
[pi]

    path = /home/pi/

    valid users = pi

    browseable = Yes

    writeable = Yes

    writelist = pi

    create mask = 0777

    directory mask = 0777

保存,重新运行 Samba 服务:

1
sudo /etc/init.d/samba restart
  • 添加 pi 用户为 Samba 用户:
1
sudo smbpasswd -a pi

3 功能配置

3.1 Homebridge

项目地址:

  1. 安装 NodeJS:

    1
    2
    curl -sL https://deb.nodesource.com/setup_7.x | sudo -E bash - 
    sudo apt-get install -y nodejs
  2. 安装 Avahi:

    1
    sudo apt-get install libavahi-compat-libdnssd-dev
  1. 安装 Homebridge 本体和插件:

    1
    2
    3
    4
    sudo npm install -g --unsafe-perm homebridge # Stretch 需要加入 --unsafe-perm 参数   
    sudo npm install -g --unsafe-perm homebridge-mi-aqara # Aqara 平台插件,用于网关及其连接件
    sudo npm install -g --unsafe-perm homebridge-yeelight # Yeelight 灯光系统插件
    sudo npm install -g --unsafe-perm homebridge-mi- 大专栏  Raspberrypi 装配笔记philips-light # Philips 灯光系统插件

    安装完成后运行 homebridge -D 检查是否能正常运行。

  2. 编辑配置文件:

    1
    2
    3
    mkdir ~/.homebridge # 如果已经创建则跳过
    cd ~/.homebridge
    sudo nano config.json

    编辑配置文件如下:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    {
    "bridge": {
    "name": "HomeBridge",
    "username": "B8:27:EB:EE:AF:1B",
    "port": 51888,
    "pin": "199-50-228"
    },
    "platforms": [{
    "platform": "MiAqaraPlatform",
    "gateways": {
    "34ce009525c9": "B51730D119334789"
    },
    "defaultValue": {
    "158d000227648c": {
    "MotionSensor_MotionSensor": {
    "name": "Motion Sensor"
    }
    },
    "158d00019d3a9b": {
    "Global": {
    "disable": true
    },
    "Button_StatelessProgrammableSwitch": {
    "name": "Desktop Button",
    "disable": false
    },
    "Button_Switch_VirtualSinglePress": {
    "name": "Single Press"
    },
    "Button_Switch_VirtualDoublePress": {
    "name": "Double Press"
    }
    },
    "158d00019cb82c": {
    "TemperatureAndHumiditySensor_TemperatureSensor": {
    "name": "Temperature"
    },
    "TemperatureAndHumiditySensor_HumiditySensor": {
    "name": "Humidity"
    }
    }
    }
    },
    {
    "platform": "yeelight",
    "name": "Lightstrip"
    },
    {
    "platform": "MiPhilipsLightPlatform",
    "deviceCfgs": [{
    "type": "MiPhilipsSmartBulb",
    "ip": "192.168.31.114",
    "token": "7b2c6803b67b99f9b7a250cd919858dc",
    "lightName": "Bulb",
    "lightDisable": false
    }]
    }
    ]
    }

    保存退出,试运行:homebridge -D

  3. 使用 Screen 保持 Homebridge 在后台运行:

    1
    sudo apt-get install screen

安装完后,运行 screen -S homebdg,在窗口里运行 Homebridge。

Raspberrypi 装配笔记的更多相关文章

  1. Spring Bean装配笔记

    Spring Bean装配笔记 Spring中的Bean是一个很重要的概念.Spring作为一个Bean容器,它可以管理对象和对象之间的依赖关系,我们不需要自己建立对象,把这部分工作全部转交给容器完成 ...

  2. [原创]java WEB学习笔记103:Spring学习---Spring Bean配置:基于注解的方式(基于注解配置bean,基于注解来装配bean的属性)

    本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱 ...

  3. [原创]java WEB学习笔记99:Spring学习---Spring Bean配置:自动装配,配置bean之间的关系(继承/依赖),bean的作用域(singleton,prototype,web环境作用域),使用外部属性文件

    本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱 ...

  4. #Spring实战第二章学习笔记————装配Bean

    Spring实战第二章学习笔记----装配Bean 创建应用对象之间协作关系的行为通常称为装配(wiring).这也是依赖注入(DI)的本质. Spring配置的可选方案 当描述bean如何被装配时, ...

  5. Spring 笔记(三)Bean 装配

    前言 Spring 有两大核心,也就分成两份笔记分别记录. 其一是管理应用中对象之间的协作关系,实现方式是依赖注入(DI),注入依赖的过程也被称为装配(Wiring). 基于 JavaConfig 的 ...

  6. Spring自动装配歧义性笔记

    Spring自动装配歧义性笔记 如果系统中存在两个都实现了同一接口的类,Spring在进行@Autowired自动装配的时候,会选择哪一个?如下: // 一下两个类均被标记为bean @Compone ...

  7. Spring学习笔记 5. 尚硅谷_佟刚_Spring_自动装配

    1,回顾以前的做法 一个人有姓名,有住址,有一辆车.其中住址和车也是一个类,这种情况下不用自动装配是十分容易实现的 (1)Person类 package com.zsq; public class P ...

  8. spring 装配核心笔记

    (1)自动装配 开启ComponentScan(自动扫描), 通过在类使用注解@Component(默认bean id为类名第一个字符小写), 使用@Autowired实现属性,构造函数,成员函数的自 ...

  9. Spring4学习笔记 - 配置Bean - 自动装配 关系 作用域 引用外部属性文件

    1 Autowire自动装配 1.1 使用:只需在<bean>中使用autowire元素 <bean id="student" class="com.k ...

随机推荐

  1. Python—使用列表构造队列数据结构

    队列的概念 只允许在一端插入数据操作,在另一端进行删除数据操作的特殊线性表:进行插入操作的一端称为队尾(入队列),进行删除操作的一端称为队头(出队列):队列具有先进先出(FIFO)的特性. # _*_ ...

  2. Dynamics CRM - 利用 JavaScript 打开指定 entity 的新建窗口并传递需要的参数

    由于业务逻辑需要,需要从某个 Entity 的 Record 中弹出其他 Entity 的创建窗口,并将当前 Entity 中的某些值传递到新打开的窗口中,具体的 JS 代码如下: //定义一个参数对 ...

  3. python 常用函数用法

    Assert 断言assert的语法其实有点像是fi 条件分支语句的“近亲”,assert这个关键字称为“断言”,当这个关键字后边的条件为false的时候,程序自动崩溃并抛出AssertionErro ...

  4. OpenMP笔记(四)

    个人博客地址:http://www.bearoom.xyz/2019/02/22/openmp4/ 一.private private子句用于将一个或多个变量声明成线程私有的变量,这样每个线程都有该变 ...

  5. Ubuntu16.04编译OpenCV3.4.7

    原文:https://www.bearoom.xyz/2019/08/20/ubuntu16-04-make-opencv3-4-7/ 一.前言 因为之前作死乱搞系统,然后就把Ubuntu的系统搞垮了 ...

  6. Java面向对象(概述,构造函数,类与对象的关系,this关键字,成员、局部),匿名对象的调用,构造代码块(5)

    Java面向对象(概述,构造函数,类与对象的关系,this关键字,成员.局部),匿名对象的帝爱用,构造代码块(5)

  7. Spring Cloud Alibaba 教程 | Nacos(六)

    集群模式部署 前面我们已经学习了Nacos作为注册中心.配置中心的相关功能,但是我们之前启动Nacos是通过单实例模式启动的,只适合在学习和开发阶段,生产环境需要保证Nacos的高可用,所以今天我们来 ...

  8. Codeforce 370C Mittens 巧妙数学题

    这道题目我一开始想错了,觉得只要排好序,再从头到尾把可以相互交换的进行下交换就可以了...事实证明是错的.正确的解法比较巧妙,而且写法非常好,值得学习 首先,要注意的一个规律是,假如最大的颜色数字出现 ...

  9. Cutting Sticks UVA - 10003(DP 仍有不明白的地方)

    题意:对一根长为l的木棒进行切割,给出n个切割点,每次切割的价值,等于需要切割的木头长度. 一开始理解错了,认为切割点时根据当前木条的左端点往右推算. 实际上,左端点始终是不变的一直是0,右端点一直是 ...

  10. LGOJ1344 追查坏牛奶

    Description link 题意概述:给一张图,每条边有边权,求让点 \(1\) 和点 \(n\) 不连通的"最小破坏边权和" 和 "在此基础上的最小破坏边数&qu ...