She is a personal assistant that watches over your home alone pet, and sends distractions their way when necesasary!
The project is structured into two main programs:
- The Mbed project (mbed folder)
- The client project (client folder)
The other folders are for miscellaneous testing, and progress reports.
- STM32L4 Discovery kit
- Mbed (C++)
- Mosquitto
- Svelte (HTML + JS)
- Tailwindcss
- Github Pages
This project started as a group Project for CSC385: Microprocessor Systems
Team members:
- Bob Shoaun Ng
- Dian Rong
- Max Wang
- Rohan
- Open the
mbed/
folder in Mbed studio - In the "Libraries" tab, make sure all libraries are fully included, there should be 3 listed:
- Open
mbed_app.json
, and change thensapi.default-wifi-ssid
andnsapi.default-wifi-password
target overrides to your local Wifi network's credentials. Note: the board can only connect to 2.4GHz wifi. - Connect a discovery board and select it as target.
- Build and Run the program.
- Build and Run the program.
It is a simple interface to view all audio recordings louder than a certain volume, and to send a distract signal to the device at home. It acts as a MQTT client connected to the MQTT broker to send and receive messages. The deployed web client is hosted and accessible here: https://bobshoaun.github.io/JuLIAH/
- Open
client/
folder in a code editor of choice. - In terminal, run
npm install
to install dependencies.
- In terminal, run
npm run dev
to locally host the client. - Navigate to
http://localhost:5173
in a browser to view.
- In terminal, run
npm run deploy
, this command will build and then deploy the website to github pages.
This project uses an existing MQTT broker https://test.mosquitto.org/ provided by Mosquitto. However, you can also choose to host your own broker.
Download the broker from https://mosquitto.org/download/
mosquitto
mosquitto -c /etc/mosquitto/mosquitto.conf
mosquitto_sub -h localhost -t test
mosquitto_pub -h localhost -t test -m "hello world"
Sometimes, the Mbed program might hang, simply restart the program using the black button on the discovery board if that happens.
Sometimes, the web client might indicate that it is disconnected from the MQTT broker (top right), simply refresh the page.
Online mqtt client: https://testclient-cloud.mqtt.cool/
mosquitto_pub -h test.mosquitto.org -t juliah/sound -m "{ \"timestamp\":10000000, \"peakValue\": 8000 }"
mosquitto_pub -h test.mosquitto.org -t juliah/blink -m "BLINK MESSAGE"
mosquitto_sub -h test.mosquitto.org -t juliah/sound