Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Fork of PGO6_VoteController_template by
Diff: main.cpp
- Revision:
- 0:fd29cd85e75e
- Child:
- 1:34e76c0cbe5a
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main.cpp Thu Oct 26 07:33:07 2017 +0000 @@ -0,0 +1,48 @@ +#define APP_VERSION 0.6f +#define MQTT_VERSION 3 +#define BROKER_NAME "broker.hivemq.com" +#define BROKER_PORT 1883 + +#include "debounce_button.h" +#include "EthernetInterface.h" +#include "MQTTNetwork.h" +#include "MQTTmbed.h" +#include "MQTTClient.h" + +char* topic; + +/** + TODO + ---- + - Check if the button has been pressed. If so, print the amount of clicks to a serial terminal. + - Make an MQTT-service which: + - starts up a network using EthernetInterface. Make sure the development board requests its address via DHCP. + - makes a client and connects it to the broker using a client ID and credentials (username & password). + - sends messages at the same topic as the smartphone app from PGO 2. Feel free to choose which Quality of Service + you are going to use. Make a separate function which handles the sending procedure. Therefore, this function + can be called each time we want to send a certain message. + - When the button is pressed once, we send an upvote. When pressed twice, a downvote is sent. By pressing 4 times, + the program disconnects from the broker and terminates. + + Extra + ----- + - Subscribe to the topic on which the song data is published. Display this received message on the serial terminal. + - Test this controller in the complete system of PGO 2. Use these controllers instead of the smartphones. + + Tips & tricks + ------------- + - To generate an interrupt on the press of a button, use: + InterruptIn button(USER_BUTTON); + ... + button.fall(callback(someFunction)); + - Before implementing MQTT, test the multiclick feature first. + - Have a look at the MQTT-library for Mbed and the HelloMQTT-example. + - To have a uniform message sending procedure, use the following function usage: + sendMessage(&client, topic, buf, qos, retained, duplicate) +*/ + +int main(int argc, char* argv[]) +{ + + return 0; +}