Plugins

Moderators: Voyager, BertB, grovkillen, Stuntteam, LisaM

Post Reply
Message
Author
LisaM
Normal user
Posts: 513
Joined: 11 Apr 2017, 18:29

Plugins

#1 Post by LisaM » 28 Dec 2017, 17:22

For micropython, there is already a very long list of supported sensors/actors which can be very easily modified to work with uPyEasy.
This list is longer then that for ESPEasy! And the number of supported sensors/actors is growing a lot faster.
A number of micropython sensors/actors can be found here: https://github.com/adafruit/Adafruit_Ci ... es/drivers

Supported uPyEasy sensors so far:
- Switch
- DS18B20
- BME280
- DHT11/22
- GPIO

There are a number of very interesting sensors already supported by micropython like the NMEA GPS sensor, which would make mobile uPyEasy possible.

The STM32's also has builtin support support touchscreen lcd's: https://docs.micropython.org/en/latest/ ... 160cr.html
Or large TFT screens (ssd1963) like this one: https://nl.aliexpress.com/item/5-inch-t ... 77285.html

The screens are all high end stuff, nothing what the simple ESP8266 can provide. But i don't want uPyEasy to be like ESPEasy, other then the Easy way of setting it up. uPyEasy is scalable, from ESP8266 to STM32's to Unix high end computers. uPyEasy will do everything that ESPEasy can do, and a LOT more. That's why uPyEasy is a clean room program, it resembles the ESPEasy gui (already slightly changed) but beyond the gui it's totally different. And.. it's still open-source.

TD-er
Core team member
Posts: 8643
Joined: 01 Sep 2017, 22:13
Location: the Netherlands
Contact:

Re: Plugins

#2 Post by TD-er » 28 Dec 2017, 23:16

NMEA GPS is not that hard to add, since it is just parsing strings up to 80 bytes.
But indeed, a simple import is a lot less work to do and maybe even less time debugging :)
Glad to see things are getting easier.

How well is micropython capable of doing bit-banging with is somewhat time sensitive?
Not that ESPeasy has a lot of things that can be done in realtime, so it may not be an issue.

LisaM
Normal user
Posts: 513
Joined: 11 Apr 2017, 18:29

Re: Plugins

#3 Post by LisaM » 29 Dec 2017, 01:29

TD-er wrote: 28 Dec 2017, 23:16 NMEA GPS is not that hard to add, since it is just parsing strings up to 80 bytes.
But indeed, a simple import is a lot less work to do and maybe even less time debugging :)
Glad to see things are getting easier.

How well is micropython capable of doing bit-banging with is somewhat time sensitive?
Not that ESPeasy has a lot of things that can be done in realtime, so it may not be an issue.
GPS depends on the com-port(UART) and that is now a standard hardware protocol, no need to program that anymore, just open a uart channel and read/parse the data.

bit-banging depends on soc speeds, better is to have hardware support for the bus protocols like i2c. ESP8266 doesn't have hardware i2c support (http://bbs.espressif.com/viewtopic.php?t=1032), while the ESP32 and the STM32 have. The latency in the STM32 platform is much lower than the ESP32, but the price is also higher. With hardware support,like for ESP/STM32 I2C/SPI/UART/CAN, bit banging is not necessary. It's matter of setting up the protocol and then simply do a readfrom to get all the data...

Here's more on bit-banging: https://learn.adafruit.com/micropython- ... view#faq-7
So, it's still possible. If it's really fast time-critical, then a combination of c/c++ and micropython would do the job. This however is an exception, maybe for adding a new protocol or something like that. This most done in conjunction with the micropython development team, because it then needs to be part of the micropython core firmware. Building the (c-based) W5500 driver for the pyboard into micropython was such a case (it took me some effort to explain it to them).

The full micropython hardware API is explained here: https://github.com/micropython/micropyt ... rdware-API

TD-er
Core team member
Posts: 8643
Joined: 01 Sep 2017, 22:13
Location: the Netherlands
Contact:

Re: Plugins

#4 Post by TD-er » 29 Dec 2017, 12:09

That sounds like a really nice high level way of programming :)
A lot of reading to do.

LisaM
Normal user
Posts: 513
Joined: 11 Apr 2017, 18:29

Re: Plugins

#5 Post by LisaM » 29 Dec 2017, 14:36

TD-er wrote: 29 Dec 2017, 12:09 That sounds like a really nice high level way of programming :)
A lot of reading to do.
The CAN bus is supported to: https://en.wikipedia.org/wiki/CAN_bus
As well as the I2S bus: https://en.wikipedia.org/wiki/I%C2%B2S
Together with I2C, SPI, UART are there plenty of (hardware based) communication protocols available, although some of the protocols might not be available as hardware but as software implementation (and therefor speed limited) in the lower end soc's:
pybv10-pinout.jpg
pybv10-pinout.jpg (443.55 KiB) Viewed 15284 times

Post Reply

Who is online

Users browsing this forum: No registered users and 9 guests