树莓派上搭建自己的 python 开发环境

一般情况下,在烧录完镜像以后就可以直接在树莓派上通过 thony idle 去进行 python 的开发了.

但是用惯了 pycharm 和习惯了 vim 编程的我怎么可以直接用文本编辑器写代码呢?

效率完全没有了啊!

安装完镜像环境后,就可以在树莓派上开发了,为了开发opencv for python,我在树莓派上搭建了vim的python开发环境,除了配置.vimrc以外还要给各位小伙伴安利一款VIM python 自动补全插件:pydiction。

这是在纯shell环境下进行python编程的一款利器, 全屏编辑器结合这款利器各种 python 补全不再是问题。
pydiction可以实现下面python代码的自动补全:

简单python关键词补全
python 函数补全带括号
python 模块补全
python 模块内函数,变量补全
from module import sub-module 补全


  1. 安装 vim

sudo apt-get  update

sudo apt-get -y install vim git

2. 下载插件

mkdir -p ~/.vim/bundle

cd ~/.vim/bundle

git clone https://github.com/rkulla/pydiction.git

3. 配置~/.vimrc

vim ~/.vimrc

4. 在配置文件最下面填写

#载入文件类型插件

filetype plugin on

#配置插件路径

let g:pydiction_location = ‘~/.vim/bundle/pydiction/complete-dict’

#设置补全菜单的高度

let g:pydiction_menu_height = 3

然后就可以通过 vim 进行代码编写了.这时候就有了自动补全的功能.

#配色方案(可用 :highlight 查看配色方案细节)

colorscheme murphy

#打开语法高亮

syntax on

#侦测文件类型

filetype on

#载入文件类型插件

filetype plugin on

#为不同文件类型使用不用缩进

filetype indent on

#显示行号

set number

#打开自动缩进

set autoindent

#使用 C/C++ 的缩进方式

set cindent

#为 C 程序提供自动缩进

set smartindent

#设置自动缩进长度为四个空格

set shiftwidth=4

#按退格键时可以一次删掉 4 个空格

set softtabstop=4

#设定 tab 键长度为 4

set tabstop=4

#将 tab 展开为空格

set expandtab

#去掉输入错误时的提示声音

set noerrorbells

#右下角显示光标位置

set ruler

#总是显示状态行

set laststatus=2

#自定义状态行
set statusline=%F%m%r%h%w[%L][%{&ff}]%y[%p%%][%04l,%04v]

#当前列数+当前行数+当前光标位置百分比+使用的语法高亮器+文件格式+文件总行数+预览标志+帮助文件标志+只读标志+已修改标志+当前文件绝对路径

#强调匹配的括号

set showmatch

#光标短暂跳转到匹配括号的时间, 单位是十分之一秒

set matchtime=2

#显示当前正在键入的命令

set showcmd

# 设置自动切换目录为当前文件所在目录,用 :sh 时候会很方便

set autochdir

# 搜索时忽略大小写

set ignorecase

#随着键入即时搜索

set incsearch

#有一个或以上大写字母时仍大小写敏感

set smartcase

#代码折叠

set foldenable

set foldmethod=indent

#在左侧显示折叠的层次

set foldcolumn=4

#针对 Python 文件的设定

if has(“autocmd”)

autocmd FileType python set tabstop=4 shiftwidth=4 expandtab

endif

#配置pydiction插件路径

let g:pydiction_location = ‘/home/pi/.vim/bundle/pydiction/complete-dict’

#设置pydiction补全菜单的高度

let g:pydiction_menu_height = 3

希望对大家有用,谢谢!

利用树莓派和官方摄像头实现延时摄影

最近看了一个朋友用树莓派做的延时视频,感觉挺不错的,突然也想做一个. 手头正好有树莓派和摄像头,所以也尝试着做了一下,非常简单.

首先说明一下什么是延时摄影:

要创建延时视频,只需将Raspberry Pi配置为定期拍摄照片(例如每分钟),然后使用应用程序将图片拼接成视频。原理就这么简单.

有两种方法可以做到这一点。如果是官方摄像头,实现起来就更加简单了.

使用Raspistill的内置延时模式

raspistill应用程序具有内置的延时模式,使用--timelapse(或-tl)命令行开关。

切换之后的值是拍摄之间的时间(以毫秒为单位)。

raspistill -t 30000 -tl 2000 -o image%04d.jpg

请注意%04d输出文件名中的数字:这表示文件名中要显示照片编号。因此,例如,上面的命令将每隔两秒(2000毫秒)产生一次照片的捕获,总时间为30秒(30000毫秒),名为image0001.jpg,image0002.jpg,依此类推,直到image0015.jpg。

%04d指示四位数字,有前导零添加,以弥补所需的位数。因此,例如,%08d会产生一个八位数的数字。0 这个位,如果你不想要前导零,你可以不加。

如果输入的- t 为0,则应用程序将以其最小时间间隔进行拍摄照片。请注意,捕获之间存在大约30毫秒的最小强制暂停,以确保可以进行曝光计算。

使用cron(计划任务)

使用自定义拍照的好方法是使用cron

打开cron 表进行编辑:

crontab -e

这将询问您要使用哪个编辑器,或者在默认编辑器中打开。在编辑器中打开文件后,添加以下行以安排每分钟拍照.

camera.sh 可以自己写个拍摄的脚本,其中2>&1是将错误输出输入到标准输出上.

* * * * * /home/pi/camera.sh 2>&1

保存并退出,您应该看到以下消息:

crontab: installing new crontab

确保您的脚本不保存使用相同文件名拍摄的每张照片。否则将每次覆盖原有的图片。

将图像拼接在一起

现在,您需要将照片拼接成一个视频。

你可以在Pi上使用,mencoder非常赞, 但处理速度很慢。也可以将图像文件传输到台式计算机或笔记本电脑并在那里处理视频,那样会快一些,因为如果你拍摄了24小时的图片,每小时的每分钟拍摄5张图片的话,数据量也是大的惊人的.处理起来也是时间更长.但是如果在树莓派上通过脚本自行处理了,最后得到的视频就可以直接播放了. 如果你会推流处理,那还可以直接推到直播平台. 也是很好的.

切换到包含所有图像的文件夹,并将文件名重定向到一个文本文件。例如:

ls *.jpg > pics.list

在RASPBERRY PI上

虽然速度很慢(由于使用软件进行编码而不是使用Raspberry Pi硬件加速),但您可以使用各种可用工具将JPEG图像拼接在一起。其中有个软件叫avconv,需要安装, 安装好以后就可以拼接转码了。

sudo apt-get install libav-tools

现在,可以使用这些工具将JPEG文件转换为H264格式的视频文件。

avconv -r 24 -i image%04d.jpg -r 24 -vcodec libx264 -vf scale=800:480 timelapse.mp4

在Raspberry Pi 3上,它可以每秒编码多于一帧。其他Pi型号的性能会有所不同.

目前我这边使用的参数是:

  • -r 24在输入和输出文件中假设每秒二十四帧。
  • -i image%04.jpg输入文件规范(用于匹配捕获期间生成的文件)。
  • -vcodec libx264使用软件x264编码器进行编码。
  • -vf scale = 800:480  调整为输出720p。您还可以使用1920:1080或更低分辨率,具体取决于你自己的要求, 例如,我是要在52pi.taobao.com 买的800×480分辨率。请注意,Pi只能播放高达1080p的视频,但如果您打算以4K播放,则可以在此设置。
  • timelapse.mp4输出文件的名称。

avconv具有针对不同编码选项和其他设置的综合参数集。这些可以使用列出avconv --help

在另一台LINUX计算机上

您可以使用与Raspberry Pi相同的说明,或者替代包,例如mencoder

sudo apt-get install mencoder

现在运行以下命令:

mencoder -nosound -ovc lavc -lavcopts vcodec=mpeg4:aspect=16/9:vbitrate=8000000 -vf scale=1920:1080 -o timelapse.avi -mf type=jpeg:fps=24 mf://@pics.list

一旦完成,您应该有一个视频文件,timelapse.avi

然后你就可以用播放器播放查看了.

omxplayer -o hdmi  timelapse.avi

效果是不是杠杠滴?

树莓派官方镜像更新-新特性解说

树莓派官方放出了最新的镜像版本为2018-06-17, 新版本的发布一般情况下会有一些软件的更新, bug 的修复等等, 我们来一起看看这款新版本的更新更新了什么内容:
1.  添加了新的启动配置向导, 真正实现了傻瓜化的配置道路…
设置国家
设置用户的密码
选择 wifi 网络.
检查更新
安装更新
配置完成后重启.
2. 添加了推荐软件安装器
3. Bluej, Greenfoot, NodeRED, Claws Mail, VNC Viewer 已经被从镜像移除, 可以通过推荐应用进行安装.
4. Qpdfview PDF viewer 集成在系统中用来取代Xpdf, 看 PDF 更加给力了!
5. 系统原生包含Version 65.0 的Chromium浏览器, 并支持最新的 Flash 播放器,意味着如果看优酷视频也不会因为播放器不兼容而不好用了, 系统烧录完直接打开浏览器就看世界杯了.
 
6. 音量的调节可以以5%的幅度进行增减了, 并且可以选择输出设备了.
7. 网络的插件可以对以前输入过的网络密码进行记忆了, 当重连的时候会提示密码信息.方便了不少.
8. 串口和串口控制台能够在树莓派配置中进行切换.
9. Lxkeymap 键盘语言设置移除 – 替换为在 Raspberry Pi Configuration的对话设置中了.
10.  Wifi 国家及键盘语言设置对话框可以被其他应用调用了,就意味着如果其他的应用程序需要修改语言或者键盘映射类型就可以直接调用管理控制台完成设置了.

11. 新版本的PiBOTO字体包括在某些恶意应用程序中以正确的权重渲染.

12. 在重新启动时,自动重新连接到蓝牙音频设备. 你如果有蓝牙音箱的应用就非常舒服了.

13. 如果选择了”单击启用” ,请在文件管理器中”禁用单击以重命名文件”

14. “外观设置对话框”对某些QT文件进行配置更改,以匹配选定主题.

15. 改进的MIME文件类型关联

16. 多个桌面管理选项取消了鼠标中键作用.

17. 修改了树莓派Pi网站的菜单快捷方式,使得访问更加清晰,帮助就是帮助,项目就是项目.一目了然.

18. 删除了Python 2 idle 的菜单链接,看来要全面支持 python3了.

19. MAGPI PDF安装在/home /pi/MagPi 中, 更加方便查看 magpi 杂志.

20. 应用各种小调整、错误修复和外观更改

21. 蓝牙更新, 连接速度更快更有效.并且具有蓝牙4.2特性的固件,虽然我的蓝牙无法支持4.2, 但是固件升级了肯定增加很多新特性.

22.通过bthelper.serivce添加了对 SCO 配置的支持.

23. 内核方面的升级: Linux内核4.1450+

Raspberry Pi固件78FB1799 2426BB29 D9224B93CB962FEFBDC833

更多新特性等待你起来尝试! 快点去下载新镜像来武装你的树莓派吧!!!

 

Pi Zero Enc28j60网络适配器模块使用说明 SKU:EP-0088

Pi Zero Enc28j60网络适配器模块使用说明

说明

对于Pi Zero来说, 如果没有网卡是非常不方便的,因为它的核心系统是Linux,
大多数操作都是基于linux的命令行通过ssh服务来完成的.所以它其实需要一个网络适配器,也就是我们常说的网卡, Pi zero enc28j60是简单网络适配器模块,它非常易于组装和配置。
它允许您的Raspberry Pi zero 顺利访问网络,这样就可以很容易进行系统更新和软件安装操作。

兼容性列表

  • 兼容性
平台 版本1.01(HW V1.01) 备注
Raspberry Pi 3 Model B Plus
树莓派零
Raspberry Pi零W
Raspberry Pi 3型号B.
树莓派2型号B
树莓派模型B +

功能

  • 易于组装
  • 易于设置
  • 官方OS覆盖支持
  • 稳定而快速
  • 重量:0.015Kg
  • 尺寸:65.14mm x 29.93mm x 23.34mm

装配展示:

如何配置:

  • 1.将NIC模块安装到raspberry Pi中。
  • 2.连接好网线以确保您的路由器支持DHCP并且运行良好。

  • 3.将Raspbian镜像文件烧录到TF卡。
  • 4.使用您喜欢的编辑器(如“nano”或“vim.tiny”)编辑/boot/config.txt文件,并添加以下参数:
dtoverlay=enc28j60

然后保存退出并重新启动raspberry Pi。
注意:该模块仅在raspbian操作系统环境中进行测试。

如何检查网络适配器是否正常工作

打开终端并输入以下命令:

ifconfig

您将看到Pi zero Enc28j60网络适配器模块的详细信息.这时候说明网卡可以正常使用了.

同时你会看到屏幕右上方的网络连接图标已经呈现出一上一下一对箭头.

套件组件包括:

  • Pi零点Enc28j60网络适配器模块x 1
  • 说明x 1

更多内容请关注www.52pi.net,您将获得更多好玩儿有趣的资讯!

 

在树莓派3B 上安装 Windows 10 ARM 版的方法

早先关注我们的朋友可能对《国外开发者尝试在树莓派3上运行Windows 10桌面版》有印象。本文转自 amatfan.com,文末视频来自 daveb778(感谢柠栀和刺分享),给出了如何在树莓派3B上安装Windows10 ARM版,是的,这次并非IoT版,而是功能与PC一致的ARM版。需要注意的是,这个方法并非官方提供的,可用性上会有一些坑,热衷于尝试的玩家可以一试!

准备项目:树莓派3B以上型号,16G以上SD卡,显示器,键盘鼠标,电源。

1.格式化SD卡

2.使用DiskGenius,打开

格式化为2个分区,第一个100MB,格式为FAT32,第二个为NTFS,大小是剩余的全部容量。

下载镜像链接: https://pan.baidu.com/s/11Pwk1QwgNvr8mh_p6y-VpA 密码: tfyp

右键用Windows资源管理器打开

下载软件:DISM++,百度网盘链接: https://pan.baidu.com/s/1Bkq20DWnf7QPs_qMTAw8yg 密码: dgp4

选择:恢复功能:系统还原

目标映像打开刚才打开的ISO文件中的sources\install.wim文件

写入位置选择刚才格式化的大分区

点击确定开始恢复

等待恢复期间,下载UEFI与驱动:

UEFI:下载

驱动:下载

下载后解压打开,找到UEFI中的RaspberryPiPkg\Binary\prebuilt\2018May22-GCC49\RELEASE

将里面全部文件复制进入SD卡小的分区

等待恢复完毕,我们需要手动创建引导文件。请以管理员身份打开cmd
依次输入以下命令:(2,3条顺序可以颠倒。)

bcdboot X:\Windows /s Y: /f UEFI /l zh-cn
bcdedit /store Y:\efi\microsoft\boot\bcd /set {Default} testsigning on
bcdedit /store Y:\efi\microsoft\boot\bcd /set {Default} nointegritychecks on

其中,X是你的NTFS分区,Y是你的FAT分区
以我的电脑为例,我的sd卡的FAT分区是D:,NTFS分区是F:
则我需要输入如下命令:

bcdboot F:\Windows /s D: /f UEFI /l zh-cn
bcdedit /store D:\efi\microsoft\boot\bcd /set {Default} testsigning on
bcdedit /store D:\efi\microsoft\boot\bcd /set {Default} nointegritychecks on

然后安装驱动(更新驱动也是一样的)

其中F是刚才大的NTFS分区,C:\Users\gloom\Downloads\rpi是驱动下载保存的位置

dism /image:F: /add-driver /driver:C:\Users\gloom\Downloads\rpi /forceunsigned

插入树莓派,开机。然后按esc键来到Uefi设置页面

选择 Device Manager

进入Raspberry pi configeration

选择第一个

更改为EL1

退出重启,去除连接树莓派上的键盘,鼠标,等待系统设置完成(插键盘会蓝屏)

接下来设置与普通Windows一样,设置完成就可以使用了!

以下是 daveb778 提供的视频教程:


 

本文来自:树莓派实验室

 

 

 

树莓派+nodejs打造物联网图传控制履带车

本文来自 float ,介绍了一套基于树莓派平台的遥控小车机器人项目,支持图像传输和远程控制。项目的软件部分是开源的,在这里推荐给趣友和树莓派爱好者。

项目的灵感来自皮克斯动画《机器人总动员》的主角瓦力(wall.e)。一个在末日的废墟中幸存并日复一日清洁着地球的可爱机器人。

这是一个十分有趣的物联网项目!它运行在基于arm架构的raspiberry(树莓派)开发板上。借助性能出色的node和多平台兼容的硬件框架johnny-five,我们创建了这个项目。 ​ 此项目包括了服务端到前端程序,开发语言选用javascript,功能上包括了视频监控,温度数据采集,远程遥控,距离测量,gps定位等功能。 欢迎对物联网感兴趣的开发人员Issues。

技术栈

  • johnny-five
  • vue
  • express
  • chart.js
  • mongoDB

目标功能

  • [x] 支持视频实时监控 (完成)
  • [x] 支持摄像头转动(完成)
  • [x] 支持手动控制电机运行(完成)
  • [x] 支持温度采集(完成)
  • [ ] 支持gps定位
  • [ ] 支持距离探测
  • [ ] 支持循迹功能
  • [ ] 支持自由巡航

环境配置和依赖

  • 树莓派开发板(Raspberry Pi 3 Model B)
  • ubuntu mate16.0.4操作系统
  • node && npm
  • MJPG-streamer

运行项目

项目下载

git clone https://github.com/zexiplus/WALL.E.git
cd WALL.E
npm install

开发模式运行web界面程序

npm run dev
// then open the browser at http://localhost:1234

生产环境运行web界面程序

npm run build
npm run local
//then open the browser at http://localhost:2999

运行服务端程序

npm run board

材料准备

模块 价格 数量
树莓派开发板 ¥200 1
履带底盘 ¥350 1
AD转换器 ¥15 1
红外传感器 ¥3 6
SG90舵机 ¥15 1
树莓派摄像头 ¥80 1
电池 ¥30 1
gps模块 ¥50 1
MPU6050集成传感器模块 ¥20 1

接线说明

接线参考图如下:

目前接入电路的模块有电机驱动模块,mpu6050集成模块,servo伺服电机模块,摄像头模块。
电机驱动模块接收io引脚发出的高低电平,输出12v的电压从而驱动电机。
servo伺服电机模块用来转动摄像头,摄像头固定于伺服电机支撑的转轴上。
mpu6050模块可以感知周边温度,测量加速度等。
由于gps模块的通信信道与wifi冲突,暂时无法引入,gps定位会在之后的版本中完成。
本项目树莓派io引脚采用wiringPi编码,如图:

接线描述:
伺服电机的信号线接树莓派开发板 1引脚(wiringPi编码,下同)。
mpu6050传感器SCL接树莓派开发板 3引脚,SDA接 2引脚。
电机驱动模块四个输入端分别接树莓派 21,22,23,24 引脚。

项目展示

这里有一个项目的Web控制页面 DEMO,以下是视频演示。


小车实物图:

 

 

项目维护人

GitHub | float
Maker 趣无尽项目页面
项目许可协议:GPL

本文来自:树莓派实验室

 

使用 Adafruit 读取 DHT11 温湿度传感器

DHT11 温湿度传感器尽管不是使用效率最高的温湿度传感器,但价格便宜被广泛应用。之前我们介绍了用树莓派从 DHT11 温度湿度传感器读取数据的教程,其原理理解起来较为复杂,下面我们介绍另一种基于Adafruit DHT 库读取 DHT11 数据的方法。

DHT11 规格

DHT11 有四个引脚,但是其中一个没有被使用到。所有有的模块会简化成3个引脚。

  • 湿度检测范围 : 20-80% (5% 精度)
  • 温度检测范围 : 0-50°C (±2°C 精度)

该厂商不建议读取频率小于2秒,如果这么做数据可能会有误。

硬件连接

需要在电源和数据脚之间串联一个上拉电阻(4.7K-10K),通常情况下,购买DHT11模块的话都自带了这个电阻。不同的模块型号引脚位置略有不同,下面以图上模块为说明:

DHT Pin Signal Pi Pin
1 3.3V 1
2 Data/Out 11 (GPIO17)
3 not used
4 Ground 6 or 9

数据引脚可以根据你的需要自行修改。

Python 库

DHT11 的读取需要遵循特定的信号协议完成,为了方便我们使用Adafruit DHT 库。

软件安装

开始之前需要更新软件包:

sudo apt-get update
sudo apt-get install build-essential python-dev

从 GitHub 获取 Adafruit 库:

sudo git clone https://github.com/adafruit/Adafruit_Python_DHT.git
cd Adafruit_Python_DHT

给 Python 2 和 Python 3 安装该库:

sudo python setup.py install
sudo python3 setup.py install

示例程序

Adafruit 提供了示例程序,运行下面的命令测试。

cd ~
cd Adafruit_Python_DHT
cd examples
python AdafruitDHT.py 11 17

这两个参数分别表示 DHT11 和数据引脚所接的树莓派 GPIO 编号。成功的话会输出:

Temp=22.0* Humidity=68.0%

如何在其他 Python 程序中使用这个库

参照下面的方法引入 Adafruit 库,然后就可以使用 “read_retry” 方法来读取 DHT11 的数据了:

import Adafruit_DHT
  
# Set sensor type : Options are DHT11,DHT22 or AM2302
sensor=Adafruit_DHT.DHT11
  
# Set GPIO sensor is connected to
gpio=17
  
# Use read_retry method. This will retry up to 15 times to
# get a sensor reading (waiting 2 seconds between each retry).
humidity, temperature = Adafruit_DHT.read_retry(sensor, gpio)
  
# Reading the DHT11 is very sensitive to timings and occasionally
# the Pi might fail to get a valid reading. So check if readings are valid.
if humidity is not None and temperature is not None:
  print('Temp={0:0.1f}*C  Humidity={1:0.1f}%'.format(temperature, humidity))
else:
  print('Failed to get reading. Try again!')

另外,温度传感器还有 DS18B20,这个传感器虽然没有湿度数据,但是其易用且稳定。

本文来自:树莓派实验室

树莓派使用 USB 麦克风录音

前几天,有朋友从我们淘宝店买了USB 接口的麦克风, 说是无法识别, 没办法录音, 经过交流发现, 实际上是咩有开启麦克风的音量.

这篇帖子简单介绍一下怎么去利用 usb 麦克风录音,更多应用在后面给大家拓展一下.

首先这个麦克风,超级小巧和物美价廉.哈哈10元你买不了吃亏买不了上当…

 

接驳的方式很简单, 麦克风接入树莓派的 USB 口,然后启动树莓派, 这里我说的直接启动是在假设你已经通过烧录工具烧录好了操作系统.目前操作环境使用的是 Raspbian 系统.

可以去官方下载: http://www.raspberrypi.org/downloads

我这里测试环境是树莓派3B+, 8GBTF 卡.

然后登陆系统,打开终端, 输入如下命令检查是否识别出了 USB 设备.

第一个是我的2.4Ghz 的无线键鼠, 第二个就是麦克风的设备了.

也可以通过 dmesg 看看:

可以看到已经检测到 PnP Sound Device.

接下来,我们看看使用什么方式去录音.你可以安装 ALSA 的录音应用软件:

安装软件前先升级或者说更新一下软件仓库的索引信息: sudo apt-get update

然后执行安装:

sudo apt-get -y  install  alsa-utils   pulseseaudio

然后直接输入:

arecord  -L

就列出目前你机器上可以用的声卡了.

然后可以通过:

arecord –device=hw:1,0 –format S16_LE –rate 44100 -c1 test.wav

说明一下: –device=hw:1,0 是定义录音的设备. –format S16_LE 是定义 signed 16-bit (S16_LE) 音频. 码率是: 44100 Hz (--rate 44100) 后面的参数是定义为mono 格式 (-c1) , 文件名为: test.wav

这里的录音设备1,0 是因为系统设别出来的状态决定的, subdevices 是1, subdevice是0.

来吼一曲一人我饮酒醉, 然后录音录下来,播放看看效果如何.

可以按下 ctrl+C 终止.

如果想播放看看效果:

aplay –device=plughw:1,0 test.wav

之前我们提到了,如果麦克风音量没有开,可能会录出来的内容是无声的.

因此可以通过 alsamixer 去调整, 这里- c 1 是设置输入输出都在一个设置层面上,就是可以在一个终端中通过面板操作所有的音频设备:

alsamixer -c 1

默认为00,按F5的上就可以看到这样的画面:

Mic 就是麦克风了,现在音量很低,你需要按上调试合适的音量.

按 Tab 键可以切换调试的设备.

按 ESC 退出.

再执行录音就可以了.

后面和语音相关的应用介绍:

可以通过命令录音,然后上传给百度语音识别的 API 接口,通过百度语音识别后, 生成 Text 文本,然后将 text 文本提交到图灵机器人后台的 API, 可以得到图灵机器人的反馈,也应该是文本,然后再将文本转语音,就是传说中的 TTS, 那样,你的树莓派就可以和天猫精灵,小米智能音响一样和你交互了.

快去试试看吧!

 

树莓派安装 Nginx + PHP7.0 + Pi Dashboard

之前我们介绍过树莓派搭建LNMP环境的方法,以及给树莓派装一个仪表盘来监控树莓派运行状态。
近期有用户反馈树莓派最新版的系统已经无法找到 PHP5 的软件包了,这是因为新版本已经用 PHP7 替代了 PHP5,而 Nginx 下 PHP-FPM 的配置方法和 PHP5 有略有不同。因此我们打算更新这篇《给树莓派安装 Nginx + PHP7.0 + Pi Dashboard》来介绍如何用在树莓派上部署新的 Nginx 和 PHP 环境,并部署好 Pi Dashboard 的方法。下面假设你已经刷好了 Raspbian Stretch 系统。

安装 Nginx 和 PHP7

在 Pi 的终端运行以下命令。

sudo apt-get update
sudo apt-get install nginx php7.0-fpm php7.0-cli php7.0-curl php7.0-gd php7.0-mcrypt php7.0-cgi
sudo service nginx start
sudo service php7.0-fpm restart

如果安装成功,可通过 http://树莓派IP 访问到 Nginx 的默认页。Nginx 的根目录在 /var/www/html
进行以下操作来让 Nginx 能处理 PHP。

sudo nano /etc/nginx/sites-available/default

将其中的如下内容

location / {
    # First attempt to serve request as file, then
    # as directory, then fall back to displaying a 404.
    try_files $uri $uri/ =404;
 }

替换为

location / {
index index.html index.htm index.php default.html default.htm default.php;
}
 
location ~\.php$ {
fastcgi_pass unix:/run/php/php7.0-fpm.sock;
#fastcgi_pass 127.0.0.1:9000;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}

Ctrl + O 保存再 Ctrl + X 退出。

sudo service nginx restart

最后重启 Nginx 即可,以上步骤在树莓派3B + Raspbian Stretch 系统版本上测试通过。

Pi Dashboard 介绍

Pi Dashboard (Pi 仪表盘) 是树莓派实验室发布的一款开源的 IoT 设备监控工具,目前主要针对树莓派平台,也尽可能兼容其他类树莓派硬件产品。你只需要在树莓派上安装好 PHP 服务器环境,即可方便的部署一个 Pi 仪表盘,通过炫酷的 WebUI 来监控树莓派的状态!

目前已加入的监测项目有:

  • CPU 基本信息、状态和使用率等实时数据
  • 内存、缓存、SWAP分区使用的实时数据
  • SD卡(磁盘)的占用情况
  • 实时负载数据
  • 实施进程数据
  • 网络接口的实时数据
  • 树莓派IP、运行时间、操作系统、HOST 等基础信息

项目主页:http://maker.quwj.com/project/10
GitHub地址:https://github.com/spoonysonny/pi-dashboard

视频预览

部署 Pi Dashboard

这里介绍两种方法将 Pi Dashboard 部署在 Nginx 上。
SFTP 上传
在 GitHub 下载本项目源码。通过 FileZilla 等 FTP 软件将解压出来的目录上传到树莓派的 /var/www/html目录下。
那么可以通过 http://树莓派IP/pi-dashboard 访问部署好了的 Pi Dashboard。

如果页面无法显示,可以尝试在树莓派终端给源码添加运行权限,例如你上传之后的路径是 /var/www/html/pi-dashboard,则运行。

cd /var/www/html
sudo chown -R www-data pi-dashboard

GitHub 部署
如果你了解过 GitHub 的基本操作,通过 GitHub 来下载本项目到 Pi 上会相当方便。

#如果已安装过 git 客户端可以跳过下一行
sudo apt-get install git
cd /var/www/html
sudo git clone https://github.com/spoonysonny/pi-dashboard.git

即可通过 http://树莓派IP/pi-dashboard 访问部署好了的 Pi Dashboard。

同样如果页面无法显示,可以尝试在树莓派终端给源码添加运行权限,例如你上传之后的路径是 /var/www/html/pi-dashboard,则运行。

cd /var/www/html
sudo chown -R www-data pi-dashboard

以上步骤在树莓派3B + Raspbian Stretch 系统版本上测试通过。

Pi Dashboard 常见问题

Q:Pi Dashboard 的 WebUI 支持在哪些终端上查看?
A:任何带有浏览器的终端都可以查看,无论是在内网还是外网的电脑、Pad或是智能手机上。Pi Dashboard 对不同的设备做了响应式布局,能很好兼容手机浏览。

Q:我没法通过外网IP访问到怎么办?
A:国内很多地区的ISP都不提供独立的外网IP了,可以通过花生壳等工具实现外网访问。对于已有外网独立IP的用户,可以尝试把 Nginx 服务端口从 80 改成其他端口号,再在 IP 地址后添加端口号访问。这是因为国内ISP普遍禁用了80端口。

Q:我有一个域名,如何将域名绑定到树莓派上?
A:可以参考DNSPod动态IP解析更新程序树莓派搭建LNMP环境。将域名指向树莓派IP后需要修改 Nginx 网站配置的 servername 这项为你的域名即可。

使用条款

本项目是开源项目,NXEZ.com 保留作为发起者的权利。
允许在 GPL v3.0 协议下对项目进行使用。请务必在保证项目的出处、声明、超链接等内容完整。

本文来自:树莓派实验室

 

 

 

Raspberry Pi 7英寸1280×800显示套件(无触摸屏)说明SKU:Z-0112

Raspberry Pi 7英寸HDMI高清液晶显示屏1280×800显示模块套件

说明

7寸高清 HDMI 液晶显示屏,采用标准分辨率,适合各位 DIY 爱好者进行 DIY 项目使用.

在树莓派上测试效果非常好, 配置也简单容易实现.

  • 注意:不带HDMI或VGA电缆的LCD屏幕,非触摸屏版本不需要驱动程序。

特点:

  • 工作电压:9V(电流要求1A-2A),推荐使用12V电源。
  • 额定功率:10-12Wat
  • 信号输入:AV + VGA + HDMI(HDMI 1.2)
  • 分辨率:1280×800
  • 即插即用:支持
  • OSD语言支持:简体中文,繁体中文,英文,日文,韩文,西班牙文,法文,德文,意大利文,葡萄牙文
  • 控制:多功能OSD操作或电位器调节亮度和颜色
  • 特点:使用成熟的程序,清晰的显示
  • 支持图像上下翻转,图像可以转换4:3/16:9显示格式
  • 基于IPS技术

LCD屏幕参数:

  • 显示尺寸:7英寸
  • 触摸屏:不支持
  • 尺寸:161(W)×106(H)×5(D)mm
  • 观看面积:152mm(H)×96mm(V)
  • 分辨率:1280×3(RGB)×800
  • 点距离:0.05(W)×0.15(H)mm
  • 视角:所有角度
  • 面板类型:IPS
  • 显示颜色:262K,50%(CIE1931)
  • 对比度:800:1(Typ。)
  • 亮度:400 cd /m²(典型值)
  • 接口类型:数字
  • 连接类型:FPC电缆
  • 背光:LED
  • 响应时间:25(Typ。)(Tr + Td)ms
  • 工作频率:60Hz
  • 信号接口:LVDS(1个通道,6位),30个引脚
  • 电压:3.3V(典型值)
  • 工作温度:-20〜70°C
  • 储存温度:-30〜80°C
  • 应用:移动DVD,数码相框,汽车系统,多媒体应用和其他视听系统

套件包含:

  • 1 x 7英寸的液晶屏幕
  • 1个LCD驱动板
  • 1个白色电缆(连接到键盘)
  • 1个长绿色键盘

如何设置分辨率:

  • 需要修改树莓派配置文件/boot/config.txt 文件:
  • 您可以使用vim.tiny或nano编辑器修改/boot/config.txt文件,并更改参数,如下图所示:
解析度 配置文件
1280×800 disable_overscan = 1
hdmi_drive = 1
hdmi_group = 2
hdmi_mode = 28
hdmi_force_hotplug = 1

修改/boot/config.txt后请重新启动树莓派


视频驱动板机械制图


如何自动设置分辨率

有一种简单的方法可以通过shell脚本来设置屏幕的分辨率,您可以通过git工具下载脚本并使用它来改变屏幕的分辨率,步骤如下: 然后按照步骤选择您拥有的屏幕类型,它会自动为您设置分辨率。
git clone https://github.com/yoyojacky/52Pi.git
cd ~/52Pi
chmod +x restool.sh
./restool.sh


常见问题

  • 问题:如何在汽车中使用此屏幕?
    • 答:对不起,我们不建议你把这个屏幕放在你的车里,当你开车时它可能会分散注意力。
  • 问题:我可以使用哪根电线?
    • 答:此屏幕的驱动板可提供VGA和HDMI电缆输出。