IoT with AME: Difference between revisions

From IoT with AME
Jump to navigation Jump to search
No edit summary
No edit summary
 
(32 intermediate revisions by the same user not shown)
Line 1: Line 1:
=IoT with AME - The Internet of things, with Arduino, MQTT, and ESP8266=
=IoT with AME - The Internet of Things, with Arduino, MQTT, and ESP8266=


==Planned content==
[[File:20170802T115833.jpg|thumb|left|300px|Voltage controller (left), status LED (RGB; top), Arduino (top right), ESP8266 (bottom right, on adapter) - My standard hardware stack]] This is work in progress started in June 2017 - I am in the process of typing out my experiences with IoT, Arduino, and ESP8266, as a documentation for myself and as something that might be helpful to others.


What would I like to write about?
* [[The AME Stack]] - A compact software and hardware stack to build MQTT-connected IoT devices
* [[My IoT projects]] - What I built over time (plenty!)
* [[MQTT]] - A protocol for connecting IoT devices
* [[Software Stack|Software]]: Libraries for devices and capabilities, and access on MQTT-, TCP-, WLAN-, and chip level
* [[Software Problems]]: C++ and very small memory pose diverse challenges
* [[Hardware Stack|Hardware]]: Arduino, ESP8266, and additional hardware
* [[Hardware Problems]]: Bugs are not limited to software - plain electricity can be tricky, too!
* [[Challenges]] - How to overcome hardware and software limitations
* [[IoT Management]] - How to manage an IoT installation
* [[To Do]] - What I would like to improve and add in this Wiki


* MQTT
<br clear="all"/>Note to self (help on MediaWiki):
** finite state machine of the protocol
 
** most simple application (QoS 0)
* https://www.mediawiki.org/wiki/Manual:FAQ
** encoding and decoding
* https://en.wikipedia.org/wiki/Help:Wiki_markup
** more sophistication (QoS 1, 2), limits of the Arduino environment (session keeping)
*The Stack
** HW stack: Arduino, ESP8266, additional hardware
** SW stack: PubSubClient, Client -adapter, ESP8266 or, alternatively, A_mqtt & AC_ESP8266
** SW problems (SoftwareSerial, memory use, bugs)
** HW problems (current spikes, general unreliability of the ESP)
* Logical organization
** MQTT-ID
** devices
** capabilities (reporting)
** topics
* Tools
** AC.programmer (SPI programming, freed-up serial interface, 2k more flash mem, logging via I2C)
** Monitoring MQTT publications with [https://github.com/kamilfb/mqtt-spy MQTT-Spy]
** Augmented MQTT broker for testing (IP, QoS, subscribed-to and published topics etc.), based on [https://github.com/andsel/moquette Moquette]
* [[Pitfalls]]
** Fun with power LAN adapters (don't plug in your fridge)
** Returning pointers to method-scope variables
* Challenges
** Updating device code
** Updating device configuration (ie, MQTT/ WLAN)

Latest revision as of 22:19, 19 June 2018

IoT with AME - The Internet of Things, with Arduino, MQTT, and ESP8266

Voltage controller (left), status LED (RGB; top), Arduino (top right), ESP8266 (bottom right, on adapter) - My standard hardware stack

This is work in progress started in June 2017 - I am in the process of typing out my experiences with IoT, Arduino, and ESP8266, as a documentation for myself and as something that might be helpful to others.

  • The AME Stack - A compact software and hardware stack to build MQTT-connected IoT devices
  • My IoT projects - What I built over time (plenty!)
  • MQTT - A protocol for connecting IoT devices
  • Software: Libraries for devices and capabilities, and access on MQTT-, TCP-, WLAN-, and chip level
  • Software Problems: C++ and very small memory pose diverse challenges
  • Hardware: Arduino, ESP8266, and additional hardware
  • Hardware Problems: Bugs are not limited to software - plain electricity can be tricky, too!
  • Challenges - How to overcome hardware and software limitations
  • IoT Management - How to manage an IoT installation
  • To Do - What I would like to improve and add in this Wiki


Note to self (help on MediaWiki):