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


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

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

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

    MobaXterm显示问题解决

    1 Setting->Configuration->Terminal->Terminal features 取消Paste using right-click
    2 终端内右键选择"Change Terminal Settings"
    3勾选"Implicit CR in every LF"
    在这里插入图片描述

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

    在这里插入图片描述

    下面是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
     200 OK
    
    $ hm iot gpio setoutputval id=21 v=0
     200 OK
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    在这里插入图片描述

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

    控制命令和上面一样,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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17

    在这里插入图片描述

    控制继电器和点亮LED的操作效果相同:
    在这里插入图片描述

    1. 脚本和远程控制
      TBD.
      后续写个脚本来控制,另外WIFI设置好后,再通过远程来控制。
  • 相关阅读:
    leetcode 刷题 log day 53
    多输入多输出 | MATLAB实现PSO-RBF粒子群优化径向基神经网络多输入多输出预测
    【C语言进阶】自定义类型:结构体,枚举,联合
    申报须知,2022年滁州市各区县高新技术企业奖励政策变化,明光市
    希望已有的异步函数内部添加部分同步逻辑,但是外部不需要使用await接收返回值实现方法——匿名函数
    kubernetes Service详解
    如何实现单病种上报的多院区/集团化/平台联动管理
    FL Studio21.1.0水果中文官方网站
    python之代理ip的配置与调试
    新建Mybatis项目
  • 原文地址:https://blog.csdn.net/weixin_47569031/article/details/136319508