Java 中的颜色匹配游戏
这款颜色匹配游戏是使用 Intel® IoT Developer Kit、Intel® Edison 开发平台、云平台、API 和其他技术进行 Intel® 物联网 (IoT) 代码示例练习系列的一部分。
获取新的 Intel® IoT Developer Kit,这是一个完整的软硬件解决方案,使开发人员能够使用 Intel® Galileo 和 Intel® Edison 板卡创建令人兴奋的新解决方案。请访问 Intel® 物联网开发者专区。
引言
这款颜色匹配游戏是使用 Intel® IoT Developer Kit、Intel® Edison 开发平台、云平台、API 和其他技术进行 Intel® 物联网 (IoT) 代码示例练习系列的一部分。
通过此练习,开发人员将学习如何:
- 连接英特尔® Edison 开发平台,这是一种专为原型设计和生产物联网和可穿戴计算产品而设计的计算平台。
- 使用 Intel® IoT Developer Kit 中的 MRAA 和 UPM 与 Intel® Edison 平台 IO 和传感器存储库进行交互,Intel® IoT Developer Kit 是一个完整的硬件和软件解决方案,可帮助开发者探索物联网并实施创新项目。
- 在 Intel® System Studio IoT Edition 中运行此代码示例。Intel® System Studio IoT Edition 让您可以在基于 Intel 的物联网平台上创建和测试应用程序。
- 设置一个 Web 应用程序服务器,暴露文件和功能。
它是什么
使用 Intel® Edison 板卡,本项目可让您创建一款颜色匹配游戏。
- 游戏的用户界面通过嵌入式服务器暴露,提供颜色匹配按钮和“开始游戏”按钮。
- 开始游戏后,每个关卡都会在 Intel® Edison 板卡的 RGB LCD 屏幕上显示一个颜色序列。玩家需要点击网站上的相应按钮。
- 每个关卡,颜色序列会增加一种颜色。
- 当用户点击颜色按钮时,相同的颜色会显示在 RGB LCD 屏幕上。
- 用户点击颜色按钮时会播放不同的音调。
硬件要求
Grove* 室内环境套件,包含
- Intel® Edison 平台(带 Arduino* 分线板)
- Grove* RGB LCD
软件要求
- Intel® System Studio IoT Edition
如何设置
首先,请按照以下步骤使用 Git* 在您的计算机上克隆 Intel 物联网代码示例教程存储库
$ git clone https://github.com/intel-iot-devkit/how-to-code-samples.git
要下载 .zip 文件,请在您的 Web 浏览器中访问 https://github.com/intel-iot-devkit/how-to-code-samples,然后点击右下角的 **Download ZIP** 按钮。下载 .zip 文件后,将其解压缩,然后使用此示例目录中的文件。
将程序添加到 Intel® System Studio IoT Edition
** 以下截图来自闹钟示例,但添加程序的技术是相同的,只是源文件和 jar 文件不同。
打开 Intel® System Studio IoT Edition,它会先询问工作目录。选择一个,然后单击“确定”。
在 Intel® System Studio IoT Edition 中,选择 File -> new -> **Intel(R) IoT Java Project**
将项目命名为“ColorMatchGame”,然后单击“Next”。
现在您需要从计算机连接到您的 Intel® Edison 板卡,以便向其发送代码。为连接选择一个名称,并在“Target Name”字段中输入 Intel® Edison 板卡的 IP 地址。您也可以尝试使用“Search Target”按钮进行搜索。完成后单击“finish”。
您已成功创建了一个空项目。现在需要将源文件和配置文件复制到项目中。将 Git 存储库“src”文件夹中的所有文件拖放到 Intel® System Studio IoT Edition 中新项目的 src 文件夹。请确保覆盖之前自动生成的 main 类。
该项目使用以下外部 jar:jetty-all-9.3.7.v20160115-uber。这些可以在 Maven Central Repository 中找到。在项目根目录中创建一个“jars”文件夹,并将所有需要的 jar 复制到此文件夹中。在 Intel® System Studio IoT Edition 中,选择“jars”文件夹中的所有 jar 文件,然后右键单击 -> Build path -> Add to build path。
现在您需要添加与此特定示例相关的 UPM jar 文件。右键单击项目的根目录 -> Build path -> Configure build path。Java Build Path -> 'Libraries' 选项卡 -> 单击 "add external JARs..."
对于此示例,您将需要以下 jar:
- upm_i2clcd.jar
这些 jar 可以在 IOT Devkit 安装根路径\iss-iot-win\devkit-x86\sysroots\i586-poky-linux\usr\lib\java 找到。
连接 Grove* 传感器
您需要将 Grove* Shield 连接到 Arduino 兼容的分线板,以便将所有 Grove* 设备插入 Grove Shield。请确保将 Grove* Shield 上的微型 VCC 开关设置为 **5V**。
- 将 Grove 电缆的一端插入 Grove RGB LCD,将另一端连接到 Grove Shield 上的任何 I2C 端口。
数据存储服务器设置
可选地,您可以使用 Microsoft Azure*、IBM Bluemix* 或 AWS 部署的后端数据库,以及 Node.js* 和 Redis* 数据存储来存储此示例程序生成的数据。
有关如何设置自己的云数据服务器的信息,请访问:
https://github.com/intel-iot-devkit/intel-iot-examples-datastore
在运行项目之前准备 Intel® Edison 板卡
为了让示例运行,您需要将一些文件复制到 Intel® Edison 板卡。这可以通过 SSH 使用 SCP 完成。需要从示例存储库复制两种类型的文件:
- Jar 文件 - 项目中的外部库需要复制到“/usr/lib/java”
- Web 文件 - site_contents 文件夹内的文件需要复制到“/var/ColorMatchGame”
使用 Intel® System Studio IoT Edition 运行程序
当您准备好运行示例时,请确保已保存所有文件。
单击 Intel® System Studio IoT Edition 工具栏上的 **Run** 图标。这将在 Intel® Edison 板卡上运行代码。
程序运行时,您会看到类似以下的输出。
访问游戏
颜色匹配游戏是通过 Intel® Edison 板卡上提供的一个单页 Web 界面设置的,该界面在示例程序运行时提供。
Web 服务器运行在端口 8080
上,因此如果 Intel® Edison 板卡连接到 192.168.1.13
的 Wi-Fi*,您在同一网络上要浏览的地址是 http://192.168.1.13:8080/home
。
确定 Intel® Edison 板卡的 IP 地址
您可以通过运行以下命令来确定 Intel® Edison 板连接到的 IP 地址
ip addr show | grep wlan
您将看到类似以下的输出
3: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast qlen 1000 inet 192.168.1.13/24 brd 192.168.1.255 scope global wlan0
IP 地址显示在 inet
旁边。在上例中,IP 地址为 192.168.1.13
。
重要提示:此软件为示例软件。它不是为在任何医疗、生命支持或生命维持系统、交通系统、核系统或任何其他关键任务应用中使用而设计或 intended 的,在这些应用中,系统的故障可能导致严重的人员伤亡。该软件可能未经完全测试,可能包含错误或缺陷;它可能并非 intended 或适合商业发布。该软件未获得任何监管批准,因此可能未在某些国家或地区获得认证。