{"id":89,"date":"2016-12-09T08:58:59","date_gmt":"2016-12-09T15:58:59","guid":{"rendered":"http:\/\/wifitrain.link\/?page_id=89"},"modified":"2016-12-09T09:30:03","modified_gmt":"2016-12-09T16:30:03","slug":"mcu-software","status":"publish","type":"page","link":"http:\/\/wifitrain.link\/?page_id=89","title":{"rendered":"MCU Software"},"content":{"rendered":"<p>For the on-board microcontroller I am currently using an ESP8266-12F, however this will soon be switched to the recently-released ESP-32S.  Both of these chips have power requirements of less than 500mA and operate on 3.3VDC.  The dual-core capabilities and much higher pin count of the ESP-32S will be leveraged to providing on-board live video streams from each loco.<\/p>\n<p>This page contains the most recent updates written on the ESP8266-12F.  Recent changes include:<\/p>\n<ul>\n<li>Switching all communications to MQTT<\/li>\n<li>Ensuring only a single client viewer can assert control of a loco<\/li>\n<li>Providing smooth transitions between speed changes and directions<\/li>\n<\/ul>\n<p>This software is compiled through the Arduino IDE.  You will also need to install libraries for the following:<\/p>\n<ul>\n<li><a href=\"https:\/\/github.com\/marvinroger\/async-mqtt-client\" target=\"_blank\">Async MQTT client<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/me-no-dev\/ESPAsyncTCP\" target=\"_blank\">ESPAsyncTCP<\/a><\/li>\n<\/ul>\n<p><a href=\"http:\/\/wifitrain.link\/?page_id=125\" title=\"ESP8266-12F\">Click here to view the code<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>For the on-board microcontroller I am currently using an ESP8266-12F, however this will soon be switched to the recently-released ESP-32S. Both of these chips have power requirements of less than 500mA and operate on 3.3VDC. The dual-core capabilities and much higher pin count of the ESP-32S will be leveraged to providing on-board live video streams [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"open","ping_status":"open","template":"","meta":{"footnotes":""},"class_list":["post-89","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"http:\/\/wifitrain.link\/index.php?rest_route=\/wp\/v2\/pages\/89","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/wifitrain.link\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"http:\/\/wifitrain.link\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"http:\/\/wifitrain.link\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/wifitrain.link\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=89"}],"version-history":[{"count":8,"href":"http:\/\/wifitrain.link\/index.php?rest_route=\/wp\/v2\/pages\/89\/revisions"}],"predecessor-version":[{"id":145,"href":"http:\/\/wifitrain.link\/index.php?rest_route=\/wp\/v2\/pages\/89\/revisions\/145"}],"wp:attachment":[{"href":"http:\/\/wifitrain.link\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=89"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}