前言
本篇篇幅较少,主要介绍使用GPIO接口控制LED灯的开关。
准备工作
连接LED灯
LED灯长针为正极,短针为负极,为方便区分,长针连红线,短针连黑线,如图所示。
对照开发板的针脚图,将LED灯连接到开发板上。红线连接任意一个GPIO接口,黑线连接GND接口。
这里我连接的是GPIO3_D3。注意不要将正负极接反,否则可能会烧坏发光二极管和开发板。
控制LED灯
OrangePi 3B 官方系统中已经预装了wringOP,直接使用以下命令查看GPIO接口使用情况
gpio readall
由图可知,GPIO3_D3所对应的wPi编号为25,当前模式为IN。
首先将25号接口模式改为输出模式OUT。
gpio mode 25 out
此时25号口输出为低电平,自然LED灯是不会亮的。接下来将25号口设置输出高电平。
gpio write 25 1
若要关闭LED灯,将25号口设置输出低电平即可。
gpio write 25 0
使用 Python 控制
使用 os.system() 执行命令即可。
# 开
os.system("gpio write 25 1")
# 关
os.system("gpio write 25 0")
如果想让LED灯闪烁,可以这样:
while True:
time.sleep(0.5)
os.system("gpio write 25 1")
time.sleep(0.5)
os.system("gpio write 25 0")
这样,LED灯将0.5秒闪烁一次。
对接物联网平台
设备侧做以下修改:
def onTopicIssueCommand(self, payload):
entry = payload["msg"]
id = entry["command_id"]
match entry["param"]:
case "led":
match entry["value"]:
case "ON":
self.led.LED_ON(25)
case "OFF":
self.led.LED_OFF(25)
case "FLASH":
self.led.LED_FLASH(25)
self.responseCommand(id)
云端下发命令
版权声明
本文系作者原创文章,未经允许不得转载,否则保留追究法律责任的权利。https://www.scott-sloan.cn/archives/266/