HEMApp¶
This is the core software which runs them HEM boards. It’s a multi-threaded program written in C and does all the heavy lifting.
Main functions of HEMApp¶
- Energy Metering
- Data and event logging
- Cellular communication capabilities - GSM/GPRS/3G
- Wired/wireless Internet
- Cloud connected
- Enables energy app deployment
- Support for external sensors
- Relay control
- HEM Daemon (monitors and manages operation of different peripherals and services)
Architecture Overview¶
Directory and File Structure¶
The HEMApp repository can be downloaded from GitLab. hemapp
is the main directory. This includes
include
ac.h
cJSON.h
cloudManager.h
commmandParser.h
dc.h
fileManager.h
gsm.h
homeManager.h
home_screen.h
i2cMux.h
ledBar.h
loads_screen.h
lsquared.h
nodeManager.h
relay.h
rtc.h
scheduler.h
settings_screen.h
sslManager.h
timeConverter.h
uart.h
src
ac.c
cJSON.c
cloudManager.c
commmandParser.c
dc.c
fileManager.c
gsm.c
homeManager.c
home_screen.c
i2cMux.c
ledBar.c
loads_screen.c
lsquared.c
nodeManager.c
relay.c
rtc.c
scheduler.c
settings_screen.c
sslManager.c
timeConverter.c
uart.c
supportWare
.gitignore
Xinitscript.sh
activateAgent.sh
config.txt.save
connectwifi.sh
hem_init.service
home.ui
init.sh
lcdinit.sh
loads.ui
monitrc
networkprobe.sh
settings.ui
setup.sh
wlanName.sh
.gitignore
ChangeLog.md
Makefile
README.md
build.sh