Commands
artemis serial flash
The flash command converts your specification file into a binary firmware and
flashes it onto your device using a bundled version of
esptool.
Unless you are on Linux you will probably need to change the /dev/ttyUSB0 to your
setup. Sometimes the name is /dev/ttyACM0, depending on which USB-to-serial driver
your computer is using.
On some ESP32 devices, you need to press a button to flash it over USB.
If the flashing doesn't work you might still end up with a provisioned identity, that isn't used. We will improve this situation, but for now don't worry about it.
To access /dev/ttyUSB0 on Linux you probably need to be a member
of some group, normally either uucp or dialout. To see which groups you are
a member of and which group owns the device, plug in an ESP32 to the USB port
and try:
If you lack a group membership, you can add it with
You usually have to log out and log back in for this to take effect.
artemis device show
You can always see the status of your device by doing artemis device show. It shows
useful information about a device, including its state and recent events:
% artemis device show -d xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx --max-events=6
Device ID: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
Organization ID: yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy
Firmware state as reported by the device:
apps:
cellular:
id: bad371bf-af6d-5188-0da4-ac3a3b98d3a2
triggers:
boot: 1
background: 1
firmware: eyNVAlUPZGV2aWNlLXNwZWNpZmljWyRVI0kB1nsj...QXu7oV/CJX94Q3P0Ae/Vau/XsWL7JJl1iWSw0w==
connections: [{type: cellular, config: {cellular.apn: soracom.io, cellular.uart.rx: 23, cellular.uart.tx: 5, cellular.uart.cts: 18, cellular.uart.rts: 19, cellular.log.level: 1}}, {ssid: ..., type: wifi, password: ...}]
max-offline: 300
sdk-version: v2.0.0-alpha.69
Goal is the same as the reported firmware state.
Events:
15:17:12.981 get-goal
15:12:05.228 get-goal
15:01:43.273 get-goal
15:01:41.943 update-state
15:01:28.073 update-state
15:00:34.871 get-goalYou can use the events as a primitive health monitoring facility and see when
the device synchronize from the cloud (get-goal) and to the cloud (update-state).