前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >树莓派远程及文件传输:以呼吸参数测量及获取为例

树莓派远程及文件传输:以呼吸参数测量及获取为例

作者头像
代码咖啡
发布2018-08-28 10:23:20
1.6K0
发布2018-08-28 10:23:20
举报
文章被收录于专栏:程序员叨叨叨

一、所需设备

  1. 野生的树莓派一只
  2. 萌萌哒windows 10台式机一个
  3. 装有raspbian系统的胖胖的4G SD卡一张
  4. 名字有点长 的Micro HDMI USB充电线一条
  5. 输出5V = 2A充电头(装逼名称:变压器)一枚
  6. 另加一连串乱七八糟的硬件电路板导联线
  7. 一个被笔者落下的显示屏(可以直接使用台式机的显示屏)

二、设备图片

野生的树莓派

翻个个儿的野生的树莓派

萌萌哒windows 10台式机

肥肥的4G SD卡

身姿妖娆的Micro HDMI USB充电线

学名“变压器”的充电头

一堆不知名的硬件

我们的主角:气流感应器

三、树莓派知识储备

戳这里==> 树莓派菜鸟入门攻略

四、组装

完成图如下:

组装完成

从图中我们可以看到,我们主要做的工作就是:

  • 将Rj-45水晶头网线插到树莓派的以太网接口中
  • 将两块硬件电路板按照引脚的位置插到树莓派上
  • 接通树莓派的电源
  • 插上装有raspbian操作系统的SD卡

等待片刻,待我们看到指示灯如下图亮起来,我们的树莓派硬件层已经组装完成:

四盏指示灯(橙黄、闪绿、绿、红)全部亮起,说明我们的树莓派已组装完成

五、 树莓派网络配置

在组装完树莓派以后,我们需要让我们的树莓派编程“中央空调”,即:让其他电脑都可以通过远程/局域网来访问控制我们的树莓派我们的树莓派。

首先,我们需要给我们的树莓派接上显示屏,方便我们对树莓派进行网络参数配置。

raspberian系统GUI显示屏

然后,打开命令行,使用指令修改或获取我们树莓派的IP地址。

  • 打开命令行

raspberian命令行

raspberian命令行

  • 通过命令行,进入/etc/network文件夹

进入/etc/network文件夹

网络参数配置的文件夹——/etc/network文件夹

  • 对interfaces文件进行查看编辑

编辑interfaces文件(管理员身份)

interfases文件内容

因为我们通过rj-45接头的网线连接树莓派,所以我们修改宽带信息,即eth0参数下的ip地址等信息:

代码语言:javascript
复制
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配置的代码:

代码语言:javascript
复制
auto lo
iface lo inet loopback

auto eth0
iface eth0 inet dhcp

好处是:适用于经常变化的网络环境下,只需要通过访问路由器的设备IP列表即可查看树莓派的IP地址;其坏处是:每次都要查看树莓派的IP地址。

最后,萌萌哒windows 10台式机登场,连接树莓派所在的局域网,使用ping命令验证网络配置是否成功。

其指令为:

代码语言:javascript
复制
ping [ip地址]

如我们的IP地址为:

代码语言:javascript
复制
172.17.64.197

我们只要输入一下代码即可:

代码语言:javascript
复制
ping 172.17.64.197

若网络ping不通,我们需要检查网络问题,因该问题不属于本教程范围,大家可以查看网上相关资料解决。

六、 让程序跑起来

完成网络配置以后,我们就要开始实现远程访问并获取呼吸相关的数据了。

我们可以使用ssh命令与树莓派建立连接,ssh配置参考:

如何在Windows 10上启用SSH

点击此处下载openssh

ssh命令如下:

代码语言:javascript
复制
ssh [用户名]@[IP地址或域名]

按下enter键,命令行会提示输入密码。

树莓派raspberian系统的用户及密码为:

代码语言:javascript
复制
用户:pi
密码:raspberry

所以我们ssh远程操作指令如下:

代码语言:javascript
复制
~$ ssh pi@172.17.64.197
pi@172.17.64.197's password: raspberry

远程连接上我们的树莓派后,我们运行我们的python文件来获取呼吸的数据:

代码语言:javascript
复制
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键前,我们将与树莓派连接的气流感应器靠近鼻孔,自然的呼气:

将气流感应器靠近鼻孔自然地呼吸

随着程序的运行以及我们自然的呼吸,我们可以看到命令行出现如下图所示的数据:

呼吸气流数据

其显示的格式如下:

代码语言:javascript
复制
{'breath': [气流大小]} [当前采样点标号]

但是我们txt数据文件的数据存储格式为:

呼吸数据存储内容

七、 远程获取呼吸数据文件

若远程获取呼吸数据的文件,我们需要用到scp的命令,scp的命令格式如下:

代码语言:javascript
复制
scp [用户名]@[IP地址]:[文件路径]

如我们需要获取树莓派的getBreath_send.py文件,我们需要使用如下指令代码:

代码语言:javascript
复制
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地址即可连接。

到目前为止我们树莓派呼吸数据的提取教程结束了,希望可以给入门树莓派的同学们带来一些帮助。文章挺长的,感谢大家阅读!

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2016.08.04 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据保险箱
数据保险箱(Cloud Data Coffer Service,CDCS)为您提供更高安全系数的企业核心数据存储服务。您可以通过自定义过期天数的方法删除数据,避免误删带来的损害,还可以将数据跨地域存储,防止一些不可抗因素导致的数据丢失。数据保险箱支持通过控制台、API 等多样化方式快速简单接入,实现海量数据的存储管理。您可以使用数据保险箱对文件数据进行上传、下载,最终实现数据的安全存储和提取。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档