『壹』 少兒編程下載什麼軟體
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 固件中如何讀取郵件內容
你會不會在pc上實現相應功能
如果沒有,先pc實現
pc實現了,再嘗試在開發板安裝測試相應模塊
開發板測試失敗再提問
==========
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方面需要額外處理。