Git Product home page Git Product logo

jupyter_micropython_developer_notebooks's Introduction

jupyter_micropython_developer_notebooks

This repo contains my work in progress micropython kernel notebooks for developing an asynchronous webserver and various sensor datalogging and analysis services primarily on an ESP32.

As code gets finished it is placed into .py files that can be deployed using the %sendtofile command

To install the Jupyter Micropython kernel into your copy of Jupyter, go here: https://github.com/goatchurchprime/jupyter_micropython_kernel

Useful notebooks

esp32_commissioning and esp8266_commissioning

stuff to do

  • get the async code in right place (copied out from micropython-libs with a fetch)
  • the graph should receive its types and instructions in the websocket request
  • blank websocket graphing should just give sine waves without a sensor
  • we can then combine and feed the orientation and laser sensor values into the graph

In basicsockets/

  • esptool.ipynb is good for flashing and reloading new micropython binaries onto your ESP32

  • notebooks that begin with "pc_" run on your pc and open serial connections to your ESP32

  • connecthotspot.py and connectwifi.pyare modules for doing what they say (the latter requires a wificodes.txt file for the passwords)

  • syslog.py is a handy system logger module that tracks reboots

In async_web_serve/

  • commission_async.ipnb loads the uasyncio library, either by copying it up from a local copy or using upip. (This won't be necessary once it becomes part of the core library, as it is on the ESP8266)

  • webserve_funcs.py and websocket_funcs.py are the necessary functions for operating the webserver and websockets capabilitie. They contain functions like readhttpheaders(), and so on.

  • plain_main.py is a main.py file that turns your ESP32 into a static file webserver (although you can use uploadfiletest.html to upload and save text files for more rapid development of web front end).
    plain_server.ipynb deploys (and develops) this plain webserver.

In essential_sensor_code/

  • There are notebooks for the devices ms5611 (barometer), si7021 (humidity), VL53L0X (shortrange lidar to 1m), bme280 (baro,humid,temp).

  • These are in various states of development, but in general are very trimmed down to the essentials and intended to be operated as python generators rather than as bloated class objects

  • Finished code is in .py files.

jupyter_micropython_developer_notebooks's People

Contributors

goatchurchprime avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.