跳至內容

UNIXETC

标签: Raspberry Pi

一加3t和树莓派UNIXBench跑分对比

一加3T 一加3T运行的是UbuntuTouch系统 一加3T系统信息 phablet@ubuntu-phablet:~$ inxi -F Resuming in non X mode: xrandr not found. For package install advice run: inxi --recommends System: Host: android Kernel: 3.18.31-halium-gca027546546e-01041-g7961eb763e61 aarch64 (32 bit) Desktop: N/A Distro: Ubuntu 16.04 xenial Machine: No /sys/class/dmi; using dmidecode: dmidecode is not installed. CPU: Quad core AArch64 Processor rev 1 (aarch64) (-MCP-) (ARM) clock speeds: max: 2188 MHz 1: 1593 MHz 2: 1593 MHz 3: 1593 MHz 4: 1593 MHz Graphics: Card: Failed to Detect Video Card!

通过SSH Over USB管理树莓派Zero

树莓派Zero因为相对来说太小巧,没有提供初始化的网卡,所以我们除了通过串口连接以外,树莓派Zero也提供了USB直接连接的方式。即通过Ethernet Gadget模式来连接pc,并进行ssh连接。 Ethernet Gadget模式即USB网卡模式,比较常见的就是我们通过android手机的usb接口对pc进行网络共享的一种手段。一般电脑都会自动识别这种设备,并开启网卡进行共享。 修改配置文件 为了进行USB连接,我们需要修改BOOT文件夹下的config.txt与cmdline.txt配置文件。 首先在config.txt最末行处换行添加如下代码,打开usb网卡模式: dtoverlay=dwc2 其次在cmdline.txt文件中找到rootwait字段,并在其后面空格添加如下信息,在打开系统时开启USB网卡模式。 modules-load=dwc2,g_ether 在boot分区新建ssh文件,以打开ssh访问功能。 touch ssh 通过usb连接设备 树莓派zero有两个MicroUSB口,一个是电源插口,职司供电的功能,另外一个就是USB接口,它除了供电以外还提供OTG的功能,我们也是通过这个接口来连接PC。 此时我们可以通过以下代码连接树莓派zero: ssh pi@raspberrypi.local 但此时ip段为DHCP模式获取,如果我们希望通过ip来连接,则我们需要给树莓派的usb网卡设置ip。 设置USB网卡的IP 我们可以通过ifconfig -a来查看我们现在的网卡设备,此时我们可以看到,USB0网卡设备,我们就是通过该设备连接的pc,所以我们需要设置该网卡的ip。 sudo nano /etc/network/interfaces 打开网卡配置界面,在最末行添加如下代码来设置固定IP: allow-hotplug usb0 iface usb0 inet static address 192.168.7.2 netmask 255.255.255.0 network 192.168.7.0 broadcast 192.168.7.255 gateway 192.168.7.1 然后重启usb0网卡: sudo ifdown usb0 sudo ifup usb0 ifconfig usb0 但树莓派此时实际上是从机,我们需要通过设置pc主机的ip来让树莓派0的usb网卡真正运作起来,那么我们对刚才的usb设备设置如下IP: IP: 192.168.7.1 掩码: 255.255.255.0 路由: 192.168.7.1 此时我们就可以通过ip来进行ssh连接了:

树莓派显示天气信息

在此介绍一个国外网友的树莓派项目RARP,Weather According to Raspberry Pi 顾名思义,Weather According to Raspberry Pi是一个有关天气信息的项目,该项目通过采集Raspberry Pi和Sense HAT的数据,来显示相关的天气信息,比如温度、湿度、压力等 项目地址http://coded2.herokuapp.com/weather/ 代码国内下载地址http://cdn.lyq.wiki/res/warp_final.zip 下载后解压,得到main.py和gauge2.html两个文件,其中main.py需要Python3运行,gauge2.html是最终的显示文件 安装相关软件 sudo apt-get install python3 sudo apt-get install python3-pip pip3 install flask 打开Sense HAT仿真器,在程序菜单中,打开后如下图示: 下来,运行下载的python脚本 python3 main.py 正常情况下,会提示一个端口为5000的web服务正在运行 在浏览器中浏览localhost:5000或者127.0.0.1:5000,最终的浏览如下图 三个图表分别显示温度、压力和湿度,这三者的信息均来自Sense HAT 模拟器而不是真正的Sense HAT硬件。 如果需要采集Sense HAT扩展板的数据,需要将Sense HAT附加板和Raspberry Pi相连,具体信息参考官网 https://www.raspberrypi.org/products/sense-hat/ 然后修改代码,打开main.py文件,找到如下行 from sense_emu import SenseHat 修改为 from sense_hat import SenseHat 保存后,重新运行python3 main.py,此时采集的数据就来自真实的SenseHAT硬件。

理解Linux中Shell初始化文件和用户Profiles文件

Linux是一个多用户、实时共享的操作系统,意味着不止一个用户可以登录同一个系统。系统管理员通过任务管理来分配不同用户的权限,比如安装、升级、卸载应用程序,运行编译程序,文件查看、编辑等等。 Linux允许通过两种主要方式来创建用户环境:系统级(全局)和用户级(个人)。一般情况下,Linux系统都会运行基本shell程序,当用户登录成功后shell会在初始化时根据某些文件开创建环境。 Linux中的Shell初始化 当Shell被调用时,会有一些初始化/启动文件被启用,它们的主要作用是为shell本身或用户设定运行环境,包含一些函数、 变量、别名等等。 Shell可以读取以下两种初始化文件: 系统级启动文件 – 包含一些应用于户所有用户的全局配置,一般存在于**/etc**目录中,如 **/etc/profiles** 、**/etc/bashrc** 或者 **/etc/bash.bashrc**。 用户级启动文件 – 包含一些应用于单用户的配置文件,一般存放在各个用户目录,这些配置可以覆盖系统级全局配置,如**.profiles**、 **.bash_profile**、 **.bashrc** 和 **.bash_login**. Shell存在三种调用模式: 1. 交互式登录Shell 当用户成功登录系统后调用该Shell,使用**/bin/login**登录,随后读取**/etc/passwd**文件。 当启动交互式shell后,将读取**/etc/profile**文件以及特定的用户文件**~/.bash_profile** login as: pi pi@pi.raspi.in's password: The programs included with the Debian GNU/Linux system are free software; the exact distribution terms for each program are described in the individual files in /usr/share/doc/*/copyright. Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent permitted by applicable law.

树莓派动态IP更新器

这是一个python3的脚本,每隔10分钟监控一次IP地址,如果发生变化则会通过AutoRemote消息通知你。 关于AutoRemote的使用可参考这里 这里推荐使用ipgetter来获取外网IP,地址为https://github.com/phoemur/ipgetter 安装ipgetter sudo apt-get install python3 pip sudo pip3 install ipgetter 你可以从以下地址获取每个通知设备的AutoRemote所需google key ​ http://autoremotejoaomgcd.appspot.com/?key=[it’s the part that is here] 以下为python3脚本: import ipgetter import urllib.request import requests currentIP = ipgetter.myip() #AutoRemote function to send a notification YOUR_KEY goes here def sendAR(x): AR_key = 'YOUR_KEY' AR_url = 'http://autoremotejoaomgcd.appspot.com/sendmessage?key='+ AR_key +'&message=IP%20' message = AR_url + x response = urllib.request.urlopen(message).read() print(x) #check the internet and check if previous file is present try: requests.