From 008a6b4110c934c2b75726d07f533017a1bc448b Mon Sep 17 00:00:00 2001
From: vany5921 <908744431@qq.com>
Date: Fri, 18 Sep 2020 15:56:28 +0800
Subject: [PATCH] Update faq.md
---
docs/zh_CN/faq.md | 546 ++++++++++++++++++++++++++++++++++++++++++++--
1 file changed, 526 insertions(+), 20 deletions(-)
diff --git a/docs/zh_CN/faq.md b/docs/zh_CN/faq.md
index 3b33d482..7234c278 100644
--- a/docs/zh_CN/faq.md
+++ b/docs/zh_CN/faq.md
@@ -9,7 +9,7 @@
-
Q1:不同的M5主机、摄像头Unit之间有什么区别?
+
Q1: 不同的M5主机、摄像头Unit之间有什么区别?
+
+
Q1: 在哪里可以购买M5Stack的产品?
+
+
+
-
Q2: LoRa与LoRaWAN模块有什么区别?
+
Q1: 官方的信息发布平台是那里?如何获得第一手新闻消息?
+
+
+
+
+
+
Q1: M5Stack主要的控制器有哪些?
+
+
+M5Stack的主要的控制器可以分为3大类,Core系列,Stick系列和Atom系列,未来会增加其他系列控制器。
+
+
+
+
+
+
+
Q1: M5Stack的控制器系列之间有什么区别?
+
+
+Core系列的控制器有屏幕是我们的主打系列;Stick系列屏幕上会变得较小,整体的体积小了很多,性价比高;Atom系列没有屏幕,取而代之的则是RGB灯,它的价格是最便宜的,可用作物联网终端控制设备;官网能看到
详细资料的对比
+
+
+
+
+
+
Q1: COM系列通讯模块与其他旧款通讯模块有什么区别
+
+
+ COM通讯模块主要采用SimCOM模组,模块主体采用公版设计,主要通讯模组可根据需求更换,通过拨码开关可配置串口通讯物理引脚,旧款模块模组直接焊接,无法拆卸,串口物理引脚需要手动划断,不可再次修改。
+
+
+
+
+
+
+
Q2: 不懂编程,是否可以用M5Stack产品做应用
+
+
+ 不懂编程可以使用UIFlow进行编程,但是小孩子的基本编程思维应该具备,M5Stack产品的引脚定义要知道(比如ESP32哪些引脚用了ADC会导致WiFi无法工作,哪些引脚只能输入不能输出)数据处理流程要清晰,如果想做个人认知范围外的功能,建议先自行学习相关知识(比如我想将图像保存为JPEG图片,至少你得知道JPEG文件数据格式)。
+
+
+
+
+
+
Q3: 我想做物联网应用,不知道选择哪个通讯模块
+
+
+ 确定自己的立项需求,使用哪个物联网平台,需要AT支持什么协议,数据吞吐量大小,信号覆盖率,网速要求,项目造价,后期维护成本等等问题,如果你了解清楚这些问题自然有答案。
+
+
+
+
+
+
+
Q4: LoRa与LoRaWAN模块有什么区别?
+
+
Q5: 刚拿到主机,该怎么用
+
+
+
+如果以前接触过Arduino,了解C/C++语言,请按照下面步骤进行配置,如果完全没有接触过Arduino,请移步至UIFlow
+或查看UIFlow相关书籍
+
+
+
+
+
-
Q3: M5摄像头通过 WIFI 传输图像给手机,能传输多远?
+
Q6: M5摄像头通过 WIFI 传输图像给手机,能传输多远?
@@ -46,7 +130,7 @@
-
Q4: 能否连接5G频段的Wi-Fi
+
Q7: 能否连接5G频段的Wi-Fi
@@ -64,22 +148,183 @@
-
Q1: 如何消除M5Core的扬声器噪声?
+
Q1: ESP-IDF、Arduino、UIFlow、Micropython几种编程环境有什么不同
-
在 Arduino 程序的 Setup()中执行以下语句
-
-
- dacWrite(M5STACKFIRE_SPEAKER_PIN, 0);
-
-
+
ESP-IDF属于乐鑫专有SDK底层开发,需要用户熟练掌握C/C++编程,了解ESP32内部接口定义及API,熟悉GCC、CMAKE等编译环境,主要面向产品级、消费级领域开发,对基础用户入门门槛较高,主要适合单一领域的专业用户。
+
+Arduino编程是在ESP-IDF的基础上对接口进行封装,用户无需过多关心底层实现逻辑,主要偏向于业余DIY爱好者、编程入门用户,用户只需了解基本的C/C++知识即可上手,开源资料较多,代码通用型较强,适合新手入门。
+
+MicroPython是Python语言的精简版本,主要应用于单片机,代码实时解释执行,相较于C/C++的代码写法,MicroPython更容易理解,适用于对运行速度没有苛刻要求的场景,适合熟悉Python语言的用户。
+
+UIFlow是M5Stack推出的一款可视化编程平台,内部集成了与M5Stack产品相关的编程模块,支持离线与在线编程,支持MicroPython编程语言,可视化操作用户使用门槛进一步降低,用户只需构建程序逻辑,简单设置参数即可完成编程操作。
+
+
+
+
+
+
+
+
Q2: 官方的github网站是什么?
+
+
+
最新的库或者例子我们都会第一时间在这里更新的github
+
+
+
+
+
+
Q2: 官方例程在哪里下载?
+
+
+
这是我们的主要的例程集中的github仓库,其中罗列了主要的外设例程,欢迎参考
+
+
+
+
+
+
+
+
Q4: Arduino上传不成功
+
+
+ 确认开发板型号、波特率、串行端口配置无误,擦除Flash再次上传,如果依然上传失败,请联系客服。
+
+
+
+
+
+
Q4: 如何使用Burner烧录固件?
+
+
+
在我们的官网UIFlow的教程中有如何下载固件的教程
-
Q2: 编写的程序里用到了按键,但是按过一次之后就再也不起作用
+
Q5: ESP-IDF的API
+
+
+
+
+
+
Q6: ESP-IDF如何编译烧录固件
+
+
+
+
+
Q7: Arduino内如何使用蓝牙、如何用HTTP、如何使用SD、如何使用WebServer、如何使用FreeRTOS等
+
+
+
+
+
Q8: V-Function传出的数据我不想用UIFlow接收,告诉我怎么获取
+
+
+ UIFlow内集成的功能针对UIFlow体系内的产品使用,如果希望通过Arduino或其他平台产品获取数据请了解一下相关平台的JSON格式解析。
+
+
+
+
+
+
Q9: 从哪里获取资料学习
+
+
+
硬件只是实现的载体,C/C++、Arduino、Python相关的网站都可以学习,关于M5Stack产品自身硬件的使用方法可以参考产品文档和示例
+
+
+
+
+
+
+
Q9: ATOM Echo、ATOM Lite、ATOM Matrix程序通用吗
+
+
+ 三款主机的内部引脚定义不同,ATOM Lite与ATOM Matrix大部分程序是通用的,ATOM Echo定位是智能音箱,底部引脚被I2S占用,理论上无法与其他主机共用相同程序。
+
+
+
+
+
+
+
Q10: 为什么我的Arduino代码编译报错了
+
+
+如果是官方提供的程序,上传前已经编译验证通过,如果使用的官方程序编译报错,有可能是因为库版本或板管理引起冲突导致,可以到GitHub提交issue或者联系客服。如果是自行编写的程序,请仔细检查函数声明、类引用是否存在重复定义或类型不匹配的问题。
+
+
+
+
+
+
Q11: V-Function传出的数据我不想用UIFlow接收,告诉我怎么获取
+
+
+ UIFlow内集成的功能针对UIFlow体系内的产品使用,如果希望通过Arduino或其他平台产品获取数据请了解一下相关平台的JSON格式解析。
+
+
+
+
+
+
+
Q11: 使用MPU6886得到的Picth、Roll、Yaw不准确
+
+
+ Pitch、Roll、Yaw是通过IMU获取的加速度与角速度实时解算出来的,与算法的准确性有很大关系。现阶段提供的程序没有对算法进行优化。
+
+
+
+
+
+
Q12: 这个视频里的项目很有意思,能不能给源码
+
+
+ 所有素材来源出自用户手中,有的用户用来课上教学,有的用户用来生产周边产品,有的用户用于出版教程,你所见到的并非用户都会无偿提供代码,能提供的代码都可以在GitHub中通过搜索筛选找到。部分项目在M5Burner里已经提供,可以直接烧录。
+
+
+
+
+
+
+
Q18: Core2与Core的示例程序是否通用
+
+
+ 由于接口引脚定义有所改动,程序是不能直接使用的,需要在程序中修改相应的引脚。
+
+
+
+
+
+
Q14: 编写的程序里用到了按键,但是按过一次之后就再也不起作用
使用按键和喇叭需要在执行后添加M5.update()来重新响应。
@@ -92,8 +337,213 @@
+
+
-
Q3: UIFlow的Micropython与官方主线Micropython有什么区别
+
Q16: M5Stack设备支持中文显示吗?
+
+
+ 在Arduino环境中支持GB2312编码显示,参考Display中的hzk16示例,UIFlow中可直接显示。
+
+
+
+
+
+
+
Q17: 如何获得更多的API?
+
+
+ M5官方提供的参考API仅限于M5硬件封装的功能,软件应用的库比如WIFI,HTTP等不属于提供的范畴,可参考其他ESP32和Arduino库,使用上是通用的。
+
+
+
+
+
+
+
Q17: Burner中的第三方固件如何使用和修改?
+
+
+ 我们的Burner除了会提供UiFlow的固件之外还会搜寻github上一些有意思的固件,这些固件大多都是不需要或者需要很少的硬件依赖就可以做成的,可以提供给大家下载娱乐。如果想去自己下载修改内容,可以点击固件版本旁边的github的LOGO即可跳转到相应的github主页,在那里可以下载
+
+
+
+
+
+
+
常见硬件问题
+
+
+
+
Q18: M5Stack可以挂几个I2C
+
+
+ ESP32内部有两条I2C总线,每条I2C总线理论上最多支持外挂127个设备,其中主机已经占用一条I2C总线,因此还有一条I2C总线可供用户自定义。
+
+
+
+
+
+
+
Q13: 如何消除M5Core的扬声器噪声?
+
+
+
在 Arduino 程序的 Setup()中执行以下语句
+
+
+ dacWrite(M5STACKFIRE_SPEAKER_PIN, 0);
+
+
+
+
+
+
+
+
Q18: Core2与其他模块兼容吗
+
+
+ Core2的BUS母座插孔深度与其他主机不同,如果你是新用户以前没有购买过早期模块,不必担心,都是兼容的,只要引脚之间没有冲突就可以堆叠使用。
+
+
+
+
+
+
+
Q18: DC Motor Module怎么连接乐高电机
+
+
+ DC Motor Module支持乐高NXT、EV3系列的伺服电机,不支持乐高PF电机,由于乐高伺服电机使用RJ12接口,因此需要使用M5Stack特制的连接线进行连接。
+
+
+
+
+
+
Q11: StickC与Atom的HY2.0-4P接口输入数字信号没反应
+
+
+ StickC与Atom在使用HY2.0-4P接口时,需要对相应引脚进行上拉操作,否则无信号输出。
+
+
+
+
+
+
+
+
+
Q18: StickC/StickC Plus的IR最远发射距离多少
+
+
+
+
+
+
Q18: Atom GPS Kit为什么GPS只有TX没有RX
+
+
+ Atom引脚有限,为了兼容Atom Matrix的使用,没有接入GPIO21/25引脚,通常也很少会使用RX对GPS配置,如果有特殊需求,可以将GPS模块单独配置,如果只在AtomLite上使用,用户可以自行飞线RX至GPIO21/25引脚。
+
+
+
+
+
+
Q18: Core2屏幕下方3个圆点要怎么使用
+
+
+ 屏幕下方的圆点只是镭射图案,道理与安卓手机屏幕下方三个按键是一样的,它是触摸屏的一部分,只需要设置触摸热区即可映射为虚拟按键,整块屏幕任何位置都可映射为虚拟按键,具体使用参考Core2 Example内的Touch示例。
+
+
+
+
+
+
Q4: FACE II底座的LED Bar如何点亮
+
+
+ FACE II底座的LED Bar使用方法与M5GO 底座使用相同,引脚为GPIO15,可参考M5Stack Fire的程序。
+
+
+
+
+
+
Q4: RS485在使用时必须连接4根线吗
+
+
+ RS485只需要连接3根(GND、TX、 RX),12/24V引脚仅提供为M5Stack设备供电的目的,省掉USB供电接线。如连接非M5Stack设备请务必确认设备电压,防止烧毁,一般建议只接3根线。
+
+
+
+
+
+
+
Q4: 多个电池可以堆叠吗
+
+
+ 可以多个堆叠,电池并联总容量增加,电压不变,但是由于每个电池在使用过程中放电不是均衡的,因此电池之间存在电压差,可能会引起电池倒充的现象,长期使用会减少电池寿命,因此不建议长期堆叠使用。
+
+
+
+
+
+
+
Q4: 有些产品使用了STM32的芯片,可以给它编程吗
+
+
+ 产品预留了烧录测试点,用户可以自行编程,由于STM32固件不开源,自行编程意味着使用者放弃了保修,因此不建议用户自己编程。
+
+
+
+
+
+
+
+
Q4: StickC的HAT有些带有电池,如何给电池充电
+
+
+ 只需将StickC插入HAT,给StickC供电即可向HAT电池供电
+
+
+
+
+
+
+
+
Q18: ESP32有几个串口
+
+
+ ESP32一共有3个硬件串口,通过初始化串口(RX/TX)可以将指定的GPIO引脚映射为串口引脚,其中一个硬件串口(GPIO1/GPIO3)已经被USB接口(UART0)占用,剩余两个可供用户连接串口外设,UART1被系统默认设为(GPIO16/GPIO17),UART2在系统内未指定,用户自由映射。
+
+
+
+
+
+
+
UIFlow常见问题
+
+
+
+
+
Q18: UIFlow如何使用?
+
+
+
关于UIFlow的使用教程在我们的官网有整理,同时我们还在B站发布相关视频教程
+
+
+
+
+
+
+
Q18: UIFlow如何添加图片?
+
+
+ 我们的UIFlow目前支持jpg格式的图片,png图片我们还将在后续的更新中加入进去。我们可以提供过转换格式的软件或者是jpg图片制作软件获得一张你要显示的图片(50KB以下)。当我们的控制器连接了网络并连接上了服务器后然后通过运行左边的manage图标,点击添加图片后选择jpg图片,然后等待上传至控制器。通过左边栏的Image拉到屏幕上后点开它就能选择我们上传的图片了
+
+
+
+
+
+
+
Q15: UIFlow的Micropython与官方主线Micropython有什么区别
UIFlow是基于主线Micropython的二次封装,集成了大量M5Stack官方库,在使用上UIFlow更加简单容易理解,同时也大部分兼容主线的API写法。
@@ -102,24 +552,58 @@
-
Q4: M5Stack设备支持中文显示吗
+
Q15: UIFlow如何建立自己的块?
-
在Arduino环境中支持GB2312编码显示,参考Display中的hzk16示例,在Micropython环境下受限于执行速度和UTF-8文件大小,暂不支持。
+
我们的UIFlow的贝塔版本有一个供给玩家自己建立模块的功能。刚开始使用的时候我们需要点击User Manual去仔细阅读手册。然后打开Create *.m5b file去制作模块,并点击Download下载下来,然后点击Open *.m5b就可以使用了
-
-
Q5: 如何获得更多的API
+
Q15: Core怎样快速进入wifi模式?
- M5官方提供的参考API仅限于M5硬件封装的功能,软件应用的库比如WIFI,HTTP等不属于提供的范畴,可参考其他ESP32和Arduino库,使用上是通用的。
+ 开机的时候按住中间按键即可快速进入wifi模式
+
+
Q15: UIFlow运行的文件会被保存在哪里?
+
+
+ UIFlow下运行和保存的micropython文件会保存在控制器的temp.py中。不同的是运行的文件是直接运行不会切换模式,而下载的文件则是改变成App模式后重启,我们的App模式也是开机运行运行temp.py文件。离线的m5f文件会保存在您浏览器下载的位置
+
+
+
+
+
+
Q15: UIFlow支持多线程吗?
+
+
+
对于UIFlow来说它本身基于多线程做的,为了防止用户在使用多线程的过程中在原则上不当使得UIFlow无法正常工作,对用户不开放多线程部分,想DIY的用户可以通过micropython官方多线程文档自行编写
+
+
+
+
+
+
Q15: UIFlow的变量可以重名吗?
+
+
+ 由于图形化转换成micropython的技术问题,目前为止我们的变量都是全局变量,所以变量之间不能重名,后续可能会有所调整
+
+
+
+
+
+
Q15: 自己用UiFlow编写Core2画板程序为什么手松开绘图痕迹就消失了?
+
+
+ core2目前为止使用了LVGL和普通GUI绘图,你的绘图可能使用的是普通GUI的API,但是触摸使用的是LVGL的API,所以LVGL的触摸触发了重绘会覆盖掉之前的绘图痕迹,使用**高级**->**附加代码**中的模块添加“lv.obj.set_click(lv.scr_act(), False)”代码即可关闭重绘事件
+
+
+
常见产品售后问题
@@ -231,6 +715,18 @@
+
+
Q8: 向V-Training发送照片但是接收的邮件并未包含模型文件
+
+
+
仔细检查邮件中的内容,训练错误将在邮件中指出,发送的照片中只允许包含指定的两个文件夹,照片的最低数量和分类有要求,如果存在隐藏文件会导致训练失败
+
+ V-Training详细使用教程
+
+
+
+
+
Q9: 烧录程序时出现MD5文件错误
@@ -263,9 +759,19 @@
+
+
Q12: 怎么更改GPS设置
+
+
+
一般来说,GPS使用默认设置即可,如果有特殊需求更改设置,可以使用TTL转USB转换器直接与GPS连接,通过U-Blox Center进行配置,具体软件使用说明,参照U-Blox官网U-center使用指南。
+
+
+
+
+
-
Q12: 使用HAT-Thermal时,屏幕显示带有图像波纹干扰
+
Q13: 使用HAT-Thermal时,屏幕显示带有图像波纹干扰
@@ -281,7 +787,7 @@
-
Q13: MacOS版本升级高版本后,M5StickC无法正常烧录程序。
+
Q14: MacOS版本升级高版本后,M5StickC无法正常烧录程序。