SEGGER offers a complete portfolio for the developer of firmware for embedded systems. Below are examples where multiple components have been used to demonstrate different use cases.
SEGGER showcase projects
SEGGER Weather Station
The SEGGER Weather Station demonstrates how to create an IoT Node to communicate with an IoT Cloud Service.
Secured communication via MQTT
Secured communication via HTTPS
Device configuration and provisioning
Creating and parsing JSON data
The IoT Temperature Node registers with the service and publishes its sensor data. The data is analyzed in the cloud and made available on a website: http://iotnode.segger.com
The Remote Display showcase project demonstrates how an embedded system can be used as a remote display to another embedded system, separating the display unit from the control unit.
IP based communication via USB
User interface and game controller
The project connects both units with a USB cable that actually serves as an IP connection in order to establish a Virtual Network Computing (VNC) connection. The second USB-Host port on the emPower-USB-Host board is used to connect the game controller.
To connect the two systems, the project uses emNet with emUSB-Host and emUSB-Device using IP over USB. The user interface data is exchanged by using emWin VNC Server and a version of emVNC Client that runs on a microcontroller based system.
Using the application
The emPower-USB-Host and the STM32F746G discovery board are connected via USB (CN12 USB High Speed for the discovery board). Then both boards are powered. To establish the VNC connection a button appears close to the top right corner of the display. By touching the button, the two boards establish the IP connection.
Pressing button "A" on the game controller starts the game. To evade the asteroids, the game pad on the controller is used.
This application uses emBASIC, our feature-rich BASIC interpreter designed for embedded systems. This project is available on target hardware as well as the Windows simulation. It uses various SEGGER embedded software products such as embOS, emFile, emWin, emUSB and emNet, making it easy to create powerful applications using the components.
This application can be used to learn the computer programming language BASIC, to easily "play" with SEGGER software, but also to create usable applications on real hardware without much effort. Created programs can be stored in the cloud or on the device. Generated programs can be executed stand-alone, by simply powering up the board.
The core of the software is emBASIC, SEGGER's implementation of the BASIC programming language for embedded systems. It can seamlessly interface to a lot of SEGGER Software libraries, making access to the internet, cloud storage, USB Keyboards and more easy.
In this application, emBASIC uses SEGGER's embedded software as key components. embOS provides the capability to run multiple tasks, servicing networking tasks and USB devices. emNet provides Internet and LAN connectivity. The IoT Toolkit, with emSSL, provides communication to Dropbox where programs can be stored securely. emUSB-Host provides access to flash storage devices for portable storage. emFile provides the file system framework for USB flash drives, on-board NAND devices, and removable SD cards. emWin provides the graphic capabilities of emBASIC and also enables it to display a console on an LCD. And built into emBASIC is the ability to shrink and expand data using emCompress.
Using the application
Two builds of the application are available, one for target hardware and one in the simulation. Both builds use the same source code of application and software libraries and behave in an identical way. BASIC programs written in the simulation can be executed in the same way on the target hardware. The simulator is a great way to write simple yet powerful applications in BASIC and is a great way to make first steps into the exciting world of programming.
Some sample BASIC programs such Conway's game of life are also available for download.
In a special version (available upon request), the command line interpreter can be controlled via network and secure shell using emSSH.