开发实验版区

今日:0  |  文章:27
树莓派开发实验DIY教程分享
渐行渐远
4048
您需要登录并回复后才可以查看该文章内容
5   2020-06-02 15:31:46
渐行渐远
3119
树莓派使用DS1302实现实时时钟功能 树莓派传感器,软件代码,DIY硬件
您需要登录并回复后才可以查看该文章内容
12   2020-07-07 09:53:24
渐行渐远
653
您的阅读权限太低或您的用户组不被允许
2   2020-06-16 10:44:33
小哥哥
5265
98K
 59
精华 树莓派用土壤湿度传感器浇花提醒 树莓派,DIY硬件,智能家居
您需要登录并回复后才可以查看该文章内容
15   2020-06-16 10:34:46
蓝天白云
5439
 61
树莓派使用声音传感器控制灯亮和熄灭 树莓派传感器,DIY硬件,智能家居
您需要登录并回复后才可以查看该文章内容
12   2020-06-06 02:47:04
渐行渐远
5365
精华 树莓派安装Apache/数据库/PHP 打造Web服务器博客 树莓派,软件代码,raspberrypi,软件,系统配置
您需要登录并回复后才可以查看该文章内容
6   2020-04-17 21:35:06
一剑穿心
771
推荐40本树莓派书籍,深度学习 树莓派,树莓派传感器,机器人,软件代码,DIY硬件,raspberrypi,智能家居,物联网
您的阅读权限太低或您的用户组不被允许
0   2020-04-16 23:54:32
神乐先生
4810
》》》》》》》》》》》》》》》文章来源于:科技爱好者博客http://blog.lxx1.com/一直在树莓派上安装Pi-hole当作DNS服务器来使用,最近发现了 OpenWrt 这一项目,可以把树莓派变成一个超级路由器,可以安装上千的插件,实现非常多的功能,例如将树莓派变成无线路由器,实现Nas 、网站服务器、远程监控甚至智能家居,同时还可以让所有设备快速上网(你懂的),同时它又基于Linux系统,可以在做路由器的同时当作一个服务器来使用,扩展性非常强。本文教大家如何在树莓派上安装 OpenWrt 打造超级路由器。OpenWrt官方介绍:OpenWrt项目是针对嵌入式设备的Linux操作系统。OpenWrt不是一个单一且不可更改的固件,而是提供了一个完全可写的文件系统及软件包管理。这使您可以不使用供应商提供的应用程序选择和配置,而是通过使用软件包来定制设备以适应任何应用程序。对于开发人员来说,OpenWrt是一个构建应用程序的框架,无需在其周围构建完整的固件; 对于普通用户来说,这意味着拥有了完全定制的能力,能以意想不到的方式使用该设备。OpenWrt/LEDE是一个为嵌入式设备(通常是无线路由器)开发的高扩展度的GNU/Linux发行版。与许多其他路由器的发行版不同,OpenWrt/LEDE是一个完全为嵌入式设备构建的功能全面、易于修改的由现代Linux内核驱动的操作系统。在实践中,这意味着您可以得到您需要的所有功能,却仍能避免臃肿。〇、设备信息所用到的设备:Raspberry Pi 2B(这里采用的是比较低功耗的2代版本,当然不止限制于这个版本,其他的树莓派型号也可以用来使用)无线网卡: EDUP EP-N8508GS成品就是这货,树莓派无线路由器:一、安装 OpenWrt(一)支持的设备OpenWrt 支持的设备比较多,可以从 OpenWrt 支持的设备列表查看,同时要求设备内至少大于4M,在内存小于4M或内存小于32M的设备在可用性、扩展性及操作的稳定性上将有所局限。从 OpenWrt 支持的设备列表来看,各版本的树莓派都可以安装最新版本的OpenWrt,截止到2018年10月14日,最新版本是 18.06.1 。OpenWrt 支持的树莓派版本Raspberry Pi 2B18.06.1raspberry_piView/Edit dataRaspberry Pi 3B18.06.1raspberry_piView/Edit dataRaspberry Pi 3B+18.06.1raspberry_piView/Edit dataRaspberry PiA18.06.1raspberry_piView/Edit dataRaspberry PiB18.06.1raspberry_piView/Edit dataRaspberry PiB+18.06.1raspberry_piView/Edit dataRaspberry Pi Zero W18.06.1raspberry_piView/Edit data(二)下载 OpenWrt 镜像在设备上面的表格中选择自己的树莓派型号,点击 View/Edit data ,然后进入 详情页面,选择“ Firmware OpenWrt Install URL ”,这个就是要下载的镜像,我们把它保存到本地。树莓派2的下载下载地址:http://downloads.openwrt.org/releases/18.06.1/targets/brcm2708/bcm2709/openwrt-18.06.1-brcm2708-bcm2709-rpi-2-ext4-factory.img.gz国内中科大的镜像地址: http://mirrors.ustc.edu.cn/lede/releases/18.06.1/targets/brcm2708/bcm2709/openwrt-18.06.1-brcm2708-bcm2709-rpi-2-ext4-factory.img.gz从科技爱好者博客的CDN下载:http://cdn.lxx1.com/openwrt-18.06.1-brcm2708-bcm2709-rpi-2-ext4-factory.img.gz(三)烧录镜像将 OpenWrt 镜像烧录到树莓派中,windows下可以使用 Etcher 软件烧录。同样 OpenWrt 镜像支持树莓派从U盘启动,详见U盘安装树莓派系统,利用U盘启动Raspberry。(四)启动树莓派这样 OpenWrt 就已经在树莓派上运行起来了。二、树莓派上的 OpenWrt 配置我打算将树莓派连接到已经在家中工作的无线路由器上,计划用树莓派自带的网卡通过网线连接到家中的路由器,用树莓派的无线网卡发射WIFI,然后其他设备通过树莓派的无线接入。以下是我的树莓派无线路由器配置过程。(一)登陆 OpenWrt用网线将树莓派和电脑相连接,然后在浏览器中输入192.168.1.1,即可打开登陆页面。OpenWrt 登陆页面自己设置一个密码,点击login登陆(二)配置 OpenWrt 联网下一步就是要配置树莓派OpenWrt的网络连接设置,使得 树莓派OpenWrt 连接到互联网,选择 network/Interfaces 选项卡。1.新建 WAN 口这里新建WAN口的原因是 Wide Area Network代表广域网,即路由器上接到互联网中的网口称为WAN口,为了方便使用新建了这个WAN 口,其实不新建直接在LAN口中配置也行,只是不符合规范。点击 “Add new Interface”点击 “Add new Interface”2.在“ Name of the new interface”中输入WAN,其他保持不动,点击”submit”(提交)3.配置WAN口。配置WAN口为静态IP地址,因为我家中的路由器IP地址是192.168.0.1,掩码为255.255.255.255.0,故我的WAN 口配置成IP为 192.168.0.3, 掩码同样为255.255.255.255.0 ,DNS地址手动填写即可。如下图所示。树莓派OpenWrt WAN口配置这里要注意的是,配置完成后,OpenWrt会验证接口配置中的IP是否能获取到,如果在点击保存后的30S内,该接口没有获取拿到预期的IP地址,则OpenWrt会取消这项配置,所以在要保证点击配置后,立即将树莓派和家中的路由器用网线连接起来,然后连接家中路由器上,访问http://192.168.0.3/,如果成功打开OpenWrt配置页面,则说明配置成功了,如果不行的话,将树莓派重新连接到电脑中,在30结束后选择强制保存。4.将树莓派连接到家中的路由器上。WAN口成功配置后,将树莓派与家中的路由器相连接,同时电脑也连接到家中的路由器,打开页面http://192.168.0.3/,就可以看到树莓派OpenWrt的配置页面了这样树莓派 OpenWrt就已经成功连接到互联网了。下面继续配置无线路由。三、配置树莓派 OpenWrt 无线路由功能(一)安装无线驱动1.进入OpenWrt的“system/Software”选项卡,选择“Configuration”进入OpenWrt的“system/Software”选项卡,选择“Configuration”2.更换镜像源将“Distribution feeds”中的源全部换成中科大的 OpenWrt 镜像源,加快更新及安装软件的速度,否则会有错误。这里再次感谢中科大的 OpenWrt 镜像源,速度快了很多,好像只有他才有OpenWrt 镜像源。全部换成如下:src/gz openwrt_core http://mirrors.ustc.edu.cn/lede/releases/18.06.1/targets/brcm2708/bcm2709/packages src/gz openwrt_base http://mirrors.ustc.edu.cn/lede/releases/18.06.1/packages/arm_cortex-a7_neon-vfpv4/base src/gz openwrt_luci http://mirrors.ustc.edu.cn/lede/releases/18.06.1/packages/arm_cortex-a7_neon-vfpv4/lucisrc/gz openwrt_packages http://mirrors.ustc.edu.cn/lede/releases/18.06.1/packages/arm_cortex-a7_neon-vfpv4/packages src/gz openwrt_routing http://mirrors.ustc.edu.cn/lede/releases/18.06.1/packages/arm_cortex-a7_neon-vfpv4/routing src/gz openwrt_telephony http://mirrors.ustc.edu.cn/lede/releases/18.06.1/packages/arm_cortex-a7_neon-vfpv4/telephony更换 OpenWrt 镜像源3.更新OpenWrt软件包点击“Update List”更新OpenWrt软件包4.安装无线驱动我的树莓派USB网卡是 EDUP EP-N8508GS 的,亲测其支持的驱动是 kmod-rtl8192cu ,然后再安装无线工具 wireless-tools ,完成后重启树莓派。5、重启重启树莓派后就能看到“NetWorks/Wireless”选项了,点击“Enable”就可以启用无线了,这时手机上就可以搜到名为OpenaWrt的无线了,连上之后就可以上网了。树莓派 成为OpenaWrt无线路由器手机连接OpenWrt即可上网了6.无线配置点击“Edit”即可配置OpenWrt无线路由器,包括设置无线的名称、密码、是否隐藏、MAC地址过滤等等。终于完成了!四、相关故障及解决办法OpenWrt的绝大部分故障都是由于源速度太慢导致的错误,这是由于众所周知的原因,我们可以通过更换中科大的镜像源来解决,有能力的还可以搭建反代来解决。以下是常见的故障(一)更新中提示 “Could not lock /var/lock/opkg.lock”opkg_conf_load: Could not lock /var/lock/opkg.lock: Resource temporarily unavailable.解决办法:rm -f /var/lock/opkg.lockopkg update (二)更新速度慢或者有以下提示Failed to establish connection Collected errors: * opkg_download: Failed to download http://downloads.openwrt.org/releases/18.06.1/targets/brcm2708/bcm2709/packages/Packages.gz, wget returned 4. * opkg_download: Check your network settings and connectivity. * opkg_download: Failed to download http://downloads.openwrt.org/releases/18.06.1/packages/arm_cortex-a7_neon-vfpv4/base/Packages.gz, wget returned 4. * opkg_download: Check your network settings and connectivity. * opkg_download: Failed to download http://downloads.openwrt.org/releases/18.06.1/packages/arm_cortex-a7_neon-vfpv4/luci/Packages.gz, wget returned 4. * opkg_download: Check your network settings and connectivity. 这是由于源站速度太慢造成的解决办法:用中科大的镜像替换,将源地址更换为以下地址:src/gz openwrt_core http://mirrors.ustc.edu.cn/lede/releases/18.06.1/targets/brcm2708/bcm2709/packages src/gz openwrt_base http://mirrors.ustc.edu.cn/lede/releases/18.06.1/packages/arm_cortex-a7_neon-vfpv4/base src/gz openwrt_luci http://mirrors.ustc.edu.cn/lede/releases/18.06.1/packages/arm_cortex-a7_neon-vfpv4/luci src/gz openwrt_packages http://mirrors.ustc.edu.cn/lede/releases/18.06.1/packages/arm_cortex-a7_neon-vfpv4/packages src/gz openwrt_routing http://mirrors.ustc.edu.cn/lede/releases/18.06.1/packages/arm_cortex-a7_neon-vfpv4/routing src/gz openwrt_telephony http://mirrors.ustc.edu.cn/lede/releases/18.06.1/packages/arm_cortex-a7_neon-vfpv4/telephon
5   2020-03-07 14:05:32
funkiey
1238
 0
RT,最近想要深入了解linux内核,准备使用树莓派来进行内核启动调试,以及后续应用程序开发,想请问下有没有之前有过经验的道友,指个迷津
2   2019-09-04 18:42:26
超级版主
1900
使用资料下载
2   2019-07-29 17:18:23
山盟海誓
775
您的阅读权限太低或您的用户组不被允许
10   2019-07-28 22:27:16
大大的派
3345
你会做什么学习在您的Raspberry Pi上设置LAMP(Linux,Apache,MySQL,PHP)堆栈,并将其配置为Web服务器。您将下载并安装WordPress并设置一个基本网站,您可以在与Pi相同的网络上的任何设备上访问该网站。你会学到什么通过跟踪此资源并设置Web服务器和WordPress网站,您将学习:如何在您的Raspberry Pi上安装软件如何安装和配置Apache,PHP和MySQL来创建一个LAMP Web服务器如何下载WordPress并将其作为您的Raspberry Pi上的本地网站运行如何配置WordPress并使您的网站可以访问本地网络上的其他设备你会需要什么一台树莓派计算机使用WordPress构建LAMP Web服务器学习在您的Raspberry Pi上设置LAMP(Linux,Apache,MySQL,PHP)堆栈,并将其配置为Web服务器。您将下载并安装WordPress并设置一个基本网站,您可以在与Pi相同的网络上的任何设备上访问该网站。设置Apache Web服务器Apache是​​一种受欢迎的Web服务器应用程序,您可以在Raspberry Pi上安装它,以使其能够提供网页。自己,Apache可以通过HTTP提供HTML文件,其他模块可以使用PHP等脚本语言来提供动态网页。安装Apache首先apache2通过在终端中键入以下命令来安装软件包:sudo apt-get install apache2 -y 测试Web服务器默认情况下,Apache将测试HTML文件放在Web文件夹中。当您从网络上的另一台计算机浏览http://localhost/Pi本身或http://192.168.1.10(无论Pi的IP地址)浏览时,将提供此默认网页。要查找Pi的IP地址,hostname -I请在我们的文档中键入命令行(或阅读更多关于找到您的IP地址)。浏览到默认网页,无论是在Pi上还是从网络上的其他计算机,您应该看到以下内容:这意味着你有Apache工作!更改默认网页此默认网页只是文件系统上的一个HTML文件。它位于/var/www/html/index.html。注意:在Raspbian Wheezy上目录为/var/www,但现在Raspbian Jessie上目录为/var/www/html。导航到终端中的此目录,并查看内容:cd /var/www/html ls -al bashCopy这将告诉你:total 12 drwxr-xr-x 2 root root 4096 Jan 8 01:29 . drwxr-xr-x 3 root root 4096 Jan 8 01:28 .. -rw-r--r-- 1 root root 177 Jan 8 01:29 index.htmlbashCopy这表明有一个文件/var/www/html/被调用index.html。该.指目录本身/var/www/html和..指父目录/www/。列是什么意思文件或目录的权限目录中的文件数(或者1是文件)。拥有该文件或目录的用户拥有文件或目录的组文件大小最后修改日期和时间如您所见,默认情况下,html目录和index.html文件均由root用户拥有,因此您需要使用sudo它们进行编辑。尝试编辑此文件并刷新浏览器以查看网页更改。按下Ctrl + X并Enter保存并退出。安装PHPPHP是一个预处理器; 它是当服务器收到网页请求时运行的代码。它运行,解决了页面上需要显示的内容,然后将该页面发送到浏览器。与静态HTML不同,PHP可以在不同的情况下显示不同的内容。其他语言能够实现这一点,但由于WordPress是用PHP编写的,所以我们需要使用这个时间。PHP是网络上非常流行的语言; 像Facebook和维基百科这样的大型项目是用PHP编写的。使用以下命令安装PHP和Apache包:sudo apt-get install php5 libapache2-mod-php5 -y bashCopy测试PHP创建文件index.php:sudo leafpad index.php bashCopy(或使用nano)在其中放入一些PHP内容:<?php echo “ hello world ” ; ?> phpCopy现在保存文件。接下来删除index.html因为它需要超过index.php的优先级:sudo rm index.html bashCopy刷新浏览器 你应该看到“你好世界”。这不是动态的,但它仍然由PHP提供。如果您看到原始PHP,而不是“hello world”,请重新加载并重新启动Apache,如下所示:sudo service apache2 restartbashCopy否则尝试一些动态的,例如:<?php echo date(' Ymd H:i:s '); ?> phpCopy或显示您的PHP信息:<?php phpinfo(); ?>phpCopy安装MySQLMySQL(发音为My Sequel或My SQL)是一个受欢迎的数据库引擎。像PHP一样,其在网络服务器上的压倒性影响力增强了其受欢迎程度。这就是WordPress这样的项目使用它,为什么这些项目如此受欢迎。通过在终端中输入以下命令来安装MySQL Server和PHP-MySQL软件包:sudo apt-get install mysql-server php5-mysql -y bashCopy安装MySQL时,将要求您输入root密码。您需要记住这一点,才能让您的网站访问数据库。现在重新启动Apache:sudo service apache2 restartbashCopy下载WordPress您可以使用该命令从wordpress.org下载WordPress wget。有趣的是,WordPress的最新版本的副本始终可以在wordpress.org/latest.tar.gz和wordpress.org/latest.zip上获得,所以您可以获取最新版本,而无需在网站上查找。在撰写本文时,这是版本4.5。浏览到/var/www/html/并将WordPress下载到此位置。您需要首先清空文件夹(请务必检查您是否在运行前不要删除所需的文件rm); 将此文件夹的所有权更改为pi用户。cd /var/www/html/ sudo rm * sudo wget http://wordpress.org/latest.tar.gzbashCopy现在解压缩tarball,将其提取的文件夹的内容移动wordpress到当前目录,并删除(现在为空)文件夹和tarball以整理:sudo tar xzf latest.tar.gz sudo mv wordpress/* . sudo rm -rf wordpress latest.tar.gzbashCopy在这里运行lsor(tree -L 1)命令会显示一个WordPress项目的内容:. ├── index.php ├── license.txt ├── readme.html ├── wp-activate.php ├── wp-admin ├── wp-blog-header.php ├── wp-comments-post.php ├── wp-config-sample.php ├── wp-content ├── wp-cron.php ├── wp-includes ├── wp-links-opml.php ├── wp-load.php ├── wp-login.php ├── wp-mail.php ├── wp-settings.php ├── wp-signup.php ├── wp-trackback.php └── xmlrpc.phpbashCopy这是默认WordPress安装的源。您编辑以自定义您的安装的wp-content文件属于该文件夹。您现在应该将这些文件的所有权更改为Apache用户:sudo chown -R www-data: .bashCopy设置您的WordPress数据库为了让您的WordPress网站设置,您需要一个数据库。mysql在终端中运行命令并提供您的登录凭据(例如用户名root,密码password):mysql -uroot -ppasswordbashCopy这里我password在命令行上提供了我的密码(这个词)-p您的密码之间没有空格。或者,您只需提供一个空-p标志,等待被要求输入密码:mysql -uroot -pbashCopy现在,系统将提示您输入您之前创建的root用户密码。一旦连接到MySQL,您可以创建WordPress安装将使用的数据库:mysql> create database wordpress; bashCopy注意结尾语句的分号。成功后,您应该看到以下消息:Query OK, 1 row affected (0.00 sec) bashCopy退出MySQL提示符Ctrl + D。WordPress配置您需要找到您的Pi的IP地址才能在浏览器中访问它,因此在终端中键入命令hostname -I。导航到http://YOUR-IP-ADDRESS例如http://192.168.1.5在您的网络浏览器。你应该看到一个WordPress weclome页面。点击Let's go!按钮。现在填写以下基本网站信息:Database Name: wordpress User Name: root Password: <YOUR PASSWORD> Database Host: localhost Table Prefix: wp_ bashCopy并单击Submit继续。现在点击Run the install按钮。现在你越来越近了填写信息:给您的网站一个标题,创建用户名和密码并输入您的电子邮件地址。按下Install WordPress按钮,然后使用刚创建的帐户登录。现在,您已经登录并设置了您的网站,您可以通过在Pi或网络上的另一台计算机上的浏览器中访问您的IP地址来查看该网站。要重新登录(或另一台计算机),请转到http://YOUR-IP-ADDRESS/wp-admin。友情链接建议您更改永久链接设置,使您的网址更加友好。为此,请登录到WordPress并转到仪表板。转到Settings然后Permalinks。选择该Post name选项并单击Save Changes。您需要启用Apache的rewritemod:sudo a2enmod rewrite您还需要告知提供站点的虚拟主机,以允许覆盖请求。编辑虚拟主机的Apache配置文件:sudo leafpad /etc/apache2/sites-available/000-default.conf bashCopy(或使用nano)在第1行之后添加以下行:<Directory "/var/www/html"> AllowOverride All </Directory> 确保它是<VirtualHost *:80>这样的:<VirtualHost *:80> <Directory "/var/www/html"> AllowOverride All </Directory> ... 然后再次重新启动Apache:sudo service apache2 restart定制WordPress是非常可定制的。通过在页面顶部的WordPress横幅中单击您的网站名称(登录时),您将被带到仪表板。从这里您可以更改主题,添加页面和帖子,编辑菜单,添加插件和更多。这只是在Raspberry Pi的Web服务器上设置一些有趣的东西。 本文翻译自:https://projects.raspberrypi.org/en/projects/lamp-web-server-with-wordpress
5   2019-06-23 21:28:40
飞翔的猪
704
 1
Python+树莓派 制作IoT(物联网)门控设备 树莓派传感器,DIY硬件,智能家居,物联网
您的阅读权限太低或您的用户组不被允许
2   2019-05-17 10:29:47
一剑穿心
2377
所用到的配件 部分展示安装开始:1. 将两个U型横梁如图固定好。2.将多功能支架如图固定在横梁上方,注意方向,方向错了下面固定舵机以及其他配件会很麻烦哦。3.将舵机装好舵盘,再安装在多功能支架上,注意舵机的方向(下面每个舵机都要先安装好舵盘,后面就很方便了,由于舵机都是180度的,安装之前先将舵机旋转到合适的方向)。4.再将一个多功能支架安装在舵机上。5.在多功能支架左边中间的安装孔插入M3*10的长螺丝以便安装轴承。6如图将U型支架安装好,装好轴承拧上螺母。7.在U型支架上继续安装一个U型支架。8.将一个U型支架和一个L型支架,如图安装好。9.再安装一个多功能支架,注意安装方向哦。10在多功能支架的右边中间的安装孔中插入M3*10的长螺丝以便安装轴承。11.如图将安装好的支架装在之前装好的机械手上,并装好轴承,拧上螺母。如图将安装好的支架装在之前装好的机械手上,并装好轴承,拧上螺母。如图将两个多功能支架固定好,注意方向。在上方的多功能支架上装好舵机,要注意舵机的方向,并在下面的多功能支架右边的中间安装孔中插入M3*10的长螺丝,以便安装轴承。如图将下面的舵机也安装好,注意舵机的方向,螺丝使用M3*6的短螺丝。将上面装好的舵机安装在之前的机械手上,并装好轴承,装上螺母。将舵盘如图装在机械爪子上,拧上M3*6的螺丝(必须是短螺丝哦)。
2   2019-04-14 16:24:26
你瞅啥?
59
精华 树莓派使用python 控制HC-SR04超声波 测距教程 有图 树莓派,树莓派传感器,DIY硬件
一:HC-SR04 管脚介绍VCC:超声波模块电源脚,接5V电源即可Trig:超声波发送脚,高电平时发送出40KHZ出超声波Echo:超声波接收检测脚,当接收到返回的超声波时,输出高电平GND:超声波模块GND二:树莓派管脚介绍第2只脚为5V,给超声波模块供电第39只脚为GND,与超声波模块共地第1、3只脚分别为GPIO2和GPIO3,分别作发送和接收用,分别于Trig和Echo相连接。效果图如下:三:编写python脚本cd /home/pi/testnano hc_sr04测试代码如下:#! /usr/bin/python # -*- coding:utf-8 -*- import RPi.GPIO as GPIO import time def checkdist(): #发出触发信号 GPIO.output(2,GPIO.HIGH) #保持10us以上(我选择15us) time.sleep(0.000015) GPIO.output(2,GPIO.LOW) while not GPIO.input(3): pass #发现高电平时开时计时 t1 = time.time() while GPIO.input(3): pass #高电平结束停止计时 t2 = time.time() #返回距离,单位为米 return (t2-t1)*340/2 GPIO.setmode(GPIO.BCM) #第3号针,GPIO2 GPIO.setup(2,GPIO.OUT,initial=GPIO.LOW) #第5号针,GPIO3 GPIO.setup(3,GPIO.IN) time.sleep(2) try: while True: print 'Distance: %0.2f m' %checkdist() time.sleep(0.5) except KeyboardInterrupt: GPIO.cleanup()注意缩进,截图:用ctrl +o 保存回车ctrl +x 退出运行python hc_sr04执行效果如下:ctrl+c退出整体来说精度还是不错的。
4   2019-02-19 23:02:35
你瞅啥?
477
用树莓派连接并控制WS2801灯带 树莓派3B+,树莓派,树莓派传感器,DIY硬件
您的阅读权限太低或您的用户组不被允许
5   2019-01-18 16:33:18
你瞅啥?
669
您的阅读权限太低或您的用户组不被允许
0   2019-01-18 16:33:08
jinnuo123456
4596
利用树莓派的RPI.GPIO软件实现PWM通过GPIO接口软件PWM控制直流电机,控制舵机有诸多问题,舵机控制信号极不稳定,抖动是一个让人恶心的问题。还好github开源社区提供了舵机控制神器Servoblaster,通过它我们可以用最方便的方式来控制舵机。树莓派3B+ 安装Servoblaster1、安装Gitsudo apt-get install git2、使用Git从开源社区获取文件git clone git://github.com/richardghirst/PiBits.git3、cd到user文件夹cd PiBits/ServoBlaster cd user/4、安装makesudo make servod5、启动servod库sudo ./servod安装完成后,检查/dev/servoblaster 目录是否存在,存在则安装成功。6、Servoblaster测试,这里用到的GPIO接口是18,物理接口是12输入命令测试:echo 2=100 > /dev/servoblaster或者echo P1-12=100 > /dev/servoblaster #这是另一种命令形式,效果和上面的命令相同,只是更直观.可以看到舵机旋转了100度(度这个说法不太恰当,暂且都用度吧,具体原因请见下文),假设我们需要舵机旋转150度,则:echo 2=150 > /dev/servobblaster。命令行中,“echo”为输出命令;“2”可以理解为对应引脚需要,从上图中可以看出Servoblaster常规情况下可控制“0-7”的引脚,也就是8台舵机。如果需要更精确的控制,你还可以通过“+”或“-”前缀对当前位置进行调整。例如,想让舵机在当前位置增加10度,可以这样做:echo P1-12=+10 > /dev/servoblaster减少10度,可以这样:echo P1-12=-10 > /dev/servoblaster参考:其它命令形式:echo 0=150 > /dev/servoblaster # 指定步数式; echo 0=50% > /dev/servoblaster # 指定百分比式; echo 0=1500us > /dev/servoblaster # 指定为微秒式; echo P1-7=150 > /dev/servoblaster # 使用针脚式.7、解决舵机的抖动问题命令执行后,就可以看到舵机转动了,但转到指定角度后让人恶心的抖动依然会存在,这是因为servoblaster会一直不停的给舵机发送信号,所以舵机即使到达了指定角度后也会抖动,这时我们可以通过$ ./servod --idle-timeout 2这个命令的目的是设置servoblaster停止发送给脉冲的时间,单位是毫秒,这样舵机抖动的问题可以得到有效扼制。设置的时间如果过短,会导致转动角度不够,最好的方法就是动态尝试设置最佳值。8、检查servoblaster的运行状态当我们不知道servoblaster是否仍在后台运行时,可以在命令提示符下通过 “ ps ax ” 命令来检查。如果你想要终止servod,最简单的方法是:$ sudo killall servod舵机角度与脉冲宽度上面我们提到servoblaster输出 “echo 2=100 > /dev/servoblaster ” 命令来控制舵机角度,那”100″这个值真实的含义是什么呢?在servoblaster中默认步长是10us,”100″这个输入值表示舵机脉冲宽度是1000us,即 1ms,这就是如何控制舵机角度的本质,控制舵机角度实际上就是通过调整控制信号的脉冲宽度实现对转动角度的控制。需要注意,在servoblaster中,舵机的位置和脉冲宽度调整都是默认四舍五入到最接近的步长,默认步长是10us。所以,如果你不断地发出“2=+1 us”类似的命令,因为”1 us”小于默认步长,舵机是不会移动的;如发送“2=-19”和发送“2=-10”的效果一样。所以,前面提到的度这个提法不准确,准确的提法应该是脉冲宽度或步长。如何在Python代码中引入Servoblaster在Python中使用Servoblaster需要引入subprocess库,如果没有安装subprocess库,可以在CMD命令行执行“pip install subprocess”命令进行安装。import subprocess subprocess.call("echo 2=100 > /dev/servoblaster", shell=True)我们可以参照上图中的最小或最大值对代码输入值进行替换,看看效果。也许就能写出一个很棒的Servoblaster控制舵机脚本。
6   2019-01-10 15:27:47
jinnuo123456
2269
树莓派 相比 Arduino 主板,他提供了以太网接口,你也可以通过使用廉价的USB WiFi模块来实现无线网络,另外因为树莓派基于Linux操作系统,在网络应用项目编程方面更易于实现。下面咱们试试使用Python来实现网络功能。我们将树莓派作为客户端来访问服务器,建立链接。首先我们来安装 Requests 这个Python库,Requests库提供了通过HTTP向Web服务器发送请求的功能。安装完毕后,我们导入模块测试是否安装成功:root@raspberrypi:/home/pi# apt-get install python-requestsroot@raspberrypi:/home/pi# pythonPython 2.7.3 (default, Jan 13 2013, 11:20:46) [GCC 4.6.3] on linux2Type "help", "copyright", "credits" or "license" for more information.>>> import requests>>> 然后我们尝试和 www.dfrobot.com 网站建立链接:>>> r = requests.get('http://www.dfrobot.com/')>>> r.status_code200>>>获得的所有数据已经保存在r对象中,r.status_code 是请求的返回码,200代表 正常你也可以察看服务器返回的内容:>>> r.text将会得到一大串文本,这是 www.dfrobot.com 网站首页的HTML代码。接下来我们访问中央气象局的网站获得当地的气象信息。首先需要查询本地的代码:获取省份代码http://m.weather.com.cn/data5/city.xmlXML 解析错误:语法错误位置:http://m.weather.com.cn/data5/city.xml行 1,列 1:01|北京,02|上海,03|天津,04|重庆,05|黑龙江,06|吉林,07|辽宁,08|内蒙古,09|河北,10|山西,11|陕西,12|山东,13|新疆,14|西藏,15|青海,16|甘肃,17|宁夏,18|河南,19|江苏,20|湖北,21|浙江,22|安徽,23|福建,24|江西,25|湖南,26|贵州,27|四川,28|广东,29|云南,30|广西,31|海南,32|香港,33|澳门,34|台湾^四川的省代码为27将27加入网址访问,获取城市列表http://m.weather.com.cn/data5/city27.xmlXML 解析错误:语法错误位置:http://m.weather.com.cn/data5/city27.xml行 1,列 1:2701|成都,2702|攀枝花,2703|自贡,2704|绵阳,2705|南充,2706|达州,2707|遂宁,2708|广安,2709|巴中,2710|泸州,2711|宜宾,2712|内江,2713|资阳,2714|乐山,2715|眉山,2716|凉山,2717|雅安,2718|甘孜,2719|阿坝,2720|德阳,2721|广元^成都的代码是2701,接着我们查询成都市的 地区代码:http://m.weather.com.cn/data5/city2701.xmlXML 解析错误:语法错误位置:http://m.weather.com.cn/data5/city2701.xml行 1,列 1:270101|成都,270102|龙泉驿,270103|新都,270104|温江,270105|金堂,270106|双流,270107|郫县,270108|大邑,270109|蒲江,270110|新津,270111|都江堰,270112|彭州,270113|邛崃,270114|崇州,270115|青白江^温江区代码为270104,输入以下连接查询:http://m.weather.com.cn/data5/city270104.xmlXML 解析错误:语法错误位置:http://m.weather.com.cn/data5/city270104.xml行 1,列 1:270104|101270104^在这里查询到四川省成都市温江区的地区代码 101270104将代码加入到天气查询里面,输入以下3个网址的任意一个得到不同的天气JSON格式的信息。http://www.weather.com.cn/data/sk/101270104.htmlhttp://www.weather.com.cn/data/cityinfo/101270104.html http://m.weather.com.cn/data/101270104.htmlhttp://www.weather.com.cn/data/sk/101270104.html   这个网址的返回数据格式为:{"weatherinfo":{"city":"温江","cityid":"101270104","temp":"24","WD":"西南风","WS":"2级","SD":"77%","WSE":"2","time":"11:45","isRadar":"0","Radar":""}}写一段Python代码,保存文件名为DisplayWeatherInformation.py    实现将气象数据读取出来并打印出来:import requestsApiUrl = \    "http://www.weather.com.cn/data/sk/101270104.html"r = requests.get(ApiUrl)weatherinfo = r.jsonprint "City: " + weatherinfo["weatherinfo"]["city"]print "Temperature: " + weatherinfo["weatherinfo"]["temp"]print "Winds from the: " + weatherinfo["weatherinfo"]["WD"] + weatherinfo["weat$print "Humidity: " + weatherinfo["weatherinfo"]["SD"]print "Time: " + weatherinfo["weatherinfo"]["time"]运行  DisplayWeatherInformation.py   打印出本地当前的天气:root@raspberrypi:/home/pi# python DisplayWeatherInformation.py City: 温江Temperature: 26Winds from the: 南风2级Humidity: 69%Time: 15:45接下来你就可以使用抓取到的这些数据干一些事情了,例如通过天气数据,让树莓派自动播放穿衣的提醒。
6   2019-01-10 15:26:43
渐行渐远
3200
树莓派使用SIM868 ppp模块来 拨号上网 有图 树莓派,DIY硬件,系统配置
SIM868模块具有GPRS数据传输功能(2G网络),但是模块是通过AT指令控制的,在树莓派上用AT指令控制会非常不方便,如果可以像wifi一样操作就很方便了。通过ppp拨号上网就可以实现这个功能。首先安装pppsudo apt-get install ppp然后切换到root用户sudo su 进入/etc/ppp/peers目录,复制provider文件并命名为gprscd /etc/ppp/peers cp provider gprs 打开并编辑gprs (注意:此处用ttyUSB0 串口,因为树莓派没有链接屏幕,ttyS0作为调试串口)运行命令后台启动pppd call gprs & 关闭网卡ifconfig eth0 downifconfig wlan0 down运行ifconfig命令可以看到ppp0网卡ping 一下度娘看下是否可以上网,如ping通就是可以上网了。
10   2018-12-12 02:00:55
小哥哥
3620
98K
 0
精华 树莓派打造自动灌溉系统、自动化设备开发 有图 附件 树莓派3B+,树莓派,DIY硬件,智能家居
翻译国外原文:https://www.hackster.io/bobbyleonard84/python-micropython-iot-framework-example-auto-irrigation-6286ae材料清单硬件:Raspberry Pi(树莓派) 3型号B×1NodeMCU ESP8266分线板×1Everything ESP Wemos D1 Mini×1DFRobot电容式土壤湿度传感器×1超声波传感器 - HC-SR04(通用)×1继电器模块(通用)×1电阻1k欧姆×1DHT11温湿度传感器×1光电阻×1跳线(通用)×1面包板(通用)×1Android设备×1软件:SlackGoogle SheetDarksky Weather API工作原理:自动灌溉系统基于 Python 实现,可以通过无线网络采集传感器数据、记录数据并写入 Google Sheet,从天气网站 Darksky 获取降水预测并决定是否需要启动水泵进行灌溉,还能将数据推送到手机上。本文中的 MicroPython 设备指代的是支持运行 Python 代码的一类微型设备,例如 WemosD1 mini、NodeMCU 等。它们负责从传感器采集数据和控制继电器,通过 HTTP 请求访问搭建在树莓派上的 Flask 服务器。1、使用MicroPython设备读取传感器数据的示例。2、使用树莓派运行的Python对传感器数据作出有用的分析。代码示例包括:测量水位的距离,控制继电器(泵),土壤湿度(电容土壤湿度),温度和湿度(DHT11)以及使用光敏电阻的光照水平。树莓派上运行的代码(文件库中提供下载)显示了如何发送推送通知,数据如何写入Google Sheet,从Darksky获取天气预报的数据以及如何使用Web的应用程序HTTP来监控MicroPython设备并与之交换数据。3、构建一个代码框架,以便将来可以快速轻松地修改MicroPython项目。将MicroPython设置为子关系,Flask为主体,使其能够实现复杂的功能。此框架包括用于子项的标准boot.py(连接到WiFi,使用NTP设置时间)以及需要添加到主体Web应用程序以允许新设备连接的定义列表。特性:MicroPython节点能够使用HTTP请求在它们之间传输信息,例如:一个扩展板获取了土壤湿度并向服务器报告,然后另一个扩展板请求该信息并读取它来决定是否运行泵。关于节水问题,水泵控制器也能够从树莓派请求天气预报。当树莓派收到此请求时,它会请求Darksky获取接下来24小时的降水概率。水泵控制器再次使用该信息来决定是否运行泵,即如果在明天的浇水循环之前下雨,则不需要水泵运行。我使用的是一个小型USB水族箱泵。它是一个潜水泵,如果它不在水里就会烧坏。为了防止这种情况,我将hcsr04超声波传感器放在水箱顶部,以测量到水顶的距离。如果水泵在低水位运行,MicroPython板将请求树莓派,然后树莓派将使用Slack向我的手机发送通知。该项目是我以前项目的扩展,与该项目一样,所有传感器数据都保存到Google Sheet中,每个板子都有单独的工作表。Google Sheet进行记录笔记我编写的代码是支持连续运行的,例如,如果网络超时并导致异常停止电路板,电路板将会一直保持深度睡眠并重置直到它可以运行。这很好,但它让你无法在REPL中输入命令,并且更改扩展板上文件的唯一方法似乎是删除闪存并再次安装MicroPython,然后加载到编辑文件。你需要将MicroPython文件中包含的IP地址更改为运行Flask服务器的任何机器的IP地址。要使用Google Sheet,你需要按照以下说明操作:http://gspread.readthedocs.io/en/latest/oauth2.html要获取Darksky ARASPBERRY PI密钥,请转到下面的链接并注册:https://darksky.net/dev要设置Slack,请访问此网站并注册,然后在手机上安装:https://slack.com控制器表MAKE 资源1、NodeMCU DHT11温湿度传感器、光线传感器接线图。2、土壤湿度传感器接线图。3、WemosD1 水泵控制器系统接线图代码资源树莓派上运行的代码下载。index.php?c=app&a=puyuetianeditor:index&s=showfile&id=273压缩包内容rpi3pythonserver_py.py树莓派上的 Flask 服务,运行于 Python3 环境下。main_py_WemosD1.pyWemosD1 mini 上的水泵控制程序,用来控制继电器和 hcsr04 超声波传感器。main_py_nodemcu_soil.pyNodeMCU上的土壤传感器驱动程序。main_py_nodemcu_dht11.pyNodeMCU 上的温湿度传感器驱动程序。
7   2018-12-12 01:09:23
山盟海誓
3583
使用USB摄像头插入树莓派,输入lusub 命令来查看是否有检测到设备。然后安装luvcview软件,输入命令sudo apt-get install luvcview安装完成后,输入下面命令启动该工具。其中320x240代表WebCam采集的分辨率。luvcview -s 320x240测试截图:使用工具uvccapture,首先sudo apt-get install uvccapture安装该工具。书上写着应该使用下面这个命令来截图,其中“-x -y”是分辨率,-B是亮度,-C是对比度,-S是饱和度,-o是存储路径,在x>960或y>720的情况下要使用YUYV方式截图,即要添加参数-m。 经过我的测试发现每个下面都会出现iocal querycontrol error 22,我不知道这是怎么回事,而且如果不加-m生产的图片无法打开,加上-m就可以截图正常了。还有就是下图中的format asked unavailable get width 640 height 480估计是说我的摄像头的分辨率只支持这么多,不能再大。原文连接:https://blog.csdn.net/tongbiaos/article/details/47680959 
10   2018-11-29 18:54:05
飞翔的猪
370
 0
您的阅读权限太低或您的用户组不被允许
8   2018-11-07 16:27:21
飞翔的猪
360
 0
您的阅读权限太低或您的用户组不被允许
1   2018-11-07 16:26:51
大大的派
34
近年来,智能家居的产品越来越多,相应的配套设施更加完善,使得现在可以一句话控制家中的一切设备,使得家庭变得前所未有的智能高效,例如,当你出门时,只需要说一句,我出门了,家中的网关或者其他中控设备就会自动关闭各类灯光,空调、空气净化器等自动关闭,摄像头自动打开,家庭进入警戒模式,当你回家时,同样的灯光就会自动打开,空调也自动打开,其他家用设备也只需要一句话即可,不得不说,大大方便了我们的生活。各家的智能产品比较多,尤其是在智能音箱上,各巨头都发布了自己的产品,如小米AI音箱、小度智能音箱、腾讯听听智能音箱等等。智能音箱Apple有家庭应用,但是适配的智能产品价格比较高,而国内小米的智能产品,价格低廉,以及其自家的米家应用,相比而言,适合国内,可以实现智能家居梦。米家应用在IOS上的米家应用,可以很好的实现智能家居联动,但是无法用Siri唤醒。这篇文章便通过树莓派搭建Homebriage来实现Siri控制米家的智能产品。一、所需器件树莓派米家智能家庭礼品套装( 网关+人体传感器+门窗传感器+智能插座zigbee版+无线开关 )米家温湿度计iPhone笔记本(配置时需要用到)我买的米家套件和温湿度传感器:米家智能家居礼品套装米家智能家居礼品套装内部所有的产品米家温湿度传感器二、安装Homebriage有两种方法,一是直接安装相关的树莓派镜像,这类镜像已经安装好了Homebriage软件,更加方便使用,推荐使用;而是在树莓派官方的镜像 RASPBIAN JESSIE 上安装 Homebriage ,下面是步骤。更新树莓派软件源:sudo apt-get updatesudo apt-get upgrade安装Node.js:wget http://nodejs.org/dist/latest/node-v10.11.0-linux-armv6l.tar.gztar -xvf node-v10.11.0-linux-armv6l.tar.gzcd node-v10.11.0-linux-armv6lsudo cp -R * /usr/local/安装完成后使用node –version命令查看,如果是这样的输出就说明安装成功:pi@raspberrypi:~ $ node --version v10.11.0安装Avahi和相关依赖:sudo apt-get install libavahi-compat-libdnssd-dev 安装HomeBridge和相关依赖软件包:sudo npm install -g --unsafe-perm homebridge 安装homebridge 的小米插件homebridge-aqara:sudo npm install -g homebridge-aqara 三、配置Homebriage需要配置.homebridge目录下的config.json文件,将小米网关的MAC地址和password配置进去,使得连接在小米网关下的其他产品可以出现在iPhone的家庭应用中。进入 .homebridge 目录,创建config.json文件,并复制以下内容:nano config.json{"bridge": {"name": "Homebridge","username": "CC:22:3D:E3:CE:30","port": 51826,"pin": "031-45-154"},"platforms": [{"platform": "AqaraPlatform","sid": ["7c49eb17e9a7"], //改成自己网关的mac地址"password": ["97DCB0D1FF60443F"]  //改成局域网通信协议的密码}]}以上内容,其他信息不需要更改,只需要将 sid和 password 改成自己的。获取米家多功能网关的 sid和 password,在网关的点开关于, 狂点屏幕下方空白处,开启开发者模式,就可以获取 sid和 password,视频教程如下。将获取到的 sid和 password 填入到config.json配置文件中,注意sid要改成小写,但是 password 要保持原来的大小写不变,否则就不能通过家庭应用控制米家智能插座。左边为sid,需改成小写右边为password,保持大小写不变四、启动Homebriagehomebridge五、配置家庭应用在家庭应用中点击添加配件点击“没有代码或无法扫描”,添加Homebriage然后将屏幕上显示的pin码输入手机上的配置过程示例如下:根据显示的传感器信息修改名称,添加到相应的房间即可,添加完之后的效果如下:配置完成的家庭应用配置完之后就可以使用Siri来控制家庭了,示例如下:查看客厅的湿度查看客厅的温度打开客厅的插座文章来源于:科技爱好者博客http://blog.lxx1.com/
1   2018-11-07 16:25:32
神乐先生
2444
Raspberry Pi的芯片系统(SoC)具有温度传感器,可用用命令行测量其温度。它可以提供芯片在运行期间产生多少热量的信息,并且还报告环境温度。该项目的目的是创建一个简单的Python脚本,可以在启动您的Raspberry Pi时自动运行,并以特定间隔从温度传感器进行测量,并将其写入日后可以查看的文件。您还可以以交互式绘制的图形来查看数据。你会学到什么通过完成温度项目,您将学习:如何在Python中运行系统命令如何将数据写入文件如何用matplotlib交互式绘制数据如何设置脚本以使用crontab自动运行你会需要什么软件python3-matplotlib软件安装要安装所需的软件,请在终端中运行以下命令:sudo apt-get install python3-matplotlib温度记录Raspberry Pi的芯片系统(SoC)具有温度传感器,可用于从命令行测量其温度。它可以提供关于芯片在运行期间产生多少热量的信息,并且还可以报告环境温度。该项目的目的是创建一个简单的脚本,可以在您启动Raspberry Pi时自动运行,并以特定间隔从温度传感器进行测量,并将其写入日后可以查看的文件。创建一个Python脚本来监视温度通过 Menu > Programming > Python 3 (IDLE) 打开一个新的Python 3 shell。现在通过点击 File > New File 创建一个新的Python脚本。您可以使用GPIO Zero模块查找CPU温度。首先你需要导入CPUTemperature类: from gpiozero import CPUTemperature然后可以创建一个cpu对象: cpu = CPUTemperature() 保存并运行此程序(按Ctrl + S,然后按F5),然后交换到shell。在这里,您可以轻松查询CPU温度。>>> cpu.temperature 32.552将数据写入CSV文件如果温度数据可以存储起来,这将非常有用。CSV(逗号分隔值)文件比较理想,因为它可以被Excel和LibreOffice等应用程序所使用。您将在获取CPU温度时记录日期和时间,因此需要一些额外的库。将其添加到您的导入: from time import sleep, strftime, time这些额外的模块让你暂停你的程序(sleep),将今天的日期作为一个字符串(strftime)获得,并在所谓的UNIX时间(time)中获得确切的时间。要写入文件,您首先需要创建它。在文件末尾添加以下行: with open("cpu_temp.csv", "a") as log:这将创建一个名为“新文件” cpu_temp.csv的名称log。它也以附加模式打开它,因此行只会写入文件的末尾。现在,您将需要启动一个无限循环,直到您用Ctrl + C杀死程序: with open("cpu_temp.csv", "a") as log: while True:在循环中,您可以获取温度并将其存储为变量。 with open("cpu_temp.csv", "a") as log: while True: temp = cpu.temperature现在,您要将当前日期和时间以及温度都写入CSV文件: with open("cpu_temp.csv", "a") as log: while True: temp = cpu.temperature log.write("{0},{1}\n".format(strftime("%Y-%m-%d %H:%M:%S"),str(temp)))那条命令有点复杂,所以让我们把它分解一下:log.write()将括号中的任何字符串写入CSV文件。"{0},{1}\n"是一个包含两个占位符的字符串,用逗号分隔,并以新行结束。strftime("%Y-%m-%d %H:%M:%S")插入第一个占位符。这是当前的日期和时间作为一个字符串。str(temp)是将CPU温度转换为字符串,这是在逗号后写入第二个占位符。最后,您可以在文件的末尾添加一行,以便在写入之间暂停脚本。这里暂停一秒钟,当然您可以使用任何您想要的间隔: sleep(1)整个脚本现在应该如下所示: from gpiozero import CPUTemperature from time import sleep, strftime, time with open("cpu_temp.csv", "a") as log: while True: temp = cpu.temperature log.write("{0},{1}\n".format(strftime("%Y-%m-%d %H:%M:%S"),str(temp))) sleep(1) 实时绘制数据您可以生成一个随着数据的记录CPU温度也更新的CPU温度图。为此,您需要使用matplotlib库。安装说明在这里。首先,导入matplotlib库: import matplotlib.pyplot as plt您的导入后可以接下来三行。他们告诉matplotlib你会做交互式绘图,并创建两个列表,将保存要绘制的数据: plt.ion() x = [] y = [] 下一行都进入你的while True循环,在CSV被写入之前,但temp = get_temp()在行之后。首先,将当前温度添加到y列表的末尾,并将列表的末尾添加到时间x: y.append(temp) x.append(time()) 接下来,需要清除绘图,然后计算点和线: plt.clf() plt.scatter(x,y) plt.plot(x,y) 最后,可以画出线: plt.draw() 运行你的程序,你应该看到交互式绘制的图形。打开一些程序,如Minecraft或Mathematica,并观察CPU温度的升高。自动化脚本当Raspberry Pi启动时,最好让脚本自动运行。要做到这一点,最好是清理一下脚本,以便您可以轻松地注释掉绘制图形的线条。下面是与功能相同的脚本,并且图形绘制线注释掉:from gpiozero import CPUTemperature from time import sleep, strftime, time import matplotlib.pyplot as plt cpu = CPUTemperature() plt.ion() x = [] y = [] def write_temp(temp): with open("cpu_temp.csv", "a") as log: log.write("{0},{1}\n".format(strftime("%Y-%m-%d %H:%M:%S"),str(temp))) def graph(temp): y.append(temp) x.append(time()) plt.clf() plt.scatter(x,y) plt.plot(x,y) plt.draw() while True: temp = cpu.temperature write_temp(temp) # graph(temp) sleep(1) crontab自动化脚本很简单。这基本上是一个文件,其中可以放置可以在特定时间或某些事件之后运行的命令。首先打开一个终端窗口(按Ctrl + Alt + T)。要编辑crontab,您只需键入: crontab -e 滚动到文件的底部并添加单行: @reboot python3.4 /home/pi/temp_monitor.py 这里假设要调用的脚本为temp_monitor.py并保存在您的主目录中。现在重新启动你的Raspberry Pi。给它一点时间运行,然后在终端窗口中键入以下内容:  cat cpu_temp.csv 这将使您能够看到CSV文件的内容。如果您想查看图表,那么只需graph(temp)使用IDLE 取消注释行并运行该文件。
4   2018-11-07 16:22:50
小哥哥
428
98K
 0
您的阅读权限太低或您的用户组不被允许
2   2018-10-30 12:37:03

Powered by Raspigeek RASPIGEEK_VERSION

©2015 - 2020 树莓派极客论坛

官方网站 联系站长

您的IP:18.232.188.89,2020-07-14 23:03:58,Processed in 0.15129 second(s).