树莓派鼠标电脑了解一下?

​hi,大家好,今天看到一个国外牛人用树莓派结合3D打印机制作了一款小巧的鼠标电脑,如下图:

TIM截图20190117113239.jpg

换个角度再看一下:

TIM截图20190117113338.jpg

屏幕看上去很小,感觉看起来比较费劲,但是直接集成在鼠标上也是非常酷的操作啊!这波操作可以说是很6了。

那么有人会说没有键盘怎么操作啊??

TIM截图20190117113520.jpg

原来它被藏在鼠标的内部了,白色外壳拉出来就是键盘了,呃, 怎么感觉这么反人类呢,横着怎么打字? 不过歪果仁脑洞大是出了名的。我们就忍了吧。

TIM截图20190117113656.jpg

右下角这个开关电源是不是显得很大气啊?哈哈,我觉得手大的人会误操作。

TIM截图20190117113834.jpg

外壳的制作是使用fusion360的,据说很好用,有兴趣的可以自我尝试。

TIM截图20190117114002.jpg

单手操作的姿势是这样的,另一只手就可以拿着手机拍照了么?不知道做这个的初衷是什么?知道的小伙伴评论区见。

操作界面是这个画风:

TIM截图20190117114223.jpg

屏幕很小,看字打游戏都有点儿困难,但是很迷你的小玩意儿总是会吸引一部分人注意,我是觉得听好玩儿的。看这个DIY的大小,我推断鼠标外壳的下面藏着的是树莓派zero的板子,一个迷你小键盘。这个屏幕看上去是tft2.2非触摸屏,

然后如果想要打字,是这样的:

TIM截图20190117114536.jpg

如果玩儿我的世界, 得用个放大镜看比较舒服。。。

TIM截图20190117114618.jpg

这样的项目,大概用个三五天就可以完成了,大家可以猜测一下它的这个项目都用了什么器件?

可以在评论区留言哟!

另外,年前有一大波piboxy来袭,快去抢购, 抢购链接猛戳这里:

piboxy购买链接

TIM截图20190117134045.jpg

使用树莓派构建一个婴儿监视器

香港很湿热,即便是晚上,许多人为了更舒适,在家里也使用空调。当我的大儿子还是一个小婴儿的时候,他卧室的空调还是需要手动控制的,没有温度自动调节的功能。它的控制器只有开或者关,让空调整个晚上持续运行会导致房间过冷,并且也浪费能源和钱。

我决定使用一个基于树莓派的物联网解决方案去修复这个问题。后来我进一步为它添加了一个婴儿监视器插件。在这篇文章中,我将解释我是如何做的,它的代码在 我的 GitHub 页面上。

设计空调控制器

解决我的问题的第一个部分是使用了一个 Orvibo S20 可通过 WiFi 连接的智能插头和智能手机应用程序。虽然这样可以让我通过远程来控制空调,但是它还是手动处理的,而我希望尝试让它自动化。我在 Instructables 上找到了一个满足我的需求的项目:他使用树莓派从一个AM2302 传感器上测量附近的温度和湿度,并将它们记录到一个 MySQL 数据库中。

使用压接头将温度/湿度传感器连接到树莓派的相应 GPIO 针脚上。幸运的是,AM2302 传感器有一个用于读取的 开源软件,并且同时提供了 Python 示例。

与我的项目放在一起的用于 AM2302 传感器 接口的软件已经更新了,并且我使用的原始代码现在应该已经过时了,停止维护了。这个代码是由一个小的二进制组成,用于连接到传感器以及解释读取并返回正确值的 Python 脚本。

将传感器连接到树莓派,这些 Python 代码能够正确地返回温度和湿度读数。将 Python 连接到 MySQL 数据库很简单,并且也有大量的使用 python-mysql 绑定的代码示例。因为我需要持续地监视温度和湿度,所以我写软件来实现这些。

事实上,最终我用了两个解决方案,一是作为一个持续运行的进程,周期性(一般是间隔一分钟)地获取传感器数据,另一种是让 Python 脚本运行一次然后退出。我决定使用第二种方法,并使用 cron 去每分钟调用一次这个脚本。之所以选择这种方法的主要原因是,(通过循环实现的)持续的脚本偶尔会不返回读数,这将导致尝试读取传感器的进程出现堆积,最终可能会导致系统挂起而缺乏可用资源。

我也找到了可以用程序来控制我的智能插头的一个 Perl 脚本。它是解决这种问题所需的一部分,因此当某些温度/湿度达到触发条件,将触发这个 Perl 脚本。在做了一些测试之后,我决定去设计一个独立的 checking 脚本,从 MySQL 去拉取最新的数据,然后根据返回的值去设置智能开关为开或关。将插头控制逻辑与传感器读取脚本分开,意味着它们是各自独立运行的,就算是传感器读取脚本写的有问题也没事。

配置一个打开/关闭空调的温度值是很有意义的,因此,我将这些值转移到控制脚本读取的配置文件中。我也发现,虽然传感器的值一般都很准确,但是,偶尔也会出现返回不正确读数的情况。这个传感器脚本被修改为不向 MySQL 数据库中写入与前值差异非常大的值。同样也在配置文件中写入了连续读取的温度/湿度之间允许的最大差异值,如果读取的值处于这些限制值以外,这些值写不会提交到数据库中。

虽然,做这个自动调节器似乎花费了很多努力,但是,这意味着,记录到 MySQL 数据库的数据是有效的、可用于进一步去分析识别用户使用模式的有用数据。可以用多种图形方式去展示来自 MySQL 数据库中的数据,而我决定使用 Google Chart 在一个 Web 页面上显示数据。

添加一个婴儿监视摄像头

树莓派开放的性能意味着我可以不断地为它增加功能 —— 并且我有大量的未使用的可用 GPIO 针脚。我的下一个创意是去添加一个摄像头模块,将它放在孩子的卧室中,配置它去监视婴儿。

我需要一个能够在黑暗环境中工作的摄像头,而 Pi Noir 摄像头模块是非常适合这种条件的。Pi Noir 除了没有红外过滤之外,同样也是树莓派常用的摄像头模块。这意味着它在白天时的图像可能有点偏紫色,但是它可以在黑暗中借助红外灯来显示图像。

现在我需要一个红外光源。由于树莓派非常流行,并且进入门槛很低,因此它有大量的外围配件和插件。也有适合它的各种红外光源,我注意到的其中一个是 Bright Pi。它可以从树莓派上供电,并且它很适合为树莓派的摄像头模块提供红外光和普通光。它唯一的缺点是太考验我的焊接技能了。

我的焊接技能还是不错的,但是可能花费的时间比其他人更长。我成功地连接了外壳上所有的红外 LEDs,并将它们连接到树莓派的 GPIO 针脚上。这意味着树莓派能够编程控制红外 LED 是否点亮,以及它的亮度。

通过一个 Web 流去公开捕获的视频也很有意义,因为这样我就可以从 Web 页面上查看温度和湿度的读数图表。进一步研究之后,我选择了一个使用 M-JPEG 捕获器的 流软件。通过 Web 页面公开 JPG 源,我可以在我的智能手机上去连接摄像头查看程序,去查看摄像头的输出。

做最后的修饰

没有哪个树莓派项目都已经完成了还没有为它选择一个合适的外壳,并且它有各种零件。在大量搜索和比较之后,有了一个显然的 赢家:SmartPi 的乐高积木式外壳。乐高的兼容性可以让我去安装温度/湿度传感器和摄像头。下面是最终的成果图:

在这以后,我对我的这个作品作了一些改变和更新:

  • 我将它从树莓派 2 Model B 升级到了树莓派 3,这意味着我可以使用 USB WiFi 模块。
  • 我用一个 TP-Link HS110 智能插头替换了 Orvibo S20。
  • 我也将树莓派插到了一个智能插头上,这样我就可以远程重启/重置它了。
  • 我从树莓派上将 MySQL 数据库移走了,它现在运行在一个 NAS 设备上的容器中。
  • 我增加了一个非常 灵活的三角夹,这样我就可以调整到最佳角度。
  • 我重新编译了 USB WiFi 模块,禁用了板载 LED 指示灯,这就是升级到树莓派 3 的其中一个好处。
  • 我因此为我的第二个孩子设计了另外一个监视器。
  • 因为没有时间去折腾,我为我的第三个孩子购买了夜用摄像头。

想学习更多的东西吗?所有的代码都在 我的 GitHub 页面上。

想分享你的树莓派项目吗?将你的故事和创意发送给我们。

via: https://opensource.com/article/18/3/build-baby-monitor-raspberry-pi
作者:Jonathan Ervine 译者:qhwdw 校对:wxy
本文由 LCTT 原创编译,Linux中国 荣誉推出

纯手工打造树莓派3双无线网卡应用无线热点

一直想入手树莓派玩玩,最后受到一位大神的启发(懒人在思考)琢磨了另一种树莓派WIFI的用法。使用树莓派本身的系统,添加一个外置无线网卡,使其成为可移动的无线解决方案,当然主要还是为了能够安装某些S类的软件。

从淘宝购入硬件设备,下面开始折腾。

配置网络

安装 dnsmasq 和 hostapd

sudo apt-<span class="hljs-keyword">get</span> install dnsmasq hostapd udhcpd

将无线接口wlan0的IP配置成静态地址。外置无线网接口wlan1默认DHCP配置并接入因特网。在树莓派系统中,默认是DHCPCD配置网络接口。所以要告诉系统我们给wlan0分配静态IP地址,操作是打开配置文件并增加配置参数指令。

sudo vi /etc/dhcpcd.conf
interface wlan0
static ip_address=192.168.88.1/24

修改 /etc/network/interfaces 设置wlan1为 DHCP 并自动连接WIFI,wlan0<span> </span>为固定IP

# 表示使用localhost
auto lo 
iface lo inet loopback

# wlan1 自动获取IP
auto wlan1
iface wlan1 inet dhcp
pre-up wpa_supplicant -Dwext -i wlan1 -c /etc/wpa_supplicant/wpa_supplicant.conf -B

# wlan0 为静态IP
auto wlan0
allow-hotplug wlan0
iface wlan0 inet static
address 192.168.88.1
netmask 255.255.255.0

重启树莓派

sudo service dhcpcd restart
sudo reboot

UDHCP

编辑配置文件/etc/udhcpd.conf

start 192.168.88.100 #配置网段
end 192.168.88.150
interface wlan0 # The device uDHCP listens on.
remaining yes
opt dns 192.168.1.1 8.8.8.8
opt subnet 255.255.255.0
opt router 192.168.88.1 # 无线lan网段
opt lease 864000 # 租期10天

HOSTAPD

创建hostapd.conf

<span class="hljs-attribute">sudo</span> vi /etc/hostapd/hostapd.conf

添加如下配置

interface=wlan0
driver=nl80211
ssid=H-Pi
hw_mode=g
channel=6
wmm_enabled=1
macaddr_acl=0
auth_algs=1
ignore_broadcast_ssid=0
wpa=2
wpa_passphrase=abc12345
wpa_key_mgmt=WPA-PSK
rsn_pairwise=CCMP

修改 /etc/default/hostapd ,让系统每次启动都自动加载AP模式下的配置。

<span class="hljs-attr">DAEMON_CONF</span>=<span class="hljs-string">"/etc/hostapd/hostapd.conf"</span>

设置开机启动

sudo <span class="hljs-keyword">update</span>-rc.d hostapd <span class="hljs-keyword">enable</span>

DNSMASQ

备份默认配置文件

<span class="hljs-attribute">sudo</span> mv /etc/dnsmasq.conf /etc/dnsmasq.conf.bak

添加以下内容

interface=wlan0
bind-interfaces
server=218.2.2.2
server=114.114.114.114
server=8.8.8.8
domain-needed
bogus-priv
dhcp-range=192.168.88.2,192.168.88.254,12h

设置IPV4转发

打开系统配置文件sysctl.conf,去掉IPV4转发那一行的#注释

<span class="hljs-attribute">sudo</span> vi /etc/sysctl.conf
 # Uncomment the next line toenable packet forwarding for IPv4
net.ipv4.ip_forward=1

外置无线接口共享给wlan0上网,需要配置NAT:

sudo iptables -F
sudo iptables -X
sudo iptables -t nat -APOSTROUTING -o wlan1 -j MASQUERADE
sudo iptables -A FORWARD -i wlan1 -o wlan0 -m state --state RELATED,ESTABLISHED -j ACCEPT
sudo iptables -A FORWARD -i wlan0 -o wlan1 -j ACCEPT

保存以上防火墙规则

<span class="hljs-attribute">sudo</span> sh -c <span class="hljs-string">"iptables-save> /etc/iptables.ipv4.nat"</span>

/etc/network/interfaces末尾增加一行,设置为开机启动

up iptables-restore < <span class="hljs-regexp">/etc/i</span>ptables.ipv4.nat

编辑 /etc/network/if-pre-up.d/iptables
添加下面两行代码:

#!/bin/bash
/sbin/iptables-restore < /etc/iptables.ipv4.nat

保存退出,然后修改 iptables 权限:

sudo <span class="hljs-keyword">chmod</span> <span class="hljs-number">755</span> /etc/network/<span class="hljs-keyword">if</span>-pre-up.d/iptables

通过获取DHCPCD来运行NAT需要创建一个新文件

sudo vi /lib/dhcpcd/dhcpcd-hooks/70-ipv4-nat
sudo iptables-restore < /etc/iptables.ipv4.nat

重启服务及树莓派

sudo service hostapd start
sudo service dnsmasq start
sudo reboot

其他配置

设置 wlan1 自动连接区域内WIFI

<span class="hljs-attribute">vi</span> /etc/wpa_supplicant/wpa_supplicant.conf

在文件的末尾添加WIFI网络的名称以及密码,将要连接的wifi名称和密码替换即可。

network={
 ssid="SSID"
 psk="wifi_password"
}

使用sudo wpa_cli reconfigure命令启动连接

pi@raspberrypi:~ $ sudo wpa_cli reconfigure
Selected interface 'wlan0'
OK

本文来自:小莱沃

树莓派+YOLO打造人工智能相机

不久之前,亚马逊刚刚推出了DeepLens。这是一款专门面向开发人员的全球首个支持深度学习的摄像机,它所使用的机器学习算法不仅可以检测物体活动和面部表情,而且还可以检测类似弹吉他等复杂的活动。虽然DeepLens还未正式上市,但智能摄像机的概念已经诞生了。

今天,我们将自己动手打造出一款基于深度学习的照相机,当小鸟出现在摄像头画面中时,它将能检测到小鸟并自动进行拍照。最终成品所拍摄的画面如下所示:

相机不傻,它可以很机智

我们不打算将一个深度学习模块整合到相机中,相反,我们准备将树莓派“挂钩”到摄像头上,然后通过WiFi来发送照片。本着“一切从简”(穷)为核心出发,我们今天只打算搞一个跟DeepLens类似的概念原型,感兴趣的同学可以自己动手尝试一下。

接下来,我们将使用Python编写一个Web服务器,树莓派将使用这个Web服务器来向计算机发送照片,或进行行为推断和图像检测。

我们这里所使用的计算机其处理能力会更强,它会使用一种名叫YOLO的神经网络架构来检测输入的图像画面,并判断小鸟是否出现在了摄像头画面内。

我们得先从YOLO架构开始,因为它是目前速度最快的检测模型之一。该模型专门给Tensorflow(谷歌基于DistBelief进行研发的第二代人工智能学习系统)留了一个接口,所以我们可以轻松地在不同的平台上安装和运行这个模型。友情提示,如果你使用的是我们本文所使用的迷你模型,你还可以用CPU来进行检测,而不只是依赖于价格昂贵的GPU。

接下来回到我们的概念原型上… 如果像框内检测到了小鸟,那我们就保存图片并进行下一步分析。

检测与拍照

正如我们所说的,DeepLens的拍照功能是整合在计算机里的,所以它可以直接使用板载计算能力来进行基准检测,并确定图像是否符合我们的标准。

但是像树莓派这样的东西,我们其实并不需要使用它的计算能力来进行实时计算。因此,我们准备使用另一台计算机来推断出现在图像中的内容。

我使用的是一台简单的Linux计算机,它带有一个摄像头以及WiFi无线网卡(树莓派3+摄像头),而这个简单的设备将作为我的深度学习机器并进行图像推断。对我来说,这是目前最理想的解决方案了,这不仅大大缩减了我的成本,而且还可以让我在台式机上完成所有的计算。

当然了,如果你不想使用树莓派视频照相机的话,你也可以选择在树莓派上安装OpenCV 3来作为方案B,具体的安装方法请参考【这份文档】。友情提示,安装过程可谓是非常的麻烦!

接下来,我们需要使用Flask来搭建Web服务器,这样我们就可以从摄像头那里获取图像了。这里我使用了MiguelGrinberg所开发的网络摄像头服务器代码(Flask视频流框架),并创建了一个简单的jpg终端:

#!/usr/bin/envpython
from import lib import import_module
import os
from flask import Flask, render_template, Response
 
#uncomment below to use Raspberry Pi camera instead
#from camera_pi import Camera
 
#comment this out if you're not using USB webcam
from camera_opencv import Camera
 
app =Flask(__name__)
 
@app.route('/')
def index():
 return "hello world!"
 
def gen2(camera):
 """Returns a single imageframe"""
 frame = camera.get_frame()
 yield frame
 
@app.route('/image.jpg')
def image():
 """Returns a single currentimage for the webcam"""
 return Response(gen2(Camera()),mimetype='image/jpeg')
 
if __name__ == '__main__':
app.run(host='0.0.0.0', threaded=True)

如果你使用的是树莓派视频照相机,请确保没有注释掉上述代码中from camera_pi那一行,然后注释掉from camera_opencv那一行。

你可以直接使用命令python3 app.py或gunicorn来运行服务器,这跟Miguel在文档中写的方法是一样的。如果我们使用了多台计算机来进行图像推断的话,我们还可以利用Miguel所开发的摄像头管理方案来管理摄像头以及计算线程。

当我们启动了树莓派之后,首先需要根据IP地址来判断服务器是否正常工作,然后尝试通过Web浏览器来访问服务器。

URL地址格式类似如下:
http://192.168.1.4:5000/image.jpg

在树莓派中加载Web页面及图像来确定服务器是否正常工作:

图像导入及推断

既然我们已经设置好了终端来加载摄像头当前的图像内容,我们就可以构建一个脚本来捕捉图像并推断图像中的内容了。

这里我们需要用到request库(一个优秀的Python库,用于从URL地址获取文件资源)以及Darkflow(YOLO模型基于Tensorflow的实现)。

不幸的是,我们没办法使用pip之类的方法来安装Darkflow,所以我们需要克隆整个代码库,然后自己动手完成项目的构建和安装。安装好Darkflow项目之后,我们还需要下载一个YOLO模型。

因为我使用的是速度比较慢的计算机和板载CPU(而不是速度较快的GPU),所以我选择使用YOLO v2迷你网络。当然了,它的功能肯定没有完整的YOLO v2模型的推断准确性高啦!

配置完成之后,我们还需要在计算机中安装Pillow、numpy和OpenCV。最后,我们就可以彻底完成我们的代码,并进行图像检测了。

最终的代码如下所示:

from darkflow.net.build import TFNet
import cv2
 
from io import BytesIO
import time
import requests
from PIL import Image
import numpy as np
 
options= {"model": "cfg/tiny-yolo-voc.cfg", "load":"bin/tiny-yolo-voc.weights", "threshold": 0.1}
 
tfnet= TFNet(options)
 
birdsSeen= 0
def handleBird():
 pass
 
whileTrue:
 r =requests.get('http://192.168.1.11:5000/image.jpg') # a bird yo
 curr_img = Image.open(BytesIO(r.content))
 curr_img_cv2 =cv2.cvtColor(np.array(curr_img), cv2.COLOR_RGB2BGR)
 
 result = tfnet.return_predict(curr_img_cv2)
 print(result)
 for detection in result:
 if detection['label'] == 'bird':
 print("bird detected")
 birdsSeen += 1
 curr_img.save('birds/%i.jpg' %birdsSeen)
 print('running again')
time.sleep(4)

此时,我们不仅可以在命令控制台中查看到树莓派所检测到的内容,而且我们还可以直接在硬盘中查看保存下来的小鸟照片。接下来,我们就可以使用YOLO来标记图片中的小鸟了。

假阳性跟假阴性之间的平衡

我们在代码的options字典中设置了一个threshold键,这个阈值代表的是我们用于检测图像的某种成功率。在测试过程中,我们将其设为了0.1,但是如此低的阈值会给我们带来是更高的假阳性以及误报率。更糟的是,我们所使用的迷你YOLO模型准确率跟完整的YOLO模型相比,差得太多了,但这也是需要考虑的一个平衡因素。

降低阈值意味着我们可以得到更多的模型输出(照片),在我的测试环境中,我阈值设置的比较低,因为我想得到更多的小鸟照片,不过大家可以根据自己的需要来调整阈值参数。

代码开源

跟之前一样,我已经将所有的代码上传到GitHub上了,感兴趣的同学可以自行下载安装【GitHub传送门】。

* 参考来源:makeartwithpython,FB 小编 Alpha_h4ck 编译,转自 FreeBuf.COM

本文来自:树莓派实验室

Pi0drone:Pi Zero的200美元智能无人机

故事

用树莓派DIY自动“气象站”

自动气象站可以实时探测气温、湿度、气压、风速、风向、降雨量、紫外线辐射等气象信息,通过不同的传感器采集地面气象数据,数据采集完成后通过网络统一传输到气象服务器上,再经气象采集软件处理各项数据,最后通过专业气象软件传出。

网上搜索到之前大部分的设计都是基于DSP的方案,但是IoT时代,我们需要速成的设计,网上现成的传感器和树莓派教程能帮助我们迅速的设计出一个小型气象站。

正好我在网上看到 DIY hacking 上 Arvind Sanjeev 做了个类似项目。这个完整的天气系统,只用树莓派的基础硬件,摄像头,和一些我们使用的杂七杂八的模拟和数字传感器。

风速计和雨量计也都是自己做的。

产品特点:

  • 在RRD和CSV上记录信息,方便被导出/导入到其它格式
  • 使用天气地下API来得到历史高点和低点,月相和日出/日落等信息
  • 使用树莓派相机拍摄一分钟一次的图片(可以用它来制作延时录像)
  • 有显示当前天气状况和历史天气状况的数据网页(最后一小时,一天,七天,月,年)
  • 网站主题随不同时间而改变(四个选项:日出,日落,白天和夜间)。

所有的进行记录和显示信息的软件在GitHub上开源

这个项目是很好的学习经验,能帮助真正深入理解树莓派的能力,尤其是GPIO。

所需的材料

1、电子元件

  • 9个簧片开关(8个用于风向,1个用于雨计,1个可选用为风速来代替霍尔传感器
  • 1个霍尔传感器 (用于风速,称为风速计)
  • 温度传感器
  • 湿度传感器(许多湿度传感器集成了温度传感器),我用的DHT11
  • 压力传感器(许多也集成了温度传感器),我用的BMP180
  • 光敏电阻
  • GPS芯片或USB GPS
  • 4个强磁体(2个用于风速计,1个用于方向,1个用于雨量计)
  • 各类电阻器
  • MCP3008用来把模拟转换为数字输入

2、硬件

  • 树莓派,我使用的B +
  • 无线适配器
  • 树莓派摄像头
  • 5V电源适配器

3、材料

  • 2个推力轴承 (或滑板或滑旱冰的轴承也行)
  • 2个防水罩——我用的是超市的电器罩,找一个大小合适,有足够的空间且能保护设备的就可以。
  • 一些PVC管和盖子(各种尺寸)
  • PVC安装支架
  • 一些薄有机玻璃片(不用太花哨)
  • 塑料支架
  • 塑料螺钉
  • 2个塑料圣诞树装饰品——用于风速计。
  • 小木钉
  • 小胶合板

4、工具

  • 达美电磨
  • 胶枪
  • 烙铁
  • 万用表
  • 钻孔机

机箱

一个能装进树莓派、摄像头、GPS和光传感器的盒子。需要选防水的,因为它装进了所有关键元件,测量环境风吹雨打。

机箱包含:

  • 树莓派(螺母上)——需要Wi-Fi芯片。
  • 摄像头(螺母上)
  • GPS芯片通过USB连接(我用的FTDI电缆 )。GPS能提供纬度和经度,更重要的是,我可以从GPS获取精确的时间!
  • 2个以太网/CAT5个插口,连接到主外壳与其它传感器。两个容器之间这样链接很方便。我用了大致12跟线缆,两个CAT5提供16个可能的连接,所以有空间做扩展。

测温度、湿度、压力的机箱

这是我放置温度、湿度和压力传感器的板子,以及用于雨量计,风向和风速传感器挂钩。

这一切都非常简单。。

制作雨量器

我大多沿用这个教程进行实际测量仪。

我是用有机玻璃来做的。总的来说,有机玻璃效果不错,结合胶枪,橡胶密封材料,以及整体切割和钻孔就更棒了。

关键点:

  • 该传感器是一个简单的簧片开关和磁体,树莓派上充当按钮。我简单地计算随着时间的推移桶里的水位,后来转换为“雨/英寸。”
  • 让它大到足以容纳足够的水来翻转,但不用太大因为需要很多个。我的第一个制作失败了因为不够大,所以它会被填满,并开始在它倾斜之前开始排水。

风向

这很简单。

关键点:

  • 这是一种模拟传感器。
  • 拧在风向标的后面,您需要校准它,“这个方向就是指向北方。”
  • 我做了一个木试验台,有所以我可以在全量程内轻松切换电阻器。
  • 我使用的推力轴承工作得很好。

软件

该软件也是开源的,可以在同一个GitHub库拿到。

软件是用Python写的,记录来自传感器的数据。 我第三方的库,获得来自传感器和GPS信息。

看起来很不错吧?

 

本文来自:树莓派实验室

 

 

3000核!用750张树莓派挑战最经济超算

国家耗数亿元巨资打造的天河、太湖之光等超级计算机,使中国得以在超级计算机排名中长期霸榜。不过除了砸大钱盖超级计算机之外,美国国家实验室则是选泽了更节省成本的方式,来打造超级计算机,利用750片树莓派开发板组成的运算丛集,成功打造出一台更省钱的超级计算机,未来更要扩大至1万个节点扩充,挑战挤进全球百大Peta级超级计算机排名。目前这套HPC系统已经实际展开测试,未来也将用于科学研究之用。这台树莓派超级计算机本周也在美国丹佛举行的2017超级计算机展上公开展出 。

这套系统藉由5套每个包含150张Raspberry Pi 3 B的6U机箱模块构成,且由于Raspberry Pi 3 B搭载了64位的四核心ARMv8 1.2GHz,高达750张Raspberry Pi 3 B也意味著有超过3000个以上的核心,足以满足特定超级计算机的多核需求。

值得一提的是,Raspberry Pi 3 Model B的国内售价为240元左右,所以750张树莓派组成的超级计算机售价大概为18万元,这对于一台拥有3000核心以上的超级计算机来说已经是最低价格了。

其实利用树莓派来打造超级计算机,早已不是新鲜事。火柴盒大小外型的树莓派,因为具备有迷你电脑的功能,2012年一推出就十分受到欢迎,甚至还掀起了一股自造者(Maker)风潮。一台千元有找的树莓派开发板,因为价格便宜,不只成为许多新创公司开发及验证产品的首选,这股DIY热潮甚至也蔓延到科学界,开始有人将它用在科学研究,例如,2012年就有美国树城州立大学博士生Joshua Kiepert用32个树莓派组成运算丛集,成本不到2,000美元。

后来,更有英国南安普敦大学一名电脑工程师,使用64个树莓派和乐高积木,来打造出超级计算机Iridis-Pi,成本只花不到台币13万元。这次由美国能源部两大国家实验室之一的洛斯阿拉莫斯国家实验室( Los Alamos National Laboratory)自建的树莓派超级计算机,使用的树莓派更是当时数量的10倍,多达成750片树莓派开发板组成的运算丛集。

用750片树莓派打造世界级的超级计算机

洛斯阿拉莫斯国家实验室自建的超级计算机,主要采用BitScope提供的模组式刀锋机柜来搭建,因为全采用树莓派开发板来设计超级计算机,所以成本上也比一般超级计算机还便宜,甚至使用上也更省电,每个运算节点平均耗电只有2到3瓦而已。

根据洛斯阿拉莫斯国家实验室高效能运算部门负责人Gary Grider表示,这个树莓派超级计算机系统内,总共内建750个CPU计算节点(采用1.2 GHz Quad Core ARMv8处理器),拥有高达3,000颗核心可供计算使用,已经具备有等同超级计算机的计算能力。该实验室未来还要扩大规模挑战1万个,甚至最多5万个节点扩充,单以运算效能来看,理论上,跟自家的Grizzly超级计算机系统(全球排名85,运算效能达到1.5 PFLOPS)相比,将毫不逊色,甚至比台湾国网中心自行研发排行全球95名的Peta超级计算机(运算效能有1.325PFLOPS)都还快。

不只目标要挤进前百大,这台树莓派超级计算机的建置成本,比起一般超级计算机还更加便宜,虽然Gary Grider并未透露实际的建置成本,但若以他们使用的Raspberry Pi3 Model B(售价35美元)来计算的话,750个树莓派加总成本差不多2万6千美元(约台币78万元),即使在加上其他的基础建置费用,还是远比一般动辄上亿美元的超级计算机建置成本低许多。

Gary Grider表示,开发人员可以利用树莓派的模组及软体,在超级计算机上来编写应用,而不需要花费数亿美元购买高成本的软硬体,来搭建HPC测试平台,而且更耗电,需要数百万瓦(MW)的电力才可供系统正常运作。 Gary Grider也透露,他们自建的树莓派超级计算机,每个运算节点平均耗电只有2到3瓦,即使是将750个节点全部加总起来,耗电量也远低于目前许多的超级计算机,不只省钱也省电,而且系统还可以依需求弹性扩充。

树莓派超级计算机的机箱共有5个刀锋模组组成,每个模组可以装下150片树莓派开发板,上图为其中一个刀峰模组,并经由乙太网路连接,来建立运算丛集,机箱内也整合交换器,还配备一组48伏特的电源供应器设备来供电。

然而,要用数千到数万台树莓派组出一台Peta级的超级计算机,并不是件容易的事,因为随着运算丛集规模变大,不同运算节点和节点之间连接和传输也将变得更加复杂,而容易造成存取延迟与传输频宽不足的问题,而影响了系统的效能,这也是系统扩充的挑战。即使是洛斯阿拉莫斯国家实验室一开始,也只能扩充到最多40个运算节点,后来,他们找来了HPC厂商BitScope及SICORP共同合作,重新设计机箱和进行系统整合,来解决系统扩充的难题,才从原来最多40个节点,增加到144个,到现在的750个节点,未来还要挑战数千到数万个节点的扩充。

根据SICORP网站的介绍,树莓派超级计算机是采用BitScope提供的模组式刀锋机柜来搭建,机箱内由5个刀锋模组组成,每个模组一次最多可以装入150片树莓派开发板,这些运算模组可以经由乙太网路连接,来建立运算丛集,机箱内也整合网路交换器,还配备一组48伏特的电源供应器设备供电。

不过,Gary Grider也强调,这台树莓派超级计算机并非用来取代其他超级计算机,而是希望当作提供给开发人员,及研究者,另一个可用于研究测试及验证的全新HPC运算平台,不只具备高效能计算能力,而且更便宜。他也表示,未来除了会持续增加节点数量,来提高运算效能外,也将建立新的网路架构,并且结合引入( bootstrap)、管理及灾难复原的演算法,以及聚焦系统与分散式储存研究等。

本文来自:http://shumeipai.nxez.com/2017/11/22/750-raspberry-pi-challenge-the-most-economical-super-computing.html

 

基于树莓派的迷你“火星车”,开启不走寻常路的地球之旅

电池驱动、智能终端控制、全高清摄像头、承重11磅、防水….只有你想不到的,没有它做不到的。

人类的火星之旅路途遥远,并且花费不菲。如果你的梦想是拥有“火星漫游者”探测器,那么它可能不会成真了。但如果你想要“地球漫游者”探测器,现在触手可及。

Turtle Rover 就是地球版的迷你“火星车”,它由 Kickstarter 项目团队研发。目前该团队正在发起募集6万欧元(约7.15万美元)的众筹活动,以促成 Turtle Rover 在“地球”上面世。

 

Turtle Rover 是四轮地面无人机,内置电池支持运行4小时;另外它的智能控制终端,兼容于大部分电脑、笔记本和手机。断网了也不用担心,它会自动生成自己的 Wi-Fi 网络连接。

Turtle Rover 可以深入到人类难以抵达的地方,并且它的行动比人类要灵活得多。该项目团队称,在“火星漫游者”探测器的启发下,这款“地球漫游者”也被设计成低重心和悬浮设置。这样即便在复杂的地形中,探测器也能行动自如、不会翻滚在地。

 

另外,Turtle Rover 的机械臂可以提起重达1.1磅重量的物体,用户可以定制专属的机械臂。不仅如此,用户还可以添置专属的附件,如微软 Kinect(Xbox360的体感装置)或者激光雷达(LiDAR)传感器,用于探测深度和感知环境。

Turtle Rover 的机顶可以承重 11 磅。你可以在它上面安装单反相机、镜头等。如果开展远距离的洞穴探险,你可以准备一个里面装满地质样本的缓存器的盒子,然后安装在机顶,Turtle Rover 就能代替你观察和探测地质了。

目前,以上这些硬件和软件全部是开放源码的。该团队解释:之所以这样做,是想把 Turtle Rover 打造成一个发展性平台或教育平台。

在没有外部资金援助的情况下,该项目仅依靠赞助人的支持。

但他们表示,自从向外界展示了自身实力以来,现在有不少风险投资人兴致勃勃。

据悉,2018年4月,Turtle Rover 将以 1000 美元左右的价格起售。届时,它将为买家配备定制的工具包和完善的机械系统。

Turtle Rover 作为一个自力更生的智能硬件创业项目,它的前途看起来一片光明。对于太空和无人机爱好者来说,其吸引力不容小觑:Turtle Rover 可以帮助这些人深入挖掘自己的兴趣,发现新的天地。

Kickstarter 团队的众筹活动将于9月24日结束。截止9月6日,众筹目标已经完成了一半。

 

本文来自

https://36kr.com/p/5092701.html

 

Raspberry Turk:基于树莓派的国际象棋对战机器人开源项目

国际象棋是备受推崇的棋盘游戏,而它同时也能成为非常优秀的编程教材。Raspberry Turk 就是由开发者 Joey Meyer 开发的国际象棋机器人,能够帮助感兴趣的人们学习计算机图形、机器人和人工智能方面的各种知识。

访问:Raspberry Turk

简单来说,Raspberry Turk 就是一款能够跟你下国际象棋的机器人。18 世纪末,出现了名为 Turk 的虚假国际象棋机器人,就是由人类藏在盒子内同其他人对战。不过同原版 Turk 不同的是,现在的 Raspberry Turk 基于树莓派主板,能够进行真正的人机对战,它不仅能够识别棋盘上的棋子,而且能够移动它们进行对战。

这是非常酷炫的 DIY 项目,但是最吸引人的部分是 Raspberry Turk 具备良好的文档支持,Meyer 提供了详实的 Raspberry Turk 开发细节,感兴趣的用户能够进行自己创建。

视频地址:http://www.tudou.com/v/enBrZD0wUqU/&resourceId=0_04_02_99/v.swf

本文转自https://news.cnblogs.com/n/565712

使用树莓派打造面部识别安全设备

清单

硬件部分

Raspberry Pi 2 Model B

PIR运动传感器(通用)

Microsoft LifeCam 3000 HD摄像头

伺服马达FS5103R

5V电源

电阻器 1k欧姆

软件应用程序及在线服务

Microsoft Windows 10 IoT Core

Microsoft Visual Studio 2015

Microsoft Project Oxford

Microsoft Azure

Microsoft Azure云存储服务

动手实践

关于项目:

该设备使用Microsoft Project Oxford面部识别方案,检测访问者是否为房子的所有者,通过验证之后会立马打开房门,否则系统将向房屋所有者绑定的移动设备推送一条警告信息,并询问是否给该访问者开门。

使用/集成的服务

Azure storage云存储服务

Microsoft Project Oxford: 面部识别API

使用ASP.Net SignalR将所有者的行为发送给树莓派

使用WNS向移动设备发送通知信息

组件

Raspberry Pi 2 Model B x1

RIP传感器 x1

微软LifeCam 3000 HD x1

伺服马达 FS5103R x1

电池组 x1

1kΩ电阻 x1

电路图以及线路图

14817893813869

14817893927566

Pin分配

14817894206623

 

移动侦测,捕捉图像以及访问者分析

首次运行该应用程序,默认会创建一个IsActive属性为真的PIRProximitySensor类实例。
该实例用于RIP传感器与应用程序之间的连接。如果IsActive属性设置为真,当传感器检测到一个动作发生时会触发MotionDetected事件,然后要求连接到传感器的GPIO pin number执行对应的操作。移动侦测的捕捉影片命令会将获取到的访问者面部图像,发送到Project Oxford服务器进行识别。如果确认为该房屋的所有者,伺服马达将打开房门;否则将获取到的访问者面部图像发送到绑定的移动设备。如果房屋所有者选择打开房门,命令将通过后端服务的SignalR推送给树莓派,然后打开房门。
当在识别访问者过程以及传感器进行必要操作期间,IsActive属性不能被设置为假。关闭房门之后该属性重新设置回真,激活识别系统。

芝麻开门

我们使用伺服马达控制房门。向马达发送2毫秒脉冲时,马达会旋转180°门就打开了;向马达发送1毫秒脉冲时,马达会旋转回0°,门再次关闭。 伺服马达的位置是由脉冲长度决定。转动系统预期至少每隔20毫秒收到一个脉冲,如果脉冲超过1毫秒,伺服马达将转到0°;如果为1.5毫秒脉冲,其转到90°位置;如果是2毫秒,将会转到180°位置。

14817894345998

Project Oxford: Face API

Face API是一个基于云计算的API,其提供了当前最先进的人脸检测识别的算法。Face API的主要功能可以分为两类:其一对人脸进行检测提取其特征提取,其二便是人脸识别 戳这里访问该项目主页。

如何部署以及工作

按照上面图表连接好电路之后,从HomeVisitsManager.VisitsController项目的方案平台选择ARM,之后从模拟器列表选择远程机器并输入你的树莓派IP和凭证,最后运行该方案;多个项目同时运行(所有者的windows phone应用,后端服务以及物联网设备)

引用:

伺服马达:http://razzpisampler.oreilly.com/ch05.html

人脸检测和识别:https://www.projectoxford.ai/doc/face/How-To/identifyperson

项目代码

https://github.com/IslamKHALIL/Home-Visits-Manager

参考来源:hackster,FB小编鸢尾编译,转载请注明来自FreeBuf(FreeBuf.COM)