根据iteye_3759 的文章,树莓派学习笔记——webiopi网页控制LED,如下所示, 将其用在树莓派3上,并不能直接移植使用,红色标注为使用的方法,才能将整个project运行起来。
0.前言
webiopi是一个可控制树莓派GPIO的web框架,该框架面向物联网IoT开发。该项目托管于google,并可在sourceforge上下载到源代码。现在webiopi已经发展到0.7版本,webiopi支持REST Server,CoAP server,并提供python库和javascript库,毫无疑问的说webiopi是一个优秀的框架。
虽然webiopi是一个优秀的框架,但是webiopi由python,javacript语言编写,并提供了REST和CoAP形式访问方式,学习和掌握webiopi需要不少的基础知识。对于那些认为C语言、寄存器操作、16进制协议可以解决一切问题的嵌入式工程师来说,python和javacript,REST和CoAP协议显得臃肿不堪并毫无用处。但是事实并非如此。
【webiopi和其他网页控制LED的区别】
1.后台,完善的RESTAPI可实现GPIO端口的方向控制、输出控制和输入检测。
2.前台,完整的javascript API,方便用户创建标签并和后台API相联系。
【有用的博文】
在树莓派中创建文件夹 webiopi_works和simple,
然后将/etc/webiopi文件夹中的文件config和passwd复制到simple文件夹,
然后将/usr/share/webiopi/htdoc文件夹中的所有文件复制到simple文件夹,
config文件中,请修改
doc-root = /home/pi/webiopi_works/simple
【运行本例】
cd进入html文件和config文件所在目录
输入以下指令
sudo webiopi -c config
应使用sudo python2 -m webiopi -c config
否则会出现如下错误
浏览器中输入(请根据树莓派的具体IP地址修改)
192.168.1.107:8000
1.最终效果
LED1按钮,鼠标按下LED1点亮,鼠标松开LED1熄灭。类似于无自锁功能开关。
LED2按钮,鼠标按下LED2状态翻转。类似带自锁功能开关。
图1 最终效果
2.实现代码
-
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-
<html>
-
<head>
-
<meta http-equiv="Content