logo资料库

联发科 7688开发者指南_MT7688(中文版).pdf

第1页 / 共99页
第2页 / 共99页
第3页 / 共99页
第4页 / 共99页
第5页 / 共99页
第6页 / 共99页
第7页 / 共99页
第8页 / 共99页
资料共99页,剩余部分请下载后查看
译者序
1.概述
1.1 什么是MediaTek Linklt
1.2 什么是MidiaTek LinkIt Smart 7688开发平台
1.3 硬件开发包
1.4 程序设计环境
1.5 软件开发工具
1.6 开始向导
1.6.1 文档、代码例程和相关信息
1.7 更多信息
1.8 加入我们
2.硬件开发包
2.1 MediaTek MT7688AN芯片规格概述
2.2 LinkIt Smart 7688
2.2.1 关键特性
2.2.2 按钮
2.2.3 LEDs
2.2.4 天线
2.2.5 USB Host
2.2.6 USB电源
2.2.7 其他附件
2.2.8 JTAG
2.2.9 规格
2.2.10 引脚图
2.3 LinkIt Smart 7688 Duo
2.3.1 关键特性
2.3.2 按钮
2.3.3 LEDs
2.3.4 天线
2.3.5 USB Host
2.3.6 USB电源
2.3.7 其他附件
2.3.8 转接板
2.3.9 JTAG
2.3.10 规格
2.3.11 引脚图
2.4 FCC,CE和NCC认证
3.程序设计环境向导
3.1 平台操作系统
3.2 程序设计环境概述
3.3 不同开发板的程序设计模型
3.4 网络环境
3.4.1 AP模式
3.4.2 STA模式
3.5 使用C/C++编程
3.5.1 建立C/C++编程环境
3.5.2 C语言的Hello World例程
3.6 使用Python编程
3.6.1 建立Python编程环境
3.6.2 Python语言的Hello World例程
3.6.3 为Python安装额外的模块
3.7 使用Node.js编程
3.7.1 Node.js的Hello World例程
3.7.2 为Node.js安装额外的软件包
4.软件和工具
4.1 软件和工具
4.2 支持的主机环境
4.3 默认的OpenWrt包
4.4 OPKG包管理器
4.5 系统配置
4.5.1 系统配置工具
4.5.2 本地域
4.5.3 连接到Web UI
4.5.4 连接到系统控制台
4.5.4.1 使用SSH(Secure Socket Shell 安全外壳协议)
4.5.4.2 使用USB转串口线
4.6 系统配置工作
4.6.1 升级固件
4.6.2 升级启动引导程序(bootloader)
4.6.3 Wi-Fi复位
4.6.4 恢复出厂设置
4.6.5 将LinkIt Smart 7688连接到Wi-Fi热点以访问Internet
4.6.5.1 使用Web UI
4.6.5.2 使用系统控制台
4.6.6 通过Web UI查看系统信息
4.6.7 访问U盘和SD卡
4.7 文件编辑器和传输
4.7.1 在Windows系统下使用SCP复制文件
4.7.2 在OS X系统下使用SCP复制文件
4.7.3 为LinkIt Smart 7688安装Samba服务
4.7.4 Windows系统下是使用Samba复制文件
4.7.5 OS X系统下使用Samba复制文件
5.LinkIt Smart 7688的外设编程
5.1 如何使用MRAA访问LinkIt Smart 7688的外设
5.1.1 安装MRAA
5.1.2 libmraa的基本概述
5.1.3 Libmraa主要功能
5.1.4 基于mraa和Python语言的LinkIt Smart 7688 LED闪烁例程
5.1.5基于mraa和Node.js语言的LinkIt Smart 7688 LED闪烁例程
5.2 如何使用UPM访问传感器和外设
6.LinkIt Smart 7688 Duo的外设编程
6.1 安装Arduino IDE
6.2 安装硬件支持包
6.3 安装LinkIt Smart 7688 Duo串口驱动
6.4 LinkIt Smart 7688的编程模式
6.5 使用简易的UART接口编程
6.5.1 闪烁灯程序——Arduino侧
6.5.2 闪烁灯程序——Linux侧
6.6 串行Firmata协议编程
6.6.1 Python例程
6.6.2 协议
6.6.3 建立开发环境
6.6.4 PyFirmata方案
6.6.5 PyMata方案
6.6.6 Node.js例程
6.6.7 Cylon.js例程
6.6.8 更新Atmega32U4启动引导程序(Bootloader)
6.6.9 使用LinkIt Smart 7688 Duo对另一块LinkIt Smart 7688 Duo烧写启动引导程序
6.6.9.1 使用OpenWrt的AVRDUDE包烧写Bootloader
6.7 使用Arduino Yun Bridge库编程
7.如何编译生成固件和启动引导程序
7.1 编译固件
7.2 编译启动引导程序(Bootloader)
8.疑难解答
8.1 无法启动固件升级或者升级失败,为什么?
8.2 无法用浏览器打开mylinkit.local,为什么?
8.2 虚拟机无法用mylinkit.local检测到开发板,为什么?
8.4 无法使用SSH方式访问,出现一个错误“Host Identification Has Changed”。
8.5 附近有多个LinkIt Smart 7688热点时,如何确定哪一块是我的?
8.6 开发板上的flash非常慢,似乎损坏了,为什么?
8.7 为什么我的开发板由于文件系统损坏而无法启动?
8.8 如果开发板上的flash满了,如何处理?
8.9 为什么I2C设备无法运行?
8.10 为什么我的开发板在驱动伺服系统时不断重启?
MediaTek LinkIt Smart 7688 开发者指南(中文版) 版本:1.1 发布日期:2016 年 2 月 22 日
版本修订历史 版本 日期 简介 1.0 1.1 2015 年 12 月 1 日 初次发布 2016 年 2 月 22 日 更新第 6.6.5“PyMata 方案”中关于安装 Arduino PyMata 程序 的说明
目 录 译者序 ····················································································································· 1 1.概述 ······················································································································ 2 1.1 什么是 MediaTek Linklt ····················································································· 2 1.2 什么是 MidiaTek LinkIt Smart 7688 开发平台 ··························································· 2 1.3 硬件开发包 ···································································································· 2 1.4 程序设计环境 ································································································· 2 1.5 软件开发工具 ································································································· 3 1.6 开始向导 ······································································································· 3 1.7 更多信息 ······································································································· 4 1.8 加入我们 ······································································································· 4 2.硬件开发包 ············································································································· 5 2.1 MediaTek MT7688AN 芯片规格概述 ······································································ 5 2.2 LinkIt Smart 7688 ······························································································ 6 2.3 LinkIt Smart 7688 Duo ·······················································································14 2.4 FCC,CE 和 NCC 认证 ·······················································································21 3.程序设计环境向导 ···································································································22 3.1 平台操作系统 ································································································22 3.2 程序设计环境概述 ··························································································22 3.3 不同开发板的程序设计模型 ··············································································23 3.4 网络环境 ······································································································24 3.5 使用 C/C++编程 ·····························································································25 3.6 使用 Python 编程 ····························································································26 3.7 使用 Node.js 编程 ···························································································28 4.软件和工具 ············································································································30 4.1 软件和工具 ···································································································30 4.2 支持的主机环境 ·····························································································30 4.3 默认的 OpenWrt 包 ··························································································31 4.4 OPKG 包管理器 ······························································································31 4.5 系统配置 ······································································································32 4.6 系统配置工作 ································································································41 4.7 文件编辑器和传输 ··························································································48 5.LinkIt Smart 7688 的外设编程 ·····················································································54 5.1 如何使用 MRAA 访问 LinkIt Smart 7688 的外设 ······················································54 5.2 如何使用 UPM 访问传感器和外设·······································································61 6.LinkIt Smart 7688 Duo 的外设编程················································································62 6.1 安装 Arduino IDE ····························································································62 6.2 安装硬件支持包 ·····························································································62 I
6.3 安装 LinkIt Smart 7688 Duo 串口驱动 ···································································66 6.4 LinkIt Smart 7688 的编程模式 ·············································································67 6.5 使用简易的 UART 接口编程 ··············································································70 6.6 使用 Firmata 协议编程 ·····················································································72 6.7 使用 Arduino Yun Bridge 库编程 ··········································································84 7.如何编译生成固件和启动引导程序 ··············································································86 7.1 编译固件 ······································································································86 7.2 编译启动引导程序(Bootloader) ·······································································87 8.疑难解答 ···············································································································89 8.1 无法启动固件升级或者升级失败,为什么? ··························································89 8.2 无法用浏览器打开 mylinkit.local,为什么? ··························································89 8.2 虚拟机无法用 mylinkit.local 检测到开发板,为什么? ··············································90 8.4 无法使用 SSH 方式访问,出现一个错误“Host Identification Has Changed”。 ·················90 8.5 附近有多个 LinkIt Smart 7688 热点时,如何确定哪一块是我的? ································92 8.6 开发板上的 flash 非常慢,似乎损坏了,为什么? ···················································93 8.7 为什么我的开发板由于文件系统损坏而无法启动? ·················································93 8.8 如果开发板上的 flash 满了,如何处理? ······························································93 8.9 为什么 I2C 设备无法运行? ··············································································93 8.10 为什么我的开发板在驱动伺服系统时不断重启? ··················································93 II
图表目录 表 1 MT7688AN 芯片规格 ······················································································· 5 表 2 LinkIt Smart 7688 开发板的按钮 ·········································································· 7 表 3 LinkIt Smart 7688 的 Wi-Fi LED 闪烁模式 ······························································ 7 表 4 各种情景下的典型功耗 ···················································································· 9 表 5 LinkIt Smart 7688 开发板规格参数 ······································································12 表 6 LinkIt Smart 7688 开发板的按钮 ·········································································15 表 7 典型功耗 ····································································································16 表 8 LinkIt Smart 7688 Duo 开发板规格参数 ································································19 表 9 LinkIt Smart 7688 程序设计环境概览 ···································································23 表 10 操作系统支持 ·····························································································30 表 11 Linkle Smart 7688 开发平台内含的软件包 ···························································31 表 12 Web UI 和系统控制台的配置功能 ·····································································33 表 13 LinkIt Smart 7688 UART 引脚 ···········································································38 表 14 Wi-Fi 热点加密方式 ······················································································46 表 15 文件传输工具 ·····························································································48 表 16 LinkIt Smart 7688 GPIO 引脚映射 ······································································55 表 17 MCU 和 MPU 通讯接口 ·················································································70 表 18 MPU 和 MCU 的串口引脚···············································································73 图 1 LinkIt Smart 7688 开发板(仅 MPU) ··································································· 6 图 2 拆除电阻才能使用 I-PEX 接口 ··········································································· 8 图 3 USB OTG 线 ·································································································· 9 图 4 LinkIt Smart 7688 开发板背面的 JTAG 电阻···························································10 图 5 移动电阻以范围 JTAG 模式 ·············································································10 图 6 LinkIt Smart 7688 引脚图 ··················································································13 图 7 LinkIt Smart 7688 Duo 开发板(MPU+MCU) ·······················································14 图 8 LinkIt Smart 7688 Duo 开发板背面的 JTAG 电阻 ·····················································17 图 9 移动电阻以范围 JTAG 模式 ·············································································17 图 10 LinkIt Smart 7688 Duo 引脚图 ··········································································20 图 11 LinkIt Smart 7688 开发平台的程序设计模型 ·························································23 图 12 LinkIt Smart 7688 运行在 AP 模式 ·····································································24 图 13 LinkIt Smart 7688 运行在 STA 模式····································································25 图 14 连接 Linkle Smart 7688 开发板和计算机 ·····························································33 图 15 Wi-Fi LED 状态····························································································34 图 16 连接到 LinkIt_Smart_7688 AP ··········································································34 图 17 LinkIt Smart 7688 工作在 AP 模式 ·····································································35 图 18 LinkIt Smart 7688 Web UI 登录 ·········································································35 图 19 使用 Windows PuTTY 的 SSH ··········································································36 图 20 PuTTY 安全警告 ··························································································37 图 21 系统控制台 ································································································37 图 22 使用 USB 转串口线的 LinkIt Smart 7688 端口号 ···················································38 图 23 使用 USB 转串口线和 Windows 终端访问系统控制台 ············································39 图 24 固件升级按钮 ·····························································································41 III
图 25 选择固件文件 ·····························································································41 图 26 查看固件版本 ·····························································································42 图 27 固件升级过程中的 Wi-Fi LED 状态···································································42 图 28 使用 LinkIt Smart 7688 Web UI 恢复出厂设置 ······················································43 图 29 使用 Web UI 改变网络设置 ·············································································44 图 30 使用 Web UI 设置为 STA 模式 ·········································································45 图 31 LinkIt Smart 7688 STA 模式连接 Wi-Fi 热点 ·························································47 图 32 LinkIt Smart 7688 Web 上的系统信息 ·································································47 图 33 SCP 安全警告 ······························································································49 图 34 WinSCP 登录窗口 ·························································································49 图 35 使用 WinSCP 传输文件 ·················································································49 图 36 文件传输确认 ·····························································································50 图 37 Windows 下使用 Samba 传输文件 ······································································51 图 38 使用 Finder 连接 LinkIt Smart 7688 ···································································52 图 39 Mac 系统下连接 mylinkit.local 服务器 ································································52 图 40 Mac 系统下以 guest 用户连接到 mylinkit.local ······················································52 图 41 Mac Finder 中的 MyShareFloder ········································································53 图 42 LinkIt Smart 7688 软件架构 ·············································································54 图 43 建立 Node.js 应用程序的提示 ··········································································60 图 44 LinkIt Smart 7688 硬件架构 ·············································································62 图 45 在 Arduino IDE 中自定义安装硬件支持包时的 LinkIt Smart 7688 Duo 包链接 ···············63 图 46 Arduino IDE 的 Board Manager 菜单 ···································································63 图 47 LinkIt Smart 7688 硬件支持包菜单 ····································································64 图 48 在 Arduino IDE 中安装 LinkIt Smart 7688 Duo 硬件支持包 ······································65 图 49 Arduino IDE 中安装的 LinkIt Smart 7688 Duo ·······················································66 图 50 Arduino Preference 的位置 ···············································································67 图 51 安装驱动 ···································································································67 图 52 Smart 7688 Duo 硬件架构················································································68 图 53 软件架构 ···································································································68 图 54 软件架构 ···································································································69 图 55 Yun Bridge 库 ······························································································69 图 56 在 Arduino IDE 中上传程序 ············································································71 图 57 MPU 和 MCU 通讯原理图···············································································73 图 58 从 Github 复制例程代码·················································································78 图 59 使用 Arduino IDE 上传示例程序 ······································································78 图 60 使用 AVRDUDE 烧写 Bootloader ······································································84 图 61 STA 模式下查看 LinkIt Smart 7688 的 IP 地址 ·······················································90 图 62 Host ID 发生改变的警告 ·················································································90 图 63 known hosts 文件 ··························································································91 图 64 查看 LinkIt Smart 7688 的硬件地址 ···································································92 IV
译者序 2015 年 12 月 3 日,联发科技创意实验室(MediaTek Labs)宣布推出 LinkIt™ Smart 7688 开发平 台。该平台是联发科技 LinkIt 开发平台系列的最新成员,可提供多种开发环境选项来加速各种先进的 Wi-Fi 无线连接设备的开发进程,比如利用云服务的 IP 摄像头、监控设备、智能电器和无线网关。 该平台现可提供两种版本的硬件开发套件(HDK):LinkIt Smart 7688,包含一个基于 MT7688AN SOC 的微处理器单元(MPU);LinkIt Smart 7688 Duo,除 MPU 外,还包含一个微控制器单元(MCU), 并且与 Arduino 兼容。这两套开发板均支持内置 Wi-Fi、128MB RAM 和 32MB 闪存,以及具备连接 多种多样的周边设备的能力。 笔者作为物联网(IoT)DIY 爱好者,发现市面上有多家厂商提供物联网应用方案,如 AR9331、 基于全志系列 CPU 的友善之臂开发板、树莓派等。笔者没有对它们逐一尝试、无法对这些开发平台 做过多评价。笔者在对比了多种 IoT 开发平台之后,发现 LinkIt Smart 7688 作为一款入门级的产品, 对 IoT 小白来说,具有亲民的价格、专门的技术论坛,同时丰富的外设和稳定的 OS 能满足大部分的 IoT 应用。笔者在学习该开发平台后,本着互相交流学习的心态,为降低广大 DIY 爱好者的入门门槛, 把《MediaTek LinkIt Smart 7688 Developers Guide V1_1》翻译为中文版,供大家学习。 本文档中涉及大量 Linux 环境下的基础知识,由于笔者水平有限,翻译过程中难免会有所错漏, 仅作为广大 DIY 爱好者学习参考之用,一切以原版为准。如对本文档中的部分内容有疑惑或不同见 解的,可参考官方网站提供的相关资料,或与笔者联系(qzrzq@126.com),作进一步的探讨。 译者 2017 年 5 月 16 日 1
1.概述 这一章是有关 MediaTek LinkIt 开发平台的概述,介绍 MediaTek LinkIt Smart 7688 开发平台,同 时也作为本文档的内容向导。 1.1 什么是 MediaTek Linklt MediaTek LinkIt 是为可穿戴和物联网(IoT)设备原型化而设计的一系列开发平台,每个开发平 台都提供了一系列工具、硬件和相关资源,使开发人员能够涉足各种可穿戴和物联网领域。 1.2 什么是 MidiaTek LinkIt Smart 7688 开发平台 MediaTek LinkIt Smart 7688 开发平台由一个基于 Linux Wi-Fi 芯片的开发板组成,旨在实现物联 网设备的原型设计。例如应用于家庭或办公室的 Wi-Fi 安防网络摄像头和传感器,以及应用于幼儿或 长者的网络监视器以及云应用。 LinkIt Smart 7688 是一款基于 OpenWrt Linux 发行版的开放式开发平台。它提供了大量的内存和 储存空间,以满足各类应用程序开发。 该平台还可以使用 Python、Node.js 和 C 语言进行设备应用程 序开发。 在原型化过程中,平台可以利用免费的联发科云沙盒服务来存储云中的数据。联发科实验室合作 伙伴联系计划可帮助设备进入市场。 1.3 硬件开发包 LinkIt Smart 7688 开发平台提供两种开发板:  LinkIt Smart 7688:仅 MPU,有 MediaTek MT7688 驱动。  LinkIt Smart 7688 Duo:MPU 和 MCU,由 MT7688 和 Atmeag32U4 驱动。 有关开发板的详细信息,请参阅第 2 章“硬件开发包”。 1.4 程序设计环境 LinkIt Smart 7688 开发平台支持高级语言(Python 与 Node.js)和本地应用程序开发(C 语言)。 另外,LinkIt Smart 7688 Duo 上的 MCU 还能使用 Arduino API 和工具进行程序设计。 有关软件开发的详细信息,请参阅第 3 章“程序设计环境向导”。 2
分享到:
收藏