Documentation of neonious one

Only if you received your neonious one at JSConf.EU 2018
This documentation applies to neonious one's with the current software version. If you got a neonious one for free at JSConf.EU, it has the antique software version 1.0.0 and will not be updated to newer versions. You can however contact us to get it unlocked for newer software versions for a small fee.

1. Access your neonious one

Getting started

  1. Power your neonious one with the supplied USB cable.
  2. Connect to the access point your neonious one is providing (with the name “neonious one <Code>”, with <Code> being the code on the back of the packaging of your neonious one.
  3. The Wifi password is also written down on the back of the packaging of your neonious one.
  4. The boards IP address is 192.168.0.1. Go to http://192.168.0.1/ to reach the website served by the preloaded example program. From here you can reach the IDE through one of the links on the website.
  5. The standard IDE password is "" (empty). So just click on Login to continue.
  6. Double click the README file in the File Explorer.


The pre-installed example program

If any of this does not work, please try:

  1. The preloaded example program might not run. Try to connect to the IDE directly through https://192.168.0.1:8443/ (with certificate warning as no domain is used, secure none-the-less).
  2. The network settings might not be correct. Please reset network settings (see below).
  3. You might have an instable power source or power cable. Please try to switch to another USB power source and cable. In any case, make sure it can provide 0.5 A at 5 V (only used in absolute peak scenarios).
  4. Do a factory reset (see below).

Disable auto start of user program on boot / Reset network settings / Factory reset

If your program blocks the whole microcontroller and you cannot even access the IDE, please report the problem as an GitHub issue, as this should not happen, no matter what code you write.

In case it does happen, however, you can disable auto start of your program by keeping the User button pressed when tapping the Reset button and then directly releasing the User button (otherwise you will reset the network settings if you wait 5 seconds, see below). This will allow you to enter the neonious IDE even if your program blocks the whole microcontroller.

If you did a mistake while setting your network settings, you might no longer be able to connect to your neonious one. You may then reset the network settings to factory default, which allows you to access your neonious one via the factory access point.

  1. Press and hold the User button
  2. Tap the Reset button
  3. The red and green LEDs will flash alternately
  4. Release the User button as soon as the green light starts flashing (after about 5 seconds). Do NOT hold the User button for 10 seconds, because this will trigger a factory reset, and all your data will be lost.

To do a complete factory reset, do hold the the User button for at least 10 seconds. The right LED will start flashing then. When it is done flashing, all your data will be erased and you will be able to login into a clean neonious one.

Finding your neonious one in an DHCP-enabled network

When connecting to an DHCP-enabled network, your neonious one might get a random IP address and you might have difficulties to determine it. If your board has Internet access in this new network and you did not disable the tracking feature in the IDE settings, you can determine the board's IP address via the Find My Neonious feature:

  1. Go to neonious-iot.com/FindMyNeonious
  2. Enter the 12-digit code from the back of your board’s packaging

If the website does not report the Internet address of your board, you might have entered wrong network credentials.

2. Features of the neonious IDE

The on-board browser IDE of the neonious one is the primary way to set up and program the neonious one.

An alternative is to use lowsync, a tool to program the neonious one and other low.js based devices with external IDEs. Allows the user to sync directories to the device, change settings, start/stop programs and more.


A screenshot of the IDE in action

To access the IDE, point your browser to https://192.168.0.1:8443/ if using factory settings. All current versions of the modern browsers are supported.

File Explorer and Editor

The neonious one has it's own file system which you can browse through using the IDE. You can upload and download files and folders. Double-clicking files open them in the IDE.

JavaScript, HTML and other text files can be edited. Syntax highlighting is supported for many formats.

Image files may only be viewed.

Start/Stop Program / Console output

With the icons in the top toolbar you can start, stop or pause the program. The factory setting of the entry point of the program is /src/index.js, but may be changed to any other JavaScript file by selecting the command in the menu which pops up with a right click on the corresponding file. The currently active entry point file is shown in bold in the File Explorer.

Also, with a right click on a file in the File Explorer you can launch a JavaScript program with the clicked file being the temporary entry point. This can be used to try out different unit tests without having to change the entry point for each try.

Your JavaScript program can either run (green border around IDE), be paused (orange border around IDE) or stopped. When the program stops, all resources (files, sockets, etc.) are closed.

The output of process.stdout, console.log and the other console methods is shown in the Output pane. This pane can also be cleared by clicking on the corresponding button in the pane.

Debugger

When the program runs, the program can be paused through an unhandled exception, with a breakpoint (set by click on the very left of a code line), or by clicking the Pause button in the toolbar When the program is paused, the debugger may be used and the program can be resumed by clicking the Continue button in the toolbar, if it was not paused by an unhandled exception, in which case it can only be stopped.

Whenever the program is paused, the debugger shows all user functions of the current call stack to the current execution point in the Call Stack pane. You can click on each of them to open the corresponding file in the IDE and view the locals in the Locals pane.

Statistics

The current usage of CPU in %, network bandwidth, program memory and Flash disk space is shown in a graph updated in real-time. The higher the line, the more of the resource is used.

The CPU usage takes in account the JavaScript CPU core. The other CPU core of the neonious one, which handles all asyncronous system tasks such as disk operations, HTTPS, IDE and more in the future such as zlib and crypto tasks, is not taken into account.

Settings

You can view and change the system settings of the neonious one in the IDE. For this, log in, then go to the Settings by clicking on the icon at the top right of your browser window.

Things you can change include:

  1. Shall the JavaScript program start on boot of the neonious one?
  2. Editor settings such as font size.
  3. Network settings of both Ethernet and Wifi interfaces. neonious one is always connected, so while we plan on allowing the JavaScript program to change these settings, too, the JavaScript program does not have to set up a Wifi connection or any other network connection to communicate with the outside world first, as with other microcontrollers.
  4. HTTP and HTTPS ports for the IDE and lowrmt. You can even disable both, while this does not make sense yet as the JavaScript program cannot reenable them yet and so a factory reset will have to be done to regain access.
  5. HTTPS certificates. To remove the HTTPS certificate warnings, upload good certificates in the File Explorer and enter their paths here. Now access the neonious one through a domain matching the domain in the certificate files, and it will work.
  6. and more...

Software Updates

The neonious one software is a moving target. There will be software updates which make your neonious one far more powerful then it is today.

Software Updates are installable right from the IDE. When your neonious one has Internet access and a software update is available a download button will flash in the top right corner of your browser window after logging in to the IDE.

For this to work neonious one needs Internet access. So this does not work as long as your neonious one provides its own access point.