Raspbian 中国软件源(2018.7.13版)

使用树莓派 Raspbian 系统的中国用户,通常会遇到从官方站更新和安装软件时候速度比较慢的问题,IoT前哨站整理了一些东亚地区速度比较快的软件源供大家使用(如果有不能用的可通知我们剔除,有新的可信的也可以让我们加进去)。

相关镜像站:

浙江大学
http://mirrors.zju.edu.cn/raspbian/raspbian/

中国科学技术大学
http://mirrors.ustc.edu.cn/raspbian/raspbian/

阿里云
http://mirrors.aliyun.com/raspbian/raspbian/

清华大学
http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/

华南农业大学(华南用户)
http://mirrors.scau.edu.cn/raspbian/

大连东软信息学院源(北方用户)
http://mirrors.neusoft.edu.cn/raspbian/raspbian/

重庆大学源(中西部用户)
http://mirrors.cqu.edu.cn/raspbian/raspbian/

新加坡国立大学
http://mirror.nus.edu.sg/raspbian/raspbian

韩国KAIST大学
http://ftp.kaist.ac.kr/raspbian/raspbian/

使用方式:

编辑/etc/apt/sources.list 文件,参考如下命令:

sudo nano /etc/apt/sources.list

如果是 stretch 版本,用以下内容取代(以此类推):

deb http://mirrors.ustc.edu.cn/raspbian/raspbian/ stretch main contrib non-free

# Uncomment line below then ‘apt-get update’ to enable ‘apt-get source’
#deb-src http://raspbian.raspberrypi.org/raspbian/ stretch main contrib non-free rpi

保存文件后用root权限执行:

apt update即可。

可根据自己的情况选择就近的站点。

 

溢价收购CA不务正业?半导体大厂博通股价暴跌

据MarketWatch北京时间7月12日报道,芯片巨头博通周三宣布,同意斥资189亿美元收购云软件和企业软件开发商CA Technologies。然而,这笔交易引发市场诸多质疑,导致博通股价在周四早盘暴跌了近18%。

根据两家公司的声明,博通将以每股44.50美元收购CA的全部流通股。以后者周三的收盘价计算,此交易的溢价幅度约为20%;较CA过去30个交易日的平均股价溢价约23%。

博通CA的交易如果能够获得美国、欧盟和日本反垄断监管部门的批准,能够帮助其多元化业务。博通与CA两家公司的董事会已批准了这一交易。

博通首席执行官兼总裁陈福阳(Hock Tan)在声明中表示:“这宗交易代表着我们创办全球领先的基础设施科技公司的重要基石。凭借其庞大的客户基数,CA独具特色地跨越了日益增长和支离破碎的基础设施软件市场,其中央处理器和企业软件产品将为我们的关键技术业务增光添色。”

和此前博通计划收购高通时的针锋相对不同,此次,CA方面也表达了欣然接受的意愿。该公司CEO在公开声明中说:“这宗交易组合将使得我们的软件专长与博通在半导体行业的领导地位维持一致。”

根据公开资料显示,CA是全球最大的IT管理软件公司之一,专注于为企业整合和简化IT管理。CA创建于1976年,总部位于美国纽约长岛,服务于全球140多个国家的客户。近来,公司的主要业务转向了主要以生产基于云的企业软件和传统软件。而且,公司此前的高速发展主要凭借一系列的兼并和并购交易实现,这与博通非常相似。

然而,对于博通的此次收购,华尔街存在诸多疑问。

首先的疑问是,在有博通收购高通被否的前车之鉴下,博通此次收购CA会不会再次被特朗普政府一票否决?

加拿大皇家银行分析师阿米特·德莱纳里(Amit Daryanani)周三在给客户的邮件里写道,博通对CA的收购案中,最需要关注的是,政策审批层面的问题,虽然博通的此项交易不需要通过中国的审批,另外,此前,博通已经在上次收购高通遇阻后,将总部从新加坡迁至了美国,也就是说,博通此次收购不再需要通过美国外国投资委员会的审批。但是这项交易仍需要通过美国反垄断机构的审核,在欧盟和日本也同样需要接受相关的审批,而CA股东也尚未批准这一交易。

其次,虽然CA未来可能会给博通带来充足的现金流,但是博通此次收购CA的举动仍然让很多投资者摸不清头脑。德莱纳里指出,博通的这笔交易还有很多疑点需要向投资者解释。

虽然我们理解博通想要从CA获得更充足的现金流的投资逻辑,但是,我们依旧想不通这笔交易是否会影响博通原本的战略计划,以及后市是否会对公司的资本配置造成较大影响。投资者仍需要弄清楚,博通为什么想买入一家软件公司?这笔交易跟公司的核心业务又有什么联系?

如果博通想好了要偏离原来的核心半导体业务来进行业务扩张,那么它的边际在哪里?而且,最让人担忧的是,博通此前承诺要通过股息派送归还投资者一半的年度现金流,但是此次现金收购以后,公司的这个承诺还会兑现吗?

新一代iPhone或支持eSIM 运营商控制权将被削弱

距离苹果 2018 年秋季发布会还有两个月时间,消费者对下一代 iPhone 的热情高涨,但是对于移动运营商来说,新款 iPhone 可能会让他们感到不快。

一份最新的报告显示,苹果可能会在下一代 iPhone 中加入一款 eSIM 芯片。传统的塑料 SIM 卡需要放在卡托盘上,然后推入卡槽中。如果没有它,手机就无法获得运营商服务。但是,eSIM 是一种芯片,它实际上是被焊接到手机的电路板上的。除了不需要 SIM 卡托盘之外,eSIM 甚至不需要消费者前往运营商营业厅更换 SIM 卡。

从消费者的角度来看,这将是一个令人消费的消息,当然,运营商除外。只要有了 eSIM,iPhone 用户就可以在运营商之间随意切换,更换手机 SIM 卡这部分麻烦将不复存在。消费者需要做的就是注册服务并等待运营商的自动激活。

如果苹果在今年秋天发布的新款 iPhone 中加入 eSIM 芯片,这可能标志着运营商和用户之间的关系的终结。消费者可能会倾向于先购买硬件,然后再决定选择哪家运营商。简单地说,运营商将开始失去控制,这必然会让他们感到担忧。

值得注意的是,苹果已经在 Apple Watch Series 3 中使用了 eSIM 技术,因此,将这种芯片应用到最新款 iPhone 手机上也不是不可能。

Polar旗下可穿戴设备App出现漏洞:泄露用户位置

据美国科技网站The Verge援引欧洲媒体报道,法国可穿戴智能设备公司Polar提供的App在隐私设置上存在漏洞,导致App中有一项功能会泄露用户的位置信息。目前该公司已停止相关服务。

Polar是一家法国公司,它生产多种智能设备,包括Polar Balance智能体重秤、M600智能手表、M430跑步手表,所有这些设备都可以连接到公司的健身App,也就是Polar Flow。

Explore是Polar Flow的一项功能,它相当于用户的活动地图,可以追踪全球许多用户的活动数据。如果用户决定通过Explore公开分享数据,其他人就能看到他的所有锻炼信息。用户也可以将信息设置为私有,这样一来,Polar服务就不会与第三方App分享信息。

调查发现,恶意使用者可以利用Polar地图数据确定敏感军事基地的位置,而且还可以获取用户的名字、地址信息。在Explore地图中可以看到用户的活动,甚至包括士兵的活动,这些士兵在伊拉克打击ISIS。

周五时,Polar发表声明,对自己的疏忽表达歉意,它还说公司已经在Flow App中停用Explore功能,并说之前没有泄露过数据,公司称:“我们正在分析最佳选择,希望能让Polar客户继续使用Explore功能,同时还会采取其它措施提醒客户,让他们不要公开分享与敏感位置有关的GPS文件。”

利用TurniBit开发板DIY一套自动窗帘模拟系统

一、准备工作

TurnipBit 开发板 一块

下载数据线 一条

微型步进电机(28BYJ-48) 一个

步进电机驱动板(ULN2003APG) 一块

光敏传感器 一个

TurnipBit 扩展板 一块

接入网络的电脑 一台

在线可视化编程器

二、步进电机的介绍

本次实验采用的是28BYJ-48 四相八拍电机,电压DC5V~12V。

24BYJ48名称的含义:

24:电机外径24mm

B:步进电机中步字的拼音首字母

Y:永磁中永字的拼音首字母

J:减速的减字拼音首字母

48:四相8步

工作原理

步进电机是将电脉冲信号转变为角位移或线位移的开环控制电机,是现代数字程序控制系统中的主要执行元件,应用极为广泛。在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度,称为“步距角”,它的旋转是以固定的角度一步一步运行的。可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。


28BYJ-48 步进电机参数表

上表中启动频率≥550 P.P.S(每秒脉冲数),意思是要想正常启动,需要单片机每秒至少给出550个步进脉冲。那么每一节拍需要持续的时间就是1S/550≈1.8ms,所以控制节拍刷新的速率应大约1.8ms。

驱动原理

当连续不断的给电机发送控制脉冲时,电机就会不断的转动。每一个脉冲信号对应步进电机的某一相或两相绕组的通电状态改变一次,对应转子就会转过一定的角度(步距角)。当通电状态的改变完成一个循环时,转子转过一个齿距。

四相步进电机可以在不同的通电方式下运行,常见的通电方式:

四拍(单相绕组通电):A-B-C-D-A…

双四拍(双相绕组通电):AB-BC-CD-DA-AB-…

八拍: A-AB-B-BC-C-CD-D-DA-A…

三、器件的连接

1、将步进电机白色接头插到驱动板对应的座子上。

2、TurnipBit对应插入扩展板,记住带有LED灯和按键的一面朝向扩展板带有针脚的一侧。

3、将驱动板与TurnipBit扩展板连接起来。接线图如下:

4、将光敏传感器与TurnipBit扩展板连接起来。接线图如下:

四、开始编程

1、之前的教程一直都是使用拖拽可视化编程,这种方式可以快速让零基础小伙伴入门,但是在实际项目或工作中,还是要直接敲代码的。今天就给大家介绍一下TurnipBit的可视化编程器的另一项功能–代码编程。

之前看过编程的小伙伴,不难发现,一打开编辑器首先进入的就是代码编程器界面。如下图:

2、接下来用代码实现对步进电机的控制和光照数据的采集。

当光照变弱时,步进电机顺时针旋转一周,模拟关闭窗帘的操作;

当光照变强时,步进电机逆时针旋转一周,模拟打开窗帘的操作;

完成源代码:

# 在这里添加Python代码
from microbit import *
  Pin_All=[pin5,pin8,pin11,pin12]
  #转速(ms) 数值越大转速越慢 最小值1.8ms
speed=5
  STEPER_ROUND=512 #转动一圈(360度)的周期
ANGLE_PER_ROUND=STEPER_ROUND/360 #转动1度的周期
  isOpen=False#表示窗帘的状态 True:打开 False:关闭
  def SteperWriteData(data):
    count=0
    for i in data:
        Pin_All[count].write_digital(i)
        count+=1
def SteperFrontTurn():
    global speed
    SteperWriteData([1,1,0,0])
    sleep(speed)
      SteperWriteData([0,1,1,0])
    sleep(speed)
      SteperWriteData([0,0,1,1])
    sleep(speed)
    SteperWriteData([1,0,0,1])  
    sleep(speed)
def SteperBackTurn():
    global speed
    SteperWriteData([1,1,0,0])
    sleep(speed)
    SteperWriteData([1,0,0,1])  
    sleep(speed)
    SteperWriteData([0,0,1,1])
    sleep(speed)
      SteperWriteData([0,1,1,0])
    sleep(speed)
  def SteperStop():
    SteperWriteData([0,0,0,0])
def SteperRun(angle):
    global ANGLE_PER_ROUND
      val=ANGLE_PER_ROUND*abs(angle)
    if(angle>0):
        for i in range(0,val):
            SteperFrontTurn()
    else:
        for i in range(0,val):
            SteperBackTurn()
    SteperStop()
while True:
    light=pin0.read_analog()#读取光敏传感器传递过来的模拟量数据
    #数值越大说明光照度越小
    if light>400:
        if isOpen:
            isOpen=False
            SteperRun(-360)#光照小于设定的值,关闭窗帘
    else:
        if isOpen==False:
            isOpen=True
            SteperRun(360)#光照大于设定的值,打开窗帘

* 本文作者:bodasister,来自FreeBuf.COM

微软正式开源 Azure IoT Edge 边缘计算服务

微软宣布,2017年底公开预览的 Azure IoT Edge 边缘计算服务已发布正式版,并通过 GitHub 将其开源。Azure IoT Edge 主要将基于云的分析和定制的业务逻辑转移到边缘设备,使企业能够专注于洞察商业机会而非数据管理。 微软表示,这些设备现在将能够立即采取实时数据行动。

借助开源的 Azure IoT Edge,开发人员可以更灵活地控制自己的边缘解决方案,以及运行时或调试问题。

此外,Azure IoT Edge 的正式版本也将支持 Docker 兼容的 Moby 容器管理系统。 微软还将扩展针对物联网的 Azure 认证,以开始针对边缘设备的软件和硬件认证,包括运行时,设备管理和安全性。

为了解决 Azure IoT Edge 大规模部署的安全问题,Azure IoT Edge 深入集成了设备调配服务,以安全地配置数以万计的设备和 Azure IoT Edge 安全管理员,这些管理员可以用来保护边缘设备及其组件。 自动设备管理(ADM)可以基于设备元数据将大型物联网边缘模块部署到设备。

Azure IoT Edge 支持 C#,C,Node.js,Python 和 Java 等编程语言。 它还提供 VSCode 模块开发,测试和部署工具,以及带 VSTS 的 CI/CD 管道。

部署 Azure IoT Edge 有三个必要组件,即 Azure IoT Edge Runtime,Azure IoT Hub 和 Edge 模块。 Azure IoT Edge Runtime 是免费且开源的,但客户必须使用付费的 Azure IoT Hub 实例进行扩展。 边缘设备的管理和部署也将基于 Azure 服务或客户使用的 Edge 模块。

需要下载微软开源的Azure IoT Edge 代码请访问:

https://github.com/Azure/iotedge

来自:开源中国

Fuchsia 操作系统将兼容Debian Linux 应用

Fuchsia是谷歌公司新推出的一款更适合物联网的操作系统。这款新操作系统和安卓以及Chrome OS都不同,因为它没有使用Linux内核。

正在人们为其兼容性担忧之时,谷歌最近宣布为 Fuchsia OS 增加了一个用于运行 Debian Linux 应用程序的模拟器。以使 Linux 应用程序能够在 Fuchsia 中作为虚拟机(VM)运行。和之前发布的模拟器不同,谷歌声称:其“Guest” App 与宿主 Fuchsia 的集成会更加紧密。

对于有些人来说,Linux 不仅是 Android 和 Chrome OS 的基础,也是谷歌企业平台的基础,所以 Fuchsia 似乎是一种“背叛”。

毫无疑问,谷歌有一些非常好的理由要避免使用 Linux。一个原因可能是 Linux“年纪太大”,太复杂了。如果从头开始做一个东西,谷歌就可以避开这些问题,使用更优雅的代码,给黑客留下最少的可乘之机。谷歌还将安全更新深植到操作系统中,通过隔离应用程序让它们无法直接访问系统内核,这点与 Linux 是不一样的。

早在 2016 年,我们认为谷歌可能会将 Fuchsia 作为一个私有操作系统,就像苹果公司将 iOS 的一切牢牢控制在手中一样。尽管不排除这个可能性,但至少现在 Fuchsia 仍然是一个开源项目。

有些人还推测,谷歌因为无法在微处理器(MCU)领域扩大规模而绕过了 Linux。然而,基于 MCU 的物联网似乎并不是目前 Fuchisa 关注的焦点。一些报道称,Fuchsia 旨在替代 Android 和 Chrome OS,最终的组合平台将被称为 Google Andromeda。

今年早些时候,9to5Google 报道说,Fuchsia 将包含独立的 UI——用于手机的 Armadillo UI 和用于桌面的 Capybara UI——以及 Android Things 和其他新的 Android 变体,将紧密集成谷歌智能助理语音技术。从本质上讲,这与微软未能为手机和笔记本电脑提供通用的 Windows 或 Canonical 已停用的“融合”版 Ubuntu 计划如出一辙。

无论 Fuchsia 的命运将如何,谷歌需要吸引到成熟的应用程序和开发者,而实现这一目标的最佳方式就是增加 Linux 应用程序兼容性。9to5Google 建议,为了实现该目标,新的 Guest App 最开始应该先支持包括 Debian 在内的 Linux 平台,通过调用 Machina 库实现比 QEMU(虚拟操作系统模拟器)更好的集成。

谷歌将 Fuchsia 的 Machina 描述为“一个建立在 Zircon 之上的库,提供与 Garnet 系统集成的虚拟外设。”Zircon 是基于 Little Kernel(LK)的 Fuchsia 微内核,之前叫作 Magenta。Garnet 是直接位于 Zircon 之上的层,提供设备驱动程序、Escher 图形渲染器、Fuchsia 的 Amber 更新程序以及用于 Xi 编辑器的 Xi Core 引擎。其他层包括用于应用设计的 Peridot,以及 Topaz,一个支持 Flutter 的应用层。

Machina 采用了 Virtio 虚拟化标准,基于 Linux 内核的虚拟机(KVM)也采用了该标准。Machina 使用了 Virtio 的 vsock 虚拟套接字,“它可以在宿主操作系统与客户应用之间打开直接通道,而这种便利性无法通过其他方式实现”。

这样可能可以实现快速的鼠标移动、自动调整屏幕分辨率,并支持多显示器、文件传输以及复制和粘贴。这看起来很像人们所期望的通过谷歌 Crostini 在 Chrome OS 上运行 Linux 应用程序的仿真度。早些时候有关 Guest App 的报道表示,谷歌正在将 Android 运行时构建到 Fuchsia 中,而不是单纯依靠模拟器来运行 Android 应用程序。

我们应该以客观的态度看待模拟器。大多数基于 Linux 的移动操作系统厂商都承诺具备 Android 应用兼容性,但通常都未能兑现他们的诺言。因此,通过在一开始就将模拟器深植到宿主操作系统中,而不是在后面才添加。Fuchsia 可能因为此举而为 Linux 开发者提供了一个更“真实的”模拟器。

怎样为树莓派安装Rust开发包和相关实用软件?

随着软件业的蓬勃发展,越来越多的新技术开始呈现在大家面前。比如Golang和Rust这两门计算机编程语言。

Golang可能大家接触的多一些,毕竟容器和区块链等大量开发者在用。稍晚一年出现的Rust,可能有些朋友不熟悉。

Rust是Mozilla主导开发的注重安全、速度和并发的系统级编程语言,随着Rust的成熟,Mozilla开始尝试用Rust开发Firefox的组件,其中包括核心引擎Servo/Project Quantum。

普通PC和Mac电脑咱们这里就不说了,这里讲讲如何在树莓派上安装Rust开发包和那些没有加入“系统软件库”的Rust软件。

这里还是拿出我的Raspberry Pi Zero W。

在确保网络状态良好的情况下,在命令行执行:

sudo curl https://sh.rustup.rs -sSf | sh

默认安装选1即可,它会自动安装稳定版的Rust for ARM。这里可以看到版本号是1.27.0。

安装成功后可以写个hello world试试是否可以正常编译。

cat > hello.rs << EOF

rustc hello.rs

这个命令可以生成二进制文件直接执行。

从图中我们能看到,树莓派已经可以编译rust程序了。然后我们用cargo这个rust包管理工具来安装一个文件搜索工具 —— fd-find。

执行:cargo install fd-find

下载和编译的过程比较漫长。当然,如果你是高性能PC可以很快。单核ARM的话你就慢慢等吧。

差不多一场世界杯足球赛的耗时,终于编译完成了这个fd-find(我这里用了84分 2.69秒)。

最后就是享受劳动成果了,试试这个由Rust语言开发,传说中可取代“find”命令的小工具吧。

速度快,更简洁,支持正则表达式。还可以和其他Shell命令融合。

欢迎大家和我探讨IoT物联网终端上的开发和应用。

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

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

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

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

(https://github.com/jervine/rpi-temp-humid-monitor)

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

via: https://opensource.com/article/18/3/build-baby-monitor-raspberry-pi
作者:Jonathan Ervine 译者:qhwdw 校对:wxy 来自:Linux中国

忘记网络设备或应用的默认密码怎么办?

做物联网的,少不了要跟路由器等各种网络设备、PaaS应用打交道。可是要不小心在工作中忘记设备或应用的默认密码怎么办?那可就耽误事情了。今天就给大家介绍一个小工具 —— Passhunt。

这是一款用于寻找路由器、交换机等网络设备、Web 应用等默认身份凭证的工具。大约能搜索世界各地523个供应商和他们的2084个默认密码。各位可保存好,以备不时之需。

安装:

git clone https://github.com/Viralmaniar/Passhunt.git
cd Passhunt
pip3 install -r requirements.txt
python3 Passhunt.py

使用:

1: 输出支持的设备厂商/Web应用列表。
2: 输入厂商名称并搜索默认的登陆凭据。
3: 退出程序

好了,不用谢。欢迎关注“IoT前哨站”微信和微博。