第二章 开发环境搭建:工欲善其事,必先利其器

说实话,做嵌入式开发这么多年,我最大的体会就是——环境搭不好,后面全是坑。尤其是鸿蒙这种分布式系统,工具链比单片机复杂得多。今天咱们就把开发环境这一关彻底打通。

2.1 安装DevEco Studio

DevEco Studio是华为基于IntelliJ IDEA定制的IDE。说白了,它就是咱们写鸿蒙代码的主战场。

下载与安装

  • 去华为开发者官网下载DevEco Studio 3.1及以上版本
  • Windows用户直接双击exe,一路Next就行
  • macOS用户注意:M1/M2芯片要选ARM版本
⚠️ 注意: 安装路径不要带中文!不要带空格!我曾经有个学员因为路径里有个“项目”两个字,编译死活过不去,折腾了两天。

配置Node.js和ohpm

安装完成后,第一次启动会提示配置Node.js和ohpm(鸿蒙包管理器)。我个人习惯用默认路径,但如果你C盘空间紧张,记得改到D盘。

# 验证安装是否成功
node -v
ohpm -v

看到版本号就对了。如果报错,多半是环境变量没配好。嗯,Windows用户记得重启一下终端。

2.2 配置OpenHarmony SDK

SDK就是开发用的“积木盒”。鸿蒙的SDK分两种:HarmonyOS SDK(华为手机用)和OpenHarmony SDK(开源版)。咱们做智能家居设备,主要用OpenHarmony SDK。

SDK下载步骤

  1. 打开DevEco Studio,点击Configure → Settings
  2. 找到SDK Manager,选择OpenHarmony标签
  3. 勾选你需要的API版本(我建议从API 9开始,生态最成熟)
  4. 点击Apply,等它下载完
💡 小技巧: 下载SDK时别干等着。你可以先去喝杯咖啡,或者看看下一节的代码示例。我第一次下载API 9时,在公司内网用了40分钟——因为防火墙把部分镜像源给拦了。如果你也遇到下载慢,试试切换成国内镜像源。

配置设备开发包

做智能家居设备,还得额外装些东西:

  • Hi3861开发板支持包(Wi-Fi类设备常用)
  • 轻量系统内核(LiteOS-M)
  • 驱动框架组件

这些在SDK Manager里都能勾选。我建议全选,反正硬盘不差这点空间。万一后面用到某个组件,再回头补装就麻烦了。

2.3 创建第一个Hello World工程

好了,环境搭完了,咱们写个Hello World试试水。你想想看,这就像新买了一把螺丝刀,总得拧个螺丝试试手感吧?

新建工程

  1. 点击Create Project
  2. 选择“Empty Ability”(空模板)
  3. Project Type选“Application”
  4. Device Type选“Smart Home”(智能家居)
  5. Language选“JS”或“C++”(看你的偏好)

我个人习惯用JS写应用层,C++写驱动层。但第一个工程嘛,用JS最省事。

编写代码

创建完成后,找到 pages/index/index.hml 文件,把内容改成:

<div class="container">
  <text>Hello, OpenHarmony!</text>
  <text>我的第一个智能家居设备</text>
</div>

然后在 pages/index/index.css 里加点样式:

.container {
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
}

text {
  font-size: 30px;
  color: #007dff;
}
🔑 关键点: 鸿蒙的UI框架用的是类Vue语法。如果你写过Vue,上手会非常快。如果没写过也别慌——说白了就是标签+样式,跟写网页差不多。

2.4 模拟器使用

做智能家居开发,最头疼的就是硬件调试。每次烧录都要接开发板、插线、等编译……太慢了。所以模拟器就是咱们的救命稻草。

启动模拟器

  1. 在DevEco Studio顶部工具栏,找到“Device Manager”
  2. 点击“Emulator”标签
  3. 选择“Smart Home”设备模板
  4. 点击“Launch”启动

我第一次用模拟器时,等了半天没反应。后来发现是没装HAXM(Intel的硬件加速工具)。你如果也遇到启动卡顿,去BIOS里把虚拟化技术打开,再装个HAXM就好了。

模拟器能做什么?

  • 跑UI界面,看布局对不对
  • 测试按键交互、页面跳转
  • 调试网络通信(模拟器自带虚拟网卡)

模拟器不能做什么?

  • 不能测试GPIO、I2C、SPI等硬件接口
  • 不能测试真实的传感器数据
  • 不能测试功耗
⚠️ 重要提醒: 模拟器跑得再顺,也得上真机测一遍。我曾经有个项目,模拟器上一切正常,一烧到Hi3861上,屏幕闪得跟迪斯科似的——原来是刷新率没适配好。所以,模拟器只是辅助,别全信它。

运行Hello World

在模拟器启动后,点击DevEco Studio右上角的绿色三角按钮(Run)。等几秒钟,你应该能在模拟器屏幕上看到蓝色的“Hello, OpenHarmony!”字样。

看到没?就这么简单。你第一个鸿蒙智能家居程序,跑起来了。

💡 我的习惯: 每次新建工程,我都会先在模拟器上跑一遍Hello World。这能快速验证环境有没有问题。如果Hello World都跑不通,后面写再多代码也是白搭。

好了,环境搭建就到这里。下一章咱们开始写真正的智能家居逻辑——控制一盏灯。你想想看,从Hello World到控制一盏灯,这中间其实就隔着一层API的距离。