【行空板K10】编写第一个程序

引言

最近参加了DFRobot搞的活动:义教信息科技教学活动实践案例征集 DF创客社区。前面已经对行空板K10进行了介绍,今天来安装一下软件环境,并做些简单的测试。

编程环境的构建

行空板K10是基于ESP32的,已经有网友测试过,使用任何支持ESP32的开发工具都是可以用的,比如官方的MicroPython固件。

官方的编程环境是行空板K10公测版Mind+,在本文写作的时候不能用正式版本的,而只能从其wiki下载公测版:行空板K10快速使用教程。整个文件包很大,要1.4G。

e83fa7701e954ff58d8c5b490cc89373.png

Mind+是一款拥有自主知识产权的国产青少年编程软件,集成各种主流主控板及上百种开源硬件,支持人工智能(AI)与物联网(IoT)功能,既可以拖动图形化积木编程,还可以使用Python/C/C++等高级编程语言,让大家轻松体验创造的乐趣。有关Mind+的使用,可以参考:Mind+官方教程-Mind+图形化编程软件。Mind+可以支持Micro:bit、Arduino和ESP32等3个最流行的平台。现在采用这种类似Scratch的积木编程界面,再结合MicroPython代码的方式,在青少年编程领域很常见,我以前测试过的小河狸创客也是这个技术路线。

第一个程序的设计

切换到上传模式(K10开发板只在这个模式才会看到),点击”扩展“,在扩展页面中,点击”主控板“,选择”行空板K10“,点击”返回“,完成加载。

0a41611531144f8e913187d77ed92cdc.png

 使用USB线将行空板K10的Type-C口接到电脑USB口,在mind+中点击“连接设备”,找到对应的UNIHIKER K10设备并点击,完成设备连接。

下面的程序会在屏幕上显示当前的摄氏度。记得加“将缓存更新”那句,我刚开始忘了,所以啥也没有看到。

29e047798a9943baaf01115c14c4ba1b.png

程序上传

写完程序,点击“上传到设备”,Mind+就开始编译程序,并将程序通过串口传到开发板上。我们只需要等待程序上传完成

505ba941509f494689a9ade129152509.png

从右下侧的小黑窗里面可以看到命令行: 

om.newlib-time.ld -T esp32s3.peripherals.ld -mlongcalls -Wl,--cref -Wl,--gc-sections -fno-rtti -fno-lto -Wl,--wrap=esp_log_write -Wl,--wrap=esp_log_writev -Wl,--wrap=log_printf -u _Z5setupv -u _Z4loopv -u esp_app_desc -u pthread_include_pthread_impl -u pthread_include_pthread_cond_impl -u pthread_include_pthread_local_storage_impl -u pthread_include_pthread_rwlock_impl -u include_esp_phy_override -u ld_include_highint_hdl -u start_app -u start_app_other_cores -u __ubsan_include -Wl,--wrap=longjmp -u __assert_func -u vfs_include_syscalls_impl -Wl,--undefined=uxTopUsedPriority -u app_main -u newlib_include_heap_impl -u newlib_include_syscalls_impl -u newlib_include_pthread_impl -u newlib_include_assert_impl -u __cxa_guard_dummy -DESP32 -DCORE_DEBUG_LEVEL=0 -DARDUINO_RUNNING_CORE=1 -DARDUINO_EVENT_RUNNING_CORE=1 -DBOARD_HAS_PSRAM -DARDUINO_USB_MODE=1 -DARDUINO_USB_CDC_ON_BOOT=1 -DARDUINO_USB_MSC_ON_BOOT=0 -DARDUINO_USB_DFU_ON_BOOT=0 -Wl,--start-group C:\Users\haili_10137664\AppData\Local\DFScratch\cache\dfrobot.ino.cpp.o D:\Mind+1.8.0_RC1.0_20241127\Arduino\static\hardware\dfrobot\esp32s3\libraries\DFRobot_AHT20\esp32s3bit\DFRobot_AHT20.cpp.o D:\Mind+1.8.0_RC1.0_20241127\Arduino\static\hardware\dfrobot\esp32s3\libraries\Wire\src\esp32s3bit\Wire.cpp.o D:\Mind+1.8.0_RC1.0_20241127\Arduino\static\hardware\dfrobot\esp32s3\libraries\FS\src\esp32s3bit\FS.cpp.o D:\Mind+1.8.0_RC1.0_20241127\Arduino\static\hardware\dfrobot\esp32s3\libraries\FS\src\esp32s3bit\vfs_api.cpp.o D:\Mind+1.8.0_RC1.0_20241127\Arduino\static\hardware\dfrobot\esp32s3\libraries\SPI\src\esp32s3bit\SPI.cpp.o D:\Mind+1.8.0_RC1.0_20241127\Arduino\static\hardware\dfrobot\esp32s3\libraries\TFT_eSPI\esp32s3bit\TFT_eSPI.cpp.o D:\Mind+1.8.0_RC1.0_20241127\Arduino\static\hardware\dfrobot\esp32s3\libraries\SPIFFS\src\esp32s3bit\SPIFFS.cpp.o D:\Mind+1.8.0_RC1.0_20241127\Arduino\static\hardware\dfrobot\esp32s3\libraries\lv_lib_qrcode\esp32s3bit\lv_qrcode.c.o D:\Mind+1.8.0_RC1.0_20241127\Arduino\static\hardware\dfrobot\esp32s3\libraries\lv_lib_qrcode\esp32s3bit\qrcodegen.c.o D:\Mind+1.8.0_RC1.0_20241127\Arduino\static\core\esp32s3bit\core.a -lesp_ringbuf -lefuse -lesp_ipc -ldriver -lesp_pm -lmbedtls -lapp_update -lbootloader_support -lspi_flash -lnvs_flash -lpthread -lesp_gdbstub -lespcoredump -lesp_phy -lesp_system -lesp_rom -lhal -lvfs -lesp_eth -ltcpip_adapter -lesp_netif -lesp_event -lwpa_supplicant -lesp_wifi -lconsole -llwip -llog -lheap -lsoc -lesp_hw_support -lxtensa -lesp_common -lesp_timer -lfreertos -lnewlib -lcxx -lapp_trace -lasio -lbt -lcbor -lunity -lcmock -lcoap -lnghttp -lesp-tls -lesp_adc_cal -lesp_hid -ltcp_transport -lesp_http_client -lesp_http_server -lesp_https_ota -lesp_https_server -lesp_lcd -lprotobuf-c -lprotocomm -lmdns -lesp_local_ctrl -lsdmmc -lesp_serial_slave_link -lesp_websocket_client -lexpat -lwear_levelling -lfatfs -lfreemodbus -ljsmn -ljson -llibsodium -lmqtt -lopenssl -lperfmon -lspiffs -lusb -lulp -lwifi_provisioning -lrmaker_common -ljson_parser -ljson_generator -lesp_schedule -lesp_rainmaker -lgpio_button -lqrcode -lws2812_led -lesp_diagnostics -lrtc_store -lesp_insights -lespressif__esp-dsp -lespressif__esp-sr -lesp32-camera -lesp_littlefs -lfb_gfx -lbtdm_app -larduino_tinyusb -lcat_face_detect -lhuman_face_detect -lcolor_detect -lmfn -ldl -lhufzip -lesp_audio_front_end -lesp_audio_processor -lwakenet -ldl_lib -lc_speech_features -lesp_tts_chinese -lvoice_set_xiaole -lmbedtls_2 -lmbedcrypto -lmbedx509 -lcoexist -lcore -lespnow -lmesh -lnet80211 -lpp -lsmartconfig -lwapi -lphy -lbtbb -lxt_hal -lm -lstdc++ -lgcc -lgcov -lc -lmodules -lscreen -lbus -lmultinet -lfst -lesp-code-scanner -lnewlib_iconv -llvgl -lSD -lasr -lDFRobot_ESPASR -lAdafruit_NeoPixel -lunihiker_k10 -lflite_g2p -lESP32_IO_Expander -lESP32_Display_Panel -Wl,--end-group -Wl,-EL -o C:\Users\haili_10137664\AppData\Local\DFScratch\build\dfrobot.ino.elf
D:\Mind+1.8.0_RC1.0_20241127\Arduino\hardware\tools\esp32s3\esptool\esptool --chip esp32s3 elf2image --flash_mode dio --flash_freq 80m --flash_size 16MB --elf-sha256-offset 0xb0 -o "C:\Users\haili_10137664\AppData\Local\DFScratch\build\dfrobot.ino.bin" "C:\Users\haili_10137664\AppData\Local\DFScratch\build\dfrobot.ino.elf"
项目使用了583053字节,占用了(11%)程序存储空间,余留4659827字节,最大为5242880字节。
全局变量使用了22348字节,(7%)的动态内存,余留305332字节局部变量,最大为327680字节。 
D:\Mind+1.8.0_RC1.0_20241127\Arduino\hardware\tools\esp32s3\esptool\esptool --chip esp32s3 --port COM5 --baud 921600 --before default_reset --after hard_reset write_flash -z --flash_mode dio --flash_freq 80m --flash_size 16MB 0x0 D:\Mind+1.8.0_RC1.0_20241127\Arduino\hardware\dfrobot\esp32s3\tools\partitions\dfrobot.ino.bootloader.bin 0x8000 D:\Mind+1.8.0_RC1.0_20241127\Arduino\hardware\dfrobot\esp32s3\tools\partitions\dfrobot.ino.partitions.bin 0xe000 D:\Mind+1.8.0_RC1.0_20241127\Arduino\hardware\dfrobot\esp32s3\tools\partitions\boot_app0.bin 0x10000 C:\Users\haili_10137664\AppData\Local\DFScratch\build\dfrobot.ino.bin
esptool.py v4.7.0
Serial port COM5
Connecting............................

如果下载过程中出现问题,可以从这里看到。 

测试结果

程序的运行结果如下图显示。不过温度不是我家的室温,北方有暖气,但是没有那么热。

0d580ee8daec40e98c2c3d4338a35b80.jpeg

结语

今天完成了行空板K10的环境搭建和第一个程序的测试。总体感觉不错,等过了元旦找时间完成测试任务。

 

<think>好的,我需要帮助用户到关于在K10系列行空上使用PyCharm的教程或配置方法。首先,我得先理解用户的问题。行空可能是一种特定的开发或硬件设备,而K10系列可能是其型号。用户想在PyCharm中配置或使用这个子进行开发。 首先,我需要回忆PyCharm的基本使用和配置方法。根据用户提供的引用资料,PyCharm有专业版和社区版,社区版免费,适合日常开发[^2]。配置PyCharm时,可以调整内存设置以提升性能[^3]。此外,用户可能需要在PyCharm中设置Python解释器或项目结构[^4]。 接下来,用户的问题涉及特定的硬件——K10行空。这可能意味着需要在PyCharm中配置远程开发环境、设置SSH连接,或者安装特定的插件来支持该硬件。例如,如果行空是基于Linux系统的,可能需要通过远程解释器来连接。 由于用户提供的引用中没有直接提到K10行空,我需要推测可能的配置步骤。例如,可能需要安装针对该硬件的SDK或库,配置部署工具,或者设置调试环境。此外,可能需要参考行空的官方文档,查看是否有PyCharm的集成指南。 另外,考虑到行空可能支持Python,用户可能需要在PyCharm中配置Python解释器路径,指向行空上的Python环境。或者使用远程开发功能,将代码部署到行空上运行。这可能需要安装像“SSH Remote Run”这样的插件,或者使用PyCharm Professional的远程开发功能。 可能的问题包括如何配置远程解释器、如何部署代码到行空、如何调试运行在行空上的代码等。需要逐步引导用户完成这些步骤,并提示他们参考行空的官方文档或社区资源。 最后,生成的相关问题应围绕PyCharm在嵌入式或特定硬件上的使用,例如远程开发配置、插件安装、调试方法等。</think>### PyCharm在K10系列行空上的配置方法 目前公开资料中未明确提及**K10系列行空**与PyCharm的直接集成教程,但可通过以下通用方法实现开发环境配置: --- #### **1. 硬件通信基础配置** - **连接方式**:行空通常支持USB/网络连接,需在PyCharm中配置SSH远程解释器。路径:`File > Settings > Project Interpreter > Add > SSH Interpreter`,输入行空的IP地址和认证信息[^3]。 - **文件传输**:使用`Tools > Deployment > Configuration`设置SFTP,将本地代码自动同步到行空[^4]。 --- #### **2. 依赖管理与调试** - **安装硬件专用库**:通过SSH终端安装行空SDK,例如: ```bash pip install xingkong-board-k10-sdk # 假设的SDK包名,需以官方文档为准 ``` - **远程调试**:在PyCharm中创建`Remote Debug`配置,指定端口和映射路径[^3]。 --- #### **3. 性能优化建议** - 调整PyCharm内存:修改`pycharm.vmoptions`文件,增加`-Xmx2048m`避免卡顿。 - 关闭冗余插件:在`Plugins`中禁用与嵌入式开发无关的插件。 --- #### **官方资源补充** 建议优先查阅行空厂商提供的开发文档,通常包含: - 系统镜像烧录指南 - GPIO/I2C等硬件接口的Python库说明 - 实时数据可视化配置方法 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

神一样的老师

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值