android客户端控制树莓派GPIO点亮LED灯

  首先需要android客户端与树莓派进行连接,树莓派与android客户端利用wifi连接并进行socket通信请参考我的另一片文章:https://mp.csdn.net/postedit/79911322 。树莓派与Android客户端连接成功后就可以开始让android客户端给树莓派发送指令控制树莓派GPIO口的电平输出

    首先需要搞清楚树莓派的GPIO引脚,这里我用的树莓派3B,其引脚图参数如下:

    上图中左右依次对应,而我这里利用的是23、24(GPIO.4、GPIO.5)两个引脚分别来点亮2个LED灯。

    先贴上跑在树莓派上的python代码(代码很简单我就不写注释了,有问题可以留言):

import socket
import time
import sys
import RPi.GPIO as GPIO
import time

GPIO_PIN = 23

HOST_IP = "192.168.12.1"
HOST_PORT = 7654

GPIO.setmode(GPIO.BCM)
GPIO.setup(23, GPIO.OUT)    #用到的引脚必须要先setup
GPIO.setup(24, GPIO.OUT)

print("Starting socket: TCP...")
socket_tcp = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

print("TCP server listen @ %s:%d!" %(HOST_IP, HOST_PORT) )
host_addr = (HOST_IP, HOST_PORT)
socket_tcp.bind(host_addr)
socket_tcp.listen(1)	

while True:
	print ('waiting for connection...')
	socket_con, (client_ip, client_port) = socket_tcp.accept()
	print("Connection accepted from %s." %client_ip)

	socket_con.send("Welcome to RPi TCP server!")

	while True:
		data=socket_con.recv(1024)
		if data:
			print(data)	
			while True:
				ctlmsg=socket_con.recv(1024)
				if ctlmsg=="device1":
					GPIO_PIN=23
				if ctlmsg=="device2":
					GPIO_PIN=24	
				if ctlmsg=="turn_on":
					print("************turn on********")
					GPIO.output(GPIO_PIN,GPIO.HIGH)
				if ctlmsg=="turn_off":
					print(
  • 14
    点赞
  • 77
    收藏
    觉得还不错? 一键收藏
  • 10
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值