ソースを参照

Merge pull request #140 from SummerGGift/update_docs_1113

【更新】micropython 文档
朱天龙 (Armink) 6 年 前
コミット
b332d8d806
100 ファイル変更0 行追加1067 行削除
  1. 0 112
      docs/01-Getting_Started_Guide.md
  2. 0 44
      docs/02-Basic_Knowledge.md
  3. 0 92
      docs/03-MicroPython_libraries.md
  4. 0 49
      docs/08-Packages_Management.md
  5. 0 8
      docs/09-Net_Programming_Guide/01-introduction.md
  6. 0 32
      docs/09-Net_Programming_Guide/02-HttpClient.md
  7. 0 55
      docs/09-Net_Programming_Guide/03-HttpServer.md
  8. 0 73
      docs/09-Net_Programming_Guide/04-MQTT.md
  9. 0 203
      docs/09-Net_Programming_Guide/05-Cloud-OneNET.md
  10. 0 128
      docs/MicroPythonPlug-in/MicroPython_IDE_User_Manual.md
  11. 0 271
      docs/MicroPythonPlug-in/README.md
  12. BIN
      docs/MicroPythonPlug-in/assets/1564458085802.png
  13. BIN
      docs/MicroPythonPlug-in/assets/1564458498973.png
  14. BIN
      docs/MicroPythonPlug-in/assets/1564459093450.png
  15. BIN
      docs/MicroPythonPlug-in/assets/1564459162459.png
  16. BIN
      docs/MicroPythonPlug-in/assets/1564469643183.png
  17. BIN
      docs/MicroPythonPlug-in/assets/1564471861527.png
  18. BIN
      docs/MicroPythonPlug-in/assets/1564476786308.png
  19. BIN
      docs/MicroPythonPlug-in/assets/1564476854928.png
  20. BIN
      docs/MicroPythonPlug-in/assets/1564480655732.png
  21. BIN
      docs/MicroPythonPlug-in/assets/1564481108595.png
  22. BIN
      docs/MicroPythonPlug-in/assets/1564541185482.png
  23. BIN
      docs/MicroPythonPlug-in/assets/1564561581470.png
  24. BIN
      docs/MicroPythonPlug-in/assets/auto_complete-1564540931096.gif
  25. BIN
      docs/MicroPythonPlug-in/assets/auto_complete.gif
  26. BIN
      docs/MicroPythonPlug-in/assets/check_example.png
  27. BIN
      docs/MicroPythonPlug-in/assets/check_example_en.png
  28. BIN
      docs/MicroPythonPlug-in/assets/connect_device-1564540898442.gif
  29. BIN
      docs/MicroPythonPlug-in/assets/connect_device.gif
  30. BIN
      docs/MicroPythonPlug-in/assets/create_blank_prj.gif
  31. BIN
      docs/MicroPythonPlug-in/assets/create_demo_prj.gif
  32. BIN
      docs/MicroPythonPlug-in/assets/demo_express.png
  33. BIN
      docs/MicroPythonPlug-in/assets/direct_run_files_en.gif
  34. BIN
      docs/MicroPythonPlug-in/assets/download_file_floder.gif
  35. BIN
      docs/MicroPythonPlug-in/assets/download_file_floder_en.gif
  36. BIN
      docs/MicroPythonPlug-in/assets/en_connect_board.gif
  37. BIN
      docs/MicroPythonPlug-in/assets/en_create_blank_project.gif
  38. BIN
      docs/MicroPythonPlug-in/assets/en_run_example_files.gif
  39. BIN
      docs/MicroPythonPlug-in/assets/en_run_snippets.gif
  40. BIN
      docs/MicroPythonPlug-in/assets/en_select_powershell.gif
  41. BIN
      docs/MicroPythonPlug-in/assets/example_code-1564541003790.png
  42. BIN
      docs/MicroPythonPlug-in/assets/example_code.png
  43. BIN
      docs/MicroPythonPlug-in/assets/install_python_plug.png
  44. BIN
      docs/MicroPythonPlug-in/assets/install_python_plug_en.png
  45. BIN
      docs/MicroPythonPlug-in/assets/open_dir.gif
  46. BIN
      docs/MicroPythonPlug-in/assets/pandora_lcd.jpg
  47. BIN
      docs/MicroPythonPlug-in/assets/run_code_snippet-1564540982864.gif
  48. BIN
      docs/MicroPythonPlug-in/assets/run_code_snippet.gif
  49. BIN
      docs/MicroPythonPlug-in/assets/run_example-1564541024332.gif
  50. BIN
      docs/MicroPythonPlug-in/assets/run_example.gif
  51. BIN
      docs/MicroPythonPlug-in/assets/run_example_code.png
  52. BIN
      docs/MicroPythonPlug-in/assets/run_lcd.gif
  53. BIN
      docs/MicroPythonPlug-in/assets/select_powershell.gif
  54. BIN
      docs/MicroPythonPlug-in/assets/sync_files.gif
  55. BIN
      docs/MicroPythonPlug-in/assets/sync_files_en.gif
  56. BIN
      docs/MicroPythonPlug-in/assets/uart_connect-1564540918166.gif
  57. BIN
      docs/MicroPythonPlug-in/assets/uart_connect.gif
  58. BIN
      docs/MicroPythonPlug-in/assets/usb_connect.gif
  59. BIN
      docs/MicroPythonPlug-in/assets/use_repl.gif
  60. 0 0
      docs/assets/08_direct_run_files.gif
  61. BIN
      docs/assets/IoT_Board.png
  62. 0 0
      docs/assets/add_main_stack.png
  63. 0 0
      docs/assets/check_memory.png
  64. BIN
      docs/assets/check_pandora_examples.png
  65. 0 0
      docs/assets/config_runtime.png
  66. 0 0
      docs/assets/mount_fs.png
  67. 0 0
      docs/assets/select_mpy_package.png
  68. BIN
      docs/figures/add_app.png
  69. BIN
      docs/figures/change_code.png
  70. BIN
      docs/figures/change_pub.png
  71. BIN
      docs/figures/change_server_fuction.png
  72. BIN
      docs/figures/choose_mqtt.png
  73. BIN
      docs/figures/clone_micropython_lib.png
  74. BIN
      docs/figures/cmd1.png
  75. BIN
      docs/figures/cmd2.png
  76. BIN
      docs/figures/cmd3.png
  77. BIN
      docs/figures/code_review1.png
  78. BIN
      docs/figures/code_review2.png
  79. BIN
      docs/figures/copy_abc_2_sd.png
  80. BIN
      docs/figures/copy_upip_2_sd.png
  81. BIN
      docs/figures/copy_webser_othres_dir.png
  82. BIN
      docs/figures/copy_www_dir.png
  83. BIN
      docs/figures/get_product_id.png
  84. BIN
      docs/figures/get_test.png
  85. BIN
      docs/figures/import_abc.png
  86. BIN
      docs/figures/import_start.png
  87. BIN
      docs/figures/install_umqtt_simple.png
  88. BIN
      docs/figures/install_urequests.png
  89. BIN
      docs/figures/look_data.png
  90. BIN
      docs/figures/modify_mbedtls.png
  91. BIN
      docs/figures/open_ussl.png
  92. BIN
      docs/figures/open_web_page.png
  93. BIN
      docs/figures/push_test.png
  94. BIN
      docs/figures/python_grammer_function.png
  95. BIN
      docs/figures/python_hello.png
  96. BIN
      docs/figures/reg_code.png
  97. BIN
      docs/figures/reg_done.png
  98. BIN
      docs/figures/reload_2_board_run.png
  99. BIN
      docs/figures/run_main.png
  100. BIN
      docs/figures/run_python.png

+ 0 - 112
docs/01-Getting_Started_Guide.md

@@ -1,112 +0,0 @@
-# RT-Thread MicroPython 快速上手
-
-## 开始使用 MicroPython
-
-> **注意**:RT-Thread MicroPython 需要运行在 **RT-Thread 3.0** 版本以上。
-
-### 选择合适的 BSP 平台
-
-RT-Thread MicroPython mini 版本占用资源最大不超过:
-
-- 1、ROM : 190KB
-- 2、RAM :  8KB
-
-常见的许多开发板都可以运行 MicroPython,如 `stm32f10x` 、`stm32f40x` 、`stm32f429-apollo`、`imxrt1052-evk`  、`iot-camera` 等。 
-
-### MicroPython 软件包的安装
-
-- MicroPython 软件包可以通过 env 工具在线下载获得。在下载 MicroPython 软件包前,建议使用 `pkgs --upgrade` 命令更新软件包列表,并且在配置版本时勾选 `latest` 版本,如图:
-
-![elect_micropytho](./figures/select_micropython.png)
-
-- 使用 env 下载 MicroPython 软件包的方法请参考: [`RT-Thread env 工具使用手册`](https://www.rt-thread.org/document/site/rtthread-development-guide/rtthread-tool-manual/env/env-user-manual/)
-
-### 选择开发环境
-
-- 目前 MicroPython 支持三种开发环境,分别为 `MDK / IAR / GCC`,选择合适的开发环境,使用 env 工具将 MicroPython 软件包开启后,需重新生成工程,再进行编译、下载。
-
-### 运行 MicroPython
-
-- 在 Finsh/MSH 命令行内输入 `python` 即可进入 MicroPython 的交互命令行 REPL(Read-Evaluate-Print-Loop),可在终端看到如下界面:
-
-![elect_micropytho](./figures/run_python.png)
-
-使用 `Ctrl-D` 或输入 `quit()` 以及 `exit()`  即可退出 REPL ,回到 RT-Thread Finsh/MSH。
-
-## MicroPython 基本功能 
-### Python 语法与内建函数 
-
-#### 使用 python 交互命令行 
-
-- MicroPython 是 Python 3 编程语言的一种精简而高效的实现,语法和 Python 3 相同,并带有丰富的内建函数,使用 MicroPython 交互命令行即可运行 Python 代码:
-
-![elect_micropytho](./figures/python_hello.png)
-
-#### 交互命令行的粘贴模式
-
-- `MicroPython`  比一般的 python 交互环境多了一个特别的**粘贴模式**,可以一次粘贴输入多行 python 代码。
-- 在命令行提示符状态下,按下 `Ctrl-E` 组合键,就会出现提示:`paste mode; Ctrl-C to cancel, Ctrl-D to finish` 。粘贴需要运行的代码后,按下 `Ctlr-D` 即可退出粘贴模式,同时输入的代码也会自动执行。
-- 程序正在执行时,如果想取消,可以使用 `Ctrl-C`。
-
-输入代码:
-
-```python
-for i in range(1,10):
-    print(i)
-```
-
-执行效果如下:
-
-![elect_micropytho](./figures/python_grammer_function.png)
-
-### MicroPython 内建模块
-
-- MicroPython 提供丰富的内建模块用来完成相关的程序功能。同时 RT-Thread  也提供了 `rtthread` 模块用来返回系统运行相关的信息。
-- 以 `rtthread` 和 `time` 模块为例,调用方式如下:
-
-![elect_micropytho](./figures/use_buildin_module.png)
-
-!!! tip "提示"
-     默认下载的 MicroPython  软件包为 mini 版本,为 RT-Thread 推出的最小版本的 MicroPython ,如果想使用更多的 MicroPython 模块,可以在 menuconfig 配置项中打开更多的模块选项。
-
-## MicroPython 例程
-
-通过 MicroPython 可以用非常简单的方式来控制开发板的硬件资源,下面用两个例子来说明:
-
-以下例程运行在 `i.MX RT1050 开发板 `上,运行之前需要开启 RT-Thread  `Pin 设备`功能。
-
-### 闪烁灯
-
-- i.MX RT1050 开发板中: [第 52 号 pin](https://github.com/RT-Thread/rt-thread/blob/8ed3470d2a485c49ec4f5d4a5ec53e94edf7a2c8/bsp/imxrt1052-evk/drivers/drv_pin.c#L105) 为 LED D18,与 phy 复位引脚共用
-
-```python
-import time
-from machine import Pin
-
-LED = Pin(("LED1", 52), Pin.OUT_PP)          #将第52号 Pin 设备设置为输出模式
-while True:
-    LED.value(1)
-    time.sleep_ms(500)
-    LED.value(0)
-    time.sleep_ms(500)
-```
-
-针对自己的开发板修改引脚号,将以上脚本使用 3.1.2 章节介绍的**粘贴模式**输入,即可看到 LED 灯按照指定的频率闪烁。使用 `Ctrl-C` 可以取消当前正在运行程序。
-
-### 按键灯
-
-- i.MX RT1050 开发板中: [第 125 号 pin](https://github.com/RT-Thread/rt-thread/blob/8ed3470d2a485c49ec4f5d4a5ec53e94edf7a2c8/bsp/imxrt1052-evk/drivers/drv_pin.c#L184) 为 SW8
-
-```python
-from machine import Pin
-
-led = Pin(("LED1", 52), Pin.OUT_PP)
-key = Pin(("KEY", 125), Pin.IN, Pin.PULL_UP) #将第125号 Pin 设备设置为上拉输入模式
-while True:
-    if key.value():
-        led.value(0)
-    else:
-        led.value(1)
-```
-
-针对自己的开发板修改引脚号,使用**粘贴模式**输入以上脚本,即可通过按键 KEY 控制 LED 灯的亮灭。

+ 0 - 44
docs/02-Basic_Knowledge.md

@@ -1,44 +0,0 @@
-# RT-Thread MicroPython 基础知识
-
-## 运行 python 文件
-
-在 MicroPython 上运行 Python文件有以下要求:
-
-- 系统内使用了 `rt-thread` 的文件系统。
-- 开启 `msh` 功能。
-
-符合以上两点,就可以使用 `msh` 命令行中的 `python` 命令加上 `*.py` 文件名来执行一个 Python文件了。
-
-## 术语表
-
-### board
-
-  开发板,通常这个术语用来表示以一个特定的 `MCU` 为核心的开发板 。它也可以被用来表示移植 MicroPython 到一个特定的开发板上,也可以表示像 `Unix` 移植这样没有开发板的移植。
-
-### CPython
-
-  `CPython` 是 Python 编程语言的一种实现,是最被人们所熟知和使用的一种。然而它只是许多种实现中的一种(其中包括 `Jython、IronPython、PyPy、 MicroPython` 等)。由于没有正式的 Python 语言规范,只有 `CPython` 文档,在 Python 语言本身和 `Cpython` 这种实现之间画出一条界限并不容易。这同时也给其他方式的实现留下了更多的自由。比如 MicroPython 做了许多和 `Cpython` 不一样的事情,同时仍然成为 Python 语言的一种实现。
-
-### GPIO
-
-  通用输入/输出。控制电子信号最简单的方法。通过 `GPIO` 用户可以配置硬件信号引脚为输入或者输出,并设置或者获取其数字信号值(逻辑  '0' 或 '1')。 MicroPython 使用抽象类  [`machine.Pin`](04-Hardware_Control_Module/02-machine-Pin.md)  来访问 `GPIO`。
-
-### interned string
-
-  由其唯一的标识而不是其地址引用的字符串。因此,可以用他们的标识符而不是通过内容快速地比较内部字符串。`interned` 字符串的缺点是插入操作需要时间(与现有 `interned` 字符串的数量成正比,也就是说会随着时间的推移耗时越来越久),而用于插入 `interned` 字符串的空间是不可回收的。当某个 `interned` 字符串被应用需求(作为关键字参数)或者对系统有益(可以减少查找的时间)时,就会被 MicroPython 的编译器和运行环境自动生成。由于上面的缺点,大多数字符串和输入/输出操作都不会产生 `interned` 字符串。
-
-### MCU
-
-  微控制器,也称单片机,通常资源比成熟的计算机系统要少的多,但是体积更小,也更便宜,功耗更低。MicroPython 被设计的足够小,并且优化到可以运行在一个普通的现代微控制器上。
-
-### micropython-lib
-
-  MicroPython 通常是单个的可执行/二进制文件,只有很少的内置模块。没有广泛的标准库可以用来和  `Cpython` 相比。与 `Cpython` 不同的是 MicroPython 有一个相关但是独立的项目 [`micropython-lib`](https://github.com/micropython/micropython-lib),它提供了来自 `CPython` 标准库的许多模块的实现。然而这些模块大部分需要类似于 `POSIX` 的环境,只能在 MicroPython 的 `Unix` 移植上工作。安装方法与 `Cpython` 也不同,需要使用手动复制或者使用 `upip` 来安装。由于 `RT-Thread` 操作系统提供了很好的 `POSIX` 标准支持,所以 [`micropython-lib`](https://github.com/micropython/micropython-lib) 中很多模块可以在 `RT-Thread MicroPython` 上运行。
-
-### stream
-
-  也被称为文件类对象,一种对底层数据提供顺序读写访问的对象。`stream` 对象实现了对应的接口,包括` read()`, `write()`, `readinto()`, `seek()`, `flush()`, `close()`  等方法。在 MicroPython 中,流是一个重要的概念,许多输入/输出对象都实现了流接口,因此可以在不同的上下文中一致地使用。更多关于 MicroPython 流的信息,可以参考  [uio](03-Basic_Module/05-uio.md) 。
-
-### upip
-
-  字面意思是微型的 `pip` 工具。由 `CPython` 启发而开发的 MicroPython 包管理程序,但它要小的多,功能也更少。`upip` 可以在 MicroPython 的 `Unix` 移植上运行。由于 `RT-Thread` 操作系统提供了很好的 `POSIX` 标准支持,所以 `upip` 也可以运行在 `RT-Thread MicroPython` 上。使用 `upip` 工具可以在线下载 MicroPython 的扩展模块,并且自动下载其依赖的模块,为用户扩展 MicroPython 功能提供了很大的便利。 

+ 0 - 92
docs/03-MicroPython_libraries.md

@@ -1,92 +0,0 @@
-# MicroPython 模块
-
-- MicroPython 提供丰富的模块,每个模块提供特定的功能。了解开发的过程中一些常用的模块的使用方式,可以让你很好的使用 MicroPython 的功能。
-
-- 这些模块可以通过 env 工具的 menuconfig 功能来开启和关闭,如果你需要使用特定的模块,在 menuconfig 中选中模块名,保存退出后,重新编译运行即可。
-
-## Python 标准库和微型库
-
-Python 的标准库被 “微型化”后,就是 MicroPython 标准库,也称 MicroPython 模块。它们仅仅提供了该模块的核心功能,用来替代 Python 标准库 。一些模块使用 Python  标准库的名字,但是加上了前缀 "u",例如``ujson``代替``json``。也就是说 MicroPython 的标准库(微型库),只实现了一部分模块功能。通过给这些库以不同的方式命名,用户可以写一个 Python 级的模块来扩展微型库的功能,以便于兼容 CPython 的标准库(这项工作就是 [micropython-lib](https://github.com/micropython/micropython-lib) 项目的正在做的)。
-
-在一些嵌入式平台上,可添加 Python 级别封装库从而实现命名兼容 CPython,使用 MicroPython 标准库既可使用他们的 u-name,也可以使用 non-u-name。使用 non-u-name 的模块可以被库路径文件夹里面的同名模块所覆盖。
-
-例如,当``import json``时,首先会在库路径文件夹中搜索一个 ``json.py`` 文件或 ``json`` 目录进行加载。如果没有找到,它才会去加载内置 ``ujson`` 模块。
-
-## RT-Thread MicroPython 模块
-
-### 常用内建模块
-- [rtthread][1]       – RT-Thread 系统相关函数
-- [utime][2]          – 时间相关函数
-- [sys][3]            – 系统特有功能函数
-- [math][4]           – 数学函数
-- [uio][5]            – 输入/输出流
-- [ucollections][6]   – 提供有用的集合类
-- [ustruct][7]        – 打包和解包原始数据类型
-- [array][8]          – 数字数据数组
-- [gc][9]             – 控制垃圾回收
-- [uos][15]           – 基本的 “操作系统” 服务
-- [select][16]        – 等待流事件
-- [uctypes][17]       – 以结构化的方式访问二进制数据
-- [uerrno][18]        – 系统错误码模块
-- [_thread][19]       – 多线程支持
-
-### 硬件模块
-- [machine][10]       – 与硬件相关的功能
-- [machine.Pin][11]   - Pin 引脚控制类
-- [machine.UART][14]  - UART 外设控制类
-- [machine.I2C][12]   - I2C 外设控制类
-- [machine.SPI][13]   - SPI 外设控制类
-- [machine.RTC][29]   - RTC 外设控制类
-- [machine.PWM][30]   - PWM 外设控制类
-- [machine.ADC][31]   - ADC 外设控制类
-- [machine.LCD][34]   - LCD 外设控制类
-
-### 网络模块
-- [usocket][28]       – 网络套接字模块
-- [network][32]       – 网络连接控制模块
-- [network.WLAN][33]  – WiFi 连接控制类
-
-### 常用第三方模块
-- [cmath][20]         – 复数的数学函数
-- [ubinascii][21]     – 二进制/ ASCII转换
-- [uhashlib][22]      – 哈希算法
-- [uheapq][23]        – 堆排序算法
-- [ujson][24]         – JSON编码与解码
-- [ure][25]           – 正则表达式
-- [uzlib][26]         – zlib 解压缩
-- [urandom][27]       – 随机数生成模块
-
-[1]: 03-Basic_Module/01-rtthread.md
-[2]: 03-Basic_Module/02-utime.md
-[3]: 03-Basic_Module/03-sys.md
-[4]: 03-Basic_Module/04-math.md
-[5]: 03-Basic_Module/05-uio.md
-[6]: 03-Basic_Module/06-ucollections.md
-[7]: 03-Basic_Module/07-ustruct.md
-[8]: 03-Basic_Module/08-array.md
-[9]: 03-Basic_Module/09-gc.md
-[10]: 04-Hardware_Control_Module/01-machine.md
-[11]: 04-Hardware_Control_Module/02-machine-Pin.md
-[12]: 04-Hardware_Control_Module/03-machine-I2C.md
-[13]: 04-Hardware_Control_Module/04-machine-SPI.md
-[14]: 04-Hardware_Control_Module/05-machine-UART.md
-[15]: 05-System_Module/01-uos.md
-[16]: 05-System_Module/02-uselect.md
-[17]: 05-System_Module/03-uctypes.md
-[18]: 05-System_Module/04-uerrno.md
-[19]: 05-System_Module/05-_thread.md
-[20]: 06-Tools_Module/01-cmath.md
-[21]: 06-Tools_Module/02-ubinascii.md
-[22]: 06-Tools_Module/03-uhashlib.md
-[23]: 06-Tools_Module/04-uheapq.md
-[24]: 06-Tools_Module/05-ujson.md
-[25]: 06-Tools_Module/06-ure.md
-[26]: 06-Tools_Module/07-uzlib.md
-[27]: 06-Tools_Module/08-urandom.md
-[28]: 07-Network_Module/01-usocket.md
-[29]: 04-Hardware_Control_Module/07-machine-RTC.md
-[30]: 04-Hardware_Control_Module/08-machine-PWM.md
-[31]: 04-Hardware_Control_Module/09-machine-ADC.md
-[32]: 07-Network_Module/02-network.md
-[33]: 07-Network_Module/03-network-WLAN.md
-[34]: 04-Hardware_Control_Module/06-machine-LCD.md

+ 0 - 49
docs/08-Packages_Management.md

@@ -1,49 +0,0 @@
-# RT-Thread MicroPython 包管理
-
-MicroPython 自身不像 CPython 那样拥有广泛的标准库。但是 MicroPython 有一个相关且独立的项目 micropython-lib,它提供了来自 CPython 标准库的许多模块的实现。由于 RT-Thread 操作系统提供了很好的 `POSIX` 标准支持,所以 micropython-lib 中很多模块可以在 RT-Thread MicroPython 上直接运行。这篇文章将介绍如何利用这些扩展模块来增强 MicroPython 的功能。
-
-## 1. 使用 micropython-lib 源代码 
-
-### 1.1 从 GitHub 上克隆/下载 [micropython-lib](https://github.com/micropython/micropython-lib) 的源代码到本地
-
-![1525330162579](figures/clone_micropython_lib.png)
-
-### 1.2 使用扩展包
-
-如使用 abc 扩展包,就可以将 abc 文件夹中除了 metadata.txt 和 setup.py 的内容(不同模块有所不同,如果想避免出错,可以直接将 abc 文件夹中的内容全部复制过去即可)复制到 SD 卡(文件系统)的 /libs/mpy  目录下:
-
-![1525333595133](figures/copy_abc_2_sd.png)
-
-现在就可以在 MicroPython 交互命令行中导入 abc 模块了。
-
-![1525340341541](figures/import_abc.png)
-
-!!! note "注意"  
-    当安装的模块依赖于其他模块的功能时,需要先安装依赖的模块。这时候就需要搞清楚依赖的模块有哪些,然后依次安装依赖的模块。
-
-## 2. upip 包管理器的使用 
-
-upip 是 MicroPython 的包管理程序,由于 RT-Thread 操作系统提供了很好的 `POSIX` 标准支持,所以 `upip` 可以很好地运行在 RT-Thread MicroPython 上。使用 `upip` 工具可以在线下载 MicroPython 的扩展模块,并且自动下载其依赖的模块,为用户扩展 MicroPython 功能提供了很大的便利。 
-
-upip 包管理器对系统资源的占用较大,推荐在有较多系统资源的开发板上使用 upip。使用 upip 可以按照下面的步骤来进行配置:
-
-- 将 micropython-lib 中 upip 文件夹下的所需内容拷贝到 SD 卡(文件系统)的 /libs/mpy 目录下:
-
-![1525336695038](figures/copy_upip_2_sd.png)
-
-- 在 env 中 开启 MicroPython  网络模块中的 ussl 模块。
-
-![1525337170291](figures/open_ussl.png)
-
-- 修改软件包中安全类的 mbedtls 软件包 Maxium fragmenty length in bytes 参数为 5120。
-
-![1525337315573](figures/modify_mbedtls.png)
-
-- 更新软件包并重新生成工程,重新编译并下载固件到开发板然后再运行。 至此,模块就被成功下载到 /libs/mpy  文件夹下,可以直接使用了。  
-
-![1525340694594](figures/reload_2_board_run.png)
-
-除了 micropython-lib 中提供的之外,更多 MicroPython 模块可以到 [pypi 搜索](https://pypi.org/search/?q=micropython-) 中查找。
-
-!!! note "注意"  
-    下载指定模块时,需要在模块前加上 `micropython-` 前缀。如想要安装 json 模块,使用 `upip.install("micropython-json")` 命令。

+ 0 - 8
docs/09-Net_Programming_Guide/01-introduction.md

@@ -1,8 +0,0 @@
-# RT-Thread MicroPython 网络编程指南
-
-MicroPython 提供丰富的网络功能,可以加快物联网项目的开发进程,本章介绍常用的网络功能以及相关模块的使用方法。了解网络功能之后,就可以将产品轻松的接入网络,实现更多物联网功能。
-
-## 预备知识
-
-- 在阅读本网络编程指南之前,需要先行了解 MicroPython 模块的[网络模块章节](../07-Network_Module/01-usocket.md) ,了解基本网络连接模块的使用方法。
-- 如果想要使用较为复杂的网络功能,需要在 menuconfig 中将工具模块中的模块都打开,并且必须开启网络模块中的  `usocket` 模块。

+ 0 - 32
docs/09-Net_Programming_Guide/02-HttpClient.md

@@ -1,32 +0,0 @@
-## HttpClient
-
-本节介绍如何在 RT-Thread MicroPython 上使用 Http Client 功能,本章主要使用的模块为 `urequests` 。
-
-### 获取并安装 urequests 模块
-
-获取该模块有两种方式,详细操作可参考包管理章节:
-
-- 方法1:使用 upip 包管理工具下载,这里使用 `upip.install("micropython-urequests")` 命令,upip 工具将自动下载并安装  `urequests` 模块,下载过程如图所示:
-
-![1525690379859](../figures/install_urequests.png)
-
-- 方法2:从 MicroPython-lib 中复制到开发板上文件系统的 `/libs/mpy` 目录下。
-
-接下来 `urequests` 模块就可以被导入使用了。
-
-### urequests 模块的使用
-
-下面示例程序使用 `get` 命令来抓取 `http://www.baidu.com/` 的首页信息,并格式化输出:
-
-```python
-try:
-    import urequests as requests
-except ImportError:
-    import requests
-
-r = requests.get("http://www.baidu.com/")
-print(r)
-print(r.content)
-print(r.text)
-r.close()
-```

+ 0 - 55
docs/09-Net_Programming_Guide/03-HttpServer.md

@@ -1,55 +0,0 @@
-## HttpServer
-
-本章介绍如何使用 RT-Thread MicroPython 搭建一个 Web 服务器,需要使用到的模块为 MicroWebSrv 模块。
-
-### 获取并安装 MicroWebSrv 模块
-
-- 首先从 `https://github.com/jczic/MicroWebSrv.git` 将相关文件克隆到本地。
-
-- 将 `www` 文件夹拷贝到文件系统的根目录(这里将 SD 卡作为开发板文件系统的根目录)。
-
-![1525674983856](../figures/copy_www_dir.png)
-
-- 把其他文件拷贝到 /libs/mpy/ 文件夹中。
-
-![1525675205931](../figures/copy_webser_othres_dir.png)
-
-- 这样 MicroWebSrv 模块就安装好了,可以在 MicroPython 交互命令行中直接使用 `import` 命令导入了。
-
-### MicroWebSrv 模块的使用
-
-- 在 MSH 中,使用 ifconfig 命令查看开发板 IP 地址。
-
-- 输入 python 命令,进入 MicroPython 交互命令行。
-
-- 使用 import main 命令,启动 Web 服务器。
-
-![1525659036361](../figures/import_start.png)
-
-- 打开浏览器,在地址栏输入开发板 IP 地址并回车,即可看到 Web 页面。
-
-![1525659139123](../figures/open_web_page.png)
-
-- 输入网址 ip/test 使用表格填写示例。
-
-![1525659204069](../figures/use_test_func.png)
-
-如下代码完成了这个表格的获取功能:
-
-![1525770427295](../figures/get_test.png)
-
-- 点击 Submit,服务器返回你填写的信息。
-
-![1525659232565](../figures/use_submit.png)
-
-如下代码完成了数据的推送功能:
-
-![1525770467078](../figures/push_test.png)
-
-### 服务器功能的修改
-
-- 如果想过要通过服务器实现自己所需的功能,可以修改 main.py 文件,导入更多模块,使用 Python 语言来添加更多功能。
-
-- 在网页中展示加速度计和磁力计的例程中,下面的代码完成了这些数据的返回功能,可以参考 WebServer 的例子来对 main.py 进行修改,以达到自己想要完成的功能。
-
-![1525770559437](../figures/change_server_fuction.png)

+ 0 - 73
docs/09-Net_Programming_Guide/04-MQTT.md

@@ -1,73 +0,0 @@
-## MQTT
-
-MQTT 是一种基于发布/订阅(publish/subscribe)模式的“轻量级”通讯协议 。本章介绍如何在 RT-Thread MicroPython 上使用 MQTT 功能,使用到的模块为 `umqtt.simple` 模块。
-
-### 获取并安装 umqtt.simple 模块
-
-同样的可以使用包管理中的两种方式来获取,使用 upip 安装的方式可使用  `upip.install("micropython-umqtt.simple")`如图:
-
-![1525690229174](../figures/install_umqtt_simple.png)
-
-### umqtt.simple 模块的使用
-
-####  MQTT 订阅功能
-
-- 使用 `iot.eclipse.org` 作为测试服务器
-
-```python
-import time
-from umqtt.simple import MQTTClient
-
-# Publish test messages e.g. with:
-# mosquitto_pub -t foo_topic -m hello
-
-# Received messages from subscriptions will be delivered to this callback
-def sub_cb(topic, msg):
-    print((topic, msg))
-
-def main(server="iot.eclipse.org"):   # 测试 server 为 iot.eclipse.org
-    c = MQTTClient("RT-Thread", server)
-    c.set_callback(sub_cb)
-    c.connect()
-    c.subscribe(b"foo_topic")         # 订阅 foo_topic 主题
-    while True:
-        if True:
-            # Blocking wait for message
-            c.wait_msg()
-        else:
-            # Non-blocking wait for message
-            c.check_msg()
-            # Then need to sleep to avoid 100% CPU usage (in a real
-            # app other useful actions would be performed instead)
-            time.sleep(1)
-
-    c.disconnect()
-
-if __name__ == "__main__":
-    main()
-```
-
-- 使用 python 命令执行上述代码文件,就会连接上 MQTT 服务器,可收到我们从另一个客户端发布的以 `foo_topic`为主题的内容
-
-![1525665942426](../figures/sub_topic.png)
-
-####  MQTT 发布功能
-
-- 执行下面的代码后将向 MQTT 服务器发布以 `foo_topic` 为主题的信息
-
-```python
-from umqtt.simple import MQTTClient
-
-# Test reception e.g. with:
-# mosquitto_sub -t foo_topic
-
-def main(server="iot.eclipse.org"):
-    c = MQTTClient("SummerGift", server)
-    c.connect()
-    c.publish(b"foo_topic", b"Hello RT-Thread !!!")
-    c.disconnect()
-
-if __name__ == "__main__":
-    main()
-
-```

+ 0 - 203
docs/09-Net_Programming_Guide/05-Cloud-OneNET.md

@@ -1,203 +0,0 @@
-## OneNET
-
-本节介绍如何使用 RT-Thread MicroPython 来将设备接入 OneNET 云平台,本次示例使用的接入协议为 MQTT。
-
-### 准备工作
-
-- 首先需要安装 `urequests`  模块和 `umqtt.simple` 模块,安装方法参考 [HttpClient ](./02-HttpClient.md) 和 [MQTT ](./04-MQTT.md) 章节。
-- 本章实例代码在最后一节的附录中,可以在添加必要的注册信息后复制到 main.py 文件中在 MSH 中使用 python 命令来执行。
-
-### 产品创建
-
-- 想要将开发板接入 OneNET 云平台,首先要进行产品的创建,创建分为两步,第一步是注册一个用户账号,第二步是创建一个基于特定协议的产品。
-
-#### 用户注册
-
-- 为了使用 OneNET 设备云的强大功能,首先要在 OneNET 上[注册开发者账号](https://open.iot.10086.cn/doc/art436.html#104),来创建专属的“开发者中心 。
-
-#### 产品创建
-
-- 接下来需要在 OneNET 平台上[创建产品](https://open.iot.10086.cn/doc/art437.html#104)。这里要注意的是在最后选择`设备接入方式`和`设备接入协议时`,因为本次示例使用的是 MQTT 协议,所以要在设备接入方式中选择`公开协议`,设备接入协议选择 `MQTT`。
-
-![1525764833130](../figures/choose_mqtt.png)
-
-### 硬件接入
-
-本章节将介绍如何将设备接入到 OneNET 云平台上。并且演示一个云平台向设备发送命令,设备向云平台返回命令发送次数的示例。
-
-#### 设备的注册和接入
-
-- 成功创建设备之后,将得到的产品 ID 记录下来供后面推送数据使用。
-
-![1525765493792](../figures/get_product_id.png)
-
-- 将设备的`正式环境注册码`记录下来用于注册新的设备。
-
-![1525765209683](../figures/reg_code.png)
-
-- 接下来打开例程中的 main.py,修改 sn 为设备唯一标识码,product_id 为上面得到的6位产品 ID,regKey 为上面记录下来的正式环境注册码。
-
-![1525766961043](../figures/change_code.png)
-
-- 在开发板中运行 main.py 即可在 OneNET 上看到我们注册的设备。
-
-![1525767092149](../figures/run_main.png)
-
-- 名为 `DeviceRT_Thread_Test_Product` 的设备已经注册完毕并且上线。
-
-![1525767167244](../figures/reg_done.png)
-
-#### 云平台向设备发送命令
-
-- 可以通过发送命令功能来给开发板发送几组命令。
-
-![1525767264155](../figures/cmd1.png)
-
-![1525767369050](../figures/cmd2.png)
-
-- 可以在设备端看到云平台下发的数据,同时设备端会上传命令发送次数的数据
-
-![1525767520609](../figures/cmd3.png)
-
-#### 设备向云平台上传数据
-
-- 点击数据流管理功能来查看设备端上传的数据
-
-![1525767621708](../figures/look_data.png)
-
-- 可以在数据流管理中看到设备端上传的的命令发送次数 switch
-
-![1525767740215](../figures/switch.png)
-
-- 这里的 switch 数据是在 mqtt.py 的 pubData 函数里面修改的,可以通过 value 对象的内容来给云平台上传不同的数据。
-
-![1525774755758](../figures/change_pub.png)
-
-- 至此设备和 OneNET 云平台就对接好了。
-
-#### 添加独立应用
-
-- 为了方便使用还可以给设备[添加独立的应用](https://open.iot.10086.cn/doc/art461.html#108),效果如下图:
-
-![1525768143233](../figures/add_app.png)
-
-### 代码讲解
-
-- 通过修改 value 对象来修改向服务器发送的数据,这里是发送到特殊的系统 topic `$dp`
-
-![1525774792209](../figures/code_review1.png)
-
-- 给服务器发送数据的触发条件是收到服务器下发的命令,这样就没有保证会一直有数据发送到服务器,所以在没有数据交换的一段时间后,MQTT 连接有可能断开。
-
-![1525768433046](../figures/code_review2.png)
-
-#### 附录示例代码
-
-```python
-import urequests as requests
-from umqtt.simple import MQTTClient
-import ujson as json
-import time
-
-class Register():
-    def __init__(self, url='', title='', sn='', mac=''):
-        self.url = url
-        self.title = title
-        self.sn = sn
-        self.mac = mac
-        self.sock = None
-        self.tjson = {}
-        self.erron = 0
-        self.key = ''
-        self.device_id = ''
-
-    def regist(self):
-        assert self.url is not None, "Url is not set"
-        _, _, host, path = self.url.split('/', 3)
-        if host == '':
-            return
-        device = {"mac":self.mac} if self.sn == '' else {"sn":self.sn}
-        if self.title != '':
-            device['title'] = self.title
-        jdata = json.dumps(device)
-
-        resp = requests.post(self.url, data=jdata)
-        if resp:
-            self.tjson = resp.json()
-            if self.tjson['errno'] == 0:
-                self.key = self.tjson['data']['key']
-                self.device_id = self.tjson['data']['device_id']
-            return 0
-        else:
-            return -1
-
-class OneNetMqtt:
-    failed_count = 0
-
-    def __init__(self, client_id='', username='', password=''):
-        self.server = "183.230.40.39"
-        self.client_id = client_id
-        self.username = username
-        self.password = password
-        self.topic = "topic_sub"               # 填入测试 topic
-        self.mqttClient = MQTTClient(self.client_id, self.server,6002,self.username,self.password)
-        self.cmd_times = 0                      # publish count
-
-    def pubData(self, t):
-        value = {'datastreams':[{"id":"switch","datapoints":[{"value": self.cmd_times }]}]}
-        jdata = json.dumps(value)
-        jlen = len(jdata)
-        bdata = bytearray(jlen+3)
-        bdata[0] = 1                             # publish data in type of json
-        bdata[1] = int(jlen / 256)               # data lenght
-        bdata[2] = jlen % 256                    # data lenght
-        bdata[3:jlen+4] = jdata.encode('ascii')  # json data
-        print('publish data', str(self.cmd_times + 1))
-        try:
-            self.mqttClient.publish('$dp', bdata)  # $dp 为特殊系统 topic,可以通过这个 topic 给系统推送信息,但是不能订阅这个 topic
-            self.cmd_times += 1
-            self.failed_count = 0
-        except Exception as ex:
-            self.failed_count += 1
-            print('publish failed:', ex.message())
-            if self.failed_count >= 3:
-                print('publish failed three times, esp resetting...')
-                reset()
-
-    def sub_callback(self, topic, msg):
-        print((topic,msg))
-        cmd = msg.decode('ascii').split(" ")
-        print('sub_callback')
-
-    def connect(self):
-        self.mqttClient.set_callback(self.sub_callback)
-        self.mqttClient.connect()
-        self.mqttClient.subscribe(self.topic)
-        print("Connected to %s, subscribed to %s topic." % (self.server, self.topic))
-        try:
-            while True:
-                self.mqttClient.check_msg()
-                print("pubdata")
-                self.pubData('x')
-
-        finally:
-            self.mqttClient.disconnect()
-            print('MQTT closed')
-
-def main():
-    sn = 'RT_Thread_Test_Product'           #1、填入设备唯一标识符
-    title = 'Device' + sn 
-    product_id = 'XXXXX'                   #2、填入创建设备时获得的产品 ID
-    regKey = 'XXXXXXXX'                    #3、填入正式环境注册码
-    url = 'http://api.heclouds.com/register_de?register_code=' + regKey
-
-    reg = Register(url=url, title=title, sn=sn)      #根据上面的信息注册设备,如果已经注册不再重复注册
-    if reg.regist()==0:
-        MQTT = OneNetMqtt(client_id=reg.device_id, username=product_id, password=reg.key) #开启 MQTT 服务
-        MQTT.connect()
-    else:
-        print('Error: No Client ID!')
-
-if __name__ == "__main__":
-    main()
-```

+ 0 - 128
docs/MicroPythonPlug-in/MicroPython_IDE_User_Manual.md

@@ -1,128 +0,0 @@
-# MicroPython IDE 用户指南
-
-## MicroPython 固件介绍
-
-MicroPython 固件指的是可以运行在特定板卡上,并且已经对该板卡做了 MicroPython 适配的固件程序。在这里适配的意思是,对 MicroPython 进行配置修改后,开发者可以通过编写 Python 程序来控制板卡上的硬件资源。
-
-### 获取固件源码 
-
-MicroPython 固件源码可以从 RT-Thread 官方直接获取,自行编译下载即可,目前功能支持比较完备的开发板列表如下:
-
-- IoT Board 潘多拉开发板
-    - [Github 仓库](https://github.com/RT-Thread/IoT_Board/tree/master/examples/31_micropython)
-    - [Gitee 仓库](https://gitee.com/Armink/IoT_Board/tree/master/examples/31_micropython) 
-
-- W601 IoT Board 开发板
-    - [Github 仓库](https://github.com/RT-Thread/W601_IoT_Board/tree/master/examples/15_component_micropython)
-    - [Gitee 仓库](https://gitee.com/Armink/W601_IoT_Board/tree/master/examples/15_component_micropython) 
-
-### 直接下载 bin 文件
-
-如果不想要编译固件,想要直接体验的小伙伴也可以在 RT-Thread 论坛 [MicroPython 固件汇总贴](https://www.rt-thread.org/qa/forum.php?mod=viewthread&tid=12305&page=1&extra=#pid52954) 直接下载开发板的 bin 文件。
-
-### DIY 属于自己的专属固件
-
-如果想要 DIY 属于自己的专属固件,也非常简单。只需要在 RT-Thread 工程中开启 MicroPython 软件包即可,详细的制作方式可以通过阅读 [《MicroPython 固件开发指南》](https://github.com/RT-Thread-packages/micropython/blob/master/docs/MicroPythonPlug-in/MicroPython_Firmware_Development_Guide.md) 深入了解。
-
-通过上述方式获取固件,然后将 MicroPython 固件烧录到板卡之后,就可以使用 RT-Thread 推出的 MicroPython 开发环境来进行应用开发了。 
-
-## MicroPython 开发环境使用介绍
-
-RT-Thread 为广大开发者提供了[ **VSCode 最好用的 MicroPython 插件**](https://marketplace.visualstudio.com/items?itemName=RT-Thread.rt-thread-micropython) 来帮助大家使用 MicroPython 来开发应用程序。该插件为 MicroPython 开发提供了功能强大的开发环境,主要特性如下:
-
-- 支持串口、USB、或网络的方式连接开发板
-- 支持通过网络连接远程调试
-- 支持基于 MicroPython 的代码智能补全
-- 支持 MicroPython REPL 交互环境
-- 提供丰富的代码示例
-- 支持自动同步工程代码
-- 支持在设备上运行示例代码
-- 支持运行代码片段功能
-- 支持多款 MicroPython 开发板
-
-### 准备工作
-
-如果想要使用 MicroPython 自动补全功能(如果暂时不需要自动补全功能,可以跳过这一步),需要安装依赖的 Microsoft Python 插件,准备工作如下:
-
-1. 安装 Microsoft Python 插件
-
-2. 按照 Python 插件的提示在 PC 上安装 Python3 并加入到系统环境变量中
-
-![Python plug](assets/install_python_plug.png)
-
-如果在 PC 上已经安装过上述插件和程序,可以跳过此准备步骤。
-
-### 创建一个 MicroPython 工程
-
-![open_dir](assets/open_dir.gif)
-
-### 连接开发板
-
-可以通过多种方式与开发板建立连接,下图展示常用的串口连接方式。
-
-![uart_connect](assets/uart_connect.gif)
-
-### 运行示例程序
-
-和开发板建立连接后,可以直接运行示例代码,并观察代码在开发板上的运行效果,如下图所示:
-
-![run_example](assets/run_example.gif)
-
-### 更多功能介绍
-
-- 基于 MicroPython 的代码智能补全
-
-![auto_complete](assets/auto_complete.gif)
-
-- 支持运行代码片段
-
-![run_code_snippet](assets/run_code_snippet.gif)
-
-还有更多贴心实用的功能等你来探索。
-
-### 注意事项
-
-- 需要选择 PowerShell 作为默认终端
-- 不要删除工程目录下的 `.mpyproject.json` 文件,该文件是 MicroPython 工程的配置文件
-
-## MicroPython 工程详解
-
-在 MicroPython 开发环境中,我们使用工程的形式来组织 MicroPython 源文件,接下来将会详细介绍 MicroPython 工程相关的概念。
-
-### 工程结构介绍
-
-在 **创建一个 MicroPython 工程** 小节中,我们通过点击创建工程按钮,选择了一个文件夹作为 MicroPython 工程的根目录。此时 MicroPython 插件会默认在该目录下创建工程相关目录,并添加 `main.py` 文件,如下图所示:
-
-![prj_struct](assets/1564458498973.png)
-
-- `scripts` 文件夹用于存放 MicroPython 脚本文件
-- `.mpyproject.json` 是自动生成的工程的配置文件
-
-### 向工程中添加示例代码
-
-可以在示例程序中选择所需的文件添加到工程中,如下图所示:
-
-![add_to_prj](assets/1564459093450.png)
-
-此时可以在工程中看到已经添加到工程中的 hello_python.py 文件:
-
-![already_add](assets/1564459162459.png)
-
-如果你直接在示例代码目录点击运行代码,则会先将该示例代码文件加入到工程中,然后在板卡上运行该文件。
-
-### 工程同步方式介绍
-
-在 MicroPython 插件中,脚本代码文件以工程的方式组织,在同步代码时也是以工程为单位进行同步。也就是说当点击 **运行** 按钮时,整个工程都会被同步到板卡上。因为每次同步只会同步被修改了的文件,所以可以保证较快的同步速度,只有在板卡上第一次运行代码时需要较长时间,因为此时要同步全部的代码文件,同步过程如下图 1、2 步所示。
-
-在工程中,我们可以使用 import 关键字导入其他 Python 模块中的函数,如下图第 3、4 步所示。通过这种方式导入其他模块,进而运行整个 MicroPython 工程。
-
-![run_micropython_prj](assets/1564469643183.png)
-
-### 开机自动运行 main.py
-main.py 文件的存储位置为 `/scripts/main.py`,该文件的特殊之处在于,它会在系统启动过程中被自动执行。也就是说如果你想让你的工程被开机自动启动,那么 main.py 文件就是整个工程的入口。
-
-需要注意的是在 main.py 文件执行完毕前,程序是不会进入 REPL 交互环境的。也就是说,如果 mian.py 中运行了一个 `while True` 的死循环程序,此时该代码是不会自动退出的。此时如果想要退出 main.py 程序,需要在串口中断中按下 `CTRL + C` ,如下图所示:
-
-![run_main](assets/1564471861527.png)
-
-如果 main.py 是一个死循环程序,重新进行文件同步前,记得先使用 `CTRL + C` 终止该程序的运行。

+ 0 - 271
docs/MicroPythonPlug-in/README.md

@@ -1,271 +0,0 @@
-# VSCode 最好用的 MicroPython 插件 
-
-## 介绍 ([Drop down to view the English introduction document](#Introduction))
-
-VSCode 最好用的 MicroPython 插件,为 MicroPython 开发提供了强大的开发环境,主要特性如下:
-
-- 便捷的开发板连接方式(串口、网络、USB)
-- 支持基于 MicroPython 的代码智能补全与语法检查
-- 支持 MicroPython REPL 交互环境
-- 提供丰富的代码示例与 demo 程序
-- 提供工程同步功能
-- 支持下载单个文件或文件夹至开发板
-- 支持在内存中快速运行代码文件功能
-- 支持运行代码片段功能
-- 支持多款主流 MicroPython 开发板
-- 支持 windows 及 ubuntu 操作系统
-
-## 开发板支持列表
-
-| 编号 | 开发板名称                                                   | 固件获取方式                                                 |
-| ---- | ------------------------------------------------------------ | ------------------------------------------------------------ |
-| 1    | [潘多拉 IoT Board 物联网开发板 STM32L475](https://item.taobao.com/item.htm?spm=a1z10.5-c-s.w4002-18400369818.12.2ba47ea5PzJxZx&id=583843059625) | [RT-Thread 论坛固件汇总贴](https://www.rt-thread.org/qa/forum.php?mod=viewthread&tid=12305&page=1&extra=#pid52954) |
-| 2    | [正点原子 W601 WIFI 物联网开发板](https://item.taobao.com/item.htm?spm=a230r.1.14.13.7c5b4a9bS2LYUD&id=602233847745&ns=1&abbucket=17#detail) | [RT-Thread 论坛固件汇总贴 ](https://www.rt-thread.org/qa/forum.php?mod=viewthread&tid=12305&page=1&extra=#pid52954) |
-| 3    | [正点原子探索者 STM32F407 开发板](https://item.taobao.com/item.htm?spm=a1z10.5-c-s.w4002-18400369818.18.569779dc0A3gkT&id=41855882779) | [RT-Thread 论坛固件汇总贴](https://www.rt-thread.org/qa/forum.php?mod=viewthread&tid=12305&page=1&extra=#pid52954) |
-| 4    | [ESP8266](http://docs.micropython.org/en/latest/esp8266/quickref.html) | [官方下载链接](https://micropython.org/download#esp8266)     |
-| 5    | [ESP32](http://docs.micropython.org/en/latest/esp32/quickref.html) | [官方下载链接](https://micropython.org/download#esp32)       |
-| 6    | [PYboard](http://docs.micropython.org/en/latest/pyboard/quickref.html) | [官方下载链接](https://micropython.org/download#pyboard)     |
-| 7    | [others](https://micropython.org/download#other)             | [官方下载链接](https://micropython.org/download#other)       |
-
-编号为 1、2、3 的开发板的固件由 RT-Thread 官方提供,同时针对 MicroPython 插件开发环境进行 **深度优化** ,提供强大的工程同步功能以及更加丰富的固件功能。
-
-欢迎加入`RT-Thread MicroPython` 交流 QQ 群 **703840633** 交流 MicroPython 技术。
-
-您还可以登陆 [RT-Thread 官方论坛 Micropython 专区](https://www.rt-thread.org/qa/forum.php?mod=forumdisplay&fid=2&filter=typeid&typeid=20) 或者向 email : SummerGift@qq.com 发送邮件反馈宝贵的使用意见和建议,我们会第一时间根据您的反馈改进插件的使用体验。
-
-## 准备工作
-
-1. 在 windows 操作系统下使用插件需要将 vscode 的默认终端修改为 powershell,如下图所示:
-
-   ![01_select_powershell](https://www.rt-thread.org/qa/data/attachment/forum/201910/22/095612g1fkz5fkr7fff177.gif)
-
-如果想要使用 MicroPython 自动补全功能(如果暂时不需要自动补全功能,可以跳过后续步骤),还需要进行如下操作:
-
-2. 安装 Python 插件
-
-3. 按照 Python 插件的提示在 PC 上安装 Python3 并加入到系统环境变量中
-
-   ![02_Python plug](https://www.rt-thread.org/qa/data/attachment/forum/201910/22/095612sku6jdblbtu3jpb6.png)
-
-如果在 PC 上已经安装过上述插件和程序,可以跳过此准备步骤。
-
-### ubuntu 支持
-
-本插件支持在 **ubuntu 18.04** 版本下运行,为了避免在 ubuntu 系统下频繁获取串口权限,需要将当前用户加入到 `dialout` 用户组中,手动输入如下命令即可,`$USERNAME` 是系统当前用户名:
-
-`sudo usermod -aG dialout $USERNAME`
-
-注意:配置修改后需要 **重启一下操作系统** 使配置生效。
-
-## 快速上手
-
-###  创建 MicroPython 工程
-
-MicroPython 开发的第一步是创建 MicroPython 工程,后续所有操作都必须在工程内才能运行。创建一个新的 MicroPython 工程有两种方式,分别是创建一个空白工程和基于 Demo 创建工程,下面展示这两种方式。
-
-#### 创建一个空白 MicroPython 工程
-
-![03_create_blank_dir](https://www.rt-thread.org/qa/data/attachment/forum/201910/22/095613f5oshzvj2og32gio.gif)
-
-#### 创建一个基于 Demo 的 MicroPython 工程
-
-通过该功能可以创建一个基于 demo 的 MicroPython 工程,开发者可以直接运行该 Demo 工程或者在该 Demo 的基础上实现自己想要的功能。
-
-![04_create_demo_dir](https://www.rt-thread.org/qa/data/attachment/forum/201910/22/095613zsspdy1cywjiyhcb.gif)
-
-#### Weather Show Demo 在开发板上的运行效果
-
-![05_demo_express](https://www.rt-thread.org/qa/data/attachment/forum/201910/22/095613vjarrl8nflyfzoya.png)
-
-该 Demo 全部代码使用 MicroPython 编写,可以在 [潘多拉 IoT Board 开发板](https://item.taobao.com/item.htm?spm=a1z10.5-c-s.w4002-18400369818.12.2ba47ea5PzJxZx&id=583843059625) 和 [正点原子 W601 WIFI 物联网开发板](https://item.taobao.com/item.htm?spm=a230r.1.14.13.7c5b4a9bS2LYUD&id=602233847745&ns=1&abbucket=17#detail) 上直接下载运行。
-
-### 连接开发板
-
-点击左下角的连接按钮,然后在弹出的设备列表中选择想要连接的设备,即可连接 MicroPython 开发板。
-
-![06_uart_connect](https://www.rt-thread.org/qa/data/attachment/forum/201910/22/095613vpb82unp0n9m8lf2.gif)
-
-### 查看示例代码文件
-
-MicroPython 插件提供丰富的示例代码,可在左侧活动栏中查看示例代码和库文件。右键点击示例文件,在下拉菜单中可以将示例文件添加到工程中。
-
-![07_check_example](https://www.rt-thread.org/qa/data/attachment/forum/201910/22/095613szp10s0ouaulrxpq.png)
-
-### 直接在开发板上运行 MicroPython 文件(调试神器)
-
-该功能用于快速调试单个文件,频繁应用在调试代码的过程中。当我们在一个单独的文件中编写测试程序时,使用该功能可以将当前 python 文件下载到开发板的内存中运行,达到快速调试的效果,还可以使用快捷键 `alt + q` 来触发该功能。
-
-![08_direct_run_files](https://www.rt-thread.org/qa/data/attachment/forum/201910/22/095614s0rbxgxrle0bjjix.gif)
-
-### 在开发板上运行 MicroPython 代码片段
-
-如果只是想进行代码量不大的代码调试,而不想将文件下载到开发板上,那么可以使用 **代码片段** 功能。在编辑器中选中想要运行的代码片段,然后在右键下拉菜单中选择 `在设备上执行选中的 MicroPython 代码` 选项,即可在 REPL 环境中运行所选代码。
-
-![09_run_code_snippet](https://www.rt-thread.org/qa/data/attachment/forum/201910/22/095614buewlgkp2mml2wca.gif)
-
-### 下载文件/文件夹到开发板
-
-如果想要下载单个文件/文件夹到开发板,此时可以使用 **下载单个文件/文件夹到开发板** 的功能。在工程中选中想要下载到开发板上的文件/文件夹,在下拉菜单中使用该功能即可。这里需要注意的是,如果开发板上有同名的文件/文件夹,下载操作将会覆盖这些已有的文件/文件夹。
-
-通过在 `repl` 中输入 `os.listdir()` 命令可以查看相应的文件/文件夹是否下载成功,同样在 `repl` 中还可以使用相应的命令 **删除文件或文件夹**,命令列表如下所示:
-
-| 功能       | 命令                       |
-| ---------- | -------------------------- |
-| 删除文件   | `os.remove("file_to_del")` |
-| 删除文件夹 | `os.rmdir("dir_to_del")`   |
-
-![10_download_file_floder](https://www.rt-thread.org/qa/data/attachment/forum/201910/22/095614nbjb8bqzz48f8tl6.gif)
-
-### 工程同步功能
-
-点击左下角的同步按钮可以启动工程同步功能。通过该功能可将本地工程中所有目录文件,同步到开发板的文件系统中。该功能推荐在代码调试完成后使用,在调试过程中不必频繁同步工程。
-
-工程同步完成后,可以在 `DEVICE FILES LIST` 栏目中看到 **设备中的文件列表**。
-
-![11_sync_files](https://www.rt-thread.org/qa/data/attachment/forum/201910/22/095614gr112oj2nteoylrj.gif)
-
-### 基于 MicroPython 的代码智能补全
-
-本插件支持基于 MicroPython 语法的代码智能补全和语法检查,这一强大功能对于开发 MicroPython 代码十分实用。它可以让开发者在编写函数的同时查看 API 参数提示,同时它给出的醒目提示也让开发者更易于查找代码中的错误。
-
-![12_auto_complete](https://i1.fuimg.com/702031/3145644b4275bce5.gif)
-
-## 开发资源
-
-- [RT-Thread MicroPython 开发用户手册](https://www.rt-thread.org/document/site/submodules/micropython/docs/)
-- [RT-Thread MicroPython 软件包](https://github.com/RT-Thread-packages/micropython)
-- [RT-Thread MicroPython 示例程序及库](https://github.com/RT-Thread/mpy-snippets)
-- [RT-Thread MicroPython 论坛](https://www.rt-thread.org/qa/forum.php?mod=forumdisplay&fid=2&filter=typeid&typeid=20)
-- [MicroPython IDE 用户指南](https://www.rt-thread.org/document/site/submodules/micropython/docs/MicroPythonPlug-in/MicroPython_IDE_User_Manual/)
-- [MicroPython 固件开发指南](https://www.rt-thread.org/document/site/submodules/micropython/docs/MicroPythonPlug-in/MicroPython_Firmware_Development_Guide/)
-
-## 注意事项
-
-- 不要删除工程目录下的 `.mpyproject.json` 文件,该文件是 MicroPython 工程的配置文件,删除后将无法正常运行 MicroPython 代码程序。
-
----
-
-# The best MicroPython plug-in of vscode
-
-## Introduction
-
-RT-Thread MicroPython is the best micropython plug-in in VScode, which provides a powerful development environment for MicroPython development. The main features are as follows:
-
-- Convenient connection mode of development board (serial port, network, USB)
-- Support MicroPython-based code intelligent completion and syntax check
-- Support MicroPython REPL interactive environment
-- Provides many code samples and demo program
-- Support full project synchronization function
-- Support to download files or folders to the development board
-- Supports fast running code files in memory
-- Supports code snippets to run functions
-- Supports several major MicroPython development boards
-- Support Windows and ubuntu operating systems
-
-## Development board support list
-
-| number | Name of development board                                    | Firmware acquisition                                         |
-| ------ | ------------------------------------------------------------ | ------------------------------------------------------------ |
-| 1      | [潘多拉 IoT Board 物联网开发板 STM32L475](https://item.taobao.com/item.htm?spm=a1z10.5-c-s.w4002-18400369818.12.2ba47ea5PzJxZx&id=583843059625) | [RT-Thread 论坛固件汇总贴](https://www.rt-thread.org/qa/forum.php?mod=viewthread&tid=12305&page=1&extra=#pid52954) |
-| 2      | [正点原子 W601 WIFI 物联网开发板](https://item.taobao.com/item.htm?spm=a230r.1.14.13.7c5b4a9bS2LYUD&id=602233847745&ns=1&abbucket=17#detail) | [RT-Thread 论坛固件汇总贴](https://www.rt-thread.org/qa/forum.php?mod=viewthread&tid=12305&page=1&extra=#pid52954) |
-| 3      | [正点原子探索者 STM32F407 开发板](https://item.taobao.com/item.htm?spm=a1z10.5-c-s.w4002-18400369818.18.569779dc0A3gkT&id=41855882779) | [RT-Thread 论坛固件汇总贴](https://www.rt-thread.org/qa/forum.php?mod=viewthread&tid=12305&page=1&extra=#pid52954) |
-| 4      | [ESP8266](http://docs.micropython.org/en/latest/esp8266/quickref.html) | [Official download link](https://micropython.org/download#esp8266) |
-| 5      | [ESP32](http://docs.micropython.org/en/latest/esp32/quickref.html) | [Official download link](https://micropython.org/download#esp32) |
-| 6      | [PYboard](http://docs.micropython.org/en/latest/pyboard/quickref.html) | [Official download link](https://micropython.org/download#pyboard) |
-| 7      | [others](https://micropython.org/download#other)             | [Official download link](https://micropython.org/download#other) |
-
-The firmware for the development boards numbered 1, 2, and 3 is provided by rt-thread, and is also optimized for the MicroPython plug-in development environment to provide powerful engineering synchronization and richer firmware features. 
-
-## Preparation
-
-1. Using plug-in under the Windows operating system requires changing the default terminal of vscode to powershell, as shown below:
-
-   ![select_powershell](https://raw.githubusercontent.com/RT-Thread-packages/micropython/master/docs/MicroPythonPlug-in/assets/en_select_powershell.gif)
-
-If you want to use the MicroPython autocompletion feature (you can skip the next step if you don't need autocompletion for now), you need to do the following:
-
-2. Install the Python plug-in
-
-3. Install Python3 on your PC and add it to the system environment variables as instructed by the Python plug-in
-
-   ![Python plug](https://raw.githubusercontent.com/RT-Thread-packages/micropython/master/docs/MicroPythonPlug-in/assets/install_python_plug_en.png)
-
-If you already have the above plug-ins and programs installed on your PC, you can skip this preparation step.
-
-### Ubuntu support
-
-This plug-in supports running under **ubuntu 18.04**. In order to avoid frequent access to serial port permissions under ubuntu system, the current user needs to be added to the user group `dialout`. Manually enter the following command: `$USERNAME` is the current USERNAME of the system:
-
-`sudo usermod -ag dialout $USERNAME`
-
-Note: the configuration change requires **to restart the operating system** for the configuration to take effect.
-
-## Quick Start
-
-### Create a MicroPython project
-
-The first step in MicroPython development is to create a MicroPython project within which all subsequent operations must run. There are two ways to create a new MicroPython project, a blank project and a demo-based project, which are shown below.
-
-![create_blank_dir](https://raw.githubusercontent.com/RT-Thread-packages/micropython/master/docs/MicroPythonPlug-in/assets/en_create_blank_project.gif)
-
-### Connecting development board
-
-You can connect to the MicroPython development board by clicking the connection button in the lower left corner and then selecting the device you want to connect to in the pop-up list of devices.
-
-![uart_connect](https://raw.githubusercontent.com/RT-Thread-packages/micropython/master/docs/MicroPythonPlug-in/assets/en_connect_board.gif)
-
-### View the sample code file
-
-The MicroPython plug-in provides a wealth of sample code and library files to view in the left active bar. Right-click on the sample file to add the sample file to the project from the drop-down menu.
-
-![example_code](https://raw.githubusercontent.com/RT-Thread-packages/micropython/master/docs/MicroPythonPlug-in/assets/check_example_en.png)
-
-### Run MicroPython files directly on the development board (kind for debug)
-
-This feature is used to `quickly debug a single file` and is frequently used in debugging code. When we write the test program in a separate file, we can use this function to download the current python file to the memory of the development board to run, achieving the effect of rapid debugging. We can also use the shortcut key `Alt + q` to trigger this function.
-
-![run_example](https://raw.githubusercontent.com/RT-Thread-packages/micropython/master/docs/MicroPythonPlug-in/assets/direct_run_files_en.gif)
-
-### Run MicroPython code snippets on the development board
-
-If you just want to debug a small amount of code without downloading files to the development board, you can use the **code snippet** function. You can run the selected code in the REPL environment by selecting the snippet you want to run in the editor, and then selecting the `execute the selected MicroPython code` option on the device from the right-click menu.
-
-![run_code_snippet](https://raw.githubusercontent.com/RT-Thread-packages/micropython/master/docs/MicroPythonPlug-in/assets/en_run_snippets.gif)
-
-### Download files/folders to the development board
-
-If you want to download individual files/folders to the development board, you can use the function of to **download individual files/folders to the development board**. Select the file/folder in the project that you want to download to the development board and use this feature in the drop-down menu. 
-
-Note that if there are files/folders with the `same name` on the development board, the download will `overwrite` the existing files/folders.
-
-By entering the command `os.listdir()` in `repl`, you can check whether the corresponding file/folder has been `downloaded` successfully. Similarly, you can also use the corresponding command **to delete the file or folder** in `repl`. The command list is as follows:
-
-| function       | command                       |
-| ---------- | -------------------------- |
-| remove file   | `os.remove("file_to_del")` |
-| remove folder | `os.rmdir("folder_to_del")`   |
-
-![auto_complete](https://raw.githubusercontent.com/RT-Thread-packages/micropython/master/docs/MicroPythonPlug-in/assets/download_file_floder_en.gif)
-
-### project synchronization
-
-Click the synchronization button `in the lower left corner` to start the project synchronization function. This feature synchronizes `all directory files` in the local project to the development board's file system. This feature is recommended to be used `after the code is debugged`, without the need to synchronize the project frequently during debugging.
-
-After the project synchronization is completed, `the list of files` in the DEVICE can be seen in the `DEVICE FILES LIST column`.
-
-![run_code_snippet](https://raw.githubusercontent.com/RT-Thread-packages/micropython/master/docs/MicroPythonPlug-in/assets/sync_files_en.gif)
-
-### Intelligent code completion based on MicroPython
-
-This plug-in supports `intelligent code completion` and syntax checking `based on MicroPython syntax`, which is a powerful tool for developing MicroPython code. It allows developers to write functions while looking at API parameter hints, and it gives them a visual reminder that makes it easier to find errors in code.
-
-![auto_complete](https://raw.githubusercontent.com/RT-Thread-packages/micropython/master/docs/MicroPythonPlug-in/assets/auto_complete.gif)
-
-## Matters needing attention
-
-- Do not delete the `.mpyproject.json` file in the project directory. This file is the configuration file of the MicroPython project.
-
-## Contact & Supports
-
-- [Github](https://github.com/SummerGGift/ampy)
-- Support Email : SummerGift@qq.com

BIN
docs/MicroPythonPlug-in/assets/1564458085802.png


BIN
docs/MicroPythonPlug-in/assets/1564458498973.png


BIN
docs/MicroPythonPlug-in/assets/1564459093450.png


BIN
docs/MicroPythonPlug-in/assets/1564459162459.png


BIN
docs/MicroPythonPlug-in/assets/1564469643183.png


BIN
docs/MicroPythonPlug-in/assets/1564471861527.png


BIN
docs/MicroPythonPlug-in/assets/1564476786308.png


BIN
docs/MicroPythonPlug-in/assets/1564476854928.png


BIN
docs/MicroPythonPlug-in/assets/1564480655732.png


BIN
docs/MicroPythonPlug-in/assets/1564481108595.png


BIN
docs/MicroPythonPlug-in/assets/1564541185482.png


BIN
docs/MicroPythonPlug-in/assets/1564561581470.png


BIN
docs/MicroPythonPlug-in/assets/auto_complete-1564540931096.gif


BIN
docs/MicroPythonPlug-in/assets/auto_complete.gif


BIN
docs/MicroPythonPlug-in/assets/check_example.png


BIN
docs/MicroPythonPlug-in/assets/check_example_en.png


BIN
docs/MicroPythonPlug-in/assets/connect_device-1564540898442.gif


BIN
docs/MicroPythonPlug-in/assets/connect_device.gif


BIN
docs/MicroPythonPlug-in/assets/create_blank_prj.gif


BIN
docs/MicroPythonPlug-in/assets/create_demo_prj.gif


BIN
docs/MicroPythonPlug-in/assets/demo_express.png


BIN
docs/MicroPythonPlug-in/assets/direct_run_files_en.gif


BIN
docs/MicroPythonPlug-in/assets/download_file_floder.gif


BIN
docs/MicroPythonPlug-in/assets/download_file_floder_en.gif


BIN
docs/MicroPythonPlug-in/assets/en_connect_board.gif


BIN
docs/MicroPythonPlug-in/assets/en_create_blank_project.gif


BIN
docs/MicroPythonPlug-in/assets/en_run_example_files.gif


BIN
docs/MicroPythonPlug-in/assets/en_run_snippets.gif


BIN
docs/MicroPythonPlug-in/assets/en_select_powershell.gif


BIN
docs/MicroPythonPlug-in/assets/example_code-1564541003790.png


BIN
docs/MicroPythonPlug-in/assets/example_code.png


BIN
docs/MicroPythonPlug-in/assets/install_python_plug.png


BIN
docs/MicroPythonPlug-in/assets/install_python_plug_en.png


BIN
docs/MicroPythonPlug-in/assets/open_dir.gif


BIN
docs/MicroPythonPlug-in/assets/pandora_lcd.jpg


BIN
docs/MicroPythonPlug-in/assets/run_code_snippet-1564540982864.gif


BIN
docs/MicroPythonPlug-in/assets/run_code_snippet.gif


BIN
docs/MicroPythonPlug-in/assets/run_example-1564541024332.gif


BIN
docs/MicroPythonPlug-in/assets/run_example.gif


BIN
docs/MicroPythonPlug-in/assets/run_example_code.png


BIN
docs/MicroPythonPlug-in/assets/run_lcd.gif


BIN
docs/MicroPythonPlug-in/assets/select_powershell.gif


BIN
docs/MicroPythonPlug-in/assets/sync_files.gif


BIN
docs/MicroPythonPlug-in/assets/sync_files_en.gif


BIN
docs/MicroPythonPlug-in/assets/uart_connect-1564540918166.gif


BIN
docs/MicroPythonPlug-in/assets/uart_connect.gif


BIN
docs/MicroPythonPlug-in/assets/usb_connect.gif


BIN
docs/MicroPythonPlug-in/assets/use_repl.gif


+ 0 - 0
docs/MicroPythonPlug-in/assets/direct_run_files.gif → docs/assets/08_direct_run_files.gif


BIN
docs/assets/IoT_Board.png


+ 0 - 0
docs/MicroPythonPlug-in/assets/1564476903287.png → docs/assets/add_main_stack.png


+ 0 - 0
docs/MicroPythonPlug-in/assets/1564628226157.png → docs/assets/check_memory.png


BIN
docs/assets/check_pandora_examples.png


+ 0 - 0
docs/MicroPythonPlug-in/assets/1564476923786.png → docs/assets/config_runtime.png


+ 0 - 0
docs/MicroPythonPlug-in/assets/1564480676371.png → docs/assets/mount_fs.png


+ 0 - 0
docs/MicroPythonPlug-in/assets/1564476611502.png → docs/assets/select_mpy_package.png


BIN
docs/figures/add_app.png


BIN
docs/figures/change_code.png


BIN
docs/figures/change_pub.png


BIN
docs/figures/change_server_fuction.png


BIN
docs/figures/choose_mqtt.png


BIN
docs/figures/clone_micropython_lib.png


BIN
docs/figures/cmd1.png


BIN
docs/figures/cmd2.png


BIN
docs/figures/cmd3.png


BIN
docs/figures/code_review1.png


BIN
docs/figures/code_review2.png


BIN
docs/figures/copy_abc_2_sd.png


BIN
docs/figures/copy_upip_2_sd.png


BIN
docs/figures/copy_webser_othres_dir.png


BIN
docs/figures/copy_www_dir.png


BIN
docs/figures/get_product_id.png


BIN
docs/figures/get_test.png


BIN
docs/figures/import_abc.png


BIN
docs/figures/import_start.png


BIN
docs/figures/install_umqtt_simple.png


BIN
docs/figures/install_urequests.png


BIN
docs/figures/look_data.png


BIN
docs/figures/modify_mbedtls.png


BIN
docs/figures/open_ussl.png


BIN
docs/figures/open_web_page.png


BIN
docs/figures/push_test.png


BIN
docs/figures/python_grammer_function.png


BIN
docs/figures/python_hello.png


BIN
docs/figures/reg_code.png


BIN
docs/figures/reg_done.png


BIN
docs/figures/reload_2_board_run.png


BIN
docs/figures/run_main.png


BIN
docs/figures/run_python.png


この差分においてかなりの量のファイルが変更されているため、一部のファイルを表示していません