收藏官网首页
查看: 4202|回复: 0

超低代码IoT芯片App远程控制3路Led灯接入机智云

682

主题

741

帖子

3万

积分

版主

Rank: 7Rank: 7Rank: 7

积分
36647
跳转到指定楼层
#
 楼主| 发表于 2022-10-24 19:24:03 | 只看该作者 |只看大图 回帖奖励 |正序浏览 |阅读模式
注册成为机智云开发者,手机加虚拟设备快速开发
本帖最后由 Kara 于 2022-10-24 19:29 编辑

超低代码IoT芯片App远程控制3路Led灯接入机智云

一、实现的功能描述

App远程控制开发板上的红黄绿三路LED灯的亮灭。

二、 UI配置描述

本例程中所包含的UI配置代码如下:
  1. UI = "[3_LedRed][3_LedYellow][3_LedGreen]"
复制代码
例程中用了3个类型为 “3” 的控件,关于该类型控件的具体描述可以参看官网中关于ShineBlink云的教程。
基于以上UI配置,当设备上电后,我们在小程序中可以看到系统为我们自动生成的小程序页如下:

三、本实验教学目的
掌握基于ShineBlink的:
  • 基于WiFi或4G接入ShineBlink免开发云,并自动生成微信小程序
  • GPIO控制开发板上的3个LED灯(D0接红灯,D8接黄灯,D9接绿灯)
四、本实验涉及的模块
3个LED灯在开发板上的位置如下:

注意:D0端口同时接:蜂鸣器(BUZ)、3610震动电机(MOT)、红色LED_PWM(LED)。由于本实验用到红色LED,所以一定要将黄色跳线帽跳至上图指示的LED位置。

五、完整源代码(WiFi版本)
  1. --配置开发板上D0引脚为输出GPIO来控制红色Led灯
  2. LIB_GpioOutputConfig("D0","STANDARD")
  3. --配置开发板上D8引脚为输出GPIO来控制黄色Led灯
  4. LIB_GpioOutputConfig("D8","STANDARD")
  5. --配置开发板上D9引脚为输出GPIO来控制绿色Led灯
  6. LIB_GpioOutputConfig("D9","STANDARD")
  7. --设置UI配置,该配置决定了小程序页面显示的控件具体有哪些什么,名字是什么
  8. UI = "[3_LedRed][3_LedYellow][3_LedGreen]"
  9. --设置C2开发板自带的WiFi连接云
  10. ssid = "MyWiFiName" --修改成您的WiFi路由器账号
  11. pswd = "abc123" --修改成您的WiFi路由器密码
  12. LIB_CloudConfig("S0", "WIFI_C2", 0, "SBK_01", UI, ssid, pswd)
  13. while(GC(1) == true)
  14. do
  15.     --查询是否收到服务器下发的数据
  16.     recv_flag, msg = LIB_CloudRecv()
  17.     if recv_flag == 1 then
  18.         --查看服务器是否下发控制名字为"LedRed"红灯的指令
  19.         if string.find(msg, "LedRed") ~= nil then
  20.             Json_Val = LIB_JsonParse(msg, "$.LedRed")
  21.             if Json_Val == "0" then
  22.                 LIB_GpioWrite("D0",1) --红灯灭
  23.             elseif Json_Val == "1" then
  24.                 LIB_GpioWrite("D0",0) --红灯亮
  25.             end
  26.         end
  27.         --查看服务器是否下发控制名字为"LedYellow"黄灯的指令
  28.         if string.find(msg, "LedYellow") ~= nil then
  29.             Json_Val = LIB_JsonParse(msg, "$.LedYellow")
  30.             if Json_Val == "0" then
  31.                 LIB_GpioWrite("D8",1) --黄灯灭
  32.             elseif Json_Val == "1" then
  33.                 LIB_GpioWrite("D8",0) --黄灯亮
  34.             end
  35.         end
  36.         --查看服务器是否下发控制名字为"LedGreen"红灯的指令
  37.         if string.find(msg, "LedGreen") ~= nil then
  38.             Json_Val = LIB_JsonParse(msg, "$.LedGreen")
  39.             if Json_Val == "0" then
  40.                 LIB_GpioWrite("D9",1) --绿灯灭
  41.             elseif Json_Val == "1" then
  42.                 LIB_GpioWrite("D9",0) --绿灯亮
  43.             end
  44.         end
  45.     end
  46. end
复制代码


六、实验现象

将上面代码中的ssid和pswd改成您的路由器账号和密码,然后将代码复制到开发板中并运行十几秒之后,我们用微信扫描开发板背后的二维码,在弹出的微信小程序中我们就可以远程控制开发板上的继电器的闭合和断开了。
七、4G版本

4G版本和WiFi版本的代码几乎一样,我们只需做如下两处调整即可实现4G远程:
(1)将4G模块插入开发板上的4G插槽,如下图:
(2)将代码中WIFI初始化改成4G初始化即可,调整如下:
将原来WiFi的:
  1. --设置C2开发板自带的WiFi连接云
  2. ssid = "abcdef" --修改成您的WiFi路由器账号
  3. pswd = "123456" --修改成您的WiFi路由器密码
  4. LIB_CloudConfig("S0", "WIFI_C2", 0, "SBK_01", UI, ssid, pswd)
复制代码

调整成4G后的:

  1. --设置外部4G模块连接云
  2. LIB_CloudConfig("S0", "4G_ML302", 0, "SBK_01", UI, "NO_GPS")
复制代码



您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

加入Q群 返回顶部

版权与免责声明 © 2006-2024 Gizwits IoT Technology Co., Ltd. ( 粤ICP备11090211号 )

快速回复 返回顶部 返回列表