JetBrains / intellij-micropython

Plugin for MicroPython devices in PyCharm and IntelliJ
https://plugins.jetbrains.com/plugin/9777-micropython
Apache License 2.0
506 stars 106 forks source link

Wireless Programming for micropython #42

Open wasanka opened 6 years ago

wasanka commented 6 years ago

It would be great to have wireless programming for micro controllers through web socket..

kaybee335 commented 6 years ago

@wasanka - I assume you mean in a manner similar to that provided by the webREPL but integrated with the plugin? That may turn it into a PyCharm Pro only feature as it might be considered a 'remote development' system. Maybe @vlasovskikh has some insight?

vlasovskikh commented 6 years ago

It's a reasonable feature for this plugin.

kaybee335 commented 6 years ago

Okay, just figured it was worth asking the question before possibly heading full speed at a dead end :-)

vlasovskikh commented 6 years ago

@kaybee335 Oh, are you actually interested in implementing it? :)

kaybee335 commented 6 years ago

@vlasovskikh - I find it intriguing. My recollection of using the webREPL was that it was convenient but also quite flakey but that was quite a few versions of micropython ago. I also believe the webREPL is pretty big in resource footprint so most people don't usually enable it as it severely limits the resources available to the application.

The thought of updating the application on my flock of micropython devices without having to make a physical connection is very appealing. I would certainly be willing to spend a bit of time to investigate feasibility. I have also said webREPL from the outset, there may be a better way, I'll have to do some dredging through the various forums to see what is going on on that area as I know it is a hot topic.

As another caveat, I don't believe all devices have webREPL, I seem to recall that the ESP32 doesn't.

wasanka commented 6 years ago

Yes, of cause. Because once we flash the MCU then either we can work with COM ports or wireless programming. Most of the IOT development benefits with wireless programming because once we program the chip and plug it in to a device then its difficult to connect back to a computer each time when we need to update to fix a bug. Wireless programming makes it super easy.

webREPL already helps us to upload/download files and we can use commands to create directories, list file system etc.

wasanka commented 6 years ago

If we can have something like a view on the side (e.g. project explorer, ant build etc) to connect to the device with ip/port and then list the file system, double click to open the file from device in an editor etc....

wasanka commented 6 years ago

Check this out https://github.com/BetaRavener/uPyLoader

vlasovskikh commented 6 years ago

@wasanka Thanks for sharing this link.

kaybee335 commented 6 years ago

@wasanka - thanks for the link. From what I can tell, that project is using the webREPL as the 'transport' layer which limits the number of board types it will work on. I am still checking into this, it isn't forgotten but I am having to go a little deeper into things than I initially thought.