【版本】
当前版本号v20221116
| 版本 | 修改说明 | 
|---|---|
| v20221116 | 新增常见问题4 | 
| v20221107 | 初始化版本 | 
【任务名称】 任务1.1 安装基础开发软件
【任务目的】
- 掌握安装 JDK
 - 掌握安装 MariaDB
 
【任务环境】
- 一台运行 64 位版本的 Windows(8、10 或 11)、Linux、macOS(10.14 Mojave 或更高版本)或 Chrome 操作系统的计算机。
 - 计算机可以访问互联网。
 - 内存:至少6G
 - 硬盘:至少空余20G
 
【任务资源】
- JDK
 - MariaDB
 
【任务要求】
- 完成 JDK、MariaDB 的安装和运行
 
【任务步骤】
- 下载安装
jdk-8u321-windows-x64.exe,下文以安装JDK到D:\jdk8为例,具体请替换为你的安装路径。安装完成以后会有类似以下的目录结构。 
这里
|-如果对齐表示同级目录,如果错位表示是上面目录的下一级目录。
d:\jdk8
  |-bin/
  |-lib/
  |-include/
  |-jre/            
  |-legal/
  |-javafx-src.zip  
  |-jmc.txt
  |-src.zip
  |-COPYRIGHT
  |-release
  |-LICENSE
  |-README.html
下载安装
mariadb-10.4.13-winx64.msi。下载
HeidiSQL_11.3_64_Portable.zip,解压后,运行heidisql.exe,尝试连接数据库localhost:3306。
【任务名称】 任务1.2 构建并运行物联网云平台
【任务目的】
- 掌握物联网云平台搭建
 
【任务环境】
- 一台运行 64 位版本的 Windows(8、10 或 11)、Linux、macOS(10.14 Mojave 或更高版本)或 Chrome 操作系统的计算机。
 - 计算机可以访问互联网。
 - 内存:至少6G
 - 硬盘:至少空余20G
 - JDK 8或以上
 - MySQL 或 MariaDB
 
【任务资源】
- iot-cloud-220916.zip
 
【任务要求】
- 搭建物联网云平台

 
【任务步骤】
使用 MariaDB 数据库的
root用户执行iot-cloud-tr.sql脚本。运行脚本
0-start-iot-cloud.bat双击打开“物联网云平台首页”快捷方式,访问
http://localhost:8098/login
使用默认用户名和密码登录。
用户名:zhangsan
密码:123456
【任务名称】任务1.3 安装 MQTT 服务器
【任务目的】
- 掌握 EMQX 安装、配置和使用
 
【任务环境】
- Windows 7 或以上
 
【任务说明】
- EMQX 是基于高并发的Erlang/OTP语言平台设计,支持百万级连接和分布式集群,发布订阅模式的开源MQTT消息服务器。完整支持MQTT V3.1/V3.1.1协议规范,扩展支持WebSocket、Stomp、CoAP、MQTT-SN或私有TCP协议。官网地址
 
【任务资源】
- emqx-5.0.14-windows-amd64.tar.gz
 
【任务效果】
- EMQX 安装成功

 
【任务步骤】
EMQX 安装
下载
emqx-5.0.14-windows-amd64.tar.gz,解压到安装目录下,例如d:\emqx。进入安装目录的
bin目录下,新建一个文本文件,并命名为0-start-emqx.bat,作为 EMQX 的启动脚本。
cd d:
cd %~dp0
emqx start
- 同样在
bin目录下,新建一个文本文件,并命名为0-stop-emqx.bat,作为 EMQX 的启动脚本。 
cd d:
cd %~dp0
emqx stop
双击脚本
0-start-emqx.bat启动EMQX。MQTT 服务器默认监听在tcp://localhost:1883。输入默认用户名 admin 与默认密码 public,登录进入 Dashboard。

【任务名称】 任务1.4 构建并运行模拟智能灯项目
【任务目的】
- 掌握模拟智能灯项目搭建
 
【任务环境】
- 一台运行 64 位版本的 Windows(8、10 或 11)、Linux、macOS(10.14 Mojave 或更高版本)或 Chrome 操作系统的计算机。
 - 计算机可以访问互联网。
 - 内存:至少6G
 - 硬盘:至少空余20G
 - JDK 8或以上
 - MySQL 或 MariaDB
 
【任务资源】
- iot-bulb-220916.zip
 
【任务要求】
- 搭建物联网云平台

 
【任务步骤】
下载
iot-bulb-220916.zip,并解压。使用 MariaDB 数据库的
root用户执行iot-bulb.sql脚本。启动 Mosquitto 。
运行脚本
0-start-iot-bulb.bat双击打开
物联网智能灯首页快捷方式,访问[http://localhost:8101/](http://localhost:8101/)
【任务名称】任务1.5 安装调试 MQTTX
【任务目的】
- 掌握 MQTT 客户端 MQTTX 的安装、配置和使用
 
【任务环境】
- 一台运行 64 位版本的 Windows(8、10 或 11)、Linux、macOS(10.14 Mojave 或更高版本)或 Chrome 操作系统的计算机。
 
【任务说明】
- MQTTX是一个跨平台 MQTT 的客户端。官网地址
 
【任务资源】
- MQTTX-Setup-1.9.5-x64.exe
 
【任务效果】
【任务步骤】
下载并安装
MQTTX-Setup-1.9.5-x64.exe,启动MQTTX.exe。启动 MQTTX,新建连接。

输入 MQTT 代理地址、用户名和密码进行连接。
用户名:iotweb
密码:iotweb

- 使用
MQTTX,向/iot/cloud/9XE9VzJRT1YRfKFZ/receive主题发布(publish)以下消息内容。 
switchState 设为on 表示开灯,off 表示关灯。
- 查看智能灯项目首页状态是否发生变化。

 
【任务名称】 任务1.6 安装 Android Studio
【任务目的】
- 掌握安装Android Studio
 - 掌握 Android Studio 新建、构建项目
 
【任务环境】
- 一台运行 64 位版本的 Windows(8、10 或 11)、Linux、macOS(10.14 Mojave 或更高版本)或 Chrome 操作系统的计算机。
 - 计算机可以访问互联网。
 - 内存:至少6G
 - 硬盘:至少空余20G
 
【任务资源】
- Android Studio 2021.2.1.15(官网下载 或通过实验资源链接下载。
 
【任务要求】
- 完成 Android Studio 安装和运行
 
【任务步骤】
请按照以下步骤进行安装 Android Studio(下面统称AS)

请至少预留 10GB 硬盘空间用于安装,请尽量不要安装在C盘。

到此处AS已经安装完成,开始设置 AS。

选择自定义安装设置。

选择 JDK 的路径,AS 通常自带JDK,在 AS 安装目录的
jre目录下。
选择界面主题风格。

选择是否发送改善和统计数据给Google。

勾选
Android SDK、API 33。如果你的电脑是英特尔处理器(Intel)请勾选 Performance(Intel® HAXM)选项,可以提升 AS SDK性能。
安卓模拟器内存设置,设置为2GB或以上。

确认设置。

同意授权。

设置 SDK 的下载代理地址为电子科技大学的镜像
mirrors.dormforce.net:80,代理服务器加速下载。

配置 Android SDK的安装路径。

本课程建议勾选
Android 8(API 26),Android 10(API 29)
【任务名称】 任务1.7 导入项目和创建模拟器
【任务目的】
- 掌握 Android Studio 新建、构建项目
 
【任务环境】
- 一台运行 64 位版本的 Windows(8、10 或 11)、Linux、macOS(10.14 Mojave 或更高版本)或 Chrome 操作系统的计算机。
 - 计算机可以访问互联网。
 - 内存:至少6G
 - 硬盘:至少空余20G
 
【任务要求】
- 导入项目
iot_smart_home_init并能成功创建模拟器
 
【任务步骤】
下载
iot_smart_home_init.zip并解压。打开 Android Studio,打开
iot_smart_home_init项目。
打开设备管理器(Device Manager),创建设备(create device)

选择 Pixel 2,这是台标准1080P分辨率的手机模拟器型号。

API 级别(API Level)选择26。

选择竖屏(Portrait)。

构建项目

运行 APP(run app),发布项目应用到模拟器(Emulator)。

查看模拟器运行的 app

【常见问题】
1. gradle下载速度慢,或者下载失败。
答:
- 打开settings.gradle,添加国内阿里云的镜像地址。
 
pluginManagement {
    repositories {
        maven { url 'https://maven.aliyun.com/repository/public' }
        maven { url 'https://maven.aliyun.com/repository/jcenter' }
        maven { url 'https://maven.aliyun.com/repository/google' }
        maven { url 'https://maven.aliyun.com/repository/gradle-plugin' }
        gradlePluginPortal()
        google()
        mavenCentral()
    }
}
- 点击 Sync project with gradle files

 
2. Android Studio 构建输出控制台显示乱码。
答:
可以打开 Android Studio 安装目录,找到 bin 目录下的
studio64.exe.vmoptions。使用文本编辑器打开
studio64.exe.vmoptions,在最后增加以下代码。
-Dfile.encoding=UTF-8
3. Smart Home项目编译出现java.lang.NoClassDefFoundError: Failed resolution of: Landroid/support/v4/content/LocalBroadcastManager only on Build APK编译错误
答:
需要在项目的 gradle.properties 中加入以下设置。

android.enableJetifier=true
android.useAndroidX=true

