Dev Center Updates January 2019

This month’s updates and changes.

New Articles

An Introduction To Debugging Electric Imp Application Code

New imp API Cookbook Recipes

Monitoring Device Disconnections From The Agent
Serial Logging
Encoding Containers To JSON On The Device

New/Updated Libraries

ConnectionManager 3.1.0
AzureIoTHub 5.0.0
Promise 4.0.0
MessageManager 2.3.0
Firebase 3.2.0
Rocky 2.0.2
Utilities 2.0.0
Scheduler 0.1.0

New/Updated Tools

impCentral User Guide
impt 2.4.2

Updated imp API Docs

imp.onunhandledexception()

Misc Updates

Developers’ Troubleshooting Guide
imp API Cookbook: Factory Firmware
Implement Extra Agent Security

The page on a device-based json encoder is a good start, but it needs to be extended if a user wants it to generate valid json.

  • Non serialisable objects should either be ignored or represented as a string. If a function, instance, blob, meta etc is included in the passed container, the code will add its type. That will be fine for debug outpupt, but will fail a validation test. It should probably be wrapped in quotes to make it genuine json, or quietly dropped from the output.
  • The code doesn’t generate safe strings. This will definitely catch you out if you try saving it in the agent with server.save()
  • It doesn’t support float. This might not be as simple as saying obj.tostring() as squirrel default conversion will drop points of precision.