用TensorFlow和智能手机追踪雨林滥伐的Rainforest Connection

每年,全球温室气体排放的五分之一是由于森林滥砍滥伐造成,而在地球之肺——亚马逊、秘鲁、印度尼西亚等热带雨林地区,森林的“发际线”正在以惊人的速度后退,原因是疯狂的砍伐——其中90%都属于非法砍伐。

因此有效打击和遏制非法森林砍伐是改变和减缓全球气候变暖进程的最快,成本最低,效率最高的方法。在这场森林保卫战中,林下居民和当地部族部落显然是最合适的一线战斗人员。但是,面对广袤的森林,没有科技的武装,本地人也无法有效侦测和制止盗砍盗伐行为。

近日,一家智慧森林环保的NGO组织——Rainforest Connection,应亚马逊 Tembé部落的酋长Naldo  Tembé的请求,开发了世界上首款可自动识别盗伐行为的,可扩展、实时监控报警的热带雨林环保系统。

相关的设备

这个项目的难点之一是硬件必须能够适应湿热的热带雨林气候,Rainforest Connection公司设计的产品——Guardian设备,聪明地利用了热带雨林最大的资源——树木,将定制化的智能手机与太阳能供电面板(上图)隐藏在重点布控地区,通过当地的手机蜂窝网络向中央云计算服务器发送声音采样。

在树木顶端安防声音监控采样设备

声音数据进入云端后,Rainforest Connection使用谷歌机器学习框架TensorFlow来分析和审计数据,从中甄别电锯、木运卡车等与非法砍伐相关的声音,以防止人工监听遗漏信息。

为了将森林保护变成下一代能够传承的事业,Rainforest Connection近日又发布了目前最大的智慧森林保护项目之一——星球守护者项目,通过这个项目数以百计的洛杉矶STEM学科学生将能通过Google Hangouts与当地部落直接通话,而且学生还能亲手之作符合该项目硬件规范的Guardian设备,预计由洛杉矶学生制作的设备能够保护超过10万英亩的热带雨林。

来自:Google博客

买不到称心的智能镜子,就DIY一面吧

智能镜子可谓是科幻电影的必备道具。作为未来世界中信息泛滥的最佳展现形式,它随时能为主人公提供需要的消息。

然而,如此高大上的设备,制造起来其实还挺简单的……

所以,别再等众筹网站上不靠谱儿的项目了,不如自己动手组装一面~

材料:

一块树莓派3主板,或者有Wi-Fi 功能的旧型号。

一台有HDMI接口的显示器。显示器的尺寸就是智能镜子的最终尺寸,显示器还应该带USB接口,这样就不需要再为树莓派拉根电源线。

一面双向镜。尺寸当然和显示器一样。

鼠标、键盘,用来设置树莓派。

一幅画框,用来框镜子。当然,如果你有更好的创意,也可以不用画框~

工具若干。

制作:

制造智能镜子最难的并不是编程,因为需要的软件,Michael Teeuw创建的《智能镜子计划》网站(https://magicmirror.builders/)都给你打包好了。基本上,只要链接好树莓派,再安装上MagicMirror2;软件就行,甚至不需要下载,只要在树莓派上运行一行代码就成。

bash -c “$(curl -sL https://raw.githubusercontent.com/MichMich/MagicMirror/master/installers/raspberry.sh)”

为防你想要亲力亲为…… GitHub上也有手动安装指南,地址如下:

https://github.com/MichMich/MagicMirror#manual-installation

安装时长在10-20分钟之间,一旦完成,编程上就没别的活儿了。不过还需要做一些设置,比如关掉屏保、旋转屏幕(镜子大部分都是竖着的嘛~),还有保证在待机状态下 Wi-Fi不会断开。

接下来就是真正有趣的部分了~

设置镜子界面:MagicMirror自带了时钟、当前天气、天气预报、新闻、问候语、Hello World,和闹钟模块。其中一些模块是需要额外设置的,比如说注册API钥匙,添加地址什么的。

MagicMirror还是个开源软件,这意味着第三方开发者会不时为它增添新的模块,让你持续完善自己的智能镜子。

一旦你把所有需要的模块都设置好了,就可以把显示器变成智能镜子了~

把双向镜放在显示器上(当然是镜面那面朝外),框好相框,你的智能镜子就做好了。

如果你想要做的再完美(彻底)点,还可以把显示器的硬件从塑料外壳中拆下来,让它一劳永逸地做面镜子~

来源:sohu

构建开源硬件的 5 个关键点

科学社区正在加速拥抱自由及开源硬件Free and Open Source Hardware(FOSH)。 研究员正忙于改进他们自己的装备并创造数以百计的基于分布式数字制造模型的设备来推动他们的研究。

热衷于 FOSH 的主要原因还是钱: 有研究表明,和专用设备相比,FOSH 可以节省 90% 到 99% 的花费。基于开源硬件商业模式的科学 FOSH 的商业化已经推动其快速地发展为一个新的工程领域,并为此定期举行 GOSH 年会。

特别的是,不止一本,而是关于这个主题的[两本学术期刊]:[Journal of Open Hardware] (由 Ubiquity 出版,一个新的自由访问出版商,同时出版了 Journal of Open Research Software )以及 HardwareX(由 Elsevier 出版的一种自由访问期刊,它是世界上最大的学术出版商之一)。

由于学术社区的支持,科学 FOSH 的开发者在获取制作乐趣并推进科学快速发展的同时获得学术声望。

科学 FOSH 的5个步骤

Shane Oberloier 和我在名为 Designs 的自由访问工程期刊上共同发表了一篇关于设计 FOSH 科学设备原则的文章。我们以滑动式烘干机为例,制造成本低于 20 美元,仅是专用设备价格的三百分之一。科学和医疗设备往往比较复杂,开发 FOSH 替代品将带来巨大的回报。

我总结了 5 个步骤(包括 6 条设计原则),它们在 Shane Oberloier 和我发表的文章里有详细阐述。这些设计原则也可以推广到非科学设备,而且制作越复杂的设计越能带来更大的潜在收益。

如果你对科学项目的开源硬件设计感兴趣,这些步骤将使你的项目的影响最大化。

1、评估类似现有工具的功能,你的 FOSH 设计目标应该针对实际效果而不是现有的设计(LCTT 译注:作者的意思应该是不要被现有设计缚住手脚)。必要的时候需进行概念证明。

2、使用下列设计原则:

在设备生产中,仅使用自由和开源的软件工具链(比如,开源的 CAD 工具,例如 OpenSCAD、 FreeCAD 或 Blender)和开源硬件。

尝试减少部件的数量和类型并降低工具的复杂度

减少材料的数量和制造成本。

尽量使用能够分发的部件或使用方便易得的工具(比如 RepRap 3D 打印机)进行部件的数字化生产。

对部件进行参数化设计,这使他人可以对你的设计进行个性化改动。相较于特例化设计,参数化设计会更有用。在未来的项目中,使用者可以通过修改核心参数来继续利用它们。

所有不能使用现有的开源硬件以分布式的方式轻松且经济地制造的零件,必须选择现货产品以方便采购。

3、验证功能设计。
4、提供关于设计、生产、装配、校准和操作的详尽设备文档。包括原始设计文件而不仅仅是用于生产的。开源硬件协会Open Source Hardware Association对于开源设计的发布和文档化有额外的指南,总结如下:

以通用的形式分享设计文件。

提供详尽的材料清单,包括价格和采购信息。

如果涉及软件,确保代码对大众来说清晰易懂。

作为生产时的参考,必须提供足够的照片,以确保没有任何被遮挡的部分。

在描述方法的章节,整个制作过程必须被细化成简单步骤以便复制此设计。

在线上分享并指定许可证。这为用户提供了合理使用该设计的信息。

5、主动分享!为了使 FOSH 发扬光大,设计必须被广泛、频繁和有效地分享以提升它们的存在感。所有的文档应该在自由访问文献中发表,并与适当的社区共享。开源科学框架Open Science Framework是一个值得考虑的优雅的通用存储库,它由开源科学中心Center for Open Science主办,该中心设置为接受任何类型的文件并处理大型数据集。

这篇文章得到了 Fulbright Finland 的支持,该公司赞助了芬兰 Fulbright-Aalto 大学的特聘校席 Joshua Pearce 在开源科学硬件方面的研究工作。

via: https://opensource.com/article/18/2/5-steps-creating-successful-open-hardware

作者:Joshua Pearce 译者:kennethXia 校对:wxy 来自:Linux中国

为什么说最适合IoT开发人员的发行版是Ubuntu

一句话前言:本文说的是用来“写”代码的机器,不是主要用来“跑”代码的机器。

适合做开发的桌面系统很多,但适合做IoT开发的并不多。

首先要支持各种硬件驱动和外设,再则要方便安装各种开源或闭源的IDE和插件。

很多朋友可能会说Mac OS X不错啊,Mac OS X是不错,但对应的Macbook实在不合群,一旦要用到USB口或者以太网口什么的……

Windows更适合用来进行Windows IoT版开发,而大部分嵌入式设备跑的是Linux……

好吧,那我们在Linux阵营里找。

此刻的答案可能要多如牛毛了,每个发行版的粉丝们都会讲出自己的理由。但我还是要说出我的选择 —— Ubuntu Desktop。

Eclipse 基金会在2017年四月完成了由 713 位开发者回答的 IoT 开发者那个调查,他们被问到了有关 IoT 编程语言、云平台、IoT 操作系统、消息协议(MQTT, HTTP)、IoT 硬件架构等问题。

当被问及大家在IoT开发时采用的操作系统/Linux发行版时,Raspbian 以 45.5% 的比例遥遥领先,Ubuntu/Ubuntu Core 紧随其后,使用比例达到了 44.0%。

嗯,答案看起来应该是Raspbian才对。

可大家别忘了Raspbian一直是跑在树莓派上的,而我们这里说的是技术人员平时用的开发环境。

Ubuntu/Ubuntu Core的官方支持列表大家有目共睹,不管是树莓派还是Orange Pi、DragonBoard 410c、Intel NUC……都能跑。

况且市面上很多公司的产品都在基于Ubuntu Core做定制,不管是大疆、Erle Robotics的无人机还是Rigado的IoT网关。

这样一对应,用Ubuntu的桌面来开发Ubuntu IoT这类系统的软件似乎再合适不过。很多包和组件都是配套的,有官方支持。

为各类设备做内核编译等操作的时候,运行Ubuntu Desktop的高性能X86桌面电脑可以快速交叉编译,搞定你需要的组件。不管是Ubuntu系统的,还是Raspbian系统的。

另外,近期开始流行的跨发行版Snappy包管理器,最初就是为Ubuntu系统构建的。其管理的Snap 包可对 App 和 Ubuntu Core 软件本身进行原子级事务性更新。具有沙箱的属性,不可以随意访问外部资源,和系统的其它部分隔离开来,并通过设计好的安全策略与其他 Snap 进行交互。这也是 Ubuntu Core 具有极强安全性的原因。

写了半天,突然发现Ubuntu官网已经把18.04 LTS这一“长期支持版”正式上线了。

是的,作为一个IoT开发平台,LTS —— “Long Term Support”也很重要。也许这就是我喜欢用Ubuntu Desktop来写代码的原因吧!

版权声明:本文为“IoT前哨站”原创,转载请注明原文作者和出处。

给树莓派装个Web界面的仪表盘

大部分人都习惯界面友好的系统监视器,以便直观的了解系统的实时运行情况。

哪怕是一个正在跑着简单应用的树莓派。

最近看到有些朋友在用一个叫“Pi Dashboard”的仪表盘程序,感觉还挺清爽。

于是也装了一个试试。如图所示。

该应用后端是PHP,前端使用了bootstrap和jquery,安装也很简单,标准的LAMP或者LNMP环境都可以。

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

启动完nginx 和 php7.0-fpm之后,编辑Nginx配置文件。

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

把location那一整个大括号区域替换成如下内容即可:

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;
}

如果是已经在跑Apache的PHP环境,直接运行即可。此应用在Raspbian Stretch系统 和 树莓派3B/3B+ 上均测试成功,感觉可以在后面加入温度显示。

注:该项目来自NXEZ.com的树莓派实验室,使用GPL v3.0许可证。

项目地址:https://github.com/spoonysonny/pi-dashboard

如何在树莓派的终端测试网速

Ookla 的 Speedtest 网速测试相信做网络的人大多都用过。 这在PC桌面和移动APP上是很简单。登陆点击“Go”即可。

它会自动测试你的机器到最近服务器的网速。 如果你只有树莓派终端,那怎么在命令行下做测试呢?

首先,我们要安装speedtest-cli这个包,树莓派直接apt-get一下即可。如图所示。

直接执行speedtest这个命令,就可以自动测试了,这里我的树莓派在访问北京电信的一个服务器。这里可以看到下载速度3.40 Mbit/s,上传速度3.87 Mbit/s。

如果想查看北京还有那些其他服务器,可以用:speedtest-cli –list | grep -i beijing 这个命令。另外,如果你还想生成一张图发给 别人的话,可以在后面加个“–share”参数。

然后就可以得到对应的图片网址了。如图所示。

从这个图上可以看到,我这个网速比全国62%的机器都要慢,略有遗憾。

 

微软宣布软硬结合的IoT安全解决方案:Azure Sphere

第27届RSA大会于4月16日至19日在美国旧金山Moscone中心举办,来自世界各地的网络安全团队在此切磋交流,微软在本次大会上举办了一场安全通报会,正式宣布了面向物联网(IoT)安全的解决方案。

事实上该项目早在一年前就已启动,随后在去年4月份推出了名为“Project Sopris”的低成本物联网设备。其队伍包括 George Letey、Ed Nightingale、Galen Hunt 等研究人员,旨在为大家带来“大量低成本的安全联网设备”。

本次公布的Azure Sphere同时涵盖软件和硬件。微软还为此开发了“全新级别”的微控单元(MCUs),性能是旧款MCU的五倍。而且这些设计可以无授权费地授权给合作厂商,首款主板来自于联发科。

通过Azure Sphere授权的MCU运行Azure Sphere OS,这是基于Linux的定制发行版本,包含“多个安全层”。该系统针对物联网系统进行优化,并融合了Windows系统的诸多安全功能从而创建高度安全的软件环境。

来自:Microsoft资讯

麦迪文:这次支持微软 Azure Sphere 解决方案 的芯片为联发科的MT3620,微软开发的安全系统跑在上面。

用树莓派和 RFID 做能识别音乐专辑的桌子

有不少年轻用户还会追黑胶唱片。

他们的着眼点并不在体验传统的味道上,而是觉得收集黑胶或者其他实体专辑是一种支持歌手出唱片或提升“仪式感”的行为。

虽然不怎么听,但买起来也不会少。

确实,现在要听个实体专辑确实也不容易。黑胶的话经不起折腾,听 CD 也不方便。而且现在的人已经习惯了那种以单曲、EP 为主的音乐消费模式,很少人能够坚持把一张专辑完完整整听完的。

所以在声音体验也没有差太多的前提下,与其去不断切歌、换碟,倒不如直接用流媒体来得方便。

但其实,现在有人还想去玩“实体专辑”。GitHub 上有一位用户,就通过树莓派做了一个识别感应器,让自家的 Google Home 用上“实体专辑”。

根据 The Verge 的报道,这位来自 GitHub 上的用户叫“hoveeman”,他将一个射频识别读卡机和树莓派 Raspberry Pi Zero 连接起来,并开发了一套专用的程序。安装上这套程序后,树莓派能够给家中的 Google Home 发出指令,让它播放相应的专辑。

在这套组合中,射频识别读卡器 RFID 模块的任务就是用来识别“实体专辑”。

这些“实体专辑”,其实是 hoveeman 自己做的一些小卡片。小卡片的表面印着专辑封面、名称和表演者,卡片内部则呆在了一块小型识别芯片。当用户将芯片放到 RFID 模块上,模块就能够识别出相应的信息,传输到 Raspberry Pi Zero 上。电脑处理后,就会发送的 Google Home 上,让它播放相应的专辑。

这个模块能够隐藏在家居产品当中,不管是木桌还是凳子,只要不阻碍 RFID 识别的,都能够藏在里面。虽然这套设备带来的解决方案有点“多此一举”,但现在看起来有点意思。至少,它比你经常换 CD 来得方便。

现在,Hoveeman 将这套解决方案都上传到 GitHub 上。你可以在以下网址:

https://github.com/hoveeman/music-cards

查到它用过的设备和代码,自己做一套相同的出来。

这个其实有点像用 RFID 来控制 Spotify 的方案,那个方案也是用识别卡片来让智能设备播放 Spotify 中的专辑或特定播放列表,做法和实现目标基本上没有什么大分别。

这些方案对于开发者来说,也都是自娱自乐的东西而已。

毕竟,现在的人确实也不怎么喜爱这种消费方式。他们只需要一个简单的听歌方案,而流媒体服务正好能够给他们最简单直接的体验,有这个来确保基本需求之后,其他东西也不重要。

转自 ifanr

Windows平台也高效的GNU编译工具链 —— MSYS2

MSYS:Minimal GNU(POSIX)System on Windows,是一个小型的GNU环境,包括基本的bash,make等等。

而MSYS2除了集成了MinGW这个精简的Windows编译器以外,还集成了包管理器等等。

MSYS2可以在Windows下搭建一个完美的类Linux环境,包括bash、vim、gcc、make等工具都可以通过pacman这个包管理器来添加和卸载 。使用界面如图所示。

如果要安装git工具,可以这样。

是不是很方便?顺便说一句,高性能 Web 平台OpenResty的64位Windows版本也是用这个编译的。

安装限制:

  • MSYS2 不能安装在FAT* 分区。
  • MSYS2 仅支持Windows XP以后的版本。

基本工具包使用:

  • pacman -Sy 更新软件包数据
  • pacman -Syu 更新所有包
  • pacman -Ss xx 查询软件xx的信息
  • pacman -S xx 安装软件xx

Python 推出新一代 PyPI 发布站点 —— Warehouse

PyPI 团队的成员 Sumana Harihareswara 发表博客表示,Python 已推出新的 PyPI 网站(Python 的官方第三方软件存储库),浏览器流量和 API 调用(包括”pip install”)已从旧版 pypi.python.org 重定向到新网站,而旧的 PyPI 网站将于 4 月 30 日关闭。

不过现在旧的代码库在 https://legacy.pypi.org 上仍然可用。

目前,权威的 PyPI(Python Package Index) 地址是:https://pypi.org/,使用了新的 Warehouse 代码库。

https://pypi.org 测试版早于 3 月 26 日已提供,到 4 月 16 日正式推出,而旧的 PyPI 网站 https://legacy.pypi.org 则计划于 4 月 30 日关闭,pypi.python.org 则继续重定向至新网站。

有关更多详细信息,请参阅路线图:https://wiki.python.org/psf/WarehouseRoadmap

如果你仍在使用 pypi.python.org,现在开始应该迁移至使用 pypi.org,迁移指南:https://warehouse.readthedocs.io/api-reference/integration-guide/#migrating-to-the-new-pypi