SMARTWATCH 学习手册有 C 基础 · 嵌入式从零开始
支线三 / Dart 与 Flutter App / 00

先把开发环境和第一个程序跑起来

先认识手机、电脑和手表各自运行什么,再准备工具。第一次运行只输出一句话,确认环境之后再接触页面和蓝牙。

主线无线通信和应用协议;语言篇只要求已有 C 基础。

1 · 手机端怎样接在手表后面

主线已经完成 STM32 与 CH582M 之间的串口及蓝牙桥接。手机端负责扫描、建立连接、解释消息和显示结果。界面使用 Flutter 编写,程序语言是 Dart;手机系统仍负责蓝牙设备、权限和应用安装。

链路已经在主线讲过,本支线实现手机这一端。
链路已经在主线讲过,本支线实现手机这一端。 · 教学示意

本支线首先面向 Android。普通页面可在桌面等环境练习,实际蓝牙和短信能力要在对应平台核对。先完成无需硬件的练习,再连接已经能在调试工具中通信的手表。

2 · 开发工具分别负责什么

名称这里的用途
Dart编写程序的语言及运行工具。
Flutter用 Dart 组织页面、响应操作,并构建应用的工具和库。
SDK软件开发工具包,包含开发所需的命令、库和相关文件。Flutter SDK 自带配套 Dart。
Android SDK构建 Android 应用及连接调试设备所需的工具。
编辑器编辑源代码、查看错误和启动调试,可选择 VS Code 或 Android Studio。

先按官方安装页配置 Flutter、Android 工具和设备驱动。把 Flutter 的 bin 目录加入命令查找路径后,终端才能识别 flutter 和 dart。不要在教程中复制别人的本机安装路径。

3 · 先检查,再运行

终端命令 · 查看版本、依赖和已连接设备

flutter --version
dart --version
flutter doctor
flutter devices

doctor 检查工具条件,devices 列出可运行目标。遇到缺失组件,按错误中的组件名称处理;不能用反复新建工程解决环境缺失。连接手机时,按系统设置启用开发者选项和 USB 调试,在手机上确认该电脑的调试授权。

保存为 hello.dart;运行 dart run hello.dart

void main() {
  print('Hello, SmartWatch');
}

main 是入口,print 向终端输出文字。这个程序还没有 Flutter 页面,只有一次普通程序执行。由此确认语言工具工作正常。

4 · 怎样认识工程中的文件

在独立练习目录创建工程

flutter create watch_practice
cd watch_practice
flutter run

lib/main.dart 是应用入口;pubspec.yaml 声明工程信息和依赖;test 保存自动化测试。android 是 Android 平台工程,build 是构建结果。pub 是依赖管理工具,flutter pub get 根据工程配置准备依赖。pubspec.lock 记录实际选定版本。

先运行工具生成的页面,尝试修改文字并热重载。热重载会尽量保留已有运行状态,修改初始化逻辑或平台设置后可能需要重新启动。蓝牙插件的 API 也要按锁定版本阅读,仓库当前锁定 FlutterBluePlus 1.36.8。

5 · 这条支线怎样练习

下一篇先补 Dart 语法,然后从一张静态电量页面逐步增加按钮、连续数据、协议解析与蓝牙。完整仓库 App 放在后面逐步对照,避免一开始被所有页面、订阅和协议类型淹没。

配套小应用在 tutorial/examples/flutter_watch,复制到独立练习目录后按其 README 运行。它提供模拟电量、停止清除和一项界面测试;蓝牙仍按后面的真实链路实验接入。

动手观察

记下本机 Flutter、Dart 版本;运行 hello.dart;让生成的应用显示自己的标题。分别说明哪一步需要手机,哪一步只需要电脑。

资料与代码