[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