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