· 2021年12月24日

【XR806开发板试用】XR806简单使用GPIO命令通过继电器远程控制其它开发板

一直关注极术社区,参加过社区的好几个活动,这次在微信群得知有开发板使用活动,果断申请试用。一来想借此学习了解鸿蒙系统,再者学习工作中也确实会用到一些小工具。
image.png

之前因工作中因自动化测试需要和远程控制测试板子需要(重启板子和切换不同启动模式),买了一块树莓派和继电器连线来控制开发板,如下图。树莓派上可以直接运行python脚本,使用起来确实很方便,但其实只用到了树莓派上基本的GPIO读写功能,确实有点“大材小用”。用XR806来替换树莓派,发现使用起来也非常简单,也是几条命令就可以解决了。
WeChat Image_20211224211407.jpg

  1. 环境搭建
    代码获取,编译和烧录详见论坛其它攻略,本次试用只用到几个命令不需要改任何代码,因Win和Linux环境不同,涉及终端换行显示混乱的问题了,下面是MobaXterm上的设置方法。
    image.png

MobaXterm显示问题解决

1 Setting->Configuration->Terminal->Terminal features 取消Paste using right-click
2 终端内右键选择"Change Terminal Settings"
3勾选"Implicit CR in every LF"
image.png

  1. 简单实验GPIO21驱动现成LED指示灯
    从XR806原理图上看到,J1上的pin6脚是GPIO口已经默认连接上了一个LED灯,只需要控制这个GPIO口的输出就可以控制LED灯的灯亮和灯灭。

image.png

下面是XR806开发板启动后的默认界面,其已经集成了许多实用的命令,集中就包括控制GPIO的命令。和树莓派一样,操作一个GPIO只需要以下几个简单的步骤:

1) 激活或初始化GPIO:
命令hm iot gpio init id=xx
2) 设置GPIO作为输入/输出口
命令hm iot gpio setdir id=xx dir=input/output
3) 设置GPIO高低电平:
命令hm iot gpio setoutputval id=xx v=0/1
4) 释放GPIO
命令hm iot gpio deinit id=xx

控制LED的命令如下:

$ hm iot gpio init id=21
$ TGpioInit port0, pin21
$ CK> 200 OK

$ hm iot gpio setdir id=21 dir=output
$ CK> 200 OK

$ hm iot gpio setoutputval id=21 v=1
<ACK> 200 OK

$ hm iot gpio setoutputval id=21 v=0
<ACK> 200 OK

WeChat Image_20211224211531.jpg

  1. GPIO控制继电器
    因使用的是2路继电器分别控制控制板子的上下电和不同的启动模式,需要z占用XR806上的两个GPIO口作为输出电平使用, 另外需要连接电源线,所以选择J1上的GPIO引脚2和3作为继电器的控制信号, J2上的引脚8和9用来供电。本来继电器工作电压是5V的,但XR806的GPIO外部接口只能提供3.3V的电压,不过还是可以继续使用;市面上也有3.3V的继电器。
    image.png

控制命令和上面一样,GPIO初始化和设置input/output后,通过设置高低电平就可以控制继电器了。

$ hm iot gpio init id=12
$ TGpioInit port0, pin12
$ CK> 200 OK

$ hm iot gpio init id=13
$ TGpioInit port0, pin13
$ CK> 200 OK

hm iot gpio setdir id=12 dir=output

hm iot gpio setdir id=13 dir=output

hm iot gpio setoutputval id=12 v=1
hm iot gpio setoutputval id=12 v=0

hm iot gpio setoutputval id=13 v=1
hm iot gpio setoutputval id=13 v=0

WeChat Image_20211224213921.jpg

控制继电器和点亮LED的操作效果相同:
WeChat Image_20211224213931.jpg

  1. 脚本和远程控制
    TBD.
    后续写个脚本来控制,另外WIFI设置好后,再通过远程来控制。
推荐阅读
关注数
13823
内容数
139
全志XR806开发板相关的知识介绍以及应用专栏。
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息