树莓派远程及文件传输:以呼吸参数测量及获取为例
一、所需设备
- 野生的树莓派一只
- 萌萌哒windows 10台式机一个
- 装有raspbian系统的胖胖的4G SD卡一张
- 名字有点长 的Micro HDMI USB充电线一条
- 输出5V = 2A充电头(装逼名称:变压器)一枚
- 另加一连串乱七八糟的硬件电路板加导联线
- 一个被笔者落下的显示屏(可以直接使用台式机的显示屏)
野生的树莓派 翻个个儿的野生的树莓派 萌萌哒windows 10台式机 肥肥的4G SD卡 身姿妖娆的Micro HDMI USB充电线 学名“变压器”的充电头 一堆不知名的硬件 我们的主角:气流感应器二、设备图片
三、树莓派知识储备
戳这里==> 树莓派菜鸟入门攻略
四、组装
完成图如下:
组装完成
从图中我们可以看到,我们主要做的工作就是:
- 将Rj-45水晶头网线插到树莓派的以太网接口中
- 将两块硬件电路板按照引脚的位置插到树莓派上
- 接通树莓派的电源
- 插上装有raspbian操作系统的SD卡
等待片刻,待我们看到指示灯如下图亮起来,我们的树莓派硬件层已经组装完成:
四盏指示灯(橙黄、闪绿、绿、红)全部亮起,说明我们的树莓派已组装完成五、 树莓派网络配置
在组装完树莓派以后,我们需要让我们的树莓派编程“中央空调”,即:让其他电脑都可以通过远程/局域网来访问控制我们的树莓派我们的树莓派。
首先,我们需要给我们的树莓派接上显示屏,方便我们对树莓派进行网络参数配置。
raspberian系统GUI显示屏然后,打开命令行,使用指令修改或获取我们树莓派的IP地址。
- 打开命令行
- 通过命令行,进入/etc/network文件夹
- 对interfaces文件进行查看编辑
因为我们通过rj-45接头的网线连接树莓派,所以我们修改宽带信息,即eth0参数下的ip地址等信息:
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address 172.17.64.197
network 255.255.255.0
gateway 172.17.64.1
上述代码为静态IP配置,其好处是:当树莓派固定在指定局域网中使用,我们无需每次使用树莓派都查看其IP地址信息;其坏处是:当网络变掉时,需要重新接上树莓派的HDMI视频接口连接上显示屏,然后通过USB连接鼠标键盘,在延时性超强的图形化界面下重新配置IP地址,笔者表示已经累死在插拔显示屏的路上。。。
下面,我们来看看动态IP配置的代码:
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet dhcp
其好处是:适用于经常变化的网络环境下,只需要通过访问路由器的设备IP列表即可查看树莓派的IP地址;其坏处是:每次都要查看树莓派的IP地址。
最后,萌萌哒windows 10台式机登场,连接树莓派所在的局域网,使用ping
命令验证网络配置是否成功。
其指令为:
ping [ip地址]
如我们的IP地址为:
172.17.64.197
我们只要输入一下代码即可:
ping 172.17.64.197
若网络ping
不通,我们需要检查网络问题,因该问题不属于本教程范围,大家可以查看网上相关资料解决。
六、 让程序跑起来
完成网络配置以后,我们就要开始实现远程访问并获取呼吸相关的数据了。
我们可以使用ssh
命令与树莓派建立连接,ssh配置参考:
ssh命令如下:
ssh [用户名]@[IP地址或域名]
按下enter
键,命令行会提示输入密码。
树莓派raspberian系统的用户及密码为:
用户:pi
密码:raspberry
所以我们ssh远程操作指令如下:
~$ ssh pi@172.17.64.197
pi@172.17.64.197's password: raspberry
远程连接上我们的树莓派后,我们运行我们的python文件来获取呼吸的数据:
pi@raspberry ~ $ sudo python ./iHealth/iHealth-python/getBreaths_send.py
PS:因调试原因,我们将
getBreaths_send.py
文件拷贝了一份并修改了其中的代码命名为zz_getBreaths_send.py
,将其数据存入~/iHealth/iHealth-python/data-breath
文件夹,产生数据文件的名称为:breath_年-月-日_时:分:秒.txt
在我们点击enter
键前,我们将与树莓派连接的气流感应器靠近鼻孔,自然的呼气:
随着程序的运行以及我们自然的呼吸,我们可以看到命令行出现如下图所示的数据:
呼吸气流数据其显示的格式如下:
{'breath': [气流大小]} [当前采样点标号]
但是我们txt数据文件的数据存储格式为:
呼吸数据存储内容七、 远程获取呼吸数据文件
若远程获取呼吸数据的文件,我们需要用到scp的命令,scp的命令格式如下:
scp [用户名]@[IP地址]:[文件路径]
如我们需要获取树莓派的getBreath_send.py
文件,我们需要使用如下指令代码:
scp pi@172.17.64.197:~/iHealth/iHealth-python/data-breath/breath_2016-08-02_11\:19\:33.txt
\:
为转移字符,表示:
。
当然我们的windows电脑是无法直接使用scp命令的,我们可以点击下面链接,直接下载winscp软件:
点击下载winscp
PS: winscp分为命令行和GUI两种模式,其中GUI使用与命令行类似,只要知道树莓派的用户名、密码和IP地址即可连接。
到目前为止我们树莓派呼吸数据的提取教程结束了,希望可以给入门树莓派的同学们带来一些帮助。文章挺长的,感谢大家阅读!