工业RTU 示例3:远程电机控制(4G版)

描述

  前言ShineBlink 是一款零门槛、零开发环境、低代码的万能物联网智能硬件开发板机智云为开发者提供低门槛硬件上云、接App/小程序、在线配置物联网业务后台系统的能力结合 ShineBlink 和 机智云 开发者即使不懂嵌入式物联网开发、云和App开发,也能很快实现一款包含硬件、云和App的物联网智能硬件。一、本章实现功能介绍实现一个能够远程遥控的电机控制设备,用户可以远程控制本地电机的转向,以及电机的转速。对电机的调速控制采用PWM脉冲占空比技术。为了演示方便这里我们采用的是小型的马达配套L9110电机驱动芯片,如果我们需要控制更大的电机可以更换其他的电机驱动芯片方案即可,PWM控制原理是一模一样的。下图是接线实物图和App监测页面:控制控制二、硬件端接线图控制三、材料清单控制四、硬件端完整源代码
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  

 
--机智云平台为每个产品类别分配的唯一PK和PS,一定要改成您自己的PK和PSPK = "5f84e8f7a9de41fdab682bf36bc7afa6" PS = "6ef35df066c240d38b5e7b82bbaad0bd"--初始化4G模块LIB_Giz4GConfig(PK,PS,6000,120,"UART0","D5","HIGH","D6","HIGH")--配置D0 D1 D2口为PWM功能,周期20ms,高电平为有效极性LIB_PwmConfig3(20000,1)--当INA高电平 INB低电平时电机正转,反之亦然--更新D0口的PWM输出占空比为0%, D0口接L9110的INA--更新D1口的PWM输出占空比为0%, D1口接L9110的INB--更新D2口的PWM输出占空比为0%, D2口未使用LIB_PwmUpdate3(0,0,0)rotation_direction = 0 --电机转动方向变量,0:正转, 1:反转--开始大循环while(GC(1) == true)do --查询机智云是否下发了写"Em1"枚举型数据点(正转/反转) flag,recv_data = LIB_RecvFromGizCloud("Em1") if flag == 1 then if recv_data == 0 then --正转 rotation_direction = 0 elseif recv_data == 1 then --反转 rotation_direction = 1 else --正转 rotation_direction = 0 end end --查询机智云是否下发了需要写入的短整数数据(范围0~100)(电机转速百分比) flag,Percent = LIB_RecvFromGizCloud("Ws1") if flag == 1 then --此时获取到一个范围在0-100的整数 --设置Pwm占空百分比,即设置电机转速 if rotation_direction == 0 then --正转的情况 INA = Percent*20000/100 --INA输出Percent_A%占空比的高电平 --INB输出低电平 LIB_PwmUpdate3(INA,0,0) else --反转的情况 INB = Percent*20000/100 --INA输出低电平 --INB输出Percent_B%占空比的高电平 LIB_PwmUpdate3(0,INB,0) end endend上面代码中出现的"LIB_"开头的库函数的详细介绍可以在shineblink.com网站上的API文档中查询。五、机智云接入和App开发选择一:机智云+通用版App访问设备(难度最低)通过《4G设备接入机智云教程》我们可以很快掌握机智云的接入流程,并使用现成的通用版机智云App即可很快的实现手机App远程访问我们的开发板。缺点就是通用版App的UI页面看起来不够专业。本例中我们使用了"Ws1"这个短整数型数据点作为云端下发电机转速指令的通道,记得在机智云平台修改相应的数据点的名称。

控制

本例中我们使用了"Em1"这个枚举型数据点作为云端下发电机转向(正转/反转)指令的通道,记得在机智云平台修改相应的数据点的名称以及枚举列表中的名称。

控制

关于数据点是什么、如何定义数据点docs.gizwits.com/zh-cn/quickstart/README.html 选择二:机智云+零代码定制版App访问设备(难度较低)首先,需要通过机智云开发平台dev.gizwits.com ,定义数据点,在线配置一款定制版App。换句话说就是使用机智云开发平台定义智能产品的功能,通过机智云赛博工具实现在线配置并生成一款定制版App。然后,参考《赛博坦零代码App开发(4G版)》教程,实现定制版App访问设备。开发好以后的页面如下: 控制选择三:定制化开发App或微信小程序(难度较高)

如果有一定开发能力,开发者可以考虑在机智云免费提供的开源代码上做一定的定制开发形成自己的APP。

如果开发者希望开发一个专属的APP,机智云也会提供代码开源的安卓和IOS SDK框架,帮助开发者快速完成APP开发,开发者仅需关注App的UI和UE设计即可,而相对复杂的协议与错误处理等事项可忽略。 
打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分