Petoi Doc Center
🇨🇳中文版
🇨🇳中文版
  • 欢迎查阅派拓艺文档中心
  • 快速上手指南
  • Petoi 机器人关节序号
  • 蓝牙连接
  • 上传固件
  • 关节校准
  • 红外遥控
    • 遥控器
  • 手机应用
    • 总览
    • 关节校准
    • 控制面板
  • 桌面应用
    • 总览
    • 固件上载
    • 关节校准
    • 技能创作坊
    • 调试器
  • 图形化编程
    • Petoi 编程积木
    • Mind+中的Python代码模式
    • Arduino UNO 编程积木
  • Arduino IDE
    • 为NyBoard上传程序
    • 为BiBoard上传程序
    • 使用Arduino IDE校准舵机
    • 串口监视器
  • API
    • 🖇️串口协议
    • 🐍Python serialMaster使用指南
    • 🐛MicroPython控制器
      • MicroPython上手玩
      • 配置WebREPL
      • 使用ESP-NOW协议
    • 🍓通过树莓派控制机器人
    • 🤖ROS
  • NYBOARD
    • 总述
    • NyBoard V1_0
    • NyBoard V1_1 & NyBoard V1_2
  • BiBoard
    • BiBoard V0 快速上手指南
    • 例程介绍
      • 1. GPIO例程
      • 2. 串口
      • 3. 模拟-数字转换器
      • 4. 数字-模拟转换器
      • 5. EEPROM(电擦除存储器)
      • 6. 陀螺仪IMU(MPU6050)
      • 7. 红外遥控
      • 8. PWM
      • 9. 舵机(施工)
      • 10. 经典蓝牙串口SPP
      • 11. 蓝牙低功耗(BLE)串口透传
      • 12. 文件系统SPIFFS
      • 13. Arduino IDE增加硬件分区配置选项
      • 14. 播放MP3
      • 15. WiFi和OTA的使用
    • BiBoard V1 用户指南
  • 通信模块
    • 通信模块概要说明
    • USB上载模块(CH340C)
    • 双模蓝牙模块
    • WiFi模块(ESP8266)
      • 使用ESP8266 + Python 脚本实现无线群控
  • 扩展模块
    • 扩展模块概要说明
    • MU摄像头模块
    • 超声波传感器
    • 光强传感器
    • 触摸传感器
    • 手势传感器
    • 人体移动探测器
    • 语音指令模块
    • Petoi AI Vision摄像头模块
    • 深度开发应用AI视觉模块
      • 🏋️模型训练
      • ⚖️模型量化
      • 🏌️模型部署
      • COCO数据集DIY训练
    • 机械臂
      • 升级旧款 Bittle/Bittle X
    • Micro:bit 游戏手柄
  • 应用实例
    • 技能创作
    • 姿势模仿教程
    • 可编程木偶角色
  • 历史文档
    • 为NyBoard上传1.0版本程序
  • 技术支持
    • 🛠️配套应用软件
    • 🙋‍♂️常见问题 (FAQ)
    • 烧录Bootloader
  • 资源链接 🕸
    • 🔭Official Site of Petoi
    • 💿GitHub of OpenCat
    • 📀GitHub of OpenCatEsp32
    • 🎪PetoiCamp (Forum)
Powered by GitBook
On this page
  • 1. 启用webREPL
  • 2. 配置WebREPL程序
  • 3. 配置WebREPL服务
  • 4. 将串口和调试器分离

Was this helpful?

Export as PDF
  1. API
  2. MicroPython控制器

配置WebREPL

实现远程调试与上传程序

PreviousMicroPython上手玩Next使用ESP-NOW协议

Last updated 2 years ago

Was this helpful?

之前的教程通过离线编辑Python代码实现了NyBoard执行序列动作的功能。 但是这样很不方便,每当需要修改代码, 我们需要拔下WiFi模块进行修改,也不能在执行过程中灵活的暂停、修改参数。 究其原因,ESP8266只有一个串口,我们需要使用它与NyBoard进行通信。 好在MicroPython利用ESP提供的WiFi功能实现远程无线Python调试-WebREPL。

我们在官方文档的基础上,结合模块的特点,撰写了以下教程:

1. 启用webREPL

连接设备后,在shell界面输入import webrepl_setup ,根据指南输入

  1. 启动时启用webREPL: E

  2. 设置密码:你自己的密码(演示为:1234)

  3. 重复密码

  4. 重启8266模块:y

2. 配置WebREPL程序

我们使用下面的demo程序,注意将SSID和密码换成您身边使用的网络信息。

import network
import time
import webrepl

def do_connect():
    
    # WiFi SSID and Password
    wifi_ssid = "YOUR SSID"             # YOUR WiFi SSID
    wifi_password = "YOUR PASSWORD"     # YOUR WiFi PASSWORD

    # Wireless config : Station mode
    station = network.WLAN(network.STA_IF)
    station.active(True)

    # Continually try to connect to WiFi access point
    while not station.isconnected():
    
        # Try to connect to WiFi access point
        print("Connecting...")
        station.connect(wifi_ssid, wifi_password)
        time.sleep(10)

    # Display connection details
    print("Connected!")
    print("My IP Address:", station.ifconfig()[0])
    

if __name__ == "__main__":
    do_connect()
    webrepl.start()

启动程序后,会不停连接WiFi网络,一旦连接上,会自动启动设备的WebREPL服务。

Connected!
My IP Address: 192.168.xxx.xxx
WebREPL daemon started on ws://192.168.xxx.xxx:8266
Started webrepl in normal mode

记住这个IP地址(路由器DHCP自动分配的),配置WebREPL时有用。

3. 配置WebREPL服务

我们通过WebREPL来调试Python,原先的串口用来和NyBoard通讯。 所以在选项中,将原先的USB-COMx接口修改成WebREPL。

然后我们填入WebREPL的IP地址、端口及密码,点击OK。

完成后会连接,当显示WebREPL Connected表示连接成功了。

我们可以试着运行一些简单的程序,如blink。

WebREPL节约了串口,并支持无线调试。缺点是速度较慢(因为存在网络延迟),软件复位等待时间比较久。

4. 将串口和调试器分离

现在我们可以使用webREPL来调式程序了,但是我们打开串口监视器会发现,每当我们运行程序,串口会发出一系列的调试内容: 这些海量的字符串会导致我们的NyBoard来不及处理而宕机,如下图所示:

我们希望在调试程序的时候,串口只输出我们希望输出的指令,而不是这些Debug信息。 打开设备上的boot.py文件,将uos.dupterm(None, 1) 这行代码取消注释并保存,解除串口和REPL debug的绑定。 再次重启模块,串口调试助手就不再打印debug信息了。

作为补充,我们可以通过print()指令输出debug信息,这些信息会通过WiFi显示在Shell上。

至此,大家可以方便的使用WiFi模块通过webREPL调试Bittle进行基于MicroPython的动作序列编辑。

🐛
官方文档