Giter VIP home page Giter VIP logo

jczic / esp32-mpy-jama Goto Github PK

View Code? Open in Web Editor NEW
375.0 19.0 20.0 102.27 MB

v1.2 - UI tool for manage Espressif ESP32 microcontrollers with embedded MicroPython for MacOS, Windows and Linux: mini IDE, files manager, REPL, real time dashboards (sys/net), advanced features (gpio/mp3/leds/...)

Home Page: https://github.com/jczic/ESP32-MPY-Jama

License: MIT License

Python 65.30% CSS 6.22% HTML 7.88% JavaScript 20.55% Shell 0.05%
esp32 ide macos micropython repl serial windows esptool firmware flash

esp32-mpy-jama's Introduction

Hello ✋ World

esp32-mpy-jama's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

esp32-mpy-jama's Issues

Boot configuration (some wifi connection) get problems (Ubuntu)

image

Router1: b'NG-AP-ST', b'P\xe66\xc1\x0e\x10', 1, -71, 7, False
Router2: b'Freifunk', b'\xd2\x95\x05I\xd48', 9, -86, 0, False

Testsequence:

I start with empty Boot config:
image

Set up connection Router2 via Network or Connect Wi-Fi:
Store icon appears (rotate clockwise) but nothing happens/stored !
The store icon stays permanent with clockwise move.
But connection established (can get NTP)
image

I close the connection of Router2 and setup Router1
The Store icon appears and data can be stored !!!
image

After successful storing I can also (after close R1 and new setup Router2) store data ?!
But it seems be not the data of Router2.

When I start jamaBootCfg manually I can see always “Connecting Wi-Fi to "NG-AP-ST"... OK”,

Jama Func microSD test function

jama-func-sd.zip

I have problems the find the right connection data of the "SD Card" function in the main menu.
Therefore I build a "quick and dirty" test for the Jama Funcs with some good segments from github.
Maybe you are interested.

Can't connect if device running task

Scenarios:

  • Device is running web server using MicroWebSrv2
  • If I try, Connect device then its can not connect.
  • If I open using Thonny then can connect using MPY-Jama.

Solution:

  • Send KeyboardInterrupt signal like Thonny on connect then device will free to connect.

Devices:

  • Wemos S2 mini and D32 (I believe same issue will be for other device)

Saving of Wi-Fi configuration not working

I tried several ways to safe the Wi-Fi configuration, but all end in errors:

  1. Directly after starting the program and connecting a device click on the "Connect Wi-Fi" button in the left sidebar. After connection to the Wi-Fi is established, change to the "Networks" view and click on the save button. After this action the "System", "Networks" and "Connect Wi-Fi" and "Firmware Tools" buttons in the sidebar and the "Disconnect device" button in the top right don't work anymore - you can click them, but nothing happens.
  2. After starting the program and connecting a device click on "Networks" in the sidebar and then the "config" link. Then proceed as in 1.

I tested this on Linux using the current version from git with a "Seeed Studio XIAO ESP32C3" board.

macOS keyboard input goes to terminal, not App

On macOS, when I run from the local repo clone (python src/app.py) all the input from the keyboard continues to go to the terminal where I started the app, and not to the app itself. So for example I try to type a password for the WiFi, it shows in the terminal.

This does not happen in the app when installed from the DMG. I also tried creating a binary (create_binary.sh) but the same issue occurs.

How do I get around this (to use the latest source) or how can I make the .dmg installer version?

The latest source connects to the device super fast!

thanks!

Build/packaging sets lang to fr

Small observation :-) I noticed that the full screen option was in French on my Mac - I switched this in Info.plist inside the app bundle:

	<key>CFBundleDevelopmentRegion</key>
	<string>en</string>

I guess this could be removed to default to the user's OS language.

Some localisations are missing

Some localisation is missing. For example Firmware open button opens dialog in France and upper menu "View" is in French.

This is with MAC and latest build.

Really like it!

I just wanted to say thanks for this i really like it. Have tried various micropython / esp32 dev tools and never found anything that works well or is very good. This one is great so far!

(you can just close this issue)

esp32 board cant connect (Fixed)

for windows 10 i installed your app and selected the com port that my board was on.
then your app wouldn't connect to the board and said couldn't connect.

I can open putty or thonny and it will connect to the esp board with no problems.

is there something i am missing?
i used the exe file from clicking on windows in the git page

Neon (Ubuntu) blanks screens with pywebviewqt (but works with gtk)

I consistently get two blank screens and a hang when trying to run under KDE Neon (basically Ubuntu). I tried a few things. To isolate the problem I did this:

import webview

def main():
    w=webview.create_window("Wow",html="<B>OK!</B><HR><I>Yay!</I>")
    webview.start(gui='qt')


if __name__ == "__main__":
    main()

If I am not in the venv and I have python3-webview installed it works. Without that package, of course, it doesn't.

If I go into the Jama venv, then it does not work (same as the app) with or without python3-webview (but with the pip-managed webview[qt].

However, if I do: pip3 install pywebview[gtk] and then modify the code to include gui='gtk' on the start line it works. Making the same change in app.py allows MPY-Jama to run also.

BLE Scan for ESP32 without PSRAM

The BLE Scan Jama Func now errors out on for example a ESP32-WROOM-32 (which might be one of the more widely used ones?), with

MemoryError: memory allocation failed, allocating 136 bytes

because it does not have PSRAM on board (only about 100KB RAM free).
However, simple BLE scans like in https://gist.github.com/biemster/801c25efc1d0ca9ea28ba39781aba2aa work fine.

Is it possible to reduce the memory footprint in the Func so it runs on those low RAM ESP32s?

repl issues on linux (ubuntu)

Hi,

The repl display does not appear to show underscores _ maybe this is a problem on my machine.

Also the repl does not accept input when there is no >>> prompt. For example if you try import webrepl_setup it is impossible to complete the setup, repl is not recognising input.

image

Serial port no detect

Hi,

I installed the Jama app on windows 10, my ESP32 with micropython is working, but when I open JAMA the com port is not detected, installed all dependencies.

The device on the "COMx" Port Is not compatible

Hello to all ,i have a problem with connection between PC and any esp32 . I have this error any time i try to connect any esp32 device with ESP32-MPY Jama "The device on the "COM x" Port Is not compatible".
the esp device works with other tool for flashing.
Thankyou

Add full support for Unexpected Maker S3 boards

Title says it all. Requesting enhancements so that more boards are fully supported including the ESP line of boards by Unexpected maker. I am unable to save configurations such as wifi details and AP details.

Great IDE, once intellisense is integrated and more board support is in place this IDE is going to take off!!

Are the ESP32-C3 boards supported

I am not able to connect a ESP32-C3 board. When trying to connect one, I get the following message:

The device on the "/dev/cu.wchusbserial54F40144441" port is not compatible.

Is there a list of the supported board types in the documentation somewhere?

Thx!

Serial Connection Lag and High CPU Usage

Operating System: Linux
ESP32-MPY-Jama Version: 1.2 (Compiled from source)

The problem occurs when I attempt rapid printing using the Jama serial connection terminal. The application struggles to keep up with the rapid output, resulting in lag and delayed printing. Additionally, the CPU usage increases significantly, reaching 100% and eventually causing the application to crash.

I have noticed that when using other terminal programs like picocom or the commonly known puTTY, rapid printing runs smoothly without any issues. This leads me to wonder if the developer has implemented a different communication mechanism in the Jama app, which could be causing the performance discrepancy.

Please let me know if there are any specific logs, error messages, or steps to reproduce the issue that would be helpful in diagnosing and addressing the problem.

Trojan detected

Hi

Some antiviruses are triggering alerts to the installer. Has anyone else noticed this?

ps

WebKit2 not available for version 4.1 - (simple Solution included)

(venv) chhe@pop-os:~/ESP32-MPY-Jama$ python3 src/app.py -g gtk
Starts ESP32 MPY-Jama v1.2.0 on Linux
[pywebview] GTK cannot be loaded
Traceback (most recent call last):
File "/home/chhe/ESP32-MPY-Jama/venv/lib/python3.10/site-packages/webview/platforms/gtk.py", line 26, in
gi.require_version('WebKit2', '4.1')
File "/home/chhe/ESP32-MPY-Jama/venv/lib/python3.10/site-packages/gi/init.py", line 129, in require_version
raise ValueError('Namespace %s not available for version %s' %
ValueError: Namespace WebKit2 not available for version 4.1

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/home/chhe/ESP32-MPY-Jama/venv/lib/python3.10/site-packages/webview/guilib.py", line 25, in import_gtk
import webview.platforms.gtk as guilib
File "/home/chhe/ESP32-MPY-Jama/venv/lib/python3.10/site-packages/webview/platforms/gtk.py", line 30, in
gi.require_version('WebKit2', '4.1')
File "/home/chhe/ESP32-MPY-Jama/venv/lib/python3.10/site-packages/gi/init.py", line 129, in require_version
raise ValueError('Namespace %s not available for version %s' %
ValueError: Namespace WebKit2 not available for version 4.1

have tried

sudo apt-get install libwebkit2gtk-4.0-dev
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
libwebkit2gtk-4.0-dev is already the newest version (2.42.4-0ubuntu0.22.04.1).
0 upgraded, 0 newly installed, 0 to remove and 34 not upgraded.

and

(venv) chhe@pop-os:~/ESP32-MPY-Jama$ sudo apt-get -y install libwebkit2gtk-4.1-0
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following additional packages will be installed:
libjavascriptcoregtk-4.1-0 libsoup-3.0-0 libsoup-3.0-common
Suggested packages:
gstreamer1.0-libav gstreamer1.0-plugins-bad
The following NEW packages will be installed:
libjavascriptcoregtk-4.1-0 libsoup-3.0-0 libsoup-3.0-common libwebkit2gtk-4.1-0
0 upgraded, 4 newly installed, 0 to remove and 34 not upgraded.
Need to get 30.1 MB of archives.
After this operation, 106 MB of additional disk space will be used.
Get:1 http://apt.pop-os.org/ubuntu jammy-security/main amd64 libjavascriptcoregtk-4.1-0 amd64 2.42.4-0ubuntu0.22.04.1 [8,126 kB]
Get:2 http://apt.pop-os.org/ubuntu jammy-updates/universe amd64 libsoup-3.0-common all 3.0.7-0ubuntu1 [62.1 kB]
Get:3 http://apt.pop-os.org/ubuntu jammy-updates/universe amd64 libsoup-3.0-0 amd64 3.0.7-0ubuntu1 [278 kB]
Get:4 http://apt.pop-os.org/ubuntu jammy-security/universe amd64 libwebkit2gtk-4.1-0 amd64 2.42.4-0ubuntu0.22.04.1 [21.7 MB]
Fetched 30.1 MB in 3s (11.1 MB/s)
Selecting previously unselected package libjavascriptcoregtk-4.1-0:amd64.
(Reading database ... 300971 files and directories currently installed.)
Preparing to unpack .../libjavascriptcoregtk-4.1-0_2.42.4-0ubuntu0.22.04.1_amd64.deb ...
Unpacking libjavascriptcoregtk-4.1-0:amd64 (2.42.4-0ubuntu0.22.04.1) ...
Selecting previously unselected package libsoup-3.0-common.
Preparing to unpack .../libsoup-3.0-common_3.0.7-0ubuntu1_all.deb ...
Unpacking libsoup-3.0-common (3.0.7-0ubuntu1) ...
Selecting previously unselected package libsoup-3.0-0:amd64.
Preparing to unpack .../libsoup-3.0-0_3.0.7-0ubuntu1_amd64.deb ...
Unpacking libsoup-3.0-0:amd64 (3.0.7-0ubuntu1) ...
Selecting previously unselected package libwebkit2gtk-4.1-0:amd64.
Preparing to unpack .../libwebkit2gtk-4.1-0_2.42.4-0ubuntu0.22.04.1_amd64.deb ...
Unpacking libwebkit2gtk-4.1-0:amd64 (2.42.4-0ubuntu0.22.04.1) ...
Setting up libsoup-3.0-common (3.0.7-0ubuntu1) ...
Setting up libjavascriptcoregtk-4.1-0:amd64 (2.42.4-0ubuntu0.22.04.1) ...
Setting up libsoup-3.0-0:amd64 (3.0.7-0ubuntu1) ...
Setting up libwebkit2gtk-4.1-0:amd64 (2.42.4-0ubuntu0.22.04.1) ...
Processing triggers for libc-bin (2.35-0ubuntu3.6) ...

simple solution

Commented out line

26 ,27 and 31 , 32 in

python3.10/site-packages/webview/platforms/gtk.py

Open ttyUSB device in Ubuntu (list pos empty)

image

Inside device selection there is an EMPTY position which represent the connected device.
dmesg: usb 2-1.2: cp210x converter now attached to ttyUSB0
If selected the device will connected and is usable.

Ubuntu 22.04
Jama just downloaded

Ctrl+/ keyboard shortcut for commenting lines?

From other IDEs I'm used to being able to comment / uncomment lines with the keyboard shortcut pessing the ctrl key and the / key. So with the cursor anywhere on a line or with multiple lines highlighted the ctrl+/ will insert a comment character at the start of the line or if the lines are already comments then it will remove the comment character.

Any chance you could add this to the code editor?

WPA3 network listed as "Open" network

Reproduced with:
WPA3 Wifi network in range
Device: ESP32C3
Micropython version: 1.19.1

Reproduce steps

  1. Click Wi-fi Connection
  2. Look for network secured with WPA2-PSK/WPA3-SAE (OpenWRT settings)

Actual results

The wireless network is listed as (OPEN) network and connection to it fails.
Connecting manually in REPL (sta_if.connect("<network>", "<pass>") works OK

Unable to program ESP32 firmware on Windows 10

I received the following error while trying to program MicroPython firmware to an ESP32 Lolin32 Pro in Windows 10:

Error: This file is not a valid firmware image.

I'm using the firmware file: esp32spiram-20220618-v1.19.1.bin

I was able to successfully erase the chip using ESP32 MPY Jama. I just could not program it. I was able to program the ESP32 with the same firmware file using ESPTool.

One other small note: The erase chip initially failed because I was connected to the board. I had to disconnect before the erase would work. It would be helpful to have a warning that confirms you are not connected prior to erasing or programming.

Create an AppImage for this app

I started looking at this issue.

Creating an AppImage for a Python app is slightly different than creating an app for a binary, it requires some further tinkering.

In addition I thought about adding a GitHub Actions so the AppImage will be submitted to the GitHub Packages so no other hosting service is required.

I'm guessing a snap is also an option but I'll handle that in another issue.

ESP32-CAM with ch340g needs other ser-uart signals (Ubuntu 22.04)

With a new ordered ESP32-CAM (with usb mb-board, ch340x !) module I can't get a connection to jama. (-> github source code v1.2.0)
Error: ... device not compatible !

After testing with some other IDEs like Thonny and ESPlorer i get generally the same situation!
But with the ESPlorer I have additionally the possibility the set/clear the interface signals.
I can use the ESPlorer when I clear the signals RTS and DTR !!!

And now: when I start inside jama the device connection function and I see the message "Attempts to connect ..." I start in a second process a small c-prog (ioctl()) and clear both signal -------> and the device was connected !!!
ioctl(fd, TIOCMBIC, &DTR); //clear DTR pin
ioctl(fd, TIOCMBIC, &RTS); //clear RTS pin

It will be nice when you try to open the jama world for the ESP32-CAM or ch340 user with an alternative device open (cleared RTS/DTR).

Addition: Thonny can also configure dtr = False rts = False in his setup file [esp32].

Uploaded files given full Windows path as filename

I uploaded a few files from a Windows 10 PC to an ESP32 Lolin32 Pro. The files were renamed to the full Windows source path.
For example:

After upload -->

MicroPython >>> os.listdir()
['C:\\Users\\Registered User\\Desktop\\test\\ads8671.py', 'C:\\Users\\Registered User\\Desktop\\test\\ftp.py', 'boot.py']

This is what the filenames should be -->

MicroPython >>> os.listdir()
['ads8671.py', 'boot.py', 'ftp.py']

Also, it would be great if you could select multiple files to upload. Thanks!

Unreliable connection to Lolin S3 Pro

I have big problems getting MPY-Jama to work properly with a Lolin S3 Pro card. When uploading a file I usually, but not all the times, get a "Timeout...", and after that I get "An error has occurred", or "A process is in execution", or "A process is already in execution".

Disconnect/reconnect + restarting MPY-Jama can sometimes get the setup running again, but only after a few attempts and after one or two edits of main.py (running a simple blinky application) the problems are back. Also: ctrl-commands in the repl terminal does nothing. The card is preloaded with micropython and seem to work as it should. I've tested on two machines (macOS 13.4) with the same result. I haven't got a clue on how move forward with this... 😕

Skärmavbild 2023-05-24 kl  10 57 26

Unable to find Espressif esptool on your system...

First of all, MPY Jama is amazing!!!!

when I use the firmware tool on the MPY Jama, it shows me "Unable to find Espressif esptool on your system..."
even though I have followed the instructions to install the esptool, both through the pip and home-brew
I'm using a MacBook pro m1 and on macos 16.0
image

A process is already in execution

I can't execute any command on the REPL and always get the error "A Process is already in execution". I Also can't open files which are on the ESP32
image

image

The only way I found is reflashing the firmware

Great tool

Why can i see UART Test twice times inside Jama Funcs ?

Linux instructions gir1.2-webkit2-4.0 missing

First of all, this is great!
When installing, I initially had issues with WebKit2 missing. The installation instructions are very clear, but (at least for me on Ubuntu 18.04) I was missing the gir1.2-webkit2-4.0 package.
Maybe this can be added to the README in case someone hits this in the future?

Getting script by download or export failed (on Ubuntu, Fixed)

I play a little bit with the jama-gui and get the following situations:

  1. Creation mpy script, store it on device, can run it in the expected way, but the DOWNLOAD function general get message: "An error has occurred"
  2. Use different Jama Funcs as expected, but the EXPORT function general get message: "An error occurred while exporting this function"

Ubuntu 22.04, source code running (github), ESP32+CP2102

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.