导航:首页 > 编程语言 > esp32移植python

esp32移植python

发布时间:2022-05-09 01:55:54

‘壹’ 少儿编程下载什么软件

1、Mind+

Mind+是一款拥有自主知识产权的国产图形化编程软件,诞生于2013年,由DFRobot开发。主要就是针对国内科技创新教育需求而开发的图形化编程软件,也是国内最早的图形化编程软件工具之一。在Scratch平台不能使用后,惊喜发现它完全可以兼容sb3格式保存的编程文件,其程序文件甚至可以一键导入到软件中,实现了对Scratch功能的无缝对接。目前很多学校老师、同学很多都在使用的一款编程软件。

特点提炼:

1.慧编程V5除了动画创作和游戏制作外,还支持对机器人和开源硬件编程

2.配合硬件教学,让课堂教学内容和形式更丰富;

3.支持丰富的开源硬件,满足更多课程需求,提高课堂创造效率

4.支持一键切换python和Python输入模式,实现从图形化编程到代码编程的进阶教学

5.配套教学资源和课堂管理平台,打造高效课堂

6.支持AI和IoT黑科技,可设计各种趣味应用

7.即将支持多平台使用,提供流畅的编程教学体验




4. 其他软件

目前还有一些儿童编程替代软件,如扣叮、编程猫、kitten等,大家感兴趣都可以搜索下载尝试。

‘贰’ 同一块esp32开发板,MicroPython和arino如何交替使用

烧录Arino程序后Micropython就被覆盖了。

‘叁’ python可以写固件吗

Python不能直接写固件,但是可以先把python编译成c语言,再编译成单片机固件或者直接编译成机器码。这样做的问题是程序会很大,而固件一般容量很小,事实上没人会去这么操作。
目前micropython可以写esp8266及esp32等系列的wifi芯片。不过micropython不是Python,只是名字相近。

‘肆’ 用Python控制串口连接的ESP8266无线芯片,如何操作

1、确定一下串口没问题(可以尝试用其他编程语言操作)
2、看下下面博客,试试能不能解决问题。
http://cache.content.com/c?m=&p=&newp=&user=&fm=sc&query=python+serial+%C4%A3%BF%E9&qid=d941882f0009a361&p1=5

‘伍’ esp32 vscode lauch 设置

第一步:安装 VSCode C/C++ 扩展
1.在应用商店里搜索 C++
2.安装C/C++ IntelliSense, debugging, and code browsing
第二步:安装 VSCode ESP-IDF 扩展
1.在应用商店里搜索 Espressif
2.安装 Develop and debug applications for Espressif ESP32, ESP32-S2 chips with ESP-IDF (带乐鑫图标)
第三步:配置ESP-IDF 扩展
1.按 F1 或Ctrl+Shift+P 打开命令面板
2.输入 ESP-IDF: Configure ESP-IDF extension
加载初始设置时间较长,耐心等待
3.根据实际情况选择不同的配置方式
Express: IDF 版本 配置Python环境,扩展将安装IDF
Advanced: 手动配置已安装的开发环境
Using Existing Setup : 使用扩展检测出的环境
配置完成后显示:All settings have been configured. You can close this window.
第四步:创建项目模板,检测设置
1.按 F1 或Ctrl+Shift+P 打开命令面板 输入ESP-IDF:Create project 或按Ctrl+E+C
2.选择工程创建目录
3.选择模板类型
第五部:设置工作区的json文件
在settings.json文件中添加以下内容
"terminal.integrated.shell.windows": "cmd.exe",
"terminal.integrated.shellArgs.windows": ["/k", "c:\\esp\\esp-idf\\export.bat"],
"terminal.integrated.shell.linux": "/bin/bash",
"terminal.integrated.shellArgs.linux": ["--init-file", "~/esp/esp-idf/export.sh", "-i"],
"terminal.integrated.shell.osx": "/bin/bash",
"terminal.integrated.shellArgs.osx": ["--init-file", "~/esp/esp-idf/export.sh", "-i"],
"files.associations": {undefined
"*.md": "markdown",
"*.mdx": "tdx",
"stdio.h": "c"
},
可以在VSCode 终端中正常使用idf的各种命令。
第六步:编译工程
可以使用ESP扩展下的各个按钮完成项目的串口选择、项目配置、Full Clearn、编译、下载、监视
也可以使用命令行方式:
1.按Ctrl+` (~按键的位置)打开终端(第一次运行时扩展会有提示,选择允许 其实质就是运行~/esp/esp-idf/export.sh)
2.选择终止终端
3.重新打开终端 会看到export.sh运行的结果
Go to the project directory and run:
idf.py build
4.运行各种idf命令
第七部:下载程序并监测程序运行
1. 按Select Device Port 按钮 或运行 ESP-IDF:Device configuration命令
按提示选择/dev/ttyUSB1作为下载口
2.编译完成后,可使用下载按钮进行程序下载。此时会出现提示:
PermissionError: [Errno 13] Permission denied: '/dev/ttyUSB1'
原因:
$ ls -l /dev/ttyUSB*
crw-rw---- 1 root dialout 188, 0 2月 3 11:21 /dev/ttyUSB0
crw-rw---- 1 root dialout 188, 1 2月 3 11:21 /dev/ttyUSB1
发现ttyUSB* 设备属于root用户 dialout 用户组,当前用户不属于dialout用户组
解决方案:
(1).执行以下命令
$sudo chmod 666 /dev/ttyUSB*
修改ttyUSB设备权限为其它用户可读可写。
缺点:电脑重启后,又会出现这种问题,还要重新设置
(2).为了能让普通用户也能使用串口,可以增加udev规则来实现
$sudo vim /etc/udev/rules.d/70-ttyusb.rules
增加如下内容:
KERNEL=="ttyUSB[0-9]*",MODE="0666"
保存,重新插入USB转串口,普通用户就能搞定了
缺点:该方法会让所有的普通用户都具有访问这些串口设备的权限,存在一定的安全隐患
(3).将目标用户加入dialout用户组,可以使用以下任意一个命令
$sudo usermod -aG dialout <目标用户名>
或:
sudo gpasswd --add <目标用户名> dialout
重启系统即可

第八部:跟踪调试程序
1.按 OpenOCD Server 按钮 输出提示:
❌ Error: libusb_open() failed with LIBUSB_ERROR_ACCESS
❌ Error: no device foun
按照 https://sourceforge.net/p/openocd/code/ci/master/tree/README 文档解释做如下操作:
(1). 将~/.espressif/tools/openocd-esp32/v0.10.0-esp32-20200709/openocd-esp32/share/openocd/contrib/
目录下的 60-openocd.rules 拷贝至 /etc/udev/rules.d/ 目录下
(2).确保当前用户属于 plugdev 用户组。 提示:运行 groups 命令可以查看当前用户所属的用户组
(3).重启系统
2.配置Debug 环境
参考:https://github.com/espressif/vscode-esp-idf-extension/blob/master/docs/DEBUGGING.md
注:该文档中的模板有坑。
问题:
使用 ESP-IDF Debug Adapter 配置时出现如下提示:
pygdbmi.gdbcontroller.NoGdbProcessError: gdb process has already finished with return code: 127
按照 esp_debug_adapter 说明文档 在~/.vscode/extensions/espressif.esp-idf-extension-0.6.1/esp_debug_adapter/ 目录下
$pip install -r requirements.txt
问题依然存在 暂无解决思路

使用 Microsoft C/C++ extension to debug 配置时出现如下提示:
error while loading shared libraries: libpython2.7.so.1.0: cannot open shared object file: No such file or directory
实质是系统中没有python2.7的库,解决:
$ sudo apt update
$ sudo apt upgrade
$ sudo apt install libpython2.7

问题解决
同时也解决了使用 ESP-IDF Debug Adapter 配置时出现的问题 故是否需要pip install …… 不能确定

在使用 Microsoft C/C++ extension to debug 配置时 会提示出现异常,不用理会可正常跟踪调试。

有时会提示
Error: couldn’t bind tcl to socket: Address already in use
则证明 刚刚启动的 进程未被终止。
解决办法:
a).查看当前活动进程
netstat为显示网络相关信息 a(all:默认显示所有,如果加了其他选项此项不生效) n(number:以数字形式显示) t(仅仅显示tcp连接),p(process:显示该项是由哪个程序建立起来的)
$ sudo netstat -antp
b). 强制杀死它(假设进程号为3560,-9为强制杀死)
$ sudo kill -9 3560
Debug正常运行时,状态栏由蓝色变为棕色。

附:scode的各个json文件
c_cpp_properties.json
======================================
{undefined
"configurations": [
{undefined
"name": "ESP-IDF",
"compilerPath": "${default}",
"cStandard": "c11",
"cppStandard": "c++17",
"includePath": [
"${config:idf.espIdfPath}/components/**",
"${config:idf.espIdfPathWin}/components/**",
"${workspaceFolder}/**"
],
"browse": {undefined
"path": [
"${config:idf.espIdfPath}/components",
"${config:idf.espIdfPathWin}/components",
"${workspaceFolder}"
],
"limitSymbolsToIncludedHeaders": false
}
}
],
"version": 4
}

settings.json
======================================
{undefined
"terminal.integrated.shell.windows": "cmd.exe",
"terminal.integrated.shellArgs.windows": ["/k", "c:\\esp\\esp-idf\\export.bat"],
"terminal.integrated.shell.linux": "/bin/bash",
"terminal.integrated.shellArgs.linux": ["--init-file", "~/esp/esp-idf/export.sh", "-i"],
"terminal.integrated.shell.osx": "/bin/bash",
"terminal.integrated.shellArgs.osx": ["--init-file", "~/esp/esp-idf/export.sh", "-i"],
"files.associations": {undefined
"*.md": "markdown",
"*.mdx": "tdx",
"stdio.h": "c"
},
"C_Cpp.clang_format_style": "Visual Studio",
"editor.formatOnSave": false,
"[cpp]": {undefined
"editor.quickSuggestions": true
},
"[c]": {undefined
"editor.quickSuggestions": true
},
"C_Cpp.intelliSenseEngine": "Tag Parser",
//配置下载接口
"idf.port": "/dev/ttyUSB1",
//配置下载方式
"idf.flashType": "UART",
//openOcd配置,根据开发板确定
"idf.openOcdConfigs": [
//新版建议用“board/XXX” 配置
"interface/ftdi/esp32_devkitj_v1.cfg",
"target/esp32.cfg"
]
}

launch.json
======================================
{undefined
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{undefined
"type": "espidf",
"name": "ESP_Debug",
"request": "launch",
"debugPort": 43474,
"logLevel": 2,
//模板中有坑的地方,模板内容为 "mode": "manual",
//这样不能自动启动 Debug Adapter
"mode": "auto",
"initGdbCommands": [
"target remote :3333",
"symbol-file ${workspaceFolder}/build/${command:espIdf.getProjectName}.elf",
"set remote hardware-watchpoint-limit 2",
"mon reset halt",
"flushregs",
"thb app_main",
"c"
],
"env": {undefined
"PATH": "${env:PATH}:${config:idf.customExtraPaths}"
}
},
{undefined
"name": "GDB",
"type": "cppdbg",
"request": "launch",
"MIMode": "gdb",
"miDebuggerPath": "${command:espIdf.getXtensaGdb}",
"program": "${workspaceFolder}/build/${command:espIdf.getProjectName}.elf",
"windows": {undefined
"program": "${workspaceFolder}\\build\\${command:espIdf.getProjectName}.elf"
},
"cwd": "${workspaceFolder}",
"environment": [{ "name": "PATH", "value": "${config:idf.customExtraPaths}" }],
"setupCommands": [
{ "text": "-enable-pretty-printing",
"ignoreFailures": true },
{ "text": "file '${workspaceFolder}/build/${command:espIdf.getProjectName}.elf'"},
{ "text": "target remote :3333" },
{ "text": "set remote hardware-watchpoint-limit 2"},
{ "text": "mon reset halt" },
{ "text": "thb app_main" },
{ "text": "flushregs" }
//{ "text": "c"}
],
"externalConsole": false,
"logging": {undefined
"engineLogging": true
}
}
]
}

tasks.json 这个文用系统生成的即可 略
————————————————
版权声明:本文为CSDN博主“FuShaofeng”的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/FuShaofeng/article/details/113633337

‘陆’ ESP32 开发板 MicroPython 固件中如何读取邮件内容

  1. 你会不会在pc上实现相应功能

  2. 如果没有,先pc实现

  3. pc实现了,再尝试在开发板安装测试相应模块

  4. 开发板测试失败再提问


==========

github.com/shawwwn/uMail

uMailA lightweight, scalable SMTP client for sending email in MicroPython

‘柒’ 能用python给arino编程吗

过去,“Arino”的标签意味着使用的开发板上有一个Atmel处理器,并且使用Arino软件库。现在不再如此。几乎每家微处理器制造商都基于Arino板设计了一套开发工具,用到了它们自己的处理器和软件。在《原型到产品:专业化的Arino》一文中,我提到Arino给开发者提供的最重要特性就是硬件兼容,并且能用它们自己的软件。正在试图融合Python和Arino优点的开发者需要寻找一款开发工具或是平台,符合硬件标准,能运行Python,但又不局限于使用Atmel处理器或是Arino代码包。

在Arino上运行Python的小技巧就是寻找一个兼容Arino的开发工具,在上面运行Python。这个问题本质上就是寻找哪种型号的Arino板子有Python端口。没有开发者会为了在单片机上运行Python而自己做迁移,尽管迁移Python很有趣,但是也非常耗费精力。当然还有其它的开发者,和开源的或者迁移的Python代码。

强大的谷歌搜索告诉我们几乎没有合适的选择。仅有的几个之一的选择是一款五年前的开源产品,名为Pymite。它使用的Python版本是2.5(不是最新的2.7版本),在过去两年里几乎没有更新。没有活跃社区的支持,Pymite也免不了落入开源项目的陷阱中。Pymite可以作为一个方案,但是在出现问题的时候会很无助。

**第二种选择是Micro Python。**Micro Python是一个Python 3的开源项目,针对单片机做了性能优化。(你可以阅读《Micro Python入门教程》来了解它)。Micro Python近期汇集了一些资源,目前支持许多硬件平台,包括CC3200、ESP8266、PIC16和STM32。粗略浏览Micro Python代码库(如图1)可以发现它对STM32家族的产品支持度要好于其它产品。


但是,这些单片机开发工具包在盒子之外还支持Micro Python吗?对目前支持Micro Python的板子调研后发现,只有NETDUINO_PLUS_2和OLIMEX_E407有Arino兼容的输出。OLIMEX_E407使用的处理器与PyBoard原产的405RG略有不同,但是Netino Plus 2使用完全相同的处理器。不幸的是,Netino Plus 2刚刚被淘汰。取而代之的是Netino Plus 3,它的处理器性能远远好于405RG。这款新处理器目前还没有Micro Python的端口。因此,开发者只能使用Olimex板,或者能找到一块可用的Netino Plus 2.

如果上述两种方案对开发者来说都无法实现,用Arino板子运行Python的第三种方案就是在PyBoard板子和标准Arino引脚板子之间连一块适配板。适配板也许是确保与原生Micro Python板以及将来更新相兼容的最佳方案。第四种方案就是基于405RG制作我们自己的Arino兼容板子,不过这样我们的原型制作速度将大打折扣。

一个开发团队是有可能整合Arino、硬件设备、Python编程的便捷性以及软件开发的优势。然而,目前并没有一种唾手可得的经验。开发者若想在Arino上运行Python,可以先写好Python脚本,然后在Olimex 407或是Netino Plus 2上轻易地跑起来。

‘捌’ ESP32可以用App INventor写吗

不可以,
ESP32 目前已支持的编程语言包括:C、C++、Python、Lua、C#、JavaScript 。

‘玖’ 目前少儿编程程序有哪些呢

1、Mind+

Mind+是一款拥有自主知识产权的国产图形化编程软件,诞生于2013年,由DFRobot开发。主要就是针对国内科技创新教育需求而开发的图形化编程软件,也是国内最早的图形化编程软件工具之一。在Scratch平台不能使用后,惊喜发现它完全可以兼容sb3格式保存的编程文件,其程序文件甚至可以一键导入到软件中,实现了对Scratch功能的无缝对接。目前很多学校老师、同学很多都在使用的一款编程软件。



4. 其他软件

目前还有一些儿童编程替代软件,如编程猫、kitten等,大家感兴趣都可以搜索下载尝试。

‘拾’ micropython之十万个为什么

有鉴于EEWorld坛主的热情,许诺发个PCBA给我评估。作为回报,我把我的学习体验贴在坛子了。

因为EE的背景,我最熟悉的是8051汇编和C。不过最近在Arino/mbed上大量用了C++开发。使用Python是从辅助开发工具时开始的,Python可以从物联网各个环节切入,Python可以用于
FPGA/CPLD,嵌入式软件,桌面程序,服务器(Web/IoT Server+BigData)和手机APP开发中。此外,我还为FSL的KL25Z用Python做了自动测试,服务器,ISP下载等。

所以.......

如果你是工程师,你要学Python;
如果你是很懒的工程师,你更要学Python;
如果你是喜欢DIY的工程师,你更加要学Python。
如果你是喜欢炒股票的工程师,你不学Python就亏了。

适用范围广度可以与Python一拼的语言是Java和Javascript。(关于编程语言的争论我不回复。)

为什么要用Python

我记得一位高人对我说,要别人的钱,别人的脑子,办你的事情。Python可以帮你一把。Python自带很多很多......的库,所以在物联网背景下,可以做很多事情。

而且作为胶水语言,Python有多个版本。基于C的CPython和Cython,基于JVM的Jython,基于Python子集和JIT的PyPy,基于.net的IronPython,基于Javascript的Pyjs/Brython,还有被Ruby吸血的RubyPython。所以Python和C/Java/.net-C#/JS/Ruby之间可以很好地互相勾搭。也就是因为这点,Python可以获取大量的Java企业应用库......

此外,无论你把Python作为脚本,还是OOP试验田,还是AOP编程,都可以。作为程序员可以同一工具下完成编程思想的升级改造。

嵌入式版本

Python适用面广,语法简单。用于嵌入式是迟早的事情。无论是ARM Cortex-M0/3/4,还是Cortex-A5/7/8/9,MIPS,x86,Quark都不在话下。micropython是目前最流行的嵌入式Python VM和开发环境。官方分支有:STM32HAL/ESP8266/CC3000/UNIX版本,还有细小分支如Teensy(FSL KL),PIC16,而第三方分支有microbit和WiPy/LoPy。前者是micropython为BBC microbit开发,而后者是基于CC3000和ESP32(Wifi+BLE双模)和LoRa长距离WSN而开发的版本。

其他嵌入式Python还有Pymite和Viper。以及大家交叉编译的CPython,OpenEmbedded版本,OpenWRT版本,以及Debian/Ubuntu的ARM/MIPS版本,Lego ev3-dev版本.......Symbian版本,Telit GPRS MODEM版本......

所以.......
Python大法好,赶紧到碗里来。

为什么在嵌入式中使用Python
因为二次开发是现在开发的核心价值。现在的“智能”硬件真的一点儿都不智能,只能够说是互联产品,它本身不智能,智能在云端了。但是用户应用应该具备二次开发和环境,这以后会是一个标配。所以光有C/C++这种贴近硬件的语言是不够的,针对应用应该有自己的运行时:Java,Python,Javascript。

micropython的野望

有没有注意到micropython有个UNIX版本?而UNIX版本中还有组件管理工具:upip?这就是构建micropython生态的节奏。那么他要和CPython竞争么?我觉得还不是。但是在ARM9等只有busybox的SBC里面,它的优势很明显。大家可以不用自己恶搞CPython了。因为micropython天生就是交叉编译的。

micropython的限制

由于在裸机上,micropython在设计中不仅需要了解C/Python间区别,还需要了解标准Python和microPython间区别。否则,micropython有个天生的麻烦,不支持JTAG/SWD调试。你们懂得,在于实时有关的环境中,有时候没有调试让人抓狂。所以ISR方面需要额外处理。

阅读全文

与esp32移植python相关的资料

热点内容
一天一图学会python可视化 浏览:307
魔兽编辑文本命令串 浏览:495
android中view绘制 浏览:796
安卓机内存删除怎么恢复 浏览:329
Qt环境的编译软件放到linux 浏览:212
联创打印系统怎么连接服务器 浏览:935
杭州行政命令 浏览:160
如何查找服务器日志 浏览:801
加密的钥匙扣怎么写 浏览:579
文件夹更新不了怎么办 浏览:475
压缩机指示灯亮是什么原因 浏览:956
什么app订酒店半价 浏览:765
中老年解压神器 浏览:243
讯飞语音ttsandroid 浏览:468
腰椎压缩性骨折术后能坐车吗 浏览:507
python类装饰器参数 浏览:348
均线pdf微盘 浏览:792
女生喜欢玩的解压游戏 浏览:442
支付宝暗号加密操作 浏览:134
柯洁在哪个app下围棋 浏览:751