Coder Social home page Coder Social logo

Microhomie

Documentation Status

Microhomie is a MicroPython framework for Homie, a lightweight MQTT convention for the IoT. Main target for Microhomie is the ESP8266 device and has been well tested and used on ESP32.

Microhomie v3 implements Homie v4.0.0.

Read the Microhomie documentation to get started.

Learn from our examples until we have a "howto build nodes" section in the documentation or join the #microhomie channel on the MicroPython Slack community and chat with us.

Binaries can be verified with minisign and the following public key:

RWTwPeRvouNzP+mcL1t7QDTnKz96i3Kuf95fjpE28szMq8OTycMmiTzX

Update from v2

Microhomie v3 has some breaking changes you should be aware of before update.

  • Microhomie v3 only supports the new LFS2 filesystem. For update you must erase and reflash your device.
  • You may need to update your asyncio coroutines as of the new Micropython asyncio v3. Peter Hinch's has a great asyncio v3 update guide
  • New asyncio V3 primitives from Peter Hinch micropython-async for switch and pushbutton.
  • The utils module was refactored to homie.network.

MicroPython changes

  • btree and vfat support disabled to save some space
  • AccessPoint SSID changed to Microhomie-MAC with the secret microhomiE
  • inisetup.py writes a custom boot.py

Install

Download the latest image and flash it like any MicroPython image to your ESP8266 device. I.E:

esptool --port PORT --baud 460800 write_flash --flash_size=detect --verify -fm dio 0x0 microhomie-esp8266-VERSION.bin

Make your changes in settings.example.py and copy this file as settings.py to your device. You can now test our example nodes from examples/, just copy the main.py to your device. Start with the examples/led node to turn on and off the on-board LED.

Example

This is a basic example to power the on-board LED from an ESP8266 development board:

Build esp8266 image

To build your own Microhomie image for the ESP8266 device, run:

make bootstrap
make
make deploy PORT=/dev/ttyUSBX

Known issues

  • No SSL support for now

Included libraries

  • mqtt_as.py by Peter Hinch but we use the patched version from Kevin Kรถck. Kevins version has support for a keyword based configuration and unsubscribe.
  • asyncio V3 primitives from Peter Hinch micropython-async repository.

Microhomie's Projects

homie-iota icon homie-iota

bridge between an mqtt server with data in the homie format and iota

microhomie icon microhomie

MicroPython implementation of the Homie MQTT convention for IoT.

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.