[Open_electroporator] future goal for pyzappa is to have a webserver put up a sampled recording of each shot -- here's how

John Griessen john at industromatic.com
Fri Jun 3 16:53:40 UTC 2016


Micropython on the ESP8266 is a kickstarter I funded.  they just posted progress:

================================MicroPython on the ESP8266=======================
the next version of MicroPython on the ESP8266.  This is release v1.8.1, mainly containing performance improvements and bug fixes, 
plus a few new features.  Please not that the size of this firmware is greater than 512k (due to all the cool features!) and as 
such will not work on devices with only 512k of flash (for example the ESP-01 modules).

A quick reference guide is part of the documentation and is found here: 
https://docs.micropython.org/en/latest/esp8266/esp8266/quickref.html

And don't forget the forum: https://forum.micropython.org/

Please find the firmware attached, and some more detail regarding the release below.  The md5sum of the firmware is 
3c0ae5e45e1f902f4b1b53cb6c4619c1.

Enjoy!

Best regards,
Paul and Damien.

--------------------------------------------

**** Changes in this release ****

1. The most pressing issue with WebREPL - inability to connect more than
5-6 times in row, and lockup going over that - was resolved. There was
also a fix to make sure you can connect while an application is running,
and break it using Ctrl+C. There are also reports of improvements with
WebREPL file transfers for large files (it works pretty well for small
files, like a typical Python source code), though that needs additional
testing (we welcome your feedback).

2. More complete filesystem interface ("os" module) is implemented,
rename(), chdir(), getcwd().

3. Better OSError error messages: they now include a short string with
the error message name instead of just the numeric value.  This should
help a lot to debug your code.

4. Espressif OS error messages are now disabled by default (the messages
like chg_A3:-180, etc).  If you want to see them again you need to
execute esp.osdebug(0).

5. The machine module has a few more methods, for timing pulses on a pin
and for controlling interrupts:

     microseconds = machine.time_pulse_us(pin, pulse_level)

     irq_state = machine.disable_irq()
     machine.enable_irq(irq_state)

**** Preinstalled scripts and modules ****

We pre-packaged bunch of useful scripts and modules to give you a quick
start. All modules below are importable using "import <name>" (unless noted
otherwise). Sources are available for all modules, so for more information
please look them up.

upysh
     Source: https://github.com/micropython/micropython-lib/tree/master/upysh
     Very simple filesystem shell reminiscent of Unix shell, but using native
     Python syntax. Use it like this:

     from upysh import *
     ls  # yes, it works like that!
     cat("my_file")
     newfile("my_new_file.txt")
     help()

http_client
     This and following 3 scripts come from examples/networking/ in
     MicroPython source repository. http_client issues an HTTP GET
     request to http://google.com and prints the result. Don't look
     for anything too fancy in it - it's just a redirect to https://
     version with bunch of internal info. The point? It works!

http_server
     This is more interesting, you can connect to your module from
     web browser (http://192.168.4.1:8080 is you connect to ESP8266
     access point as we recommend), and see incrementing counter
     in a browser. We don't provide more fancy HTTP server example
     so far, but that one can get you started!

http_client_ssl
     You guessed, this connects to https://google.com . Just another
     weird redirect will ensue, I'm afraid, it's not like 1990 with
     web being simple and clean. The point? SSL works!

http_server_ssl
     If you connect to https://192.168.4.1:8443 with Firefox you can
     see how heavy a number crunching game the SSL is - it takes several
     seconds to establish a connection. Definitely needs an optimisation.
     Don't even try with Chrome - it overloads poor ESP8266 with multiple
     requests so it can't catch up.

urllib.urequest
     This is urllib.urequest module from micropython-lib
     (https://github.com/micropython/micropython-lib/tree/master/urllib.urequest),
     a micro version of the standard http.request module. This is how
     you wouldd actually issue HTTP requests in your apps. In previous
     release, this module was available as just "urequest", but with
     packages supported for frozen modules in 1.8.1, it's now provided
     under the full name. This release includes support for HTTPS
     (note: server SSL certificates are not validated).

urequests
     Also comes from micropython-lib
     (https://github.com/micropython/micropython-lib/tree/master/urequests),
     and is a micro version of a getting more popularity "requests" module
     (http://docs.python-requests.org).
     It can do even more magic in one line than urllib.urequest. (But warning:
     it may be less efficient than the latter, so if you can do something with
     urllib.urequest, please use that). This release also acquires support for
     HTTPS (note: server SSL certificates are not validated).

ntptime
     NTP support was voted #3 in the module survey, so was off list
     as a stretch goal. But thanks to our users who did a research
     how to do it in Python easily on the forum, here's surprise
     out-of-band stretch goal implemented, first! ntptime.time()
     will get you time in seconds since MicroPython epoch (which is
     2000-01-01). You can even do ntptime.settime() to set system
     time from NTP, and you can even put it in your boot.py for your
     module to always have actual date/time. Caveat: it's all UTC now,
     no timezone support yet. UTC time is a standard for Internet
     servers (if it processes requests from around the globe anyway,
     why bother with specific timezone, just use the default). You can
     now try that at home (it feels great!).

onewire
neopixel
ssd1306
dht
     These are preinstalled drivers for corresponding hardware components,
     so you can start using them right away.  The dht module supports DHT11
     and DHT22 devices, for example:

     import dht, machine
     d = dht.DHT22(machine.Pin(4))
     d.measure() # take measurement
     print(d.temperature(), d.humidity())



More information about the open_electroporator mailing list