FAQ

您可以在这里找到许多关于联发科技 LinkIt Smart 7688 开发者常问的问题与解答,请参考以下分类:

关于开发平台

什么是联发科技 LinkIt™ Smart 7688 开发平台?

LinkIt Smart 7688 是个基于 OpenWrt Linux 开源系统的物联网开发平台,它适合开发家居与办公设备例如 Wi-Fi 安全摄像头,感应器等, 以及儿童与老人实时监控器和云端应用设备。

该开发平台提供慷慨的内存和存储量以支持功能丰富的应用开发,还提供 Python, Node.js 和 C 语言编程功能。

我能用 LinkIt Smart 7688 平台开发什么设备?

LinkIt Smart 7688 基本上是一个有无线功能的 Linux 计算机。 因基于 OpenWrt 开源系统以及支持 Python, Node.js 和 C 语言功能,您能创建的设备将不仅限于网关,网桥, 视频流,自动家居,还有更多应用等您开发。

LinkIt Smart 7688 和 LinkIt Smart 7688 Duo 开发板有什么差别?

这两个开发板都运行 OpenWrt 操作系统并提供同样的开发环境。 唯不同于周边接口例如 GPIO, I2C, SPI, PWM 等。 在 LinkIt Smart 7688 板子上, I/O 接脚是直接从 MT7688AN 分出来的,但是 LinkIt Smart 7688 Duo 板的 I/O 功能是由 MCU 分出来的,因此能提供更精准控制。 除此之外,7688 Duo 还支持 Arduino 环境来控制 MCU 并可利用接脚来创建 MT7688AN 与 MCU 之间的通信。 请参见 LinkIt Smart 7688 开发者指南 章节 6 ,“LinkIt Smart 7688 Duo 周边编程”, 以了解更多细节。

什么是联发科技 MT7688AN?

联发科技 MT7688AN 是一个高集成系统芯片支持 1T1R 802.11 b/g/n Wi-Fi radio, 575/580MHz MIPS® 24KEcTM CPU, 1-port fast Ethernet PHY, USB2.0 host, PCIe, SD-XC, I2S/PCM 和多种低速 Inputs 和 Outputs 例如 GPIO, I2C, SPI, PWM 等。请参见 MT7688AN Datasheet 以了解更多细节.

LinkIt Smart 7688 开发平台支持 Smart Connection 吗?

不支持。 Smart Connection 功能不包含在 LinkIt Smart 7688 运用的 OpenWrt 版。 如果您需要更多关于 Smart Connection 请 联系我们

LinkIt Smart 7688 开发平台支持 HomeKit 吗?

不支持。 HomeKit 功能不包含在 LinkIt Smart 7688 操作的 OpenWrt 版。 如果您需要更多关于 HomeKit 信息请联系我们

什么是联发科技 AP SOC SDK?

联发科技 AP SOC SDK 是一个由本公司维持并使用在联发科技 MT76xx 系列的 Linux 版 SDK。 LinkIt Smart 7688 运用的 OpenWrt 提供较新和标准化的 Linux kernel。

LinkIt Smart 7688 开发平台支持 eCos 吗?

不支持。 LinkIt Smart 7688 HDK 仅支持 OpenWrt。 如果您需要支持 eCos,并且已经是联发科技授权客户,请使用 eService 提出需求。 若您还有其他 MT7688 上商务的需求,请联系我们

MT7688AN 和 MT7688A 有什么差别?

它们是同一个东西。 在芯片组 Datasheet 里, MT7688AN 是一个正式名称。

什么是 MT7688KN 而它与 MT7688AN 有什么不同?

MT7688KN 与 MT7688AN 有不同的芯片封装。 MT7688KN 封装包含 8MB DDR1 DRAM, 不支持 SD 卡和初级路由器应用。 请参考 MT7688AN Datasheet 以了解更多细节。

什么是 MT7620 而它与 MT7688AN 有什么不同?

MT7628 是 MT7620 的下一代产品。它提供更多周边 I/O 种类并且比 MT7620 更低功耗。

什么是 MT7628 而它与 MT7688AN 有什么不同?

MT7628 系列与 MT7688 系列是接脚兼容的。 但是 MT7628 有个 2T2R 天线,而 MT7688 仅支持 1T1R 天线。

什么是 Ralink?

Ralink Technology 是一家提供 Wi-Fi 芯片组的公司于 2011 年被联发科技并购. MT76xx 系列继承了一些 Ralink RT2xxx/RT3xxx 系列之架构。

有没有厂商或者其他开发者运用  LinkIt Smart 7688 的实在 示例 ?

您可以在我们的应用实例页面查看厂商和开发者社区使用 LinkIt 开发板所建立的产品和项目。

硬件功能

LinkIt Smart 7688 与 7688 Duo 开发板提供哪些 I/O 接口?

该两个板子兼提供 Ethernet, USB Host, micro SD, I2C, PWM, SPI, GPIO 和 UART。 之外 LinkIt Smart 7688 板还提供 I2S 而 LinkIt Smart 7688 Duo 板则提供 ADC。

LinkIt Smart 7688 开发板功耗是多少?

请查看 LinkIt Smart 7688 开发者指南 章节 2.2.6, “USB 电源” 以了解更多功耗信息以及细节。

SD 卡能用来启动板子吗?

不可以。 MT7688AN 不支持 SD 卡启动。

LinkIt Smart 7688 开发平台支持 hardware AES 吗?

支持。 LinkIt Smart 7688 Wi-Fi 驱动使用 hardware AES 引擎来发送数据。

开发板上的 LED (Wi-Fi) 闪烁代表什么呢?

Wi-Fi LED 代表开发板状态包含系统初始程序, 韧体更新,无线连接模式与状态。 请参见 LinkIt Smart 7688 开发者指南之图15, “Wi-Fi LED 状态” 和章节 2.2.3, “LED” 以了解更多细节。

什么是 MT7688AN IoT 与 gateway 模式?

MT7688AN 默认模式是网关模式,在该模式下它呈现的是一个 5-port Wi-Fi gateway。 但是因为 LinkIt Smart 7688 运行模式是 IoT, 那么 MT7688AN 就需要切换成 IoT 模式以便使用周边 I/O 接脚, 因为这些接脚与 5-port Ethernet 接脚是共享使用的。

什么是 Wi-Fi AP 与 Station 模式?

当 LinkIt Smart 7688 开发板在 AP 模式时,它将表现成一个能让其他设备由无线连接的 AP。 请使用 Wi-Fi 连接板子来做配置和初步设置动作。

当板子在 Station 模式时,它将表现成一个 Wi-Fi client 设备并且能连接一个 AP 来访问另一个网络,例如 internet。

LinkIt Smart 7688 支持哪几种 Wi-Fi 模式?

LinkIt Smart 7688 无法同时支持 AP 和 Station 模式,如果您的固件是版本是 v0.9.4 或者更早的。

另外也不支持监控 (Monitor) 模式, 以及 WPA-enterprise 和 WPA2-enterprise 加密协议。

 OpenWrt 默认不支持 WEP 因为有安全问题。

LinkIt Smart 7688 开发板能同时支持 AP 和 Station 模式吗?

不能。 LinkIt Smart 7688 开发板一次只能支持一种状态:AP 或者 Station 模式。

要如何于 AP 和 Station 模式之间作切换?

有两种方法在 LinkIt Smart 7688 AP 与 Station 模式之间做切换,那就是:

  • 从 Web UI 里作切换。
  • 由 OpenWrt UCI 命令作切换。 请参考 LinkIt Smart 7688 开发者指南 之章节 4.6.5, “将 LinkIt Smart 7688 连接 AP 以访问 internet ”。

当 LinkIt Smart 7688 开发板在 Station 模式时,要如何找到它的 IP address?

搜索板子 IP address 的步骤是:

  • 确认开发板与您的 host PC 是在同一个网络下。
  • 确认您的 host PC 支持 mDNS。 请参见LinkIt Smart 7688 开发者指南章节4.5.2, “Local Domain” 以了解更多细节。
  • 打开 Terminal 并输入:ping mylinkit.local 就可以看见板子的 IP address 了。

Wi-Fi 驱动是开源吗?

MT7688AN 的开源 Wi-Fi 驱动正在开发中,写此份文档时,二进制 Wi-Fi 驱动已经发布。

板子上的 flash 速度比平常慢,而且好像快坏掉了,这是为什么呢?

板子内建的 SPI NOR flash 有其写入寿命 ( 约十万次 ) 而且其档案系统的操作并非不可中断 (atomic) 的,以至于若 flash 过于频繁的读写或者是在写入途中遇到断电等状况,很有可能会造成 flash 或是档案系统的损毁。因此,建议频繁的 I/O 存取可改用 /tmp RAM disk ( 断电后会消失 ) 或是 将档案系统延伸至 SD 上,都可提供更快速且 稳定的 I/O 操作。

档案系统好像损毁了 / 开机时橘色 LED 一直亮着无法正常开机,发生什么事了?

首先,可透过 更新固件 的方式进行修复。

由于 mtd 层实质上是一个 block device 并且没有提供 atomic I/O 操作,若一个 I/O 操作 ( 特别是写入 ) 进行到一半时被中断 ( 例如意外的断电 ) ,那么档案系统很有可能就会损毁。因此,当你想要将 LinkIt Smart 7688 关机时,不建议直接拔除 USB 线或是使用其他直接断电的操作,否则将会有档案系统损毁进而无法开机的现象发生。标准做法为:想要将系统关机时,先至命令列 ( 透过 SSH 或是 UART ) 中输入 reboot 或是 poweroff 的指令 * ,让系统将所有尚未完成的 I/O 操作完成。等到这一步骤完成后,你会看到板上的橘色 LED 闪烁并亮起准备进行开机程序时,就可以安全地将系统断电。

 * OpenWrt 并无提供 shutdown 这个指令,而且 poweroff 指令与 reboot 指令都是相同的行为 ( 亦即重开机 ) 。

为什么我的板子无法开机了?

请参考上题,板子上的档案系统可能已经损毁了。

我的 Wi-Fi SSID 显示 LinkIt_Smart_7688_E17628 而不是 LinkIt_Smart_7688_(MAC address) 含有真实 MAC 地址之最后 3 bytes。 为什么呢?

在非常特殊的状态下,SSID 默认值之尾会显示 E17628 而不是真实 MAC 地址之最后 3 bytes。 您可以运行出厂设置 (factory reset) 来恢复正确含有 MAC 地址的 SSID。

LinkIt Smart 7688 支持高速 USB 主机(host) 设备吗?

支持。 LinkIt Smart 7688 开发平台固件版本 v0.9.3 和更高版支持高速 USB 主机设备。它能探测连接到 USB 主机的 USB 2.0 从设备。

LinkIt Smart 7688 有 FPU 吗?

没有。 MT7688AN 没有一个浮点数运算硬件 (Floating Point Unit hardware)。  

I2S 音频播放有什么限制吗 ?

LinkIt Smart 7688 不支持 Mono单声道播放 (1 channel)。 支持的采样率和数据宽度高达192kHz / 24-bit。

我要如何获取更多关于 LinkIt Smart 7688 GPIO 信息?


我们建议使用 GPIO 的方法是使用 sysfs (https://www.kernel.org/doc/Documentation/gpio/sysfs.txt)。

如果您想使用 API,, 我们建议使用 LinkIt Smart 7688 提供的 libmraa。  


若您对寄存器相关信息感兴趣,在您clone OpenWrt  sources后您可以在 /openwrt/target/linux/ramips/patches-3.18下面获取到GPIO相关patches的代码。通过这些patches,您将了解到这些GPIO相关的文件是放在linux内核的什么地方,以及如何让linux内核支持MT7688 GPIO功能及对应的寄存器信息。

另一个好的入口点是我们的pinmux切换命令的实现: https://github.com/MediaTek-Labs/linkit-smart-7688...master/mtk-linkit/src/pinmux.c

同样也可以参考在 LinkIt Smart 7688 开发资源 下面的 Datasheet。

我要如何搜索到 Wi-Fi 网络?

您可以在 console 上使用这个命令来搜索: iwinfo ra0 scan。

软件开发

我需要准备什么来开始用 LinkIt Smart 7688 开发板?

请准备以下对象以备使用 LinkIt Smart 7688 开发板:

  • 一个无线笔记本电脑或者智能手机来连接,LinkIt Smart 7688 开发板,如此才能使用 Web UI 来配置开发板。
  • 一条 micro-USB type-B 线和一个 USB 电源为板子提供电源。
  • 一个 Wi-Fi 网络为板子提供 internet。

建议利用一个 micro SD 卡来扩大内闪存储空间,因为开发板内闪存写入周期有限。

接下来您还可能发觉以下对象有帮助:

  • 一条 OTG (On the Go) 连接线以便连接,USB Type A 接口设备至 LinkIt Smart 7688 开发板的 USB host (micro B type) 接口。
  • 一个 USB drive,以便当作另一种更新韧体以及系统启动之方法。
  • 一条UART 至 USB cable 以便访问,Linux 终端。

在哪里可以下载 LinkIt Smart 7688?

您可以在 LinkIt Smart 7688 下载 页面里下载最新的韧体,系统启动以及 OpenWrt SDK 和工具链。

为什么 LinkIt Smart 7688 Duo COM port 在 Arduino IDE 1.6.5 里会一直改变呢?

这个问题在 Arduino IDE 1.6.5 已经熟知并且在 Arduino 议题 Serial Port selected disconnects after upload 有相关讨论。

您可以采用 Arduino IDE 1.6.4 来避免该问题或者编程一个新的 Arduino 系统启动器,请参见 LinkIt Smart 7688 开发者指南 章节 6.6.8, 6.6.9 或 6.6.10 以了解如何编程系统启动器。

如何找到系统韧体以及启动器源始码呢?

您可以在 GitHub linkit-smart-7688-feed repository 找到韧体源始码。

系统启动器源始码在 GitHub linkit-smart-7688-uboot repository

我可以使用哪几种编程语言和环境来为 LinkIt Smart 7688 开发软件和应用呢?

您可以使用 Python, Node.js 和 C 语言来开发 LinkIt Smart 7688 软件和应用. C 进程需要 Linux 或 Mac OS X 环境来编译,而 LinkIt Smart 7688 工具链在写该文档时不支持 Windows, 因此您将需要在 Windows 系统上安装虚拟机以便编译 C 进程。

我可以使用 C/C++ 编程吗? 有没有任何限制?

您可以使用 C/C++ 编程软件。 在 Windows 操作系统下您需要安装虚拟机以便在 Linux 或 Mac OS X 环境里运行编译工具链,因为 LinkIt Smart 7688 编译工具链在写该文档时不支持 Windows。

什么是 UPM 和 MRAA?

MRAA 是一种开源项目提供与 Python 和 Node.js 绑定的 C/C++ 程序库,旨在启用 Linux 平台的 I/O 界面。MRAA 支持结构化 API,这代表接口名称以及号码与您的开发板相配。

UPM 是一组由 MRAA 编程的感应器和模式驱动库,请参见以下官方网站了解更多细节。

什么是 Firmata?

Firmata 是一个 MCU 与 MPU 之间的通信协议。 至今许多Firmata 实行普及化因为它的弹性很高,因此对熟悉 Python, Node.js 或 C 语言编程的开发者来说是一种方便,他们能选择语言来编程 MPU 软件,然后使用 Firmata 来运行 MPU 与 MCU 之间的通信而不必再替 MCU 编程软件完成该通信。

什么是 Bridge 程序库?

Bridge 程序库是 Arduino Yún 采用的一种 MCU 与 MPU 的通信机制。 LinkIt Smart 7688 Duo 支持 Arduino Yún Bridge 程序库让开发者们以熟悉的环境创建项目。 请参见 Arduino Yún Bridge 程序库以了解更多细节。

我能写入 MCU 内闪存多少次呢?

不建议写入 MCU 内闪存太多次, 因为 NOR 闪存没有磨损保护的 MTD 层,不支持核 I/O 操作而且写入周期寿命有限 (约 100,000 周期)。

在开发过程中遇见困难时哪里可以找到更多信息或协助?

如果您在开发或使用开发板过程中遇见困难或问题,请见 联发科技 LinkIt Smart 7688 开发者指南中的疑难杂症解答章节,里面有许多常见问题与解决方法供您参考。

如果您在指南里未找到答案,您还可以到 LinkIt Smart 7688 论坛里搜索相关信息。 在那里您能看见其他开发者常遇见的问题以及专家解答,如果您有新的问题也请发帖子在论坛上让联发科技创意实验室专员回复。

我能自己编程 Linkit Smart 7688 和 Duo 的 OpenWRT image 吗?

可以。请点击链接并依照指令来编程OpenWrt image : Build the firmware from a source code

我要如何修改默认调试波特率 (debug baud rate)?

您可以使用以下命令: 

stty -F /dev/ttyS2 115200 

请参考 OpenWrt WiKi 

修改固件波特率 – Linux 端:  

取得固件源代码后,请修改文件 intarget/linux/ramips/dts/LINKIT7688.dts。

在文件里找到这行:bootargs = "console=ttyS2, 57600"; 
将它修改成您需要的波特率后重新构建(build) 固件。 

修改启动引导程序 波特率

取得启动引导程序源代码后,打开 include/configs/rt2880.h。 

找到定义行:#define CONFIG_BAUDRATE 57600 

将它修改成您需要的波特率后重新构建(build)启动引导程序。警告: 更新启动引导程序之前请阅读 LinkIt Smart 7688 开发者指南以深入了解启动引导程序构建方法,因为若您更新开发板会启动引导程序失败,将会永久的无法启动开发板。

我要如何交叉编译 LinkIt Smart 7688 软件?

您将需要使用交叉编译器来建立 C/C++ binaries 给 LinkIt Smart 7688。我们提供一个 OpenWrt SDK。 

请依照以下课程步骤来建立一个可以使用 opkg 命令来安装一个 C/C++ ipk 文件。 

查看课程细节: C/C++ Programming

我要如何搜索到 Wi-Fi 信号?

您可以使用这个 console 命令来搜索无线信号: iwinfo ra0 scan。

当我编译自己的固件时,遇到 Wi-Fi 驱动与 Linux 内核版本不匹配的问题?

目前只提供 OpenWrt Chaos Calmer 上特定 Linux 内核版本的 Wi-Fi 驱动库。请参考论坛上的 相关讨论 来设定编译流程。

硬件开发

我能设计自己的硬件来使用 LinkIt Smart 7688 吗?

可以。 LinkIt Smart 7688LinkIt Smart 7688 Duo 提供硬件参考设计让您下载开发板原理与布局图。 还有芯片 Datasheet 供您下载。

如何更新开发板韧体?

请下载最新韧体然后用 LinkIt Smart 7688 Web UI 或者一个 USB drive 更新韧体。 请参见LinkIt Smart 7688 开发者指南章节 4.6.1, “更新韧体”了解更多细节。

我应该在更新韧体之前备份数据吗?

是的,因为当系统运行韧体更新时,所有开发板内用户数据以及系统配置信息将被删除。

如何使用 USB drive 来刷 (flash) 韧体至 LinkIt Smart 7688 开发板上?

刷韧体至 LinkIt Smart 7688 开发板的步骤是:

  • 韧体文档 (lks7688.img) 存至一个 USB drive 的根目录 (root directory)。
  • 将 USB drive 插入开发板。
  • 按下 Wi-Fi 和 MPU (Reset) 按键,然后放开 MPU Reset 按键但持续按住 Wi-Fi 按键至少 5 秒钟再放开。 当 Wi-Fi LED 熄灯时,请看以下图以了解 LED 状态细节。请勿按住,Wi-Fi 按键超过 20 秒钟,因为这将让板子进入系统启动模式并删除所有用户数据。


Flash 固件之 LED 状态

购买 LinkIt Smart 7688 开发板

哪里能购买 LinkIt Smart 7688 HDK 呢?

您可以在 Seeed Studio 网站上购买:

关于 LinkIt Smart 7688 物联网产品上架

我要如何将我的 LinkIt Smart 7688 物联网产品上架呢?

联发科技创意实验室合作伙伴服务能协助您找到原型设计室(例如 Seeed Studio), 原始设计商 (ODM) 和设备制造商以提供您将物联网产品商业化所需要准备的步骤。如果您需要该服务,请联系我们

LinkIt Smart 7688 有哪些认证?

LinkIt Smart 7688 和 LinkIt Smart 7688 Duo 有 FCC (US), CE (Europe) 和 NCC (Taiwan) 认证。 请参考: 产品页面。

当我在开发过程中遇见难题时,在那里可以找到更多信息或帮助?

如果您在开发过程中遇到问题,联发科技 LinkIt Smart 7688 开发者指南内包含故障排除,这章节有介绍如何解决和纠正一些常见的问题。

如果该指南无法帮助您解决问题,那么还有LinkIt Smart 7688 HDK 的论坛。 在那里,您也许可以找到(通过与您的问题相关的搜索)与其他人遇到过同样的问题和解决方法。 如果您还是找不到一个解决方法,那么请您使用论坛向创意实验社区提出这个问题。

LinkIt Smart 7688 开发平台故障排除

使用 LinkIt Smart 7688 连接的设备无法与之间通讯,为什么?  

固件版本 v0.9.3 不支持这个功能。

I2S 音频无法播放有,是什么问题?

LinkIt Smart 7688 不支持 Mono (1 channel)。 支持的采样率和数据宽度高达192kHz / 24- bit。

使用 LinkIt Smart 7688 连接的设备,相互之间无法进行通讯,为什么?

固件版本 v0.9.3 不支持这个功能。

当处于 Station 模式时要如何找到 LinkIt Smart 7688 开发板的 IP 地址?

要找到板子的 IP 地址步骤如下:

  • 确认您的 PC 主机和开发板是在同一个网络下面。
  • 确认您的 PC 主机支持 mDNS。请参考 LinkIt Smart 7688 开发者指南 章节 4.5.2, "Local Domain" 以了解细节。
  • 打开一个 terminal console 然后输入 ping mylinkit.local ,您就可以看到开发板的 IP 地址。

无法在 SD 卡上挂载 root FS,为什么?

MT7688 不支持直接用 SD 卡启动, 但是 OpenWrt 支持一个功能(extroot),可以挂载外部存储的 root fs。 因此您可以使用一个 USB 存储器或者一个 SD卡插在 LinkIt Smart 7688 上作启动程序。如果您无法成功的挂载 root FS,请确认您的SD卡 不是 处于NTFS 文件格式。

细节部分请查看 “如何在SD 卡上挂载 root FS" 课程: Mounting the root FS on an SD card

LinkIt Smart 7688 无法正确的启动,是什么问题呢?

确认您板子的固件和启动引导程序是最新版。您可以在LinkIt Smart 7688开发者指南找到固件和启动引导程序更新步骤。

如果您的LinkIt Smart 7688 开发板电源是由外部供应,请确认有提供足够的电源 (3.3V) ,这样才能让开发板正常工作。

我的 SPI Program 无法在 LinkIt Smart 7688 上运行,为什么

在固件版本 v.0.9.3,SPI 有些限制,那就是 SPI 的最高 I/O buffer 容量只有16 bytes。如果一个数据传输超过了16 bytes,那么就会产生错误信息。

另外,此开发板仅支持 half-duplex 模式,不支持 Full-duplex 模式。

我无法连接上隐藏的 SSID,为什么?

当前的固件版本 v0.9.3 不支持这个功能。

在 Arduino IDE 上传 sketch 时,哪一个才是正确的 COM 端口?

请确认您已经作了以下动作:

  • 安装 LinkIt Smart 7688 Duo board support package(板子支持包) 和驱动。
  • 打开 Arduino IDE - > Tools -> Port 然后点选 COMX (LinkIt Smart 7688 Duo )。
  • 如果您更新了板子的固件并安装了新的LinkIt Smart 7688 Duo board support package(板子支持包) ,请重新启动 Arduino IDE。

若您还是无法在 Arduino IDE -> Tools 下面看见正确的 COM 端口,请尝试重新启动您的计算机,因为端口可能卡住了。

在 Arduino IDE 编译 sketch 时,选择 LinkIt Smart 7688 Duo 作为目标板,会有错误信息,为什么?

请尽量使用我们建议的Arduino IDE 版本 (这些版本上是有测试并验证过LinkIt Smart 7688 Duo的)。还有,请确认您安装了最新版的LinkIt Smart 7688 Duo board support package (板子支持包)。