Part 1 - 搭建开发环境

2021-11-07
7分钟阅读时长

【版本】

当前版本号v20221116

版本修改说明
v20221116新增常见问题4
v20221107初始化版本

【实验名称】 实验1.1 安装基础开发软件

【实验目的】

  • 掌握安装 JDK
  • 掌握安装 MariaDB

【实验环境】

  • 一台运行 64 位版本的 Windows(8、10 或 11)、Linux、macOS(10.14 Mojave 或更高版本)或 Chrome 操作系统的计算机。
  • 计算机可以访问互联网。
  • 内存:至少6G
  • 硬盘:至少空余20G

【实验资源】

【实验要求】

  • 完成 JDK、MariaDB 的安装和运行

【实验步骤】

  1. 下载安装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
  1. 下载安装mariadb-10.4.13-winx64.msi

  2. 下载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

【实验资源】

【实验要求】

  • 搭建物联网云平台

【实验步骤】

  1. 使用 MariaDB 数据库的root用户执行iot-cloud-tr.sql脚本。

  2. 运行脚本0-start-iot-cloud.bat

  3. 双击打开“物联网云平台首页”快捷方式,访问http://localhost:8098/login

  4. 使用默认用户名和密码登录。

用户名:zhangsan
密码:123456

【实验名称】1.3 安装 Mosquitto

【实验目的】

  • 掌握 Mosquitto 安装、配置和使用

【实验环境】

  • Mosquitto
  • MQTTX

【实验说明】

  1. Eclipse Mosquitto 是一个实现了5.0、3.1.1、3.1 版本的 MQTT 协议的开源的消息代理中间件(Message Broker)。它的轻量化特性使它适用于从低功耗单板机到服务器等设备。官网地址

【实验资源】

【实验效果】

  • Mosquitto 安装成功

【实验步骤】

  1. 下载mosquitto.zip,解压到安装目录下,例如d:\mosquitto

  2. 使用文本编辑器打开mosquitto.conf,配置启用用户名和密码访问。

  • (1)在约513行找到
#allow_anonymous false
  • 修改为以下代码,禁用匿名访问
allow_anonymous false
  • (2)在约531行找到
#password_file
  • 修改为以下代码,指定pwfile文件用于保存用户名和密码
password_file pwfile
  1. 使用cmder进入mosquitto的安装目录d:\mosquitto,运行以下命令创建用户iotweb。密码输入2次iotweb
cp pwfile.example pwfile
mosquitto_passwd.exe -b pwfile iotweb iotweb
  1. mosquitto的安装目录,与mosquitto.exe 的同一级目录下,创建一个mosquitto的启动脚本0-start-mosquitto.bat
cd d:
cd %~dp0
mosquitto.exe -c mosquitto.conf -v

  1. 双击脚本0-start-mosquitto.bat启动mosquitto。MQTT 服务器默认监听在tcp://localhost:1883

【实验名称】 实验1.4 构建并运行模拟智能灯项目

【实验目的】

  • 掌握模拟智能灯项目搭建

【实验环境】

  • 一台运行 64 位版本的 Windows(8、10 或 11)、Linux、macOS(10.14 Mojave 或更高版本)或 Chrome 操作系统的计算机。
  • 计算机可以访问互联网。
  • 内存:至少6G
  • 硬盘:至少空余20G
  • JDK 8或以上
  • MySQL 或 MariaDB

【实验资源】

【实验要求】

  • 搭建物联网云平台

【实验步骤】

  1. 下载iot-bulb-220916.zip,并解压。

  2. 使用 MariaDB 数据库的root用户执行iot-bulb.sql脚本。

  3. 启动 Mosquitto 。

  4. 运行脚本0-start-iot-bulb.bat

  5. 双击打开物联网智能灯首页快捷方式,访问[http://localhost:8101/](http://localhost:8101/)

【实验名称】1.5 安装调试 MQTTX

【实验目的】

  • 掌握 MQTT 客户端 MQTTX 的安装、配置和使用

【实验环境】

  • 一台运行 64 位版本的 Windows(8、10 或 11)、Linux、macOS(10.14 Mojave 或更高版本)或 Chrome 操作系统的计算机。

【实验说明】

  1. MQTTX是一个跨平台 MQTT 的客户端。官网地址

【实验资源】

【实验效果】

【实验步骤】

  1. 下载并安装MQTTX-Setup-1.7.3-x64.exe,启动MQTTX.exe

  2. 启动 MQTTX,新建连接。

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

用户名:iotweb
密码:iotweb

  1. 使用MQTTX,向/iot/cloud/9XE9VzJRT1YRfKFZ/receive主题发布(publish)以下消息内容。

switchState 设为on 表示开灯,off 表示关灯。

  1. 查看智能灯项目首页状态是否发生变化。

【实验名称】 实验1.6 安装 Android Studio

【实验目的】

  • 掌握安装Android Studio
  • 掌握 Android Studio 新建、构建项目

【实验环境】

  • 一台运行 64 位版本的 Windows(8、10 或 11)、Linux、macOS(10.14 Mojave 或更高版本)或 Chrome 操作系统的计算机。
  • 计算机可以访问互联网。
  • 内存:至少6G
  • 硬盘:至少空余20G

【实验资源】

【实验要求】

  • 完成 Android Studio 安装和运行

【实验步骤】

  1. 请按照以下步骤进行安装 Android Studio(下面统称AS)

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

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

  4. 选择自定义安装设置。

  5. 选择 JDK 的路径,AS 通常自带JDK,在 AS 安装目录的jre目录下。

  6. 选择界面主题风格。

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

  8. 勾选 Android SDKAPI 33。如果你的电脑是英特尔处理器(Intel)请勾选 Performance(Intel® HAXM)选项,可以提升 AS SDK性能。

  9. 安卓模拟器内存设置,设置为2GB或以上。

  10. 确认设置。

  11. 同意授权。

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

  13. 配置 Android SDK的安装路径。

  14. 本课程建议勾选 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并能成功创建模拟器

【实验步骤】

  1. 下载iot_smart_home_init.zip并解压。

  2. 打开 Android Studio,打开iot_smart_home_init项目。

  3. 打开设备管理器(Device Manager),创建设备(create device)

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

  5. API 级别(API Level)选择26。

  6. 选择竖屏(Portrait)。

  7. 构建项目

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

  9. 查看模拟器运行的 app

【常见问题】

1. 解决Android Studio无法获取SDK的方法

答:

  • 安装完Android Studio后首次打开,需要连接Google官网下载Android SDK,但是dl.google.com通常无法访问,可以通过修改host 的方法指向可用的服务器。

  • 文件路径:C:\Windows\System32\drivers\etc\hosts 添加一行:

203.208.40.40 dl.google.com

其中IP地址 203.208.40.40 并不是一个固定的值,你可以通过测速网站获取对应的IP:http://ping.chinaz.com/dl.google.com

2. gradle下载速度慢,或者下载失败。

答:

  • 打开settings.gradle,添加国内阿里云的镜像地址。
pluginManagement {
    repositories {
        maven { url 'https://maven.aliyun.com/nexus/content/groups/public/' }
        maven { url 'https://maven.aliyun.com/nexus/content/repositories/jcenter' }
        maven { url 'https://maven.aliyun.com/nexus/content/repositories/google' }
        maven { url 'https://maven.aliyun.com/nexus/content/repositories/gradle-plugin' }
        gradlePluginPortal()
        google()
        mavenCentral()
    }
}
  • 点击 Sync project with gradle files

3. Android Studio 构建输出控制台显示乱码。

答:

  • 可以打开 Android Studio 安装目录,找到 bin 目录下的 studio64.exe.vmoptions

  • 使用文本编辑器打开studio64.exe.vmoptions,在最后增加以下代码。

-Dfile.encoding=UTF-8

4. 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