❶ 在树莓派拍照如何将照片存在指定文件夹
1.0定义全局变量
string photoPath;//图片保存的位置
string stuID;//获得学生学号
2.0初始情况下判断要保存的路劲是否存在try{if (!Directory.Exists(@"E:/学生党员信息管理系统/Resource/photo/"))//当该文件夹不存在时{//创建文件夹
Directory.CreateDirectory(@"E:/学生党员信息管理系统/Resource/photo/");}this.photoPath = @"E:/学生党员信息管理系统/Resource/photo/";}catch (IOException ioEx){MessageBox.Show("初始化系统文件夹失败:", "消息");return;}
3.0定义一个方法弹出一个对话框供用户选择图片,
private void addPhoto(){OpenFileDialog ofd = new OpenFileDialog();
ofd.Filter = "JPEG(*.jpg)|*jpg";
ofd.FilterIndex = 0;
ofd.ReadOnlyChecked = false;
if (ofd.ShowDialog() == DialogResult.OK){string photoPathCurrent = ofd.FileName;//获得图片绝对路径
this.pictureBox1.Image = Image.FromFile(photoPathCurrent);
//判断图片是否符合要求
if (this.pictureBox1.Image.Width <= 145 && this.pictureBox1.Image.Width 110
&& this.pictureBox1.Image.Height <= 140 && this.pictureBox1.Image.Height 100){}else{MessageBox.Show("您添加的图片不符合要求:宽110-140,高100-135,请重新添加","提示");
photoPath ="";
this.pictureBox1.Image = global ::学生党员信息管理系统.Properties.Resources.系统默认相片;}}}
❷ 树莓派查看所有文件用的是什么命令
ome linux上的我的文档,包含用户名命名的文件夹
/lib 各种应用需要的代码库
/lost+found 一般情况下是空的,当系统非法关机后,这里就存放了一些文件
/media 放置可移动存储驱动器,比如USB和CD
/mnt 用来手动挂在外部硬件驱动器或存储设备
/opt 可选软件文件夹,非系统部分的软件将会放置在这里
/sbin 放置超级用户使用的系统管理命令
/sys 放置操作系统文件
/tmp 放置临时文件
/usr 放置用户使用的程序
/var 虚拟文件,用于程序保存数据
2
树莓派常用命令:
❸ 树莓派-磁盘分区、格式化、挂载、卸载
之前笔记本换了一块SSD,原来的那块500GB的机械硬盘一直闲置没用,最近淘宝买了一个硬盘盒子,把它当作移动硬盘来使,顺便实际操作一下刚刚学的Linux的磁盘管理命令。输入命令 cfdisk /dev/sda ,进入到cfdisk分区工具界面:将/dev/sda1格式化为 Ext4格式 ,命令为 mkfs -t ext4 /dev/sda1 ,同样适用 Ext2格式 mkfs -t ext2 /dev/sda1 、 Ext3格式 mkfs -t ext3 /dev/sda1 。使用命令 mkfs -t ntfs /dev/sda2 想将/dev/sda2格式化为 ntfs格式 ,但是会报错: mkfs: failed to execute mkfs.ntfs: No such file or directory 。解决方法为:需要安装 apt-get install ntfsprogs ,但是目前还是会报错 E: Package 'ntfsprogs' has no installation candidate 命令 mkfs -t vfat /dev/sda3 或者 mkfs -t fat /dev/sda3 或者 mkfs -t msdos /dev/sda3 。vfat 是 fat 的扩展,支持长文件名,mkfs.fat和mkfs.vfat 本质上是同个工具,生成的文件系统没区别是因为 vfat 和 fat-32 在实现上是没区别的,只是 vfat 通过 fat-32 中的一些隐藏路径表示长文件名,而在 fat-32 中这些隐藏路径会当成是空的。 使用命令 mount [options] <source> <directory> 即可。首先需要建立挂载点(即一个文件夹) mkdir /mnt/part1 ,然后将一个分区挂载在这个挂载点上 mount /dev/sda1 /mnt/part1 。使用 df -h 查看挂载情况当设备关机前,系统会自动卸载挂载的分区,因此手动挂载在下一次开机的时候有需要重新挂载。要实现开机自动挂载磁盘,需要在/etc/fstab文件中添加挂载信息。命令: umount [options] <source> | <directory>❹ 苹果家庭怎么用
利用树莓派实现米家套件与苹果Homekit对接的准傻瓜级操作技巧
智能家居&报警器的应用效果展示自动化策略推荐
设备准备篇
什么是智能家居?有人说不就是感应灯么,10年前小区楼道里就有了,有什么可说的。从效果上来看,的确真还差不多。但核心的区别在于智能家居可以实现传感器和设备之间的高度可编程性,最终可以实现什么功能完全取决于使用者的想象力。
在开始之前首先要优化一下网络结构,图中全部设备均处于同一网段,斐讯K2和Airport TC均为桥接模式。由于网络设备甚多,为了定时释放缓存(也是为了省电)R8500、整个影音中心模块以及Airport TC会在闲时进行“断电维护”,此时仅有斐讯K2和监控相关设备在持续工作。因此对于需要24小时工作的树莓派和米家网关来说,接在斐讯K2下最合适不过了。
此次智能家居搭建的必备设备为树莓派3代B型、米家多功能网关(传感器配件根据自己的需求搭配购买),实现在同一网络下的苹果Homekit对接,最终可用Siri语音控制。可选设备为Apple TV第四代,可实现远程的家庭设备访问控制及Homekit自动化控制,如果没此需求的话可以省略。
树莓派介绍
树莓派是个高度集成化的一个迷你PC,在不到名片大小的PCB上集成了CPU、内存、网卡、Wifi、蓝牙等芯片,虽然在性能上不要指望太高,但功能和扩展性相当的强大,是极客们开发的理想平台。
为了保护树莓派的PCB及加强散热,需要购买配套的亚克力盒子、散热片、散热器。
树莓派共有4个USB 2.0、1个100M RJ45、1个HDMI、1个音频输出、一个TF卡槽,对于这种性能量级的产品来说够用。电源接口为1个micro USB,供电规格为5V 2.5A,推荐使用iPad的充电头,做工好电量足。
树莓派系统安装
想要实现用树莓派将家中智能设备对接苹果Homekit的方法有很多,主流的有三种:1.在树莓派原生系统Raspbian中通过指令装Hass控件;2.安装集成Hass控件的Hassbian系统;3.安装直接安装操作极其简单的图形化Hass.io系统。三者最终效果没区别,对于像我这种编程小白来说果断选择第三种方法。
第一步:找个16GB以上的TF卡,并进行格式化,Win格成FAT32、Mac格成ExFAT。(为毛不同系统下格式化的文件系统不一样?因为本人在Mac下格成FAT总报错格不了,就变通一下格成ExFAT了......)
第二步:将下载好的Hass.io系统镜像用Etcher软件刻录进TF卡中。(和Ghost同理,个人猜测第一步无论格成什么文件格式,在这一步都会变成镜像中的文件格式)
第三步:把TF卡插在树莓派上,树莓派插上网线,开机等5分钟。用在同一个网段的电脑访问http://hassio.local:8123/ ,如果浏览器出现了与上图相同的界面,恭喜你已经成功一半了。你可以喝个下午茶或吃个大餐庆祝一下去了。(界面里让你等20分钟,那是中关村时间,如果你的网络没有进行科学上网的话,至少一个小时见。)
第四步:等你吃饱喝足撇完大条之后,刷新网页就可以看到以上的界面了。
第五步:安装基本插件Samba、蓝牙、SSH,每一个安装完之后都要将Auto update勾选上,并点击下方的START。
第五步:Samba服务启动之后,在Mac和Win的网络文件夹里就可以看到Hassio的共享盘了。
第六步:手机中打开米家APP找到米家网关的MAC地址和KEY。(怎么把米家网关绑定在米家APP上,我就不教了,这个要是都搞不明白,说明Homekit不适合你)
xiaomi:
gateways:
- mac: 米家网关的mac地址(不要冒号)
key: 米家网关的key
第七步:用Atom软件打开树莓派config文件夹的Configuration.yaml配置文件,在最下面加入代码。
第八步:重启服务并确认已经连接上(首页多了一个开关,点一下试试米家网关灯亮不亮,要是亮了说明安装树莓派系统安装正确)
对接Homekit
Hass.io系统基本配置已经完成,可以对米家的设备进行控制了。但是总不能每次想控制都要登陆WEB页面吧。下面就要开始对接iPhone的Homekit,来实现iPhone的快速控制。
第一步:添加Home-bridge的第三方源,添加成功后页面下方会多下载选项。
第二步:安装Home-bridge插件,并将自动更新打开。(如果你没有科学上网的话,又是个漫长的等待,不要以为是网页未响应了,它真的只是慢。不信你看看路由器的流量,是不是它还在努力下载呢)
第三步:打开树莓派config→homebridge文件夹的Config.json配置文件,将host和password字段填入树莓派正确的IP地址和WEB管理界面的登录密码。并记住pin字段的8位PIN码(强烈推荐树莓派和小米网关使用固定IP,要问怎么在设备上设定?我也不会.......我是通过路由器DHCP保留地址功能实现的)
第四步:这时iPhone自带的“家庭APP”已经识别到了HomeAssistant附件了,点击图标狂点下一步,过程中需要输入8位PIN码。米家网关已经关联的设备会全部自动添加进去。
第五步:在家庭APP内、快捷菜单、Siri语音测试一下。不过此时有个影响体验的问题,设备显示为英文+序列号,如果只是菜单按钮也就忍了,可Siri语音念得那叫一个销魂呀。
第六步:改成中文名很简单,在家庭APP中打开设备,以中文名称重新命名即可。
添加HomeKit中枢
经过上述复杂的设定过程,智能家居已经初见眉目,理论上就该设定自动化策略了,由于现有智能家居配件全部为米家的,最简单的方式自然是在米家APP中设定。不过正如本人在开头所说,本人有一点核心需求为通用性和扩展性,如果哪天本人心血来潮又买了个BroadLink RM Pro,要想实现BroadLink和米家设备的联动,只能在HomeKit平台上设定。届时为了保证不出BUG,米家APP中设定的自动化策略,需要重新设定在HomeKit上。为了减少未来重复劳动,干脆就一步到位,建立HomeKit中枢。
为了让大家更好的理解,本人从度娘借来一张图。通过上图可以看到智能家居的结构图,简单概括起来就是:想要通过米家APP实现自动化,只需米家网关24小时开机就好了;想要增加Siri语音控制功能时,树莓派需要开机,此时Homekit只是iPhone中的一个服务;想要通过Homekit实现自动化和远程访问,就需要一个Apple TV4或iPad作为Homekit服务的硬件载体,和米家网关、树莓派一起24小时开机。(PS:Apple TV4不会截屏,下面就用iPad给大家做示范了,步骤差不多)
第一步:分别在iPhone和iPad上iCloud选项中开启“iCloud钥匙串”和“使用安全码批准”
第二步:在设置中的家庭选项卡中,开启“将此iPad用作家庭中枢”。打开家庭APP就可以看到自动化选项被激活啦。
自动化策略推荐
枯燥乏味的系统安装调试阶段终于结束,真正烧脑的工作才刚刚开始,接下来就到了自动化策略的设定阶段。
设定本身并不难,只需要选好在什么位置、什么时间段、什么传感器状态、触发什么设备即可,难点在于要发挥想象力明确自己的需求。
❺ 一 . 树莓派A20 基本环境搭建 1
我的实验环境:
1.交叉编译工具链:gcc-linaro-arm-linux-gnueabihf-4.8-2014.04_linux(4.8.2).tar.xz
2.SDK文件:MarsBoard-A20-Linux-SDK-V1.1.tar.bz2
在安装gcc-arm-linux-gnueabi的时候,会自动安装上gcc-4.6-arm-linux-gnueabi,如下图所示:
第二个文件的安装很重要,尽管后面提示的编译错误,缺少的是arm-linux-...,但是安装这个文件还是挺好用的。
根据前面安装的一些安装包,其实本节的交叉编译工具链可以不用操作。因为已经包含了本节所做的了。
我得先将vim改一下,否则按住上下左右,会出现A,B,C,D。
再/etc/profile最后一行添加内容:
然后:
这里做一些简要的说明,在网址: 链接 上有一些说明,从说明中,我们可以看到我们用的sdk的架构。
pack文件夹
选择2,server版本。
之后:
能找到的livesuit_marsboard_a20_debian.img就是生成的镜像文件。如果要修改名字,可以:
这里面就包含了image.cfg,找到里面的一项:
修改为其他的名字即可。
选择2,server版本。
1.若出现如下报错:
可以:
如果出现:
但是其实这些文件都是有的,可以不妨:
再次编译,则问题如下:
仔细找编译的shell输出文件,发现是rootfs/下的gz文件找不到,这是因为我做前面的操作的时候,希望生成自己的rootfs_my.tar.gz文件。现在我重新将该文件放到rootfs/下,再次编译,我将最后的结果放在下面:
这样表示成功了。
下面列入生成的镜像:
livesuit_superpi3.img即是。
1.我在做上面的操作的时候,夹杂的使用了两个开发板,一个是marsboard出品的a20开发板,另外一个是风火轮出品的a20树莓派3卡片电脑,说实在的,看起来风火轮附带板子资料挺多,但是其真正写的资料可没用心做,实在不是一个榜样,在该开发板上做非核心开发,是可以的,但是做研发,还是需要做考量。
烧写成功后,打印的内容如下,作为日志信息,留作以后分析:
❻ 树莓派里的文件复制到本地-scp命令
使用scp命令拷贝文件非常好用,我们可以通过scp命令把本地文件上传到树莓派,也可以把树莓派里的文件拷贝到本地。
本地系统: MacOS
树莓派的IP地址: 192.168.123.159
树莓派用户名: pi
本地文件夹位置: /Users/yushengtan/desktop/
树莓派文件夹位置: /home/pi/download/Desktop/
假如我们要把本地桌面上的文件1.txt拷贝到树莓派服务器桌面上,可以使用命令: scp <本地文件夹及文件> <远程用户名>@<远程ip>:<远程文件夹>
执行命令后按要求输入ssh登录密码即可;
支持文件夹拷贝,只需在scp 后添加一个 -r 参数即可。
加入我们要把树莓派桌面上的文件2.txt拷贝到本地,可以使用命令: scp <远程用户名>@<远程ip>:<远程文件夹> <本地文件夹及文件>
scp同样支持文件夹拷贝,只需在scp 后添加一个 -r 参数即可,
如把本地桌面目录拷贝到远程树莓派桌面:
❼ 树莓派搭建文件服务器
https://www.raspberrypi.org/downloads/raspberry-pi-os/
安装 Etcher 之后启动 Etcher,插入 SD 卡、选择要安装的 img 文件、选择 SD 卡对应的磁盘分区
https://www.balena.io/etcher/
① 新建一个ssh空白文件,放到root目录下,树莓派开机会自动启用
② 网络优先选择有线网络
③ 无线网络
将刷好 Raspbian 系统的 SD 卡用电脑读取。在 boot 分区,也就是树莓派的 /boot 目录下新建
具体详情看下面
https://shumeipai.nxez.com/2017/09/13/raspberry-pi-network-configuration-before-boot.html
方法1:利用路由器软件查看IP地址
方法2:
ssh连接默认用户名:pi 密码:raspberry
方法3:IP Scanner
1.切换 root权限 sudo su
2.编辑下列文件
连接raw.githubusercontent.com失败
step1 :
在 https://site.ip138.com/raw.Githubusercontent.com/
输入raw.githubusercontent.com查询IP地址
step2 :
sudo nano /etc/hosts
你查到的ip地址,香港的就行 raw.githubusercontent.com
比如:
151.101.76.133 raw.githubusercontent.com
OpenMediaVault项目地址:
https://github.com/OpenMediaVault-Plugin-Developers/installScript
执行安装脚本:
step1:
输入树莓派的IP地址
初始用户名:admin
密码:openmediavault
step2:
1.连接硬盘
2.文件系统—>卸载硬盘
3.磁盘—>擦除
4.文件系统—>新建 文件系统选择EXT4
5.挂载—>应用
6.共享文件夹—>新建一个文件夹 设置权限
7.SMB/CIFS —>启用
8.共享—>添加共享
mac登陆
前往:连接服务器 smb://树莓派的ip地址
windows
我的电脑—>右键—>映射网络驱动器—>找到共享的文件夹