因为Scratch能与WULink-NOVA实现网络通讯,借助WULink-NOVA,可以让Scratch具有网络数据交换能力。本课我们将制作一个基于Scratch和WULink-NOVA的网络投票器,所有的用户可以打开同一个Scratch作品,投票并将数据存储在网络中,且可以随时查看投票结果。
要制作本课的范例作品,可以按以下步骤先连接硬件、连接网络,然后进入“好好搭搭”网站编写、调试、编译、下载程序。
首先将模块与主控板连接起来:数码管模块连接“M2”端口,将电池插入电源接口(如下图10-1所示);接着打开电源开关,等待主控板连接网络成功。
图10-1 “网络投票器 ”范例作品硬件连接图
首先,添加“HaodaIot”扩展生成物联网相关指令,需要调用物联网发送指令。
在Scratch中,先创建3个投票对象角色:“小熊”、“小猴”、“企鹅”,再创建一个“更新”按钮角色用于更新得票数据。
3个投票角色上方的变量分别为:“小熊得票”、“小猴得票”、“企鹅得票”。
具体的Scratch作品如10-2所示:
图10-2 Scratch端的“网络投票器”范例作品
具体的程序代码如10-3、10-4所示:
图10-3 背景初始化程序
当点击绿旗时,三个变量更新为三个角色已获得的投票数。
图10-4 Scratch端各角色范例程序代码
当点击投票对象角色时,发送一条消息给WULink-NOVA,三个角色被点击时发出的消息各不相同;发出消息后,说“数据上传中…”持续1秒,之后去获取物联网中更新后的变量值;最后说一句“谢谢支持”。
当点击更新按钮角色时,获取三个角色的得票数,赋值给对应的变量,更新得票显示。
| 如果每个用户打开Scratch作品后只允许投一次票,程序应该如何修改? |
第三步:编写WULink-NOVA端的得票统计程序 |
|
1. 声明一个字符串型的变量MSG,用于存放从物联网上接收到的消息;
2. 声明三个整数型变量,分别为Bear、Monkey、Penguin,用于存放和计算3个对象的得票数;
3. 在初始化时,上传三个变量值,更新物联网中的变量值,上传之前延时1秒;
4. 判断变量MSG中的文本,如果为“S_Bear”,则让变量Bear的值增加1,并上传变量值;如果为“S_Monkey”,则让变量Monkey的值增加1,并上传变量值;如果为“S_Penguin”,则让变量Monkey的值增加1,并上传变量值。具体程序代码如下图10-5、10-6所示:
图10-5 WULink-NOVA端“网络投票器”初始化部分范例代码
图10-6 WULink-NOVA端“网络投票器”重复执行部分范例代码
| 完成以上程序后,大家都打开Scratch,一起来进行一次投票,一起来验证这个作品程序。 |
生活中的网络应用软件,都需要登录用户名和密码,这是为什么?如果要在本次的课程项目中添加用户名和密码登录的程序,应该怎么做?
我打算这么做:_______________________________________________________
______________________________________________________________________。
做的时候需要注意:____________________________________________________
______________________________________________________________________。