[toc]
为什么
我心心念念的文竹呀,绝对不能死呀,还要给妹子呢.
先来两张淘宝订单
这些是零件,基本上就是水泵和继电器是主要的,然后就顺便买了其他的东西花了60多,本身这两个就15呀,果然管不住自己的手呀.
整体框架
手机访问服务器获取登录然后进入控制页面;
树莓派python 使用websocket进行长连接
手机在web页面上进行操作,并发送请求到服务器,服务器通过websocket发送指令到树莓派,然后python解析指令,并操控继电器进而操控水泵;
网络传输代码介绍:上一篇的:原生websocket在python
树莓派gpio
目的控制继电器来控制水泵和pwm控制步进电机和获取湿度传感器数据;
//拍照
def takepic():
str = time.strftime("%Y-%m-%d-%H:%M:%S", time.localtime())
print(str);
os.system('fswebcam --no-banner -r 640x480 -S 50 --jpeg 100 --save '+str+'.png')
print("拍照完毕");
path = str+".png"
updateimage.upimage(path);
//上传
def upimage(str):
url ="http://139.199.17.156:5002/iot/update"
print(str+"正在上传中")
file={('file',open(str,"rb"))}
#re=requests.get("http://localhost:5002/pysent/here")
#print(re.json())
r = requests.post(url, files=file)
print(r.json());
// 添加水
def water(tt):
GPIO.setmode(GPIO.BCM)
#GPIO.setwarnings(False)
# 输出模式
gg = 17
print("out")
GPIO.setup(gg, GPIO.OUT)
time.sleep(3)
print("In")
GPIO.setup(gg, GPIO.IN)
time.sleep(6)
print("浇花完成")
有个很坑的问题 这个继电器当gpio高和低没有用,只有设置为gpio.out就可以了,所以我控制水泵就不是通过给高和底,而是给gpio设置输入和输出的模式不同即可
- 通过上一篇的设置图床就可以保证进行拍照并查看图片了
硬件设置
树莓派gpio分为两种模式 BCM 和 物理定义的
可以使用gpio命令的方式进行操控,在shell也可以
发表回复