-
Notifications
You must be signed in to change notification settings - Fork 0
Home
Welcome to the SeriousApp wiki!
I'm not the first person to use Corona SDK to create a serious app. In fact, I'm using Corona Labs' own business app sample as a resource for this project.
Most Corona SDK users call this kind of app a "business app". I used to write computer games, in a niche in the computer-game market called "serious games": accident reconstructions, real estate walkthroughs, and so on - like this ski resort. That's why I call this a "serious app" instead of a "business app".
The serious app consists of a title page, a ZumLink Viewer, and an MQTT Listener.
The ZumLink Viewer is intended to be a window into the innards of the ZumIQ Edge Computer and ZumLink Intelligent Edge Radio, Industrial IoT offerings from FreeWave Technologies.
Writing the ZumLink Viewer will help me learn the following skills in Corona:
- writing a Composer-based Corona app
- writing and using a Lua module
- handling user input through text fields
- displaying and modifying text fields
- string manipulation
- JSON data manipulation
- network communications, using TCP/IP and HTTP
Message Queuing Telemetry Transport (MQTT) is the lingua franca of the Internet of Things. It's the protocol that edge devices use to send data to the cloud, and that human-machine interface (HMI) devices use to get data from the cloud in real-time.
Writing an MQTT listener is not difficult, and it's a good way to acquire the following skills, whether in Corona or in another environment:
- using the MQTT protocol
- using the Sparkplug B version / dialect / add-on of the MQTT protocol
- managing datatype conversions
- encoding, decoding, and displaying images
- creating and using a scrolling interface
I imagine that an MQTT module already exists for Corona, but I'm not sure about Sparkplug B. Sparkplug B was developed by Cirrus Link, but the most widely used Sparkplug B driver is part of the Eclipse Tahu project. I may have to rewrite the driver in Lua. We'll see.
Sparkplug B depends on Google protobufs. I think that MQTT does as well. I will have to do some research and see if a protobuf module exists for Corona.
I wimped out on the first version of the title page. It contains two text labels with the "tap" event activated. Although learning the GUI parts of Corona isn't my objective here, I'm sure I will end up learning these skills:
- creating button widgets
- complex event handling
- navigation objects - menu bars, pancake menus, and so on