Raspberrypi 装配笔记
- 1 镜像烧制
- 2 基础配置
- 2.1 SSH 连接
- 2.2 修改管理员密码
- 2.3 Samba
- 3 功能配置
- 3.1 Homebridge
1 镜像烧制
从树莓派官网下载最新的 Raspbian 系统镜像,通过 Etcher 烧录进 TF 卡中;如果不使用最新的 Debian 系统,可以烧录硬盘备份的 Debian Jessie 镜像。
烧制完成后,进入系统根目录
boot
,新建无后缀的空脚本文件ssh
,再新建名为wpa_supplicant.conf
的无线网络配置文件,其内容如下:1
2
3
4
5
6
7
8
9
10country=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
}完成以上步骤之后,即可拔出 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 |
[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
项目地址:
安装 NodeJS:
1
2curl -sL https://deb.nodesource.com/setup_7.x | sudo -E bash -
sudo apt-get install -y nodejs安装 Avahi:
1
sudo apt-get install libavahi-compat-libdnssd-dev
安装 Homebridge 本体和插件:
1
2
3
4sudo 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
检查是否能正常运行。编辑配置文件:
1
2
3mkdir ~/.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
使用 Screen 保持 Homebridge 在后台运行:
1
sudo apt-get install screen
安装完后,运行 screen -S homebdg
,在窗口里运行 Homebridge。
Raspberrypi 装配笔记的更多相关文章
- Spring Bean装配笔记
Spring Bean装配笔记 Spring中的Bean是一个很重要的概念.Spring作为一个Bean容器,它可以管理对象和对象之间的依赖关系,我们不需要自己建立对象,把这部分工作全部转交给容器完成 ...
- [原创]java WEB学习笔记103:Spring学习---Spring Bean配置:基于注解的方式(基于注解配置bean,基于注解来装配bean的属性)
本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱 ...
- [原创]java WEB学习笔记99:Spring学习---Spring Bean配置:自动装配,配置bean之间的关系(继承/依赖),bean的作用域(singleton,prototype,web环境作用域),使用外部属性文件
本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱 ...
- #Spring实战第二章学习笔记————装配Bean
Spring实战第二章学习笔记----装配Bean 创建应用对象之间协作关系的行为通常称为装配(wiring).这也是依赖注入(DI)的本质. Spring配置的可选方案 当描述bean如何被装配时, ...
- Spring 笔记(三)Bean 装配
前言 Spring 有两大核心,也就分成两份笔记分别记录. 其一是管理应用中对象之间的协作关系,实现方式是依赖注入(DI),注入依赖的过程也被称为装配(Wiring). 基于 JavaConfig 的 ...
- Spring自动装配歧义性笔记
Spring自动装配歧义性笔记 如果系统中存在两个都实现了同一接口的类,Spring在进行@Autowired自动装配的时候,会选择哪一个?如下: // 一下两个类均被标记为bean @Compone ...
- Spring学习笔记 5. 尚硅谷_佟刚_Spring_自动装配
1,回顾以前的做法 一个人有姓名,有住址,有一辆车.其中住址和车也是一个类,这种情况下不用自动装配是十分容易实现的 (1)Person类 package com.zsq; public class P ...
- spring 装配核心笔记
(1)自动装配 开启ComponentScan(自动扫描), 通过在类使用注解@Component(默认bean id为类名第一个字符小写), 使用@Autowired实现属性,构造函数,成员函数的自 ...
- Spring4学习笔记 - 配置Bean - 自动装配 关系 作用域 引用外部属性文件
1 Autowire自动装配 1.1 使用:只需在<bean>中使用autowire元素 <bean id="student" class="com.k ...
随机推荐
- Thread--对象锁猜想
堆内存地址未发生变化: 对象堆内存地址没发生变化的情况下,即值是否与变仍然是同一把锁. 堆内存地址变化: 在线程尝试进入过同步代码时复制当前对象锁副本. 在复制对象锁副本之后改变对象指向不影响对象锁, ...
- Python说文解字_main
1. main函数: 我们知道很多的编程语言都要写一个main函数,比如在C# 中Main函数还需要大写.很多人疑惑为什么要写这么一个Main函数.其实这就是好比我们在建了一排房子,你从哪个门都可以进 ...
- java求两个圆相交坐标
最近由于项目需要,根据两个圆函数求出相交的坐标.实现代码如下,另感谢两圆求交点算法实现Java代码,虽然他所贡献的代码中存在问题,但仍有借鉴意义. 1.两个圆相交的数学求法 在中学数学中我们知道,一个 ...
- 饭卡(DP)
电子科大本部食堂的饭卡有一种很诡异的设计,即在购买之前判断余额. 如果购买一个商品之前,卡上的剩余金额大于或等于5元,就一定可以购买成功(即使购买后卡上余额为负),否则无法购买(即使金额足够).所以大 ...
- java 中static关键字注意事项
1.内存中存放的位置:(static修饰的方法和属性保存在方法区中,但是方法区也是堆的一部分) 内存的分区 2.什么样的属性可以定义为静态数据 例如: class person{ public Str ...
- Python cannot import name 'Line' from 'pyecharts'
问题与尝试 代码 from pyecharts.charts import Line 中,出现 cannot import name 'Line' from 'pyecharts' 错误. 找了很多, ...
- ZJNU 1531 - 丢手绢--中级
可以将相同的人数分块存在数组gp中先 例如RRGGGRBBBBRR 则gp[1~5]={2,3,1,4,2} 首先可以知道,如果要让没有相邻的相同,只需要每个gp[i]/2向下取整即可得出最少需要改变 ...
- 第一行代码近期bug及解决
Android学习笔记(5)----启动 Theme.Dialog 主题的Activity时程序崩溃的解决办法https://www.cnblogs.com/dongling/p/6476308.ht ...
- 新年在家学java之基础篇-高级类的特性
继承 extends 子类的共性代码都是继承自父类的,每个子类只要写自己特有的代码 class 子类 extends 父类 继承提高了代码的复用性,提供了多态的前提,但是不要为了某个功能去继承 子类不 ...
- cifar数据集下载
https://www.cs.toronto.edu/~kriz/cifar.html Version Size md5sum CIFAR-10 python version 163 MB c58f3 ...