Skip to content

elektrobil/micropython-cloudmanager

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Documentation Status

Description

Cloudmanger provides a single point of managment for micropython systems that minimizes the security attack surface and offloads resource intensive operations from the micropython clients to the server.

Quickstart

Here is a quickstart for setting up cloudmanager with popular esp8266 boards

Install

Use pip to install the server and client flash utility:

$ pip install micropython-cloudmanager micropython-cloudmanager-esp8266
$

Start Server

Start the server process with the default settings:

$ mbm server-start
Cloudmanager service is listening on: 192.168.1.127:18266
$

Flash and Configure esp8266 board as a client

Plug in the esp8266 board, into the usb port.

NOTE: Some boards may need to be manually put into flash mode per the vendor instructions.

The flash tool will generally determine the correct serial device to flash as long as only one usb serial device is connected to the system.

Flash and configure the board specifying the wifi connection settings:

$ flash_esp_image --wifi_ssid mywifi --wifi_password mywifipassword
esptool.py --port /dev/ttyUSB0 --baud 115200 erase_flash
esptool.py v1.2.1
Connecting...
Running Cesanta flasher stub...
Erasing flash (this may take a while)...
Erase took 9.0 seconds
esptool.py --port /dev/ttyUSB0 --baud 115200 write_flash --verify --flash_size=32m --flash_mode=qio 0 /tmp/cloudmanager-micropython-esp8266/local/lib/python2.7/site-packages/cloudmanager_micropython_esp8266/firmware/firmware-combined.bin
esptool.py v1.2.1
Connecting...
Running Cesanta flasher stub...
Flash params set to 0x0040
Writing 557056 @ 0x0... 557056 (100 %)
Wrote 557056 bytes at 0x0 in 48.3 seconds (92.3 kbit/s)...
Leaving...
Verifying just-written flash...
Verifying 0x8734c (553804) bytes @ 0x00000000 in flash against /tmp/cloudmanager-micropython-esp8266/local/lib/python2.7/site-packages/cloudmanager_micropython_esp8266/firmware/firmware-combined.bin...
-- verify OK (digest matched)
>>>
>>> import os
>>> os.mkdir('etc')
>>> from bootconfig.config import get, set
>>> set('wifi_ssid', 'mywifi')
>>> set('wifi_password', 'mywifipassword')
>>> set('redis_server', '192.168.1.127')
>>> import bootconfig.service
>>> bootconfig.service.autostart()
>>> import redis_cloudclient.service
>>> redis_cloudclient.service.autostart()
>>> import machine
>>> machine.reset()

NOTE: At this point some boards need to be manually reset.

Verify the board is registered with the server

After a few seconds the board should connect to the wifi network and register with the cloudmanager server:

$ mbm board-list
Name       Platform                                           State
esp8266-1  esp8266                                            idle
$

See the full documentation to use cloudmanager to install packages, upload files or execute commands on the board.

About

No description, website, or topics provided.

Resources

License

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%