Mongoose OS - an IoT Firmware Development Framework. Supported microcontrollers: ESP32, ESP8266, CC3220, CC3200, STM32F4, STM32L4, STM32F7. Amazon AWS IoT, Microsoft Azure, Google IoT Core integrated. Code in C or JavaScript.
OTHER License
Published by rojer over 6 years ago
--esp-baud-rate
to set higher.Published by rojer over 6 years ago
mos watson-iot-setup
, watson
library, RPC channel support (mos call --port watson://...
). See library README for details.mos debug-core-dump
, automatic core dump analysis from mos console
: https://github.com/cesanta/mos-tool/commit/9991c589bbaac33e293d671892987b747066e20d
apply()
mgos_uart_config_set_tx_params
mgos_azure_send_d2c_msgf
shadow.ota_enable
knob, per AWS requestPublished by rojer over 6 years ago
mos azure-iot-setup
) and a library Cloud-to-Device and Device-to-Cloud messaging, Device Twin shadow support, Direct Method invocation and RPC over Direct Method (including mos call
support).String.indexOf
s2o()
, a way to convert structs to objs (see here)mg_url_encode_opt()
- a parametrized version of mg_url_encode()
json_{sprintf,vsprintf}()
mgos_mqtt_pubf()
- a helper to pub JSON messagesmgos_dns_sd_advertise()
, mgos_dns_sd_goodbye()
mg_http_parse_header()
: treat ";" as a delimiter.shadow.enable
knob to control the shadow libPublished by rojer over 6 years ago
Mongoose OS 2.0 introduces license change:
See Licensing section for details.
Published by dimonomid over 6 years ago
Firmware
mgos_dash_callf_noreply()
API to dash librarymgos_rlock_*
functions publicmake debug_coredump
for esp32 and esp8266mJS:
Mongoose Web Server:
nonce
argument to mg_http_create_digest_auth_header()
: clients should use the value received from the server's authentication request.mg_bind
or mg_bind_opt
.mg_http_parse_header()
and implement mg_http_parse_header2()
instead, which allocates a new buffer if the client-provided one is not large enough (similarly to asprintf
).mos tool:
Published by dimonomid almost 7 years ago
Mongoose OS:
esp_bd_addr_t
with generic mgos_bt_addr
Mos tool:
Published by dimonomid almost 7 years ago
Mos tool:
Firmware:
mgos_event_add_group_handler()
in C andEvent.addGroupHandler()
in mJSmgos_net_add_event_handler()
is deprecated in favor of mgos_event
-basedMGOS_EVENT_GRP_NET
for the example.Published by dimonomid almost 7 years ago
Fix brew build: mos shouldn't check for updates because when installed via brew it should be updated also via brew
Published by dimonomid almost 7 years ago
Mos tool:
<arch>_<mac>
Firmware:
wifi.ap.hostname
: e.g. if it's set to foo.com
, then all clients connected to the device's wifi APfoo.com
instead of the device's IP 192.168.4.1
.Published by dimonomid almost 7 years ago
This is a bugfix release.
--libs-dir
didn't work correctly for libs which aren't git repositories.Published by dimonomid almost 7 years ago
Published by dimonomid about 7 years ago
Published by dimonomid over 7 years ago
Published by cpq over 7 years ago
mos.yml
Published by cpq over 7 years ago
mos
tool improvements - build system, UI, better mqtt supportPublished by cpq over 7 years ago
Published by rojer over 8 years ago
Published by dimonomid over 8 years ago
Published by rojer over 8 years ago
Main reason for this release is the Mongoose IoT rebranding. What you are looking at now and what used to be called Smart.js
is now Mongoose IoT Firmware
.
Changes that happened since Beta3:
setmode
-> setMode
)Published by mkmik over 8 years ago
Beta3 "Fat Rabbit" is mainly a bug-fix and continuous improvement release. We've been very busy, there are tons of improvements; existing users are encouraged to upgrade. Please also consider upgrading to the most recent FnC flasher tool (https://github.com/cesanta/fnc/releases/latest).
A few highlights:
setInterval
, clearInterval
, clearTimeout
Debug.OFF
, Debug.OUT
, Debug.ERR
, ...Sys.reboot
takes an optional exit code. Useful on "posix" platforms.Sys.time
functionhttp.port
to http.listen_addr
config varv7_mk_opt
to v7_create_opt
due to a bad rename in Beta2Cesanta runs a public cloud service at https://cloud.cesanta.com. To login, all you need is a github or G+ account.
Any other cloud service can be used to store data - please take a look at the Http or WebSocket API.
The Smart.js firmware comes with an implementation of our websocket based protocol that is designed to make your device easily accessible behind NATs and to support disconnected operation by managing the queuing of messages for you:
https://www.cesanta.com/developer/cloud
Write your own handlers on your device and make it respond to commands send by other devices or by software running on your servers and call other device or store data such as metrics on our cloud services:
clubby.oncmd('/v1/MyThing.PokeMySensor', function(cmd, done) {
print('got command:', cmd.args.blah);
GPIO.write(yourLEDPin, true);
clubby.call('//api.cesanta.com', {
cmd: '/v1/Metrics.Publish',
args: {vars: [[{__name__: 'frobulator'}, readFrobulatorValue()]]}
}, function(res) {
GPIO.write(yourLEDPin, false);
done('your response');
});
});
Smart.js reference and examples can be found at https://www.cesanta.com/developer/smartjs
Flashing utility (Flash-n-Chips) can be downloaded from https://github.com/cesanta/fnc/releases
Download the firmware from the release attachments below: