物联网( IoT )即“万物相连的互联网”,通过物与物、物与人的泛在连接,实现对物品和过程的智能化感知、识别和管理。

玩转Arduino手机编程——物联控制就是这么简单

今天我们就通过“手机遥控LED”的简单例子,体验一下蜗牛控制器实现物联控制的便利性!

一、实验目的

  • 学习变量的使用
  • 学习条件判断的使用
  • 学习蜗牛控制器的物联控制
  • 熟悉蜗牛手机编程方式

二、所需硬件

  • Woniu控制器
  • LED灯

三、电路

将LED较长的一端(阳极,电流流入的地方)串联220欧姆电阻后连接到蜗牛控制器的13号引脚,LED较短的一端(阴极,电流流出的地方)连接到蜗牛控制器的“接地”端口。

玩转Arduino手机编程——物联控制就是这么简单

四、物联控制LED方案

蜗牛控制器内置了蓝牙串口模块,蓝牙串口架起了蜗牛控制器和手机的中间桥梁,手机通过蓝牙将控制信息发送到蓝牙串口模块,蓝牙串口模块接收到控制信息后,又通过串口转发给蜗牛控制器,蜗牛控制器通过信息内容,控制LED的亮或灭。

玩转Arduino手机编程——物联控制就是这么简单

  • 手机端的信息发送可以通过APP上的“交互”窗口进行;
  • 设定字符“0”代表关灯字符“1”代表开灯
  • 蜗牛控制器端的信息接收可以通过串口程序进行。

五、编程

1.创建全局变量

创建一个整形变量来存放接收到的控制字节('0'或'1')。“创建变量”积木在“变量”积木组中,点击“Create variable...”积木创建,在随后的弹出窗口中输入变量名称(名称建议只用英文字母),如"num"。

玩转Arduino手机编程——物联控制就是这么简单

将其中的“声明变量”拖放到右侧的程序区,并修改“局部”为“全局”,完成后的代码如下。

玩转Arduino手机编程——物联控制就是这么简单

2.打开串口

在“串口”积木组中选择“打开串口”积木,将其拖放到右侧的“初始化区”,完成后的代码如下。

玩转Arduino手机编程——物联控制就是这么简单

注意:蜗牛控制器的波特率必须设置为115200

3.条件判断

初始状态下,只有一个条件分支,如果要增加更多的条件分支,则点击该积木左上角的配置按钮,弹出下面的分支配置窗口。

玩转Arduino手机编程——物联控制就是这么简单

从左侧灰底部分依次拖动一个“否则如果”和“否则“积木到右侧”如果“积木的下面。

注意:

  • 多分支积木的删除,方法同样是点击左上方的配置按钮,之后的操作与上述的添加操作相反,即在弹出的窗口右侧拖放多余的积木到左侧。
  • 分支配置完后,点击左上方的配置按钮退出
  • 如操作中觉得积木太小,可双手伸缩调控编程区的分辨率

4.串口是否接收到数据判断

检查是否接收到数据,要用到“读取接收到的字符数量”积木,它位于“串口”积木组中。串口”积木组中。

除此之外,这里还用到逻辑比较积木和数字积木,分别存放于“逻辑”积木组和“数学”积木组。

手动拖放拼接成下图的样式。

玩转Arduino手机编程——物联控制就是这么简单

5.读取并存储命令字节

从“变量”积木组中选择“变量赋值”积木,再从“串口”积木组中选择“读取单字节”积木,拼接成下面的样式。

玩转Arduino手机编程——物联控制就是这么简单

6.命令字节判断

该实例需要3个条件判断分支:

  • 接收到“0”,则“关闭LED”;
  • 接收到“1”,则“打开LED”;
  • 接收到其它,不执行任何操作。

仿照上面增加“否则如果”和“否则”分支,并依个增加判断条件,最终形式见下图所示。

玩转Arduino手机编程——物联控制就是这么简单

7.LED控制的IO操作

选择“引脚”积木组中的“引脚配置”积木,拖放至初始化区;再选择其中的“数字输出”积木。拼接成下面的样式。

玩转Arduino手机编程——物联控制就是这么简单

六、程序下载

1.蜗牛控制器供电
供电后,其上的蓝色指示灯会处于闪烁状态,表明蜗牛控制器正常工作了。

2.手机环境配置
使用蜗牛手机APP时,需要
打开手机的蓝牙和GPS定位功能,同时保证蓝牙未被其它设备连接。

3.连接蜗牛控制器
点击左上角的“连接”按钮,稍等片刻,按钮由灰底“连接”切换为黄底“断开”,表明连接成功。此时中间的“下载”按钮也变为可用状态,点击“下载”按钮开始程序编绎和下载,可以看到“下载”按钮切换为百分号数字进度条,指示着下载进度。

七、遥控LED
程序下载完成后,点击APP最上面的“交互”按钮,打开手机上的交互窗口。
在下面的“发送”栏内输入“0”并发送,则LED熄灭;输入“1”并发送,则LED点亮。

玩转Arduino手机编程——物联控制就是这么简单

点击手机屏幕黄色以外的灰度区域,可立即退出交互窗口。