树莓派通过物联网照顾宠物龟

树莓派通过物联网照顾宠物龟

作者:半点闲

撰写:2015年4月16日

博客:blog.csdn.net/cg_i

邮箱:[email protected]

资源:http://pan.baidu.com/s/1i3INVal(文中提到的资源)

写在前面的

春节期间,到公园游玩,看门前有卖各种小宠物的商贩,见其中巴西红耳龟很是可爱,就买了一对。因是第一次饲养这种爬行类动物,虽是很小心但还是有一只不幸夭折,在感到惋惜痛心的同时,也想能否用什么更好的办法照顾这仅剩下的另一只小龟。

在这种想法的推动下,借助手里拥有的树莓派,其强大的处理能力,加上当下新兴起的物联网平台,初步做了一个集图像监控、水温监控、定时开启水质过虑泵、晒背灯。搭建起一个智能照顾小龟的保姆,也为我分担了不少精力。即使我身在外地也可以通过手机,实时了解小龟的生存状态。

现将,整个软、硬件搭建过程整理出来和大家分享。当然RaspberryPi有着巨大的潜力,如果,你要监控、感知离开你后的卧室,有没有外星人造访过。或者在上班的路上用手机通过网络控制你办公司的咖啡机,在你进入办公司前为你冲上一杯香醇的咖啡等等。希望能通过这篇文章获得一些启示,那我将倍感荣幸(注:如果你像我一样有无比旺盛的好奇心,通过网址:http://www.yeelink.net/devices/19605现在你就可以去看看我饲养的“八大王”)。

(图-0八大王)

读者对象

我假设阅读这篇文章的读者,了解如何配置和保护树莓派,对Linux有一定的了解,会编写一些脚本或代码,至于文章中提到的硬件安装,读者大可放心(注:将继电器用于市电开关时要特别小心),这些硬件都已模块化,你只需要简单的把它们连接到你的树莓派即可。

至此,再没其它要求,现在开始你的物联网之旅。

第一章 硬件菜谱

  1. 硬件及费用清单

名称


费用(元)


备注


RaspberryPi(B)Rev2.0


315


当时英国代购比较贵,现在最新的RPi2(B)也就200多。


PiFace扩展板


240


为了保护树莓派不受接线错误的伤害,也是为了利用它的两个继电器开关。


EP-N8508GS迷你USB无线网卡


40


用于联网。


USB摄像头


--


旧机器上拆的,用于采集图像。


RisymDS18B2水温探头


5.9


用于监测饲养缸水温。


DHT11温湿度传感器模块


6.1


用于监测室内温与相对湿度。


方形玻璃带晒台龟缸


50


龟龟的豪华别墅。


爬虫UVB陶瓷灯罩


29


用于给乌龟晒背增加钙质与活性。


UVA+UVB3.0太阳卤素灯25W


18


低水位瀑布式过滤泵


35


用于净化水质。


其它


577.36


各种书籍、饲料、龟药及配件

  1. 初识硬件

1、RaspberryPi

我手中的这块RaspberryPi(B)Rev2.0购于2013年4月23日,配备一枚700MHz博通出产的ARM架构BCM2835处理器,512MB内存,使用SD卡当作储存媒体,且拥有一个Ethernet,两个USB接口,以及HDMI(支持声音输出)和RCA端子输出支援。操作系统使用的是RaspberryPi基金会所推荐的RaspbianWheezy
Linux操作系统详细信息如下:

$uname -a

Linux raspberrypi3.18.7+ #755 PREEMPT Thu Feb 12 17:14:31 GMT 2015 armv6l GNU/Linux

请确保操作系统版本和我的一样或高于它。因为,实际操作中发现低于这个版本的系统不能正常驱动我手中的RisymDS18B2水温探头。可从官网下载最新的操作系统镜像https://www.raspberrypi.org/downloads/或访问我的百度网盘下载和我同版本的系统镜像(2015-02-16-raspbian-wheezy.zip)文件。

(图-1RaspberryPi(B)Rev2.0)

在RaspberryPi的一边有一组双排排针,这些排针被称为GPIO(General
Purpose Input/Outpu,通用输入/输出)接口,通过这个接口,可以把Pi与其它电子硬件设备相连,就像使用USB接口那样。

(图1-1 GPIO引脚)

如果你像我一样是一个真正的初学者,初看到这些引脚时,是不是心生畏惧?这里你大可宽心,我们只需要连接GPI04、GPI07两个引脚,再无其它。至于,其它引脚作用(注:细心的你也许还发现有些GPIO引脚用圆圈起来,里面有其它数字,这些引脚都是有特殊用途的。)有机会再给大家介绍或者你也可以通过网络搜索获取这方面更多的资料。

2、PiFace

PiFace数字接口板可以从曼彻斯特大学计算机学院获得,网址是:http://shop.openlx.org.uk/。这块板子能提供8个GPI0输入和8个GPI0输出,,可是这些输入输出都不是树莓派自己的GPI0线,它们是由另一块芯片(ULN2803A)提供的,这块芯片是通过树莓派的一个串行外部设备接口(注:SPI)所控制的。

直接连接在树莓派上的GPIO线是很脆弱的。PiFace上的输入可以直接处理5V的信号,而且这个板子允许输出电流高达200mA,这两项指标还都有些很宽的容限。

它的输出还带有LED,当前的版本的板子上有8个,还有4个输入上带了按钮开关,不过,对于我这个作品最有用的,是其中两个输出上接了很强大的继电器,这使得理论上可以开关高达10A的强大电流。PiFace还有自己的Python模块,使得扩展板在使用时更加简易。

最初,我是想通过它来连接传感器,但当我收到货后,才发现购买的这个附件,除了安全说明和包装盒,再无其它,官方文档也不是那么好获得,通过网络搜索得到很多误导性的网页,终于得到它《PiFace数字快速入门指南》正如字面上所说一样。我疯狂的从网上查阅相关书籍,只要发现书籍章节目录中有PiFace字眼,就果断下单购买。然后,无比焦急的等待快递上门,这个过程让我觉得像过了几个世纪那样漫长。书籍到手后又无比失望,这类书籍里大费笔墨的都是一些,能从网上搜索我们所共知的,而我真正需要的,是一些支言片语一笔带过的普及性的介绍。我仍然在黑暗中。

幸运的是,有上手指南,给出了一些有限的应用例子,加之前几年有学习Perl语言的经历“每个问题都有许多解决方式(TMTOWTDI)”,在这里我只使用了它的继电器,其它传感器直连到树莓派的GPIO插座上(注:如果你熟悉这块扩展版,请一定不吝赐教),也许待以后再充分的利用它。

(图-2 PiFace-1)

3、DS18B20、DHT11传感器

Risym DS18B20数字温度传感器,采用不锈钢防水型探头,有VCC(红色电源)、 黄色(DATA信号)、黑色(GND地线)3根输出引线,3.0V~5.5V供电、9~12位可调分辨率、感温范围-55℃~+125℃(引线最高只能承受85℃左右)。特点:接线简单系统内置支持,无需编程即可获取传感温度数据。

DHT11温湿度传感器模块,可以检测周围环境的湿度和温度,湿度测量范围:20%-95%(0度-50度范围)湿度测量误差:+-5%,温度测量范围:0度-50度温度测量误差:+-2度,采用小块PCB板3线式接口,VCC(电源)、DATA(信号)、GND(地线),工作电压3.3V~5V,带电源指示灯(红色)。特点:应用广泛实例众多,本文直接采用国外大牛针对它编写的C代码,几乎不需要编程。

(图-3 各种传感器)

以上,是针对本文核心的几个硬件做了一下简单的介绍,其它,如USB无线网卡、USB摄像头,都能在Linux下识别免驱,安装相对简单,就不花费笔墨叙述了。

  1. 硬件连接

1、PiFace安装到RaspberryPi上,注意力度对准GPIO插槽即可。

(图-4 PiFace安装)

2、Risym DS18B20、DHT11传感器连接。

首先,借用别人的电路图。

(图-5 Risym DS18B20连接图)

如上电路图所未,它是将传感器直接到RaspberryPi上,而我手中的RaspberryPi上方已经安装上了PiFace,在前文里我也说过,对于PiFace我了解甚少,我借鉴了上图的接线方式,将DS18B20信号线直接到RaspberryPi的GPIO4口上,将VCC、GND线接到了PiFace相对应的接口上,看到这里你一定很好奇,为何我这样连接?实话告诉你吧!这里没有什么高深的原因,这样连接我可以少焊接两根线,一来手笨、二来接电源线毕竟会有一定的风险,如果出错PiFace的保护电路会起到保护RaspberryPi的作用,大不了PiFace损坏。

DHT11模块也参考了上面给出的电路图,只是它的信号(DATA)线连接的是GPIO7引脚,电源(VCC)、地线(GND)串联到PiFace对应接口上。

(图-6 DS18B20和DHT11传感器接线)

3.继电器连接用于市电开关。

继电器通过放大微弱信号来生成强信号,继电器像开关一样,它优于开关之处就在于,继电器可以不必人工控制。不夸张的说,我们生活在充满继电器的世界里,继电器改变了世界。

通过操控继电器就能控制市电,使得自动化开关设备成为可能。继电器有三个端口:常开(NomalOpen)、公共(Common)、常闭(Nomal Close)。常开,正常状态为开路(开路即断开的),通电后关闭(连通),公共端,顾名思义,常闭,正常状态为闭合(连通状态),通电后断开(开路)。

因此,市电是没有正负极之分,零线或火线可任意接在常开或常闭,是否有电流通过取决于当前低电端给予的电平情况。

这里为了能同时开关过滤泵、晒背灯,也为了将来需要进一步扩展控制更多设备(注:安全起见应特别谨慎,充分考虑市电输入/输出线路和继电器负载能力)。我将家里的一个插线排做了改造,将继电器输出线路直连接到插线排上(注:参见图-6)。

(图-7 继电器端口接线)

到这里,针对我的这个作品,硬件设备的连接已经全部完成(注:是不是很简单)。我使用了一些奇怪的接线方式,是我对所掌握的知识匮乏的一种妥协,实属无奈。希望,不会对你产生困扰。毕竟,我的目地是想通过这个案例启发到你,你可以根据你实际拥有的硬件资源选择合理的接线方式。

硬件是计算机的驱体,而软件是计算机的灵魂。要想上述硬件能如愿工作,还需要对它注入灵魂。下面,就带大家进入它的世界,和它的灵魂对话。

第二章 软件菜谱

一、更新RaspberryPi

登录到你的RaspberryPi在命令行输入以下命令:

sudoapt-get update

sudo apt-get upgrade

当系统提示输入“Y”,等待系统执行这需要一定的时间。

二、SPI启用

PiFace需要启用SPI引脚的RaspberryPi上才能运行,这是很简单的事情,要启用SPI,你须通过raspi-config配置工具开启,在命令行输入以下命令:

sudo raspi-config

菜单中选择8 Advanced Options (高级设置),选择A5 SPI 是否默认启动SPI内核驱动,设置为“YES”,选择“OK”,然后“Finish”。

三、安装PiFace数字Python模块

前面我们已将RaspberryPi更新到最新版本,现在只须通过apt-get就可以轻松地安装PiFace数码软件。在命令行输入以下命令:

sudo
apt-getinstall python3-pifacedigital-emulator

sudo apt-get installpython3-pifacedigital-scratch-handler

提示时输入“Y”。

成功安装后,sudo
reboot你的RaspberryPi。

四、测试你的PiFace

为了测试所有PiFace软件已经安装并RaspberryPi设置正确,在命令行输入以下命令:

python3/usr/share/doc/python3-pifacedigitalio/examples/blink.py

或Python2:

python/usr/share/doc/python-pifacedigitalio/examples/blink.py

按Ctrl+C关闭LED灯闪烁程序。

五、DS18B20温度探头测试

在命令行输入以下命令:

sudo modprobew1-gpio

sudo modprobe w1-therm

cd /sys/bus/w1/devices/

ls

显示结果:

28-00000494cb79
w1_bus_master1

这个是传感器的序列号(注:并不是都一样,如果有多个传感器会有多个28-xxx对应文件),看到它证明系统已正确识别设备。在命令行输入以下命令,查看当前温度:

cd28-00000494cb79

cat w1_slave

显示结果:

70 01 4b 46 7f ff 10 10 e1 : crc=e1 YES

70 01 4b 46 7f ff 10 10 e1 t=23000

这个传感器不是很稳定,系统如果读取到消息,会在返回消息的第一行末尾加上YES或NO,如果是YES,那第二行紧接着就是温度,以1/1000摄氏度为单位,所以在上面的例子中,实际读取到的温度是23摄氏度(注:下面给出的脚本自动完成这个工作)。

将以下两条命令添加到/etc/rc.local这个启动脚本里(注:在exit 0这行之上写),这样每次启动都会自动加载w1模块了。

sudo modprobew1-gpio

sudo modprobe w1-therm

六、DHT11温湿度传感器测试

这里我直接使用某国外大牛针对它读取信息的C代码(注:为何不用呢?)代码是开源的。我的RaspberryPi它采用Broadcom
BCM2835(CPU,GPU, DSP, and SDRAM)芯片。所以读取GPIO口需要到网址:http://www.open.com.au/mikem/bcm2835/index.html获取最新的BCM2835
C语言库,下载、编译和安装。在命令行输入以下命令:

wgethttp://www.open.com.au/mikem/bcm2835/bcm2835-1.36.tar.gz

tar -zxvf bcm2835-1.36.tar.gz

cd bcm2835-1.36

./configure

make

sudo make install

获取DHT11/DHT22温湿度程序:

cd
/home/pi

git clonehttps://github.com/dohkoos/Raspberry-Pi-Code.git

cd Raspberry-Pi-Code/DHT22

make

sudo ./dht 11 7(注:数据接口接在第7针脚)

DHT11和时序之间很紧密的,执行命令同样也占用时序。所以,并不是每次执行完命令都能读出数据,多执行几次就可以了(注:后面给出的脚本自动完成这个动作)。

七、USB摄像头图像采集测试

我使用是支持UVC的摄像头,在Linux下免驱支持,正确插入到RaspberryPiUSB接口,在命令行输入以下命令:

ls
/dev/video0

video0(注:系统正确识别才有此文件,如有多个摄像头被识别会有多个videoX文件)

安装抓图软件fswebcam:

sudoapt-get install
fswebcam

提示时输入“Y”。安装完毕,在命令行输入以下命令:

fswebcam
-d /dev/video0 -r320x240 photo.jpg

查看生成的文件,正常。则,摄像头测试通过。

八、获取RaspberryPi CPU温度

参见下文,直接给出相应的脚本代码,这里就不再叙述了。

九、PiFace继电器测试

参见下文,直接给出相应的Python代码,这里就不再叙述了。

通过上面一系统软件的安装与测试,本文作品必需的软、硬件环境已经完全具备了,接下来就是将这些硬件采集的数据分类、有序的传到物联网对应接口,使您的设备迈进物联网时代。

第三章 烹饪之法

一、接入Yeelink平台

Yeeklink作为一个免费开放的公共物联网接入平台,目的是为服务所有的爱好者和开发者,使传感器数据的接入、存储和展现变得轻松简单。限于篇幅你可以访问网址:http://www.yeelink.net/developer/doc/11按官方给出的教程和例子,逐步注册、添加设备、添加传感器等,这里就不多加叙述了。

二、传感数据物联网接口脚本

开始之前,因为RaspberryPi用SD卡当做硬盘,为了避免擦写过于频繁,我在内存中开辟一小块区域专门存放运行的中间文件(注:程序执行效率也提高了)。

先在/mnt下新建一个目录。

sudomkdir
/mnt/yeelink

然后把这个文件夹挂进内存里。

sudo
mount –t tmpfs –o size=5mtmpfs /mnt/yeelink

这句命令将/mnt/yeelink挂载内存,上限是5M,不用就不占空间,更多的资料请搜一下Linux相关的tmpfs。挂进内存之后可以用df命令查看。

测试成功后让RaspberryPi每次启动自动把文件夹挂载进内存,编辑/etc/fstab在最后一行增加:

tmpfs /mnt/yeelink
tmpfssize=5m 0 0

保存。

再将下面给出获取、上传传感器数据到云端的代码,创建、保存到用户主目录bin目录下(注:如/home/pi/bin这个目录需要你自已创建)。也可以直接从我给出的网盘里下载我编辑好的脚本文件(注:bin.rar将U-ApiKey及传感器APIURL地址修改为你自己的)。

  • yeelink_cam.sh
############################################################################################

# 作者:半点闲

# 时间:2015-4-23

# 博客:blog.csdn.net/cg_i

# 邮箱:[email protected]

# 文件:yeelink_cam.sh

# 功能:摄像头抓图

# 硬件:RaspberryPi(B)Ver2.0

# 系统:Linux raspberrypi 3.18.7+ #755 PREEMPT Thu Feb 12 17:14:31 GMT 2015 armv6l GNU/Linux

# 满足:apt-get install fswebcam

############################################################################################

#!/usr/bash

sudo fswebcam -d /dev/video0 -r 320x240 --bottom-banner --title "blog.csdn.net/cg_i" /mnt/yeelink/photo.jpg

curl --request POST --data-binary @"/mnt/yeelink/photo.jpg" --header "U-ApiKey:xxxxxxxx"  http://axxxxxxxxxxxxxxxxxxxxxxxxxxxx

sudo rm /mnt/yeelink/photo.jpg
  • yeelink_dht.sh

############################################################################################

# 作者:半点闲

# 时间:2015-4-24

# 博客:blog.csdn.net/cg_i

# 邮箱:[email protected]

# 文件:yeelink_dht.sh

# 功能:DHT11温度器读取室温与相对湿度

# 硬件:RaspberryPi(B)Ver2.0

# 系统:Linux raspberrypi 3.18.7+ #755 PREEMPT Thu Feb 12 17:14:31 GMT 2015 armv6l GNU/Linux

# 满足:暂无

############################################################################################

#!/bin/bash

until sudo dht 11 7 | grep 'Temp' > /mnt/yeelink/dht.tmp

do

       :

done

#获取室内温度与相对湿度

TEMP=`sed 's/Temp = \([0-9]*\).*/\1/' /mnt/yeelink/dht.tmp`

HUM=`sed 's/.* Hum = \([0-9]*\).*/\1/' /mnt/yeelink/dht.tmp`

curl --request POST --data-binary "{\"value\":$TEMP}" --header "U-ApiKey:xxxxxxxxxxxxxxx"  http://xxxxxxxxxxxxxxxxxxxxxxxxxxx

curl --request POST --data-binary "{\"value\":$HUM}" --header "U-ApiKey:xxxxxxxxxxxxxxxx"  http://xxxxxxxxxxxxxxxxxxxxxxxxxxx

sudo rm /mnt/yeelink/dht.tmp
  • yeelink_bs18b20.sh

############################################################################################

# 作者:半点闲

# 时间:2015-4-23

# 博客:blog.csdn.net/cg_i

# 邮箱:[email protected]

# 文件:yeelink_bs18b20.sh

# 功能:读取BS18B20水温传感器值

# 硬件:RaspberryPi(B)Ver2.0

# 系统:Linux raspberrypi 3.18.7+ #755 PREEMPT Thu Feb 12 17:14:31 GMT 2015 armv6l GNU/Linux

# 满足:启用modprobe w1-gpio,modprobe w1-therm模块

############################################################################################

#!/bin/sh

TEMP=`cat /sys/bus/w1/devices/28-000006dd4882/w1_slave | tr -d '\n'`

echo $TEMP | grep 'YES'

if [ $? -eq 0 ]

then

       TEMP=`echo $TEMP | sed 's/.*t=\(.*$\)/\1/'`

       TEMP=`expr $TEMP / 1000`

       curl --request POST --data-binary "{\"value\":$TEMP}" --header "U-ApiKey:xxxxxxxxxxxxxxxxxxx"  http://xxxxxxxxxxxxxxxxxxxxxxxxx

fi
############################################################################################

# 作者:半点闲

# 时间:2015-4-23

# 博客:blog.csdn.net/cg_i

# 邮箱:[email protected]

# 文件:yeelink_bs18b20.sh

# 功能:读取BS18B20水温传感器值

# 硬件:RaspberryPi(B)Ver2.0

# 系统:Linux raspberrypi 3.18.7+ #755 PREEMPT Thu Feb 12 17:14:31 GMT 2015 armv6l GNU/Linux

# 满足:启用modprobe w1-gpio,modprobe w1-therm模块

############################################################################################

#!/bin/sh

TEMP=`cat /sys/bus/w1/devices/28-000006dd4882/w1_slave | tr -d '\n'`

echo $TEMP | grep 'YES'

if [ $? -eq 0 ]

then

       TEMP=`echo $TEMP | sed 's/.*t=\(.*$\)/\1/'`

       TEMP=`expr $TEMP / 1000`

       curl --request POST --data-binary "{\"value\":$TEMP}" --header "U-ApiKey:xxxxxxxxxxxxxxxxxxx"  <a target=_blank href="http://xxxxxxxxxxxxxxxxxxxxxxxxx">http://xxxxxxxxxxxxxxxxxxxxxxxxx</a>

fi
  • yeelink_cpu.sh

############################################################################################

# 作者:半点闲

# 时间:2015-4-23

# 博客:blog.csdn.net/cg_i

# 邮箱:[email protected]

# 文件:yeelink_cpu.sh

# 功能:读取树莓派CPU温度

# 硬件:RaspberryPi(B)Ver2.0

# 系统:Linux raspberrypi 3.18.7+ #755 PREEMPT Thu Feb 12 17:14:31 GMT 2015 armv6l GNU/Linux

# 满足:暂无

############################################################################################

#!/bin/bash

CPU_TEMP=`cat /sys/class/thermal/thermal_zone0/temp`

CPU_TEMP=`expr $CPU_TEMP / 1000`

curl --request POST --data-binary "{\"value\":$CPU_TEMP}" --header "U-ApiKey:xxxxxxxxxxxxxxxxxxxxxx" <a target=_blank href="http://xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx">http://xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</a>
  • yeelink_turn.py

#!/usr/bin/env python

# -*- coding:utf-8 -*-  

############################################################################################

# 作者:半点闲

# 时间:2015-4-26

# 博客:blog.csdn.net/cg_i

# 邮箱:[email protected]

# 文件:yeelink_turn.py

# 参数:on 开启;off 关闭

# 功能:开关PiFace断电器1

# 硬件:RaspberryPi(B)Ver2.0 + PiFace1

# 系统:Linux raspberrypi 3.18.7+ #755 PREEMPT Thu Feb 12 17:14:31 GMT 2015 armv6l GNU/Linux

# 满足:Python安装pifacedigitalio模块

############################################################################################

import sys,exceptions,pifacedigitalio as p

try:

       param = sys.argv[1]

       if param == 'on':

              p.init()

              p.digital_write(0,1)

       elif param == 'off':

              p.init()

              p.digital_write(0,0)

except IndexError:

       print('Error:Lack of necessary parameters:on or off')

将上面给出的脚本创建并保存在bin目录后,再将以下命令添加到/etc/rc.local这个启动脚本里(注:在exit
0这行之上写),这样每次启动都会自动将脚本复制到我开辟的内存区域内。

sudo cp/home/pi/bin/yeelink_cam.sh
/mnt/yeelink

sudo cp /home/pi/bin/yeelink_cpu.sh/mnt/yeelink

sudo cp /home/pi/bin/yeelink_dht.sh/mnt/yeelink

sudo cp /home/pi/bin/yeelink_bs18b20.sh/mnt/yeelink

sudo cp /home/pi/bin/yeelink_turn.py/mnt/yeelink

  1. 自动化上传数据

最后通过corn按照我约定的时间执行上述脚本(注:限于篇幅,有关cron具体信息可通过网络搜索来获取),在命令行输入以下命令:

sudo crontab
–e

*/1 * * * * /mnt/yeelink_cpu.sh(注:每1分种上传一次获取的CPU温度)

*/2 * * * * /mnt/yeelink_cam.sh(注:每2分钟上传一次摄像头抓取的图像)

*/5 * * * * /mnt/yeelink_bs18b20.sh(注:每5分钟上传一次获取的水温)

*/10 * * * * /mnt/yeelink_dht.sh(注:每10分钟上传一次获取的室内温湿度)

30 6 * * * /mnt/yeelink_turn.py on(注:每天6:30开启过虑水泵、晒背灯)

0 11 * * * /mnt/yeelink_turn.py off(注:每天11:00关闭过虑水泵、晒背灯)

写在后面的

终于,对于我的这个作品暂时划上了句号。我并不擅长写作,对于这篇文章,我已然倾尽了全力。通过写作发现,要想把脑子里的想法,通过文字表述明白,是一件极具挑战的事情。在文中我不止一次的说过:“我是一个真正的初学者!”在计算机的世界里,我只是一爱捣鼓里面东西的孩子,撰写这篇文档,只是想送给像我这样对计算机刚刚有点兴趣的小伙伴们一点启发(注:我也期待通过观看这篇文章的大牛们慷慨的建议)。

最后,这就是工具论:有了一点点正确的知识,你就可以做出任何东西来。

时间: 2024-09-29 06:06:40

树莓派通过物联网照顾宠物龟的相关文章

阿里云物联网平台体验(树莓派+Python篇)

阿里云物联网平台体验(树莓派+Python篇) 虽然对阿里云物联网平台比较熟悉了,从一开始就有幸参与了飞凤平台(Link Develop 一站式开发平台的前身)的一些偏硬件接入的工作.但是同时也见证了阿里云物联网团队从几十人到数百人的迅速扩张,其物联网平台所承载的内容也急速膨胀,物联网开发套件基础版.飞凤.Link Develop一站式开发平台.物联网开发平台高级版.飞燕.飞象.城市大脑.农业大脑和工业互联平台不一而足……,很难有精力真正熟悉和了解阿里云的每一款物联网产品. 这次有幸成为物联网平

互联网医疗是座大金矿,宠物医疗也如此

过去,走遍中国各个城市的大街小巷,我们很少能够看到谁家在养宠物,用一句不太好听的话来形容,过去连饭都吃不跑,哪有余粮来喂猫狗.但是今天却不一样了,随着人们收入水平的不断提升.城市人际关系逐渐趋于淡化.工作压力增长等诸多原因,越来越多的家庭都开始养宠物,甚至有个别人对待宠物比对待自己的儿女都用心. 根据统计数据显示全国养宠人群已经突破了1亿,很多家庭每年在宠物身上的开支消费超过3000元以上,甚至少数家庭的宠物开支达到了万元以上,而且这股势头还在不断往上攀升. 前瞻产业研究院发布的<宠物O2O市场

Step01-题目申报

毕业设计题目申报表 姓名:  王刚 学号:  201303041029 题目名称: 通用型云端物联网网关系统的设计与实现 毕业设计(论文)简介: 2017是物联网进入加速发展或成为最贴近普通民众的实用性产物之一,随着物联网加速的发展,物联网的标准型也成为了物联网发展的核心瓶颈,尤其是在物联网网关的设计上和物联网数据的存储上,此次系统的设计,使用了树莓派作为物联网的网关核心设备,树莓派作为价格低廉,性能高效的计算机设备,具有普通计算机所拥有的功能,我们通过在树莓派上的开发,将其作为核心网关,负责物

J2SE Base-3

面向对象 对象和类  职员类: 职员A 职员B....      类之间关系     关联关系 :关联关系 (弱)     继承关系:xx是一种xx (树)      运动员       球类运动员        足球运动员     聚合关系: xx是xx一部分(整体和部分)      聚集  球队=队长+队员         组合  person = body +head     实现关系:      照顾宠物 <<interface>>   多态:      print jav

&quot;亿家App&quot;问卷调查分析结果及心得体会

一.问卷问题设计 调查背景:随着现代社会互联网的发展,基于家庭产生的服务项目也越来越多.为增加家庭之间的交流和互助,增加家庭内部.家庭与家庭之间的沟通互助,并利用互联网便捷交流的优势,使家庭在享受服务的同时,也能够提供自己的服务.为了解社会不同人群对于此种App的服务接受程度.真实需求.意见.建议等,特此设计此调查问卷. 从问卷问题要成为需求引导的功能出发,从我们的主要会使用人群.家庭结构.邻里之间信任关系.会不会互相帮助.围绕家庭生活产生的二手闲置物品处理以及一般处理方法.接受处理范围方式.是

微信朋友圈卖东西为何这么火热

京东上市了,虽然没有预期的求婚八卦,不过还是赚足了关注;唯品会上市了,创始人的光环.争议的.励志的话题,也赚足了公众目光.一时间,在美国上市的中国互联网企业市值前四位里,有两家“电商”(数据基于2014.05.29收盘),再加上还没有上市的阿里巴巴,“电商”俨然成为中国互联网的支柱. 不过,从另一个角度观察,会发现一些有趣的事情:“电商”这个词本来是“电子商务”的简称.电子商务是一个很广泛的概念 -- 综合的学科,宽面的知识,大学专门设置专业.但“电商”全然不同,大家更多的是特指的是:网络购物.

解密云原生---看企业云的未来

引语:云原生是一个不断丰富的理念和技术体系,它在基础架构.应用程序和管理上都将深刻的影响和改变企业云的未来! 共享.敏捷和创新是互联网时代下企业信息化建设最大的转变.近几年企业云的发展也进入到了一个纵深阶段,是兼顾新老不同应用还是基于新的架构平台重建下一代应用,是我们必须要思考的课题.对于大部分的企业来说,IT是有历史包袱的.因为原来的IT应用部署模式,都是竖井式的,不同的应用都由不同的软件开发商提供的,系统之间还有网络安全隔离,各系统间还有协同关系,网络.应用拓扑很复杂.企业IT上云是一个系统

深入解读云计算的十年发展历程

引言:人生不会有太多的十年,但仅仅一个十年也可以成就很多事情.云计算从诞生到现在走过了十年,在不知不觉间改变了我们的生活. 一.云的十年发展 人生不会有太多的十年,但仅仅一个十年也可以成就很多事情.云计算从诞生到现在走过了十年,在不知不觉间改变了我们的生活. 从传统的IT时代到互联网+,到今年两会提出的智能+,再次告诉我们科学技术是第一生产力,而创新则是引领发展的第一动力.从传统的PC互联到人人互联再到未来的万物互联,我们的经济发展越来越快也越来越复杂,这迫切需要我们的信息系统响应能力也越来越快

虚拟化与编排

虚拟机 ‘虚拟机在某些特定的硬件和内核虚拟化组成,运行客户端操作系统,称为管理程序的软件创建虚拟化硬件,其可以包括虚拟磁盘,虚拟网络接口,虚拟CPU等,虚拟机还包括可以与此虚拟硬件通信的宾客内核.管理程序可以托管,这意味着它是一些在主机操作系统(MacOS)上运行的软件,如示例中所示.它也可以是裸机,直接在机器硬件上运行(替换你的操作系统).无论哪种方式,管理程序方法都被认为是重量级的,因为它需要虚拟化多个部分(如果不是全部硬件和内核). VM 需要硬件虚拟化才能实现机器级隔离,而容器则只需要在