山莓

树莓派搭建个人服务器

人走茶凉 提交于 2019-12-02 07:56:53
前言 上一篇 树莓派也跑Docker和.NET Core 有对树莓派做简单的介绍。包括系统的烧录、基本的设置、docker的安装、.net core的运行等。有人问我是不是一定要跑docker,答案肯定是否定的。我之所以用docker,完全是因为它的便利(带环境)、对系统无污染和方便系统资源的查看和控制。本篇文章继续分享下我对树莓派的使用。 docker安装 https://www.cnblogs.com/zhaopei/p/raspberrypi-docker-netcore.html#autoid-6-0 mysql安装 我说在树莓派上跑mysql你还不信。 docker run --restart=always \ -p 3306:3306 \ --name mysql \ -v $PWD/conf:/etc/mysql/conf.d \ -v $PWD/logs:/logs \ -v $PWD/data:/var/lib/mysql \ -e MYSQL_ROOT_PASSWORD=mysqlpassword \ -d hypriot/rpi-mysql:5.5 --restart=always #容器自启动 3306 #数据库端口 -v $PWD/conf:/etc/mysql/conf.d #配置文件挂载路径 MYSQL_ROOT_PASSWORD

在树莓派3B+上安装ubuntu mate 18.04

删除回忆录丶 提交于 2019-12-02 07:09:24
近期得到一套树莓派3B+,随后边有一个VR Robot的想法,目前ROS逐渐成为机器人行业的标准,有着丰富的学习资源与项目案例。学习ROS目前是机器人的必经之路。 上半年参加的十四届恩智浦竞赛的室外光电组也接触过ROS,也是我第一次接触Linux与Ubuntu,所以这次决定选择Ubuntu作为项目中的上层平台,经过近期学习大概了解到不同Linux发行版的特点,Ubuntu可以直接使用apt相关指令来安装一些软件包,也是目前各大电商平台智能机器人首选的平台,再次坚定了选用Ubuntu来开发机器人的信心。 但是毕竟树莓派的性能有限,而且树莓派为ARM架构,与常见个人PC的x86架构不同,所以无法直接安装Ubuntu系统;并且树莓派官方系统为基于Debian的Raspbian,只有自行烧录第三方系统才能满足我使用Ubuntu的愿望。 上图所示为树莓派官方推荐的两个操作系统 上图所示为各式各样的第三方操作系统,其中Ubuntu相关的有三个“Ubuntu MATE”、“Ubuntu core”、“Ubuntu server” 该项目的关键之一便是在树莓派上运行,在树莓派上烧录程序的一般步骤为在TF(Micro SD)卡上烧录img来运行,但是最近查阅资料中了解到可以使用U盘来启动操作系统,貌似较TF卡方式有着更大的优势,本人最近没时间研究,有兴趣的朋友可以研究研究。 烧录Ubuntu

树莓派开机发送IP地址到邮箱

荒凉一梦 提交于 2019-12-02 06:47:52
树莓派使用的wifi联网,在宿舍使用的是公共网络,不能设置静态ip,每次树莓派上电开机后ip地址可能会改变,所以让树莓派开机联网后自动发送ip地址到QQ邮箱 一、安装mutt和msmtp mutt: 是一个Linux下的邮件程序,Mutt 更像一个文件管理器,只不过它管理的是email。 msmtp: 是Linux下一个非常简单易用的smtp客户端。 sudo apt-get install mutt sudo apt-get install msmtp 二、配置mutt和msmtp 1、配置msmtp,在用户的根目录下新建文件.msmtprc,内容如下: account default host smtp.aliyun.com from 你的邮箱地址 auth plain user 你的邮箱地址 password 你的邮箱密码 logfile /var/log/msmtp.log host 你的邮箱的SMTP服务器地址,可以在邮件的网站上查到,我用的阿里云的邮箱,所以是aliyun.com后缀 from 这里是发件人地址,在收件方会显示,设置成你给树莓派申请的邮箱地址 user 这里是用户名,网上有用户说这里设置邮箱的用户名即@符号前面的字符串就可以,我没有尝试,还是设置的我的邮箱地址,建议先使用邮箱地址,配置成功之后可以自己进行修改 password 这个就是自己邮箱的密码

树莓派4硬件---GPIO篇

守給你的承諾、 提交于 2019-12-02 03:10:43
  树莓派拿到手已经两个多月了,其实从最开始的期待安装好ROS,到前几天完成了ROS的源码编译安装,对linux的调教也时花了些时间的。现在终于想起来,树莓派上还有GPIO,还没有用过了。说干就干,开始。以下操作都是在树莓派已经安装好了官方的系统,也已经升级到了最新版了。总共有40个GPIO,实际管脚图为:      在计算机中,通常用高、低两个电压来表示二进制的1和0。树莓派也是如此。GPIO用相同的方式来表示数据。每个GPIO的PIN都能处于输入或输出状态。当处于输出状态时,系统可以把1或0传给该PIN。如果是1,那么对应的物理PIN向外输出3.3V的高电压,否则输出0V的低电压。相应的,处于输入状态的PIN可以探测物理PIN上的电压。如果是高电压,那么该PIN将向系统返回1,否则返回0。就是利用上述简单机制,GPIO实现了和物理电路的互动。通过管脚图,不难看出使用方法和其他的开发板是一样的,先设置管脚的方向,再设置管脚的数值。将其配置为输入或输出,通过读写相应的IO的寄存器值,获取IO状态,通过值取得IO的数值,完成IO的状态的改变。 创建一个python代码: 1 import RPi.GPIO as GPIO 2 import time 3 GPIO.setmode(GPIO.BCM) 4 GPIO.setup(21,GPIO.OUT) 5 6 while True :

树莓派4B更换国内源

杀马特。学长 韩版系。学妹 提交于 2019-12-02 02:49:51
更换清华源: https://mirrors.tuna.tsinghua.edu.cn/help/raspbian/ 注意树莓派4B的Respbian是基于Debian 10 Bluster 不要选错。 根据提示修改: # 编辑 `/etc/apt/sources.list` 文件,删除原文件所有内容,用以下内容取代: deb http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ buster main non-free contrib deb-src http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ buster main non-free contrib # 编辑 `/etc/apt/sources.list.d/raspi.list` 文件,删除原文件所有内容,用以下内容取代: deb http://mirrors.tuna.tsinghua.edu.cn/raspberrypi/ buster main ui sudo apt-get update后报错 The following signatures couldn’t be verified because the public key is not available: NO_PUBKEY

树莓派4b点亮led灯基本步骤

99封情书 提交于 2019-12-01 23:41:59
方法/步骤1: 首先要了解树莓派上的针脚,下面以树莓派4b为例子 把LED的正极插在GPIO脚上,把负极插在GND上 这里的例子是:正极插在GPIO21 方法/步骤2: 创建脚本 在配置好的树莓派系统终端,我用的是vim创建的文件,你也可以在桌面创建 文件名随意,但要以.py为后缀 方法/步骤3: 代码中导入2个需要的模块 import RPi.GPIO as GPIO import time 方法/步骤4: 设置模式 GPIO.setmode(GPIO.BCM) GPIO.setup(21, GPIO.OUT) 方法/步骤5: 控制电压输出 while True: GPIO.output(21, GPIO.HIGH) time.sleep(0.05) GPIO.output(21, GPIO.LOW) time.sleep(0.05) 最终代码为 import RPi.GPIO as GPIO #导入树莓派提供的python模块 import time #导入时间包,用于控制闪烁 GPIO.setmode(GPIO.BCM) #设置GPIO模式,BCM模式在所有数码派通用 GPIO.setup(21, GPIO.OUT) #设置GPIO21为电流输出 while True: GPIO.output(21, GPIO.HIGH) #GPIO21 输出3.3V time.sleep

树莓派4之点亮led

杀马特。学长 韩版系。学妹 提交于 2019-12-01 23:40:08
在配置好树莓派系统后,可以通过显示屏或者电脑远程操作 然后根据树莓派的gpio引脚图了解gpio的分布 然后在终端创建一个python的文件例如:led.py import RPi.GPIO as GPIO import time GPIO.setmode(GPIO.BCM) GPIO.setup(21,GPIO.OUT) while True : GPIO.output(21,GPIO.HIGH) time.sleep(0.05) GPIO.output(21,GPIO.LOW) time.sleep(0.05) 然后直接python led.py 就可以了 这里本应该是闪烁的,限于图片。 来源: https://www.cnblogs.com/miaorn/p/11721580.html

在树莓派上使用Google Assistant

江枫思渺然 提交于 2019-12-01 21:52:41
前段时间尝试在树莓派上使用Google Assistant, 系统能够捕捉音频并识别,使用USB声卡也能正常工作,但使用3.5mm jack时没有音频输出。经过摸索终于有输出了!写篇post记录一下关键步骤吧! 首先配置输入输出设备: 12 audioInputDevice = findAudioDevice(AudioManager.GET_DEVICES_INPUTS, AudioDeviceInfo.TYPE_USB_DEVICE);audioOutputDevice = findAudioDevice(AudioManager.GET_DEVICES_OUTPUTS, AudioDeviceInfo.TYPE_BUILTIN_SPEAKER); 此处TYPE_BUILTIN_SPEAKER即为3.5mm输出口。之前尝试TYPE_AUX_LINE、TYPE_LINE_ANALOG、TYPE_WIRED_HEADPHONES等全都不能发现设备返回null; 然后生成凭据: 1 大专栏 在树莓派上使用Google Assistant23456 try { userCredentials = EmbeddedAssistant.generateCredentials(this, R.raw.credentials);} catch (IOException |

树莓派3B+ 叮当语音控制

跟風遠走 提交于 2019-12-01 21:38:52
树莓派3B+ 叮当语音控制 智能音箱是一个并不新的产品,但在今年却显得尤为火爆,最近发布的天猫精灵,以99元的价格强势步入人们的生活,然而所谓的智能,无非是基于语音识别技术,联控各大平台的产品,从而实现智能化。所以,基于Linux的树莓派,借助各大平台,也能实现这一功能,现在就来看看吧! 项目来源 [作者:潘伟洲]: https://github.com/wzpan/dingdang-robot 项目安装视频地址 [密码:dingdang123]: http://v.youku.com/v_show/id_XMzA5NjY1OTU0MA==.html?spm=a2h3j.8428770.3416059.1 由于安装过程繁琐又费时,所以这里提供自动安装脚本。 1.准备安装包 安装所需的包列表:[请自行下载并解压在 /home/pi/ 目录下] PocketSphinx 离线STT引擎: sphinxbase & pocketsphinx CMUCLMTK MIT Language Modeling Toolkit m2m-aligner Phonetisaurus 下载地址列表: http://downloads.sourceforge.net/project/cmusphinx/sphinxbase/0.8/sphinxbase-0.8.tar.gz http:/

基于树莓派的语音机器人

為{幸葍}努か 提交于 2019-12-01 21:34:58
近年来语音识别发展迅速也带动了人工智能的发展。曾经渴望自己做一个机器人,但是无奈,心有余而力不足,经过多年的积累,小白的我也能用站着巨人的肩膀上玩下机器人了。 准备工作:树莓派,音频模块,stm32单片机,百度语音识别接口,喇叭。 整体思路: 1. 由于树莓派没有ADC模块,所以这里借助于stm32的ADC模块来实现将语音信号转换成数字信号,然后通过串口传 输 到树莓派你中,树莓派你将数据组装成wave文件,便于语音识别。 2. 通过http协议将组装的语音文件上传到百度语音识别平台进行识别。 文档说明 (免费调用) 3. 根据识别结果做出相应的处理。 4. 对于需要播放语音时,根据百度语音合成接口合成语音然后使用mplayer播放出来。mplayer安装参考 博客 部分代码: 将音频转换成wave文件 #include <stdio.h> #include <stdlib.h> #include <stdint.h> #include <wiringPi.h> #include <wiringSerial.h> #include <unistd.h> #include <fcntl.h> #include <sys/types.h> #include <sys/ioctl.h> #include "listen.h" //gcc -o uart uart.c -lwiringPi