Category Archives: Uncategorized

IoT on the Cheap: ESP WebREPL Access

In this post we will be covering how to connect to the MicroPython interpreter (REPL) over the wireless network. MicroPython includes a web interface to REPL and file transfer. MicroPython supports a web interface that provides REPL (Read Execute Print Loop) access and file transfer capability. Before we can access WebREPL we need to bring up the ESP’s wireless access point.

The ESP family supports both station and access point WiFi operation and a wide variety of encryption algorithms for WiFI security. In this post we are just going to cover bringing up the ESP as an access point to get WebREPL running.

Connect to your ESP REPL via USB and serial terminal. See the previous post if you need to flash and configure your ESP for access via USB.

At the REPL prompt:

>>> import network
>>> ap_if = network.WLAN(network.AP_IF)
>>> ap_if.active(True)
>>> ap_if.ifconfig()
('192.168.4.1', '255.255.255.0', '192.168.4.1', '208.67.222.222')
>>> import webrepl_setup
WebREPL daemon auto-start status: disabled

Would you like to (E)nable or (D)isable it running on boot?
(Empty line to quit)
> E
To enable WebREPL, you must set password for it
New password (4-9 chars): upythoN
Confirm password: upythoN
Changes will be activated after reboot
Would you like to reboot now? (y/n) y

... ( bunch of build dependent output ) ...

WebREPL daemon started on ws://192.168.4.1:8266
Started webrepl in normal mode

ESP32 Notes: As of 7/2018 the stable 5/11/2018 ESP32 build “webrepl_setup” import didn’t work for me. However, the daily ESP32 build did work correctly.
See the previous post if you need to flash your ESP32 with a new build. Another difference between the ESP32 build and ESP8266 build, the ESP32 network came up as an Open network, the ESP8266 as secure. I’m not sure if this behavior will change in a future build, just something to be aware of. This is OK for quick prototyping but in a production environment you would want to configure WiFI security.

D1 Mini Lite AP

You should now see an ESP access point available. Don’t connect to it yet! We need to copy a few files from GitHub before we disconnect from the internet connected WiFi ( assuming you are connected to a WiFi access point).

The MicroPython WebREPL uses a WebSocket to communication so we need to download a web client to access the board. You can download the WebREPL client from GitHub here. Unzip the file and navigate to the directory containing “webrepl.html”

webrepl files

Switch your WiFi connection to the ESP_XXXX access point (AP).

Open “webrepl.html”  in your browser, chrome or firefox is recommended. The ip address is preset to match the MicroPython AP defaults. Click on the connect button. You should now have a working WebREPL session over WiFi to your ESP! You are no longer limited to a tethered connection! Freedom! WebREPL is great for updates, quick changes, and interactive testing. Here are a few useful command to test that your ESP and WebREPL are working correctly:

Webrepl Session

Congratulate yourself! You now have a working MicroPython ESP board with WiFi and wireless access to REPL and file transfer.  We showed some commands to explore the ESP MicroPython environment, checking on the amount for free memory, listing files, and accessing system information.

Resources:

https://docs.micropython.org/en/latest/esp8266/esp8266/tutorial/repl.html#webrepl-a-prompt-over-wifi
https://docs.micropython.org/en/latest/esp8266/library/index.html

CNC Fun at Ocean State Maker Mill

I attended an “Intro to CNC” class at the Ocean State Maker Mill on Saturday January 20th.

The class provided an overview of the CNC (Computer Numerical Control) process. The entire workflow: design, CAD, CAM, CNC set up, and finishing.  Many small CNC machines use the Dewalt 611 Router. So if you have experience using a router you are off to a good start. I used a router for some small home projects, but never really gave much thought to router bits other than the shape. There is more to router bits and end mills than I ever imagined: up cut, down cut, compression. Tomes have been written on the subject. Why? Because it turns out to be really important when you want to reliably produce a quality result. If you are yearning to learn more about bits, um, I mean, end mills, you can check out this article in Popular Woodworking.

When you have a robot doing the work for you it can’t always compensate when things go astray the way a human can. Attention to detail is a must: measure the thickness of your material, make sure it is fastened down securely, check clearances, calibrations. Safety first: ear and eye protection, dust mask, NO gloves !

After covering the general principles we got down to the specifics using a small sign as a sample project targeting the Inventables X-Carve CNC. The project was designed in the Inventables Easel free design system.

Matt setting up the project on the CNC:

Time to relax while the CNC does the work:

Almost done:

The final product:

Welcome

Welcome to my technology blog. I’m Robert “Jack” Babb, software engineer, maker, and technology enthusiast. At the moment I am working on a variety of microcontroller projects. On the bench we have: a Beaglebone Black, a Raspberry Pi, a Netduino, and an assortment of Arduinos.